Open Bug 1725306 Opened 3 years ago Updated 2 years ago

Hardware Webrender after running xrandr causes Firefox to lose window decorations

Categories

(Core :: Graphics: WebRender, defect)

Unspecified
Linux
defect

Tracking

()

Tracking Status
firefox93 --- affected

People

(Reporter: jcranmer, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

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

Blocks: wr-linux
Severity: -- → S3
Flags: needinfo?(aosmond)
Attached file about:support dump
Just adding to this: I have what seems to be the exact same issue. It didn't used to do this; it is a regression some time in the last ~6months.

I use fluxbox for window manager, and FF gets in this broken "no titlebar, messed up input focus" state when I switch virtual desktops, it seems. Perhaps a similar underlying operation as the `xrandr` command mentioned in the OP.

I'm happy to provide more information, if it will help.

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 :)

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: