-
Notifications
You must be signed in to change notification settings - Fork 12
Make webrender work with GDI only #138
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
Comments
How about using FreeType? |
Hmm, maybe, I'll look into it. |
I mean, maybe FreeType can activate their own and GDI, right? I'm thinking about it because I'm thinking about using the browser with MacType, which works upto 2022 version of DirectDraw |
So, this might not be a good way to test. It seems Firefox had some workaround for specifically XP, as if I remove DWrite.dll from Vista, even Mypal68 crashes. |
Firefox originally used Cairo, but it seems like it got removed since Firefox 68, which is what Mypal is based To make Cairo to work on newer versions of Firefox, it might be time consuming |
This causes the crashing issue on systems without DWrite.dll, and it's very old code from the beginnings of WebRender. https://searchfox.org/mozilla-esr115/source/gfx/webrender_bindings/Moz2DImageRenderer.cpp#267 |
So I did try to fix this issue in the past but I ran into a wall and didn't know what to do. This was me trying to get it running at least with GDI only as a test case. I couldn't find any alternative for UnscaledFontDWrite and idk how to work around the function or what it really does. |
u ever
|
I tested with 141.0a1 yesterday. In addition to Moz2DImageRenderer.cpp, I modified gfx/2d/ScaledFontWin.cpp, but ultimately found the browser crashing in Rust code. Also, I'm quite curious how mypal68 solved this issue, as I noticed mypal68 doesn't seem to have replaced DWRITE with GDI like we did. |
At this point, I'm even starting to think making WebRender work with GDI only might be impossible. I'm exhausted. Is there any possibility we could try creating a fake dwrite.dll and make Firefox always load this dummy DLL? |
Mypal68 has three compositors, WebRender, Advanced Layers, and Basic. In Firefox 93, Mozilla removed Basic and Advanced Layers. I made an issue to bring it back but it seems infeasible. https://bugzilla.mozilla.org/show_bug.cgi?id=1724935
There might be, but at that point why not integrate this dummy DWrite functionality into the code itself? |
If I delete DWrite.dll and run r3dfox, I get a 0x80000003 in xul.dll.
For Vista, the error just takes down the whole browser. However for 7 it seems to only crash in a e10s process, so it just spams the crash error until browser is forced closed in taskmgr.
The text was updated successfully, but these errors were encountered: