Skip to content

Are any of your modifications applicable to upsteam UXP? If so do you mind sharing patches? #7

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

Open
DCFUKSURMOM opened this issue May 19, 2025 · 10 comments

Comments

@DCFUKSURMOM
Copy link

DCFUKSURMOM commented May 19, 2025

I would like to be able to build my Pale Moon fork for XP and Vista, but I'm based on the latest Pale Moon/UXP source (currently 33.7.1).
All of the XP compatible forks I have found have seemingly been based on older UXP versions with cherry picked updates, but I would like mine to actually be an up to date codebase.

@K4sum1
Copy link
Member

K4sum1 commented May 22, 2025

I don't know how I missed this.

UXP is pretty set in stone. You could probably just take the patches as is, use the commands to ignore space changes and whatever, and have it apply pretty cleanly.

All my commits are at the top, and will be as I prefer to rebase rather than merge.

For roytam1, he does merges, so you will have to ignore hundreds of merge commits, but you can find them here.
roytam1/UXP@tracking...custom

I assume from there you could turn the commits into patches (add .patch at the end of the commit url) and then see how well they apply to current UXP.

I forked roytam1's code because I wanted e10s and WebExt and trying to undo the stripping out of those in modern UXP sounds like hell. roytam1's code is also just faster.

@DCFUKSURMOM
Copy link
Author

OK I will be looking into this then. I should probably figure out Windows builds in general first. Speaking of Windows builds, do you know if is it at all possible to do Windows builds on Linux? Their documentation does not mention it (probably does not bode well) and Id prefer not to have to reboot into Windows or fire up a VM every time I want to do a Windows build. I do technically dual boot already, but that just seems excessive for compiling a single app, a VM would be more convenient if doing Windows builds on Linux isn't possible, but would be performance limited since I only have a quad core i5-6400 machine and 8G of RAM (I would not be able to reasonably give a VM more than half of those without affecting the host performance).

@K4sum1
Copy link
Member

K4sum1 commented May 23, 2025

Speaking of Windows builds, do you know if is it at all possible to do Windows builds on Linux?

I know for modern Firefox it is technically possible and there is a long ass guide about it.

However UXP, specifically the version I build uses MSVC. Maybe you could fiddle enough to get FWDK to work under Wine, but it doesn't sound like a good time.

The main limitation that I could see is RAM. I allocate 8GB to my VM, although this doesn't have the rustc RAM leaks of modern Firefox so maybe it's fine with less. I also build with 16 jobs which usually means it takes more RAM.

@DCFUKSURMOM
Copy link
Author

DCFUKSURMOM commented May 23, 2025

Unfortunately I'm not physically capable of building on 16 threads with only 4 threads, and I cant allocate the entirety of my system RAM to a VM (might be able to get away with 6-7G and 3 cores on the VM if I dont run anything else).
I do plan on getting a slightly better CPU (4c8t i7-6700 instead of 4c4t i5-6400, still 6th gen though due to board limitations) and more RAM (16G instead of 8G) at some point, so in the future the VM could be matched to what my host has currently, but thats still in the future...
I guess I'll just go the VM route, since the other way sounds like a pain in the ass.
I should probably ask though, do any of the XP patches affect support for other operating systems? I have heard of some forks not building for Linux. I still want to support Linux (itd be weird not to support the OS I daily drive) and Mac OS and have recently gotten PPC64 support fixed for Linux with help from a friend.

@DCFUKSURMOM
Copy link
Author

I know my x86 and x86_64 Linux builds don't use a lot of RAM, but I'm only building with -j3, leaving a core free so my system doesn't shit itself lol

@K4sum1
Copy link
Member

K4sum1 commented May 24, 2025

still 6th gen though due to board limitations

Like is there some actual board limitation, or could it be possible to do a lil bios modding?

Also I should probably make a build guide for this on Windows, but I feel especially lazy.

@DCFUKSURMOM
Copy link
Author

its an artificial limitation because dell likes to do that bs, i could probably mod it but have no way to recover it if shit his the fan

@K4sum1
Copy link
Member

K4sum1 commented May 24, 2025

You would need a hardware flasher to do it, which would also be your way to recover it lol.

@DCFUKSURMOM
Copy link
Author

Yesterday friend of mine gave me remote access to one of his machines for the time being, Im able to do full x86 Linux builds in 12 minutes now instead of 40, the same machine should have absolutely no issues with a Windows VM if needed. Another friend of mine gave me remote access to a Power8 VM on one of his PPC machines a while back, technically only a single core but 8 threads per core, so I'm able to do Linux PPC builds in a reasonable amount of time, still about 2 hours but better than the 16 itd take me in QEMU. At some point I will get around to modifying buildroot to add all the dependencies needed to build, which would allow me to pretty much automatically cross compile the browser at nearly native speeds, which will ofc make supporting other architectures easier, the one caveat is it also builds the dependencies, but since I now have 1/4th of the build times overall thats reasonable, it could even allow me to fine tune the build process a bit.
Yet another friend has offered to send me a better machine than the one I currently have, so soon enough I'll actually own some better hardware instead of just remote access to better hardware, that last one was actually unexpected, I don't think the guy is even interested in PM stuff, I think he just felt bad about my current setup. Thanks again for your help the last few days, and sorry about the text wall, I just thought you would like some good news.

@K4sum1
Copy link
Member

K4sum1 commented May 25, 2025

Nice

I usually like to offer people access to a VM to compile inside, but I've been doing a lot recently and my system is like 70+% CPU usage 24/7, and it also sometimes just freezes too so I have that to deal with too. So it wouldn't really be a good experience.

However local hardware is always better, nice you're getting some cool hardware.

If you are feeling in the mood to experiment maybe you could BIOS mod your old system, put a 9900 or something in it, and have that as a compile server. I haven't experimented with UXP too much but not even base Firefox seems to scale much past 16 threads for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants