-
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARM32 for WindowsRT? #1
Comments
@gitnewcomer Unfortunately, Chromium has never supported ARM32 Windows or Windows RT. There was some discussion about it in 2013 > https://xdaforums.com/t/porting-chromium-to-windows-rt.2095686/ but nothing ever came of it. Even if we could compile it, it would require "jailbreaking" your device to run, since Windows RT by default only allows UWP apps, not regular .exe installers. I know man, I wish I could too, sadly Windows RT was just never supported by many software authors. Even Microsoft has never released anything newer than IE 11 for it. Maybe take a look at this > https://www.reddit.com/r/Surface/comments/n71nsd/browservice_brought_my_surface_rt_back_to_life/ |
@Alex313031 Surface RT was already jailbrocken some years ago and inclusive the majority that have one, use it with the leaked Windows 10 ARM32, that sadly was never released by Microsoft (https://xdaforums.com/t/tutorial-install-windows-10-for-arm32-on-your-surface-rt.4052035/). |
@gitnewcomer If you are running Win10 arm32, it might be possible to compile for arm32. I can try it. No promises. |
@gitnewcomer Im sorry, but compiling for windows with arm32 led to so many compiler errors in so many files that I wouldn't even know where to begin to start fixing it. Seems Windows RT is just one of those things that was abandoned by Microsoft. |
@Alex313031 maybe you need to tweak the parameters for the compiler, just check this thread on XDA, they are porting some apps to WindowsRT (Windows 10 ARM32): https://xdaforums.com/t/desktop-apps-ported-to-windows-rt.2092348/post-89151965 Thanks again for trying it out! :) |
@gitnewcomer I tried that, with a little more compilation progress, but still alot of errors about midway through. It might be possible to fix, but this would take ALOT of work and I am already bogged down rebasing all my projects and building all the releases. |
@Alex313031 thank you for your time and effort trying to get it working. You would be a hero if you could give Windows RT hardware a second chance... :) |
@gitnewcomer I can upload it. |
Sorry for my late response, but I'd absolutely be willing to look at it! Can't and won't promise anything would come out of it though. I'm not that experienced sadly 🥲 I've started efforts towards different browsers/engines, but my lack of knowledge in the area is the biggest roadblock for me. Like @gitnewcomer mentioned, I've got Otter, and although it's better than having nothing besides IE, it's incredibly unstable despite not even using any Assembly code (which is my second biggest roadblock). So, I'd say I wouldn't be able to do too much on my own with the source, but hey, no harm 🤷♂️😅 |
@Alex313031 just let us know when you've upload it... :) |
If you need the source code used by Thorium, you can use the --recursive parameter to clone the Thorium repo (not this repo). In addition, you need to refer to Google's official guidelines to obtain the complete source code of chromium. |
Hello @gz83, what I mean is the already changed source code for ARM32 where @Alex313031 got errors compiling it... |
I understand your needs, but please note that if we really want Thorium to run on arm32, we may encounter problems or errors, or even some components do not support arm32. Since I am mainly responsible for compiling and testing the Windows version, I will continue to follow up on the progress of this issue. |
@gz83 well, if Thorium for ARM64 has assembly code, it would need to be ported to ARM32... if @Alex313031 already started testing compiling the source code for ARM32, it would be better to continue on his source code base... this is why he proposed to upload it, I think... :) |
Chromium and its derivative browsers are mainly written in C++ language, and some assembly code also appears in the code base, but the proportion of this part of assembly code is not high. In addition, although we may face some problems or errors currently, it would be great if we can make the Thorium browser work on ARM32 |
If it's of any help in terms of components, we do have a list of working libraries via my project's MXE repository. That's the issue though, at least for me. I've heard Chromium wants MSVC as your compiler and Windows as host to build, but I use Clang (LLVM-MinGW) as my compiler and Linux as my host : ) |
@pahaze |
Thought so. Think I'd be able to inject in LLVM-MinGW (somewhat easily)? I can use Windows, that's no biggie as there's LLVM-MinGW executables for it and whatever libraries I need I can copy from precompilations in Linux (I dual boot, but rarely use Windows), if Chromium's build system allows for using "system" libraries anyway. If not I can just mess with whatever's provided by Chromium to work. Also, how about going and using MSVC? Still acceptable or not usable by Chromium's build system? I've never particularly liked gn, but mainly cause I could never get it to work in my favor, but I also have never used it other than for ARM Windows port attempts that have failed (and were years ago now). I don't know MSVC very well, but I'm willing to learn it if it can get farther than Clang |
I'm not sure about the consequences of using LLVM-MinGW. Also I see you mentioned "system" libraries, can you tell me about them? Maybe I can help you to determine if they are suitable for Chromium. As for compiling the Thorium browser with MSVC, we need to use visual studio and compile the browser within visual studio. However, this may also have some undesirable consequences, such as slower compilation, inability to use performance optimization parameters, and only being able to generate versions for debugging purposes only. I don't think it's too complicated to do now, we just need to wait for Alex to upload the ARM32 compilation parameters and other files we need to use, and then try to solve the problems or errors we encounter. |
Makes sense. Everything I've compiled so far is hit or miss. It can be as stable as can be... Or not run at all / crash during runtime. AFAIK it's only related to the code and how LLVM-MinGW handles it. For my project, we stuck to LLVM 14 as executables produced by LLVM 14+ tend to not run on Windows RT 8.1. We had already got our base set on 14 and to keep compatibility with said libraries, we've simply stayed there despite LLVM-MinGW being on (I believe) LLVM 18.0.0 RC1 now.
Absolutely! (FWIW,) I've started working on an Arctic-Fox port alongside Otter and plan to start others, and within their autoconf / configure files, they have options for using "system" libraries, basically using whatever's in the toolchain's include / lib directories instead of compiling it's own version of library. For example, I was wondering if Chromium and its forks are the same way with their dependencies, allowing precompiled ones to be used instead of building them during the process.
I see. The main reason I mentioned is, as said, LLVM-MinGW can be hit or miss, whilst MSVC tends to produce very stable executables. I'd like to use it as a whole, but Clang and Linux is simply where it's at for me. However, any steps towards making our little tablet usable is worth it to me, and I'd install what I needed to help to the best of my ability. |
There is a port of pale moon for windows rt and you can run exe files through signing them suprisingly easily |
Hi @realzendroid do you have a link you can share? @Alex313031 when could you share the source code of your attempt to port Thorium to ARM32? Thanks! :) |
Sorry, clicked wrongly on close issue... :) |
There is NOT a Pale Moon port. There's source that attempts to port, but... It's in the same state as my Arctic-Fox port: unbuildable. The person who was working on the Pale Moon port was worrying more about changing logos and branding more than actually working on the code at one point. They might've started on the actual code, I dunno, but AFAIK it's still entirely unbuildable and doesn't get far in the process at all besides configuring for the target. |
@Alex313031 any news about sharing the source code you used for the ARM32 attempt, so maybe @pahaze could look at it? :) |
@Alex313031 Have you uploaded it yet? |
Google will soon abandon the use of MSVC for compilation and development. If we need to use MSVC to compile and develop ARM32 versions, it will become quite difficult. |
I don't think you have to use MSVC, LLVM-MinGW also supports ARM32 Windows. |
This is my preferred method of porting!! I use Linux, and Clang is just easier in general IMO. I have my own version of MXE that I use. It's a bit dated, I've been busy with work, but I'll get back into the ARM stuff when I'm able to. |
I know this stuff exists, but it seems nobody has ever done it (compiling and developing Chromium for ARM32) and I'm not sure how much progress will be made. |
I think it's worth it because even if the port isn't maintained, an outdated Chromium is still better than IE11 and Legacy Edge (on leaked Windows 10 build 15035). I wish I could help but I'm not that good with coding. However if @Alex313031 were to upload the progress they have made on Chromium/Thorium for ARM32 Windows, someone else might just make it happen |
Hi, great job you're doing here. Is it to complicated to build this for ARM32, giving a second chance to WindowsRT (based on Windows 8.1/10 beta leak) tablets? :)
The text was updated successfully, but these errors were encountered: