My 2 laptops running either Bumblebee or more recently Nvidia Prime in X from rpm Fusion were able to detect and display external monitors fine through either the VGA or HDMI ports. Since upgrading to Fedora 31 both laptops cannot detect an external display within Gnome display settings or xrandr. The Nvidia settings page correctly identifies the screen connected, typically on HDMI-0, but xrandr and Gnome display settings show nothing. xrandr only sees HDMI-1 with nothing on it. When the computers are booting up or shutting down, the display is mirrored onto the external monitors properly.
Reading around on this issue, people seem to think it is a problem with nvida-drm.modeset=1 and gdm.
I have tried updating /etc/default/grub and with nvida-drm.modeset=0 and remaking the grub config and rebooting, but that doesn’t work. I have also tried using Light display manager (lightdm)instead of gdm but that doesn’t work with either nvida-drm.modeset=0 or nvida-drm.modeset=1. I also have Wayland disabled by default but this doesn’t seem to help either.
Has anyone been able to get an external monitor detected by Gnome display settings in Fedora 31, who is running Nvidia drivers in X? If so what did you do? This is the only issue I am facing since upgrading, and it is a deal breaker for me using Gnome as plugging a laptop into an external monitor and it working is a pretty important feature. The external monitors work fine in KDE and LXQT live Fedora USBs.
Similar problem here on my Dell Inspiron G3 3579. It’s not possible anymore to use HDMI monitor after upgrade to Fedora 31. nvidia-settings shows monitor as connected but the menu for setting screen layout is not available. Same in gnome settings. I have tried to set nvidia-drm.modeset=0 but no success. The only difference i can see is that after disabling modeset i can see message in logs when i plug monitor in/out:
I do also have wayland disabled by default but this does not make it better. On the other side i am sure HW is working correctly since another operating system does not have any HDMI monitor problem.
PS. Is it a right place for asking a question concerning rpmfusion packages?
I have managed to get both displays working by using this config (from bumbelbee faq):
$ cat /etc/X11/xorg.conf.d/brtest.conf
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
# Option "DPI" "96 x 96" # Uncoment to fix the size of fonts
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
# Uncomment this line if your computer has no display devices connected to
# the NVIDIA GPU. Leave it commented if you have display devices
# connected to the NVIDIA GPU that you would like to use.
# Option "UseDisplayDevice" "none"
EndSection
Section "Device"
Identifier "intel"
Driver "intel"
# Option "AccelMethod" "uxa"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Similar problem here with Fedora 30 after upgrading to 440.31, so not just limited to 31. I had made some progress in creating working xorg.conf files but hadn’t yet combined them so that both work using the same file.
Thanks so much for this Bart, this fixes my problem. I can display onto multiple monitors again via HDMI. It does break my 120Hz laptop screen, now it only runs at 60Hz, but that is another problem to solve, quite possibly by tweaking this same file. I’ll go down the next rabbit hole
Looks like this is a known issue for laptop Nvidia cards with Optimus technology (fallback display and power-saving via Intel graphics). From RPM Fusion’s documentation for Optimus, in the External Monitors detection section:
You have to set the PrimaryGPU option in the Xorg configurations. They recommend doing this by copying the full default config file…