Black Screen Nvidia 440.82 driver on Fedora 31/32

Hello,

I had problems with Nvidia drivers on a fresh fedora 31 installation and asked for help in a fedora community but sadly I could not find a solution. A friend in that community find out a possibly bug (ht__tps://bugzilla.redhat.com/show_bug.cgi?id=1806257) based on my logs.

In the last comment in that web, someone said that it is fixed in fedora 32 using nvidia driver 440.82, so I did a fresh installation again but I got the same problem: the display lose signal when it start to boot.

I’m attaching the result of nvidia-bug-report.sh of fedora 32 (I had to do it by ssh, since the display lost signal and I did not see anything).

nvidia-bug-report-2.log (1.9 MB)

Also, I’m attaching the result of nvidia-bug-report.sh when I was using fedora 31 (I had to do it by ssh, since the display lost signal and I did not see anything).
nvidia-bug-report.log (459.1 KB)

Here is some information that may help that I was asked to bring in the other community:

nouveau: no output

[will@localhost ~]$ sudo lsmod |grep nouveau

nvidia

[will@localhost ~]$ sudo lsmod |grep nvidia
nvidia_drm             53248  3
nvidia_modeset       1118208  5 nvidia_drm
nvidia              20508672  205 nvidia_modeset
drm_kms_helper        241664  1 nvidia_drm
ipmi_msghandler       118784  2 ipmi_devintf,nvidia
i2c_nvidia_gpu         16384  0
drm                   602112  6 drm_kms_helper,nvidia_drm

lspci -nn

[will@localhost ~]$ sudo lspci -nn|grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104GL [Quadro RTX 4000] [10de:1eb1] (rev a1)

lspci -k

[will@localhost ~]$ sudo lspci -k
01:00.0 VGA compatible controller: NVIDIA Corporation TU104GL [Quadro RTX 4000] (rev a1)
  Subsystem: NVIDIA Corporation Device 12a0
  Kernel driver in use: nvidia
  Kernel modules: nouveau, nvidia_drm, nvidia

grub2

[will@localhost ~]$ sudo grub2-editenv list
[sudo] password for will:
saved_entry=deda2c0fe3a44d159b92f28be7ce40c0-5.6.3-300.fc32.x86_64
menu_auto_hide=1
boot_success=0
kernelopts=root=/dev/mapper/fedora_localhost--live-root ro resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb rd.driver.blacklist=nouveau
boot_indeterminate=0

If there is anything else, I can do to troubleshoot the problem, please let me know.

Thanks!

Regards.

This looks like the gpu is setting a mode that your monitor doesn’t support without noticing. Everything is set up fine.
Please add
Option “ModeDebug” “true”
to the device section of your xorg.conf, reboot and create and attch a new nvidia-bug-report.log
You can try setting a different mode over ssh, run
sudo -s
to get a root shell, issue
ps aux |grep X
to get the authfile path (what comes after --auth) and run
DISPLAY=:0 XAUTHORITY=/run/user/111/gdm/Xauthority xrandr
to check modes and connectors,
DISPLAY=:0 XAUTHORITY=/run/user/111/gdm/Xauthority xrandr --output HDMI-0 --mode 1920x1080
to switch to a lower resolution. --output and XAUTHORITY have to be set to your settings gathered before.

Hello,

  1. I’ve modified the xorg conf: /etc/X11/xorg.conf. I’ve only added the Option ModeDebug on the device section.
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 440.82

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "ModeDebug" "true"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
  1. Reboot

  2. I generated a new bug-report.
    nvidia-bug-report-3.log (2.9 MB)

  3. Then I follow your instructions to change the mode:

sudo -s

Get auth path

[root@localhost will]# ps aux |grep X
root        1573  0.1  0.0 174876 51104 tty1     Sl+  15:34   0:02 /usr/libexec/Xorg vt1 -displayfd 3 -auth /run/user/42/gdm/Xauthority -background none -noreset -keeptty -verbose 3
root        5320  0.0  0.0 216424   716 pts/1    S+   16:07   0:00 grep --color=auto X

Get xrandr options

[root@localhost will]# DISPLAY=:0 XAUTHORITY=/run/user/42/gdm/Xauthority xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   3840x2160     60.00*+  59.94    50.00    29.97    25.00    24.00    23.98
   2560x1440     59.95
   1920x1080     60.00    59.94    50.00    29.97    25.00    23.98
   1680x1050     59.95
   1600x900      60.00
   1440x480      59.94
   1280x1024     75.02    60.02
   1280x800      59.81
   1280x720      60.00    59.94    50.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
USB-C-0 disconnected (normal left inverted right x axis y axis)

Change mode

[root@localhost will]# DISPLAY=:0 XAUTHORITY=/run/user/42/gdm/Xauthority xrandr --output DP-3 --mode 1920x1080
  1. After the last command from ssh, the monitor shows me the login screen.

  2. I login with my user.

  3. The monitor lost signal again.

  4. I also generated a bug-report after the last step. I’ve just removed some lines repeated on the previous log (step 3) from “journalctl -b -0 _COMM=Xorg”, because I exceeded the file size.

nvidia-bug-report-4.log (1.9 MB)

Thanks,

Regards.

There must be something wrong with either the monitor or the cable. The modes are correctly advertised by the monitor and set by the driver.
To make sure, this looks like you’re using a hdmi cable, can you use a different one or even check a displayport cable?
To have a user session, you’ll have to repeat the xrandr settings over ssh for the DISPLAY=:1, use ps aux |grep X again to get the auth file for the second X server.
From the user session, you can more conviniently test which modes/refresh rates work using the gnome control center. When you hit a dead mode, it will reset the mode after some waiting.

1 Like

You were right generix! I was using a display port to hdmi adapter and for some reason there was some incompatibility with the monitor BenQ SW271 (it was working on windows previously).
I disconnected the cable and the monitor. Then I used other monitor (Dell U2717D) with a display port cable and it finally work!
I did other tests as well:

BenQ SW271 + Displayport to HDMI Adapter + HDMI Cable → did not work.
Dell U2717D + Displayport cable → works
Dell U2717D + Displayport to HDMI Adapter + HDMI Cable → works
BenQ SW271 + Displayport cable → works

But now I’ve noticed that when I tried to reboot the pc, it freezes when shows the motherboard logo with the fedora logo, I guess it is related to another thing.

Thanks for your help!

Regards.

This at least partially explains the values I’ve seen in the logs. Looks like the adapter gets recognized as passive DP to HDMI 2.0 adapter, I didn’t know something like that even existed. Passive adapters so far only supported HDMI 1.4, meaning 4k@30 or 1440@60. Maybe the driver just incorrectly detected the connection.