Closed Bug 1714922 Opened 3 years ago Closed 3 years ago

Visual bug (Linux Nvidia binary driver)

Categories

(Core :: Graphics: WebRender, defect)

Firefox 89
x86_64
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1714483

People

(Reporter: greg.arendse, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(5 files, 1 obsolete file)

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36

Steps to reproduce:

Open firefox

Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal

firefox --version
Mozilla Firefox 89.0

Actual results:

Firefox opens but cannot see anything

Expected results:

Firefox should open and be usable

Is this a package provided by Ubuntu to you, or did you manually use an upstream Firefox package?

Is that transparency stuff expected?

Flags: needinfo?(greg.arendse)

Hi Andre

I installed Firefox from the default/normal Ubuntu repository

I do not expect to see any transparency. I'm expecting the normal Firefox UI (no add-ons/extensions). Note if I start in safe mode it starts normally. While in safe mode I disabled all add ons and extensions.

Flags: needinfo?(greg.arendse)

Which graphics driver is being used? Did you report this issue to Ubuntu?

I haven't reported to Ubuntu. The issue only seems to be with the latest version of Firefox. Please see graphic drivers and details below:

*-display
description: VGA compatible controller
product: TU117M [GeForce GTX 1650 Mobile / Max-Q]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:150 memory:a3000000-a3ffffff memory:90000000-9fffffff memory:a0000000-a1ffffff ioport:4000(size=128) memory:a4000000-a407ffff
*-display
description: VGA compatible controller
product: UHD Graphics 630 (Mobile)
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:148 memory:a2000000-a2ffffff memory:80000000-8fffffff ioport:5000(size=64) memory:c0000-dffff

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.80 Driver Version: 460.80 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 GeForce GTX 1650 Off | 00000000:01:00.0 On | N/A |
| N/A 39C P8 4W / N/A | 916MiB / 3911MiB | 14% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+

Happens to me as well. I'm on Ubuntu 20.04 with Nvidia GTX 1070 card. I have noticed a work around is to launch firefox --safe-mode and then choose OK, and it looks okay visually, but then I don't have my account or extensions. If I try "Refresh Firefox" in safe mode, I still get the visual artifacts during the refresh process. Is there a way to reset firefox from scratch at the command line? Perhaps by renaming the config file directory?

Hi, I tried to reproduce this issue on a Dell Laptop with the same GTX 1650 (460.80 driver) and Intel UHD 630 gpus but I couldnt reproduce this issue at all, Greg can you please try our latest Nightly build ? you can find it here: https://nightly.mozilla.org/ and let us know if the issue still occurs

Or maybe just try creating a new profile ? you have the steps here:
https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles?redirectlocale=en-US&redirectslug=Managing-profiles#w_starting-the-profile-manager

another thin you can try is to reach about:config and set the gfx.webrender.force-disabled = true and restart and see if the issue still occurs, please let us know

Flags: needinfo?(greg.arendse)

@rares the video is too corrupted to see what is displayed in the window so I cannot access the settings (WRONG: see update below!) I have confirmed that it only started with Firefox 89. Firefox 88 works fine; I downgraded but then it must have auto updated to 89 so it's broken again. You said you tried with GTX 1650 and Intel UHD graphics on a laptop; that might be different because depending on how your system is configured, it might be using the Intel graphics for firefox instead of nvidia (since it isn't a game). That's all assuming that this is caused by Nvidia.

Some additional details for me:

  • Form-factor: Desktop tower
  • OS: Ubuntu 20.04.2 LTS 64-bit
  • Graphics Card: GeForce GTX 1070 (Only graphics on system)
  • Graphics Driver 460.80 (Nvidia)
  • Firefox version: 88.0 works fine, 89.0 has the video bug making everything super bright and/or white + corrupted
  • GNOME Version: 3.36.8
  • Windowing System: X11

In Firefox 89.0, deleting ~/.mozilla does NOT fix the issue (it hard resets all profile, settings and details), but starting in safe mode DOES fix the issue just for that session. Problem persists in Firefox Beta 90.0b6.

Update: despite the corruption, I found a way to roughly operate firefox in order to "reach about:config and set the gfx.webrender.force-disabled = true". If I press windows key, I get all windows shown (macOS style thing) and the corruption disappears in this moment, although the window is shrunken. I can keep toggling this mode to roughly see what I'm doing. I hit Ctrl - L and typed about:config, then I was able to focus in the search box to find the gfx.webrender setting and set it to false. After restarting the browser (Ctrl - W and launch it again) no corruption! Is there a way to turn off this gfx.webrender thing from a command line argument so it is easier?

@Rares
I installed the latest nightly version (see details below) and experience the same issue.

./firefox --version
Mozilla Firefox 91.0a1

@michael
I think this might be linked Nvidia. I am running my Nvidia prime profile in performance, meaning ONLY my Nvidia GPU is active. This is on a Dell G5 laptop.
I have also tried 'resetting' my FIrefox settings by deleting ~/.mozilla and still nothing.

Flags: needinfo?(greg.arendse)

I will move this issue to Graphics > Webrender since turning Webrender off might fix this issue , I do think that it might be an Nvidia driver issue, maybe we could contact someone from Nvidia letting them know ? I was Unable to reproduce this issue on my end but it seems more people have this issue with the NVIDIA GPU and the 460.80 driver.

Jeff can you please take a look at this issue ?

Component: Untriaged → Graphics: WebRender
Flags: needinfo?(jmuizelaar)
Product: Firefox → Core
Flags: needinfo?(jmuizelaar)
Summary: Visual bug → Visual bug (Linux Nvidia binary driver)

Arthur, is there something that you can suggest for debugging this issue?

Flags: needinfo?(ahuillet)

As per the other bugs - ideally, there would be an Apitrace that lets us inspect the GL command stream. That's the best thing - take a trace and figure out what's going on.

Flags: needinfo?(ahuillet)

Michael or Greg, can you try getting an apitrace of Firefox and confirm that the problem happens there? You should be able to apt-get install apitrace and then run it like apitrace trace [path-to-firefox]. Once the problem occurs you should be able to quit Firefox. After recording a trace you should be able to check if replay the trace reproduces the problem. You can reply it by running apitrace replay firefox.trace

Flags: needinfo?(greg.arendse)
Flags: needinfo?(michael)
Attached file firefox.trace (obsolete) (deleted) —
(In reply to Jeff Muizelaar [:jrmuizel] from comment #12) > Michael or Greg, can you try getting an apitrace of Firefox and confirm that the problem happens there? You should be able to `apt-get install apitrace` and then run it like `apitrace trace [path-to-firefox]`. Once the problem occurs you should be able to quit Firefox. After recording a trace you should be able to check if replay the trace reproduces the problem. You can reply it by running `apitrace replay firefox.trace` Hi Jeff I ran the trace on the nightly version of firefox, and now the issue does not occur. I went back to firefox 89, and the problem still occurs. Below is the apitrace. 3884 @2 glLinkProgram(program = 2) 4097 @2 glLinkProgram(program = 4) 4229 @2 glLinkProgram(program = 6) 4283 @2 glLinkProgram(program = 7) 4486 @2 glLinkProgram(program = 10) 4676 @2 glLinkProgram(program = 12) Rendered 59 frames in 0.440416 secs, average of 133.964 fps

(In reply to Jeff Muizelaar [:jrmuizel] from comment #12)

Michael or Greg, can you try getting an apitrace of Firefox and confirm that the problem happens there? You should be able to apt-get install apitrace and then run it like apitrace trace [path-to-firefox]. Once the problem occurs you should be able to quit Firefox. After recording a trace you should be able to check if replay the trace reproduces the problem. You can reply it by running apitrace replay firefox.trace

Hi Jeff

I ran the trace on the nightly version of firefox, and now the issue does not occur.

I went back to firefox 89, and the problem still occurs. Below is the apitrace.

3884 @2 glLinkProgram(program = 2)
4097 @2 glLinkProgram(program = 4)
4229 @2 glLinkProgram(program = 6)
4283 @2 glLinkProgram(program = 7)
4486 @2 glLinkProgram(program = 10)
4676 @2 glLinkProgram(program = 12)
Rendered 59 frames in 0.440416 secs, average of 133.964 fps

Flags: needinfo?(greg.arendse)

Please, attach the actual trace file, not the output of apitrace replay.

Flags: needinfo?(greg.arendse)
Attached file firefox.trace (deleted) —
Attachment #9226988 - Attachment is obsolete: true
Flags: needinfo?(greg.arendse)

Replaying the trace does not show any artifacts, the full window is visible.
Note that the transparency on the screenshot suggests a problem with the desktop compositor, since Firefox itself isn't rendering a transparent window in this case.

Anyone who has a reproducer - can you please see if the problem goes away when you're not using a desktop compositor? Try Fluxbox or Openbox instead of Gnome.
Thanks

Flags: needinfo?(greg.arendse)

Greg, to confirm you don't see the problem anymore with Nightly? comment 8 and comment 14 seem to contradict each other.

If it is fixed in Nightly, are you able to use mozregression (https://mozilla.github.io/mozregression/) to figure out what change fixed the problem in Nightly?

(In reply to Jeff Muizelaar [:jrmuizel] from comment #18)

Greg, to confirm you don't see the problem anymore with Nightly? comment 8 and comment 14 seem to contradict each other.

If it is fixed in Nightly, are you able to use mozregression (https://mozilla.github.io/mozregression/) to figure out what change fixed the problem in Nightly?

Hi Jeff

I tried running mozregression. I can't seem to find the version that works.

I have this copy which works:
/opt/mozilla/firefox/nightly/firefox/firefox --version
Mozilla Firefox 91.0a1

But using the following:

mozregression --good 2021-06-13 --bad 89 --find-fix

the 'good' version doesn't work.

"can you please see if the problem goes away when you're not using a desktop compositor?" - I'm not sure what you mean by this. I'm willing to try but not sure how to go about this.

Flags: needinfo?(greg.arendse)

Hello all, sorry for lack of follow up in 7 days. It looks like you already got the trace thing, but just in case I generated one, and attached it (includes firefox-bin.trace, as well as the trace stdout and replay stdout just in case, as separate files). This time I used FF nightly 91.0a1 and the problem still happened.

I made a video recording: https://www.dropbox.com/s/xrfue0midi7ma5q/MOV_0310.mp4?dl=0

Anyone who has a reproducer - can you please see if the problem goes away when you're not using a desktop compositor? Try Fluxbox or Openbox instead of Gnome.

Good news here, I had i3 installed (a basic tiling window manager) and tried it out in a new session. The problem didn't occur there. Just note I didn't install anything fancy in Ubuntu 20.04, that I know of at least. I was going to try in Manjaro but unfortunately I haven't booted Manjaro in a long time and it's not booting now -- no surprise there!

Flags: needinfo?(michael)
Attached file firefox-trace.zip (deleted) —

(In reply to greg.arendse from comment #0)
Please open NVIDIA X Server Settings > X Screen 0 > Antialiasing Settings and check if you have manually enabled FXAA. It could be the cause. (bug 1714483)

Attached image nvidia x server settings (deleted) —

Hi Darkspirit

I turned off FXAA and set nvidia to use application settings, and all looks good now. Thank you.

Kind regards,
Greg

Great, thanks for the confirmation!

Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: