win32ss / supermium

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

support for NT 5.1 #29

Closed andika207 closed 7 months ago

andika207 commented 1 year ago

is it possible to get this browser working on 32-bit WinXP ?

(without using buggy patches like OCAPI)

win32ss commented 1 year ago

Yes. I am fixing the 32 bit sandbox now, and I will then re-add GDI rendering, link the browser against my custom function implementation DLL, etc.

andika207 commented 1 year ago

the chinese got stucked on chrome 86/87 which is nearly 3 years old now (this is a huge leap of time for a modern browser) and I do wonder why if it's very possible to go further away https://retrosystemsrevival.blogspot.com/2023/06/the-impossible-has-been-achieved.html

andika207 commented 1 year ago

I know other members from MSNF forum that attempted in the past to backport a modern chromium to XP with no luck, maybe they were not skilled enough LOL https://www.reddit.com/r/windows7/comments/13m1nxt/comment/jkw4dc4/?utm_source=share&utm_medium=web2x&context=3

win32ss commented 1 year ago

It is a very difficult undertaking, as I discovered fixing the 32 bit sandbox. The issue there is that child processes would crash almost right away, before crashpad could be initialized on these processes; I had to find a random function in the child process implementation API to break on, BrowserChildProcessHostImpl::LaunchWithoutExtraCommandLineSwitches, where sometimes a GPU process would be suspended. And then I found that the patched syscalls did not work properly (syscall numbers were wrong, so for example NtOpenProcessToken calls were going to NtMapViewOfSection), so I reversed a commit that removed older syscall handling code for Windows 7 and below.

Maybe something similar happened there causing the developers to give up in frustration?

The earlier attempt was back in the 7x era and I think got to the home page before crashing. This predates code like this and I think was mostly hobbled by DirectWrite, although I'm sure DirectWrite is easier to work with than syscall hooking.

andika207 commented 1 year ago

Maybe something similar happened there causing the developers to give up in frustration?

@win32ss maybe it's just easier to create an extended kernel for XP than messing around with the browser issues

win32ss commented 1 year ago

That's what I thought about Vista. But I couldn't go past Chromium 111 and indeed many of the changes made since then would have required backporting the whole shared memory API from Windows 10 1803/1809, or implementing really nasty hacks on the extended kernel side to replicate the changes done in Supermium.

andika207 commented 1 year ago

@win32ss what are you using on a daily basis Vista or W7 ?

win32ss commented 1 year ago

Vista.

andika207 commented 1 year ago

my best score on speedometer 2.0 and WiFi USB dongle. (intel i5 4xxx)

W7 = chrome 109 = 106 points

W7 = supermium 117 = 143 points

XP = unknown yet

FlorianisonGitHub commented 1 year ago

What about supporting Supermium for Windows XP (NT 5.1) and Windows Server 2003 (NT 5.2) with or without extended kernel someday? Will it also be possible to have Supermium support for Windows 2000 (NT 5.0) with Extended Kernel someday?

andika207 commented 1 year ago

@CRUProductions what if you get a life and move on ? stop requesting too many things without contributing to anything https://github.com/Feodor2/Mypal68/issues/222

MWF2 commented 1 year ago

and, how long for add supermium to support xp nt 5.1 and vista nt 6.0 without extended kernel for next upcoming release

Smu1zel commented 1 year ago

and, how long for add supermium to support xp nt 5.1 and vista nt 6.0 without extended kernel for next upcoming release

No idea what happened to the old verbose readme (was something lost in a git push?), but NT 5.1 is lower priority than vanilla Vista. Likely due to XP needing an entire renderer (GDI) brought back, along with the not good sign of all the Chinese forks giving up after Chromium 8x. Probably safe to assume OCAPI XP will be supported first if anything, as I do believe it provides some 7 functions as well, and it seems to work with the DirectWrite renderer. Maybe look at Edge and whatever happened during Chromium 103 if anyone plans to look into that, as Edge apparently works until the very end with some hack and Chromium 103 was the first release that stopped working.

MWF2 commented 1 year ago

OCAPI Is so buggy, i don't need to use one core api, i saw issues happen one core api on github, nobody will use OCAPI, including me

Smu1zel commented 1 year ago

OCAPI Is so buggy, i don't need to use one core api, i saw issues happen one core api on github, nobody will use OCAPI, including me

I know it can be buggy, I'm just saying I'd logically expect OCAPI XP to be supported first since it provides some more modern functions. I'll say 2.10 is a lot more stable if you don't give your VM/system more than 2GB of RAM (I think there's some PAE patch included but I think it's causing a boatload of issues such as pagefaults). Not sure if MyPal works though.

Stepman123 commented 1 year ago

I think that even for Ocapi it will not work. For example, what will happen when a password manager is called when the system should require entering the account password? Surely it will be a failure.

MWF2 commented 1 year ago

OCAPI Is so buggy, i don't need to use one core api, i saw issues happen one core api on github, nobody will use OCAPI, including me

I know it can be buggy, I'm just saying I'd logically expect OCAPI XP to be supported first since it provides some more modern functions. I'll say 2.10 is a lot more stable if you don't give your VM/system more than 2GB of RAM (I think there's some PAE patch included but I think it's causing a boatload of issues such as pagefaults). Not sure if MyPal works though.

but for dual boot that i have for use xp for fun, yea it will cause to lost dual boot that i have and usb issues, and that's right, it will not work like stepman123 says, so i think it's best to wait for win32 about add renderer gdi back, then it can run supermium native without have to install OCAPI

andika207 commented 10 months ago

@win32ss another browser with support for XP has just emerged https://github.com/Alex313031/chromium-xp

but I'm not sure why it's based on chrome 49 only

andika207 commented 10 months ago

btw, apparently the troll above @FlorianisonGitHub changed his username (@CRUProductions before)

maybe he had something to hide so I just wanted to let everyone know :)

JoachimHenze commented 10 months ago

@win32ss another browser with support for XP has just emerged https://github.com/Alex313031/chromium-xp

but I'm not sure why it's based on chrome 49 only

Because Chromium v49.0.2623.112 is the last official Chromium version which natively supported Windows XP. So it is a good base for someone to start such a project for XP compatiblity and then see what can be placed on top of that. Thank you for that link though to that FOSS project, I try to make it a bit more popular by https://github.com/reactos/rapps-db/pull/202 Maybe we can attract more developers / contributors like that.

andika207 commented 10 months ago

So it is a good base for someone to start such a project for XP compatiblity and then see what can be placed on top of that.

I think @Alex313031 is unable to fork a more modern chrome version and back port it to WinXP hence his Thorium got stuck on version 109 whereas Supermium is already on 118.

win32ss commented 10 months ago

Chromium starting in the 5x-7x range uses implicit TLS in its DLLs. Windows XP does not recognize implicit TLS when DLLs are loaded dynamically, which means that the DLLs will read from/write to the TLS data area intended for the process' EXE instead of the DLL's own TLS area. This obviously can result in corruption of the executable's TLS data, unintended results for the DLL when reading TLS data, and segfaults if the executable's TLS data area is smaller than the DLL's.

There are a few ways to resolve this, but they are not simple in any way. I'm resolving it by working around LoadLibrary*.

andika207 commented 10 months ago

360chrome (chrome 86) is already 3 years old and still works flawlessly on probably 90% of websites therefore this makes me think the original chrome 109 should in theory last up until 2026

We are few months away from the crap MV3 so I'm not sure what will actually happen with my browser extensions and who is going to make a backup of the MV2 ones available on the chrome store that can't be found elsewhere :(

Stepman123 commented 10 months ago

OCAPI Is so buggy, i don't need to use one core api, i saw issues happen one core api on github, nobody will use OCAPI, including me

I am currently using OCA 3.0.3 Canary and am writing this post from a Supermium 118. I also have regular XP, but I don't use it anymore because it doesn't support a lot of things, and OCA works well.

Now the main problem is incompatibility with explorer. To get around this I use IDM to download files plus the IDM extension. And for importing bookmarks I use the xbrowsersync extension.

Also there is a problem with the need to use --single-process, this key restricts extensions even on windows 7 x32.

If sound doesn't work in the browser, you need to add --enable-exclusive-audio --audio-buffer-size=2048

I use X-Launcher to launch the browser.

MWF2 commented 10 months ago

image i think that still i won't install oca, cuz of stability will so bad, at least on real hardware, vm might be fine, even paint.net 3.5.11 still broken

Zero3K commented 10 months ago

I wonder if fixing the sandbox will get it to run on ReactOS without having to fix anything in it and/or use a command line parameter.

NS-Clone commented 10 months ago

i think that still i won't install oca, cuz of stability will so bad

ocapi is better installing/works on original XP distributive (i'm updating one XP from ~2.3 (on virtualbox) and it still works) in same time i lost several XP/2003 instalations with pirаtе distributives like "super zver mega cd platinum"...

andika207 commented 10 months ago

i lost several XP/2003 instalations with pirаtе distributives like "super zver mega cd platinum"

@NS-Clone this one ? https://www.reddit.com/r/FrutigerAero/comments/179z0q0/iconic_russian_custom_windows_xp_iso_zverdvd_in/

mina354 commented 10 months ago

Any progress on this yet?

win32ss commented 10 months ago

Supermium is working on Vista without extended kernel now: image There's still some work to be done for XP however (I did make working TLS reallocation code though).

andika207 commented 10 months ago

Any progress on this yet?

are you not the troll with multiple user accounts of the MSFN forum ? what's your best interest in this project if you don't use WinXP at all ? go play around with your W11 crap and stop rushing the Supermium developer... it will be ready when it's ready.

the other troll I spotted above https://github.com/win32ss/supermium/issues/29#issuecomment-1772199353 is also posting a bunch of weirds things on reddit about XP RTM, SP1 or SP2 but everything is done through virtual machines there's nothing for real that would benefit all actual XP SP3 users.

mina354 commented 10 months ago

There's still some work to be done for XP however (I did make working TLS reallocation code though).

OK, thanks, great to hear there's some progress though.

are you not the troll with multiple user accounts of the MSFN forum ?

No, I am not a troll. And don't argue here, jesus christ.

what's your best interest in this project if you don't use WinXP at all ? go play around with your W11 crap and stop rushing the Supermium developer... it will be ready when it's ready.

That I use Windows XP in a VM, to test software like this. And I am not rushing the developer, I only asked if there's more progress being made in getting Supermium to run on XP or not.

Anyway, thank you @win32ss for the news! Very appreciated!

andika207 commented 10 months ago

No, I am not a troll. And don't argue here, jesus christ.

You are being ignored over at MSFN by many other users thus you don't post much now and I am able to ridicule you with some screencaps but I wish not to derail this topic.

Why on earth would a W11 user need an up to date browser for WinXP which is not their daily driver system ? Do you even use Supermium on W11 ?

Your main and only interest are the likes and instant applause from other users because you think you are being any helpful along with your virtual machine crap but all I can state is that you bring nothing but noise No actual XP user needs you for anything, if you are bored get a life and move on !

Stepman123 commented 10 months ago

@win32ss

What is it? It's not GDI or DirectWrite? It seems to be font scaling, which came in after Chromium 69 or 30.

https://github.com/win32ss/supermium/assets/8846337/e566ffc5-e6c4-4c6f-94ee-158f7e5bab38

I hope your video player doesn't blur out the fine details as it does for me when viewing in a browser.

RayTF commented 10 months ago

wooo juicy oic drama 2

win32ss commented 10 months ago

@win32ss

What is it? It's not GDI or DirectWrite? It seems to be font scaling, which came in after Chromium 69 or 30.

It would have to be DirectWrite as the text on the tabs is not offset up.

mina354 commented 10 months ago

No, I am not a troll. And don't argue here, jesus christ.

You are being ignored over at MSFN by many other users thus you don't post much now and I am able to ridicule you with some screencaps but I wish not to derail this topic.

Why on earth would a W11 user need an up to date browser for WinXP which is not their daily driver system ? Do you even use Supermium on W11 ?

Your main and only interest are the likes and instant applause from other users because you think you are being any helpful along with your virtual machine crap but all I can state is that you bring nothing but noise No actual XP user needs you for anything, if you are bored get a life and move on !

Sorry, but I don't like this kind of attitude, and I never expected you to be like that. I asked a simple question, I didn't ask for anything else. After I got the nice answer by @win32ss, which I am grateful for, you started to argue here (despite saying no, don't argue) and insulting me, and accused me of stuff I didn't even do: I didn't rush the developer. I don't bring noise. My main interests aren't likes and instant applause, I don't have that kind of thinking anymore. I didn't insult you nor do anything wrong to you, yet all what I receive from you is rudeness and disrespect, and wanting to ridicule me just for asking a simple question. I will just say these: why would I use Supermium on Windows 11, if I already have other modern browsers (Chrome and Firefox, for example) available? That doesn't make sense at all. And I use virtual machines to be able to continue using old OSes (like Windows XP and 7, for example). I am sorry if you consider virtual machines "crap" to you, but that's the only way for me to be able to continue using such old OSes. There's no other way for me.

Since this will be your attitude every time you reply to me, please restrain yourself from replying to me ever again. I never expected such attitude just because I am asking a question like this. Bye!

ranvirsi1 commented 10 months ago

also, what is the point of trying to be mean just because he is being helpful hopefully he can leave us alone (like Mina said) also, what did he ever do to you you should not be replying with this much disrespect

Stepman123 commented 10 months ago

It would have to be DirectWrite as the text on the tabs is not offset up.

Ok. In the video, the browser is running in compatibility mode with windows 7 or Vista. Yesterday a new version of OCA came out and I was able to run the browser without compatibility mode. Although it crashes, you can see that the fonts look different.

Compatibility mode is on: dw Compatibility mode is off: gdi

andika207 commented 10 months ago

please restrain yourself from replying to me ever again. I never expected such attitude just because I am asking a question like this. Bye!

yesterday I spotted another of your troll accounts on MSFN with a different country flag, same predictable behavior, similar way of posting, LOL

there must be a good reason which got me jumping on nobody else in this topic but you, right ?

I haven't see you on the Mypal68 repo helping others out maybe because you don't get much attention and you prefer to stay on MSFN, right ?

I won't feed this annoying troll anymore, Now back on topic. Bye!

V3ntus commented 10 months ago

@andika207 you must be fun at parties 🤓

ghost commented 10 months ago

@andika207 is also known as kasfruit1 and zikatus on Reddit. I wonder why XP admins don't ban him.

andika207 commented 10 months ago

LOL looks like I did open the can of trolls and I wonder how many more will arise in this repo without contributing to anything useful to the Supermium development ?

Regarding the troll above keep digging up I have nothing to hide and will fight to death against those who have zero interest on WinXP. VM bullshit and OCAPI nonsense is annoying as hell.

BTW, the pointless question you asked on the other repo https://github.com/Alex313031/chromium-xp/issues/7 has already been answered before https://github.com/win32ss/supermium/issues/29#issuecomment-1772792189

Now back on topic.

V3ntus commented 10 months ago

@andika207 show us what you contributed aside from the childish blabbering coming from your mouth?

andika207 commented 10 months ago

My ''childish contribution'' is giving likes and down votes as you do... (you are with me or you are my enemy)

This applies to the W11 troll with the flag of Egypt and Malaysia, it's exactly what he does on the MSFN forum.

This thread was really calm until this herd of trolls came out of the cave. ¿ coincidence ?

idontyboi commented 10 months ago

Might as well post this before the thread gets locked... [I am seeing it from a mile away].

To port Supermium to NT5 without OCA, I wonder how much removed code will be required to be brought back. YY-Thunks could be reinvented "custom DLL"?

The custom DLL which is mentioned will go a long way of helping NT5.1, and all functions are designed to work with NT 3.51+. It would be funny if Supermium was ported to NT4.0 with the help of the custom DLL.

Even with that custom DLL, I know that some COM classes [IFileOperation come to mind] and other things in the source level are still required, otherwise stuff like this happens image

win32ss Will the custom DLL be open-source once it's ready? Could it maybe be used as a wrapper for preexisting software XomPie-style?

andika207 dont click this pls pls # One-Core-API goes to new Potential breakthrough that might be benefical to Vista/7 Launching Brave 114 on OCA is possible with changing just 2 instructions in the Brave.dll binary related to shared memory assert checks, redirecting to very specific functions [I had to think about which are compatible] and using --single-process, and if Skulltrail gets around to Chrome 110+, I got a idea on how those binary patches are avoided. Not only that, it's very, **very** stable! ![image](https://user-images.githubusercontent.com/36737188/279098602-c0df0b54-02fa-4fc2-80bf-41827325b550.png) If this works, then the only major hundle to latest Chrome on OCA, **and by extension, Vista extended kernel and possible VxKex**, is cleared. **Not sharing the method until it is confirmed working and tested, since I have to wait for Skulltrail to implement my idea to see if it even works in the first place.**
jonm58 commented 10 months ago

图像 我认为我仍然不会安装oca,因为稳定性会很差,至少在真实硬件上,虚拟机可能没问题,甚至paint.net 3.5.11仍然损坏

1 year+ 2 weeks?too old.

jonm58 commented 10 months ago

https://github.com/sonyps5201314/msvcr14x nothing

MWF2 commented 10 months ago

图像 我认为我仍然不会安装oca,因为稳定性会很差,至少在真实硬件上,虚拟机可能没问题,甚至paint.net 3.5.11仍然损坏

1 year+ 2 weeks?too old.

that still applys on real hardware to this day, like this, while virtual machines is going to fine, it will not get bsod on vm, but on real hardware yes image

andika207 commented 10 months ago

To port Supermium to NT5 without OCA, I wonder how much removed code will be required to be brought back. @andika207 dont click this pls pls

This unfinished chromium 115 port https://github.com/weolar works on WinXP but my Avast and Hitman Pro detected possible malware.

if the Supermium developer @win32ss is able to flag and remove that harmful code and keep the essential code we could have a working and up to date browser for WinXP without the need to use the buggy OCAPI