Hardware Webrender after running xrandr causes Firefox to lose window decorations
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox93 | --- | affected |
People
(Reporter: jcranmer, Unassigned, NeedInfo)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
39.00 KB,
text/plain
|
Details |
Coming up with a summary of this issue is difficult, especially because I'm not fluent enough with the graphics stack to properly explain the things I see.
I'm running a Linux system with NVidia GPUs and the proprietary, not noveau, drivers for them. X11 is being used instead of Wayland because proprietary nvidia drivers and Wayland didn't get along on my machine the first time I tried. The window manager is Fluxbox, which is a lightweight window manager like blackbox and openbox.
Recently, I noticed a problem in that Gecko ends up making windows that just don't seem to work properly with the window manager. The window decorations disappear entirely, and it seems to be impossible to make the window change position on the desktop in any fashion. Additionally, while the mouse interacts normally with these windows, the focus grab is broken--it must manually be selected in the list of applications to focus it for keyboard input. But it is still possible to move it to a different desktop, minimize it entirely, or use the close feature. This is what I will call the broken state.
This broken state seems to be uniquely entered by Firefox; other applications work fine. Chrome appears to work normally and use hardware acceleration, and other GL applications (such as glxgears or more intensive computer games) don't have these issues, so the rather uncommon window manager setup does not appear to be the source of the problem.
Even within Firefox, there are two things that are necessary to get into the broken state. First, it appears that WebRender is the thing whose enabling causes the broken state (hence why I'm filing in this WebRender). More notably, the broken state only appears after running an xrandr
command to swap the position of the monitors. Any window created before running xrandr
, irrespective of the enabling or disabling of hardware acceleration, is not in the broken state. Any window created after running xrandr
is in the broken state when hardware acceleration is enabled, even when firefox is restarted.
So something that xrandr
is doing appears to be causing something in WebRender's hardware acceleration to break the interaction with the window manager very hard. I can provide more information if necessary to narrow down the source of this problem (and can even modify the code to run experiments, though I'd have to be told where to do so).
[about:support GPU information, this appears to be missing the second NVidia GPU]
GPU #1
Active Yes
Description GeForce GTX 660 Ti/PCIe/SSE2
Vendor ID 0x10de
Device ID 0x1183
Driver Vendor nvidia/unknown
Driver Version 460.73.1.0
RAM 0
GPU #2
Active No
Vendor ID 0x8086
Device ID 0x0162
Updated•3 years ago
|
Note: the problem does not happen when I disable hardware accel. in Firefox, so it does definitely seem to be related to that.
And one final note: I can fix it by either (1) disabling hardware acceleration or (2) setting gfx.webrender.force-disabled=tru in about:config. Not sure if those both ultimately are doing something similar, but just FYI. Obviously, it's not a very good fix, but okay for a temporary workaround (will see how many years it's needed :)
Description
•