win32ss / supermium

Chromium fork for Windows XP/2003 and up
https://win32subsystem.live/supermium/
BSD 3-Clause "New" or "Revised" License
2.37k stars 79 forks source link

windows 10 arm 32 port #732

Open wmjb opened 3 months ago

wmjb commented 3 months ago

any chance we can take a look at porting this to arm32 windows 10 ?

can you give a list of dependencies that i could look into porting?

Alex313031 commented 3 months ago

@wmjb arm32 windows 10 was only a single beta, before the RTM of Windows 10 was even released, and is only supported on Windows RT devices. It is already not possible to run Chromium on regular Windows RT.

wmjb commented 3 months ago

@wmjb arm32 windows 10 was only a single beta, before the RTM of Windows 10 was even released, and is only supported on Windows RT devices. It is already not possible to run Chromium on regular Windows RT.

thanks for the info. i should have said, i'm part of the open-rt team and we are actively porting as much as possible to windows 10 rt. we're determined to get a browser functioning on the arm32 version of windows. we don't mind doing the hard work. just wanted to start with a dialog about the dependencies needed and see if we can satisfy them. we're actively working daily to bring modern software to the windows 10 arm32 version. just recently we've ported the latest python (including wix installer), code blocks ide, ninja , gnu make, perl, openssl, to name a few. and a load of other things like libs and dll's. we're also have a nearly complete msys/cygwin style shell for native compilation/porting of gnu apps and are working our way through them.

so, we not expecting anything chromium related to just work, but we're willing to make it work and supermium looks like a good starting point.

win32ss commented 3 months ago

Supermium's dependencies are in the third_party directory in the repository. Most of them are not used in the Windows build, but the ones that are include ffmpeg, dawn and Vulkan RT. And the Supermium build toolchain should already work as it is based on ninja.

Alex313031 commented 3 months ago

@win32ss @wmjb It might be possible. You would have to modify alot of .gn files, since there is currently no support for using arm32 as a compilation target for Windows. In fact, there never was, even during the heyday of Windows RT & the original Surface lineup.

Also, after looking into it, I was wrong in saying that Windows 10 RT only works on Surface devices, it seems people like you have gotten it to work on other ARM boards.

win32ss commented 3 months ago

A few components such as nacl do recognize a target CPU of "arm" or "arm64" (in nacl's case, an ARM64 build will force an ARM32 build of nacl because nacl's sandbox was not implemented for ARM64).

And I also remembered that the sandbox actually does patch syscalls. The syscall patching is based on the syscall signature for the architecture (https://source.chromium.org/chromium/chromium/src/+/main:sandbox/win/src/service_resolver_64.cc), so that will have to be added in for ARM32 if you want a functioning sandbox.

AlfCraft07 commented 3 months ago

@wmjb arm32 windows 10 was only a single beta, before the RTM of Windows 10 was even released, and is only supported on Windows RT devices. It is already not possible to run Chromium on regular Windows RT.

thanks for the info. i should have said, i'm part of the open-rt team and we are actively porting as much as possible to windows 10 rt. we're determined to get a browser functioning on the arm32 version of windows. we don't mind doing the hard work. just wanted to start with a dialog about the dependencies needed and see if we can satisfy them. we're actively working daily to bring modern software to the windows 10 arm32 version. just recently we've ported the latest python (including wix installer), code blocks ide, ninja , gnu make, perl, openssl, to name a few. and a load of other things like libs and dll's. we're also have a nearly complete msys/cygwin style shell for native compilation/porting of gnu apps and are working our way through them.

so, we not expecting anything chromium related to just work, but we're willing to make it work and supermium looks like a good starting point.

Will you make a Windows 8 beta-compatible browser?

jonm58 commented 3 months ago

Will you make a Windows 8 beta-compatible browser?

https://github.com/win32ss/supermium/issues/714#issuecomment-2201099668

"Supermium will not support pre-release operating systems, especially notoriously buggy ones like Longhorn 4093. Issues will only be worked on if they can be reproduced on operating systems that have been publicly released through official channels."

AlfCraft07 commented 3 months ago

I know. I was actually talking to the open-rt developer.

matu6968 commented 3 months ago

... we're actively working daily to bring modern software to the windows 10 arm32 version. just recently we've ported the latest python (including wix installer), code blocks ide, ninja , gnu make, perl, openssl, to name a few. and a load of other things like libs and dll's. we're also have a nearly complete msys/cygwin style shell for native compilation/porting of gnu apps and are working our way through them.

Where is the source for these ports of programs (ex. Python or build deps)?