You are not logged in.
I'm running nvidia-open-dkms 570.86.16-2 and linux-lts 6.12.13-1 with Gnome on Xorg, and trying to get an external monitor working. It works fine when both the internal and external monitors are active, either in join or mirror mode. However, when I disable the internal display, all I get on the external monitor is a blank screen with a (working) mouse cursor. No menus show up when left clicking etc, and it returns back to the previous mode after the configuration times out.
Any ideas for where to go on getting this working? I tried nvidia-lts 570.86.16, but it has the same problem. nvidia-lts 565.77 doesn't even show anything on the external monitor. Is this a known Nvidia driver bug?
Hardware is a Dell G15 5515 which has both a Vega 8 iGPU and an Nvidia RTX 3060 dGPU.
Offline
I get on the external monitor is a blank screen with a (working) mouse cursor.
Sounds more like a gnome bug, maybe between the compositor and reverse prime.
If you do have xf86-video-intel installed: remove that.
Then try the behavior w/ an (uncomposited) openbox or icewm session.
On top of that you're likely using GDM (on wayland?) along gnome?
Same w/ eg. lightdm?
Offline
Thanks for the suggestions. It's possible it's a Gnome bug. I also just discovered that Files (Nautilus) locks up as soon as it is on the external monitor but works fine on the internal. Firefox, darktable, and the terminal all work fine on either, though.
The only xf86-video component I have installed is xf86-video-amdgpu. I am running with the "Gnome on Xorg" setting from GDM, as I have some software that doesn't work on Wayland. Oddly, the monitor setup does appear to work properly on Wayland, though I haven't tested it too much due to other problems. I haven't tried with lightdm, though I'm skeptical about the DM making much difference. I'll try those other WMs and see if either help.
Last edited by bruceg (2025-02-21 03:33:16)
Offline
Please post your Xorg log, https://wiki.archlinux.org/title/Xorg#General and
try the behavior w/ an (uncomposited) openbox or icewm session
Offline
Hi,
I have the same problem, but with wayland and Plasma.
Try to disable adaptative sync in nvidia settings, that solved the problem for me.
Offline
Here is my Xorg log. I disabled the internal display at time code 313, and it switched back at time code 333.
I tried using openbox, but it didn't even set up the external monitor for use. I poked around with xrandr but didn't manage to get it working. I'll try some more.
I do not have adaptive sync settings in the Nvidia control panel, and my monitor does not support it.
Offline
Okay, I did manage to set up openbox to use just the external monitor with xrandr. Worked fine AFAICT, but then so did Gnome on Wayland.
Offline
[ 313.396] (EE) AMDGPU(0): drmmode_do_crtc_dpms cannot get last vblank counter
[ 313.398] (II) AMDGPU(0): Allocate new frame buffer 1920x1200
[ 313.398] (II) AMDGPU(0): => pitch 7680 bytes
[ 313.422] (II) NVIDIA(G0): Setting mode "HDMI-1-0: nvidia-auto-select @1920x1200 +0+0 {AllowGSYNC=Off, ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}"openbox … Worked fine AFAICT
=> gnome/compositor bug, likely related to the second note in https://wiki.archlinux.org/title/PRIME#Reverse_PRIME
Add "nvidia_drm.modeset=1" to the kernel parameters (it doesn't matter that the option is already set on the module) to restore the normal card order.
Then probably remove xf86-video-amdgpu and also see https://bbs.archlinux.org/viewtopic.php … 8#p2228218 - add
BusID “PCI:5@0:0:0”to that.
Then test the behavior of "glxgears" when running openbox on the external output only and post the output of "xrandr --verbose" w/ both outputs enabled.
Offline
=> gnome/compositor bug, likely related to the second note in https://wiki.archlinux.org/title/PRIME#Reverse_PRIME
Add "nvidia_drm.modeset=1" to the kernel parameters (it doesn't matter that the option is already set on the module) to restore the normal card order.
Then probably remove xf86-video-amdgpu and also see https://bbs.archlinux.org/viewtopic.php … 8#p2228218 - addBusID “PCI:5@0:0:0”to that.
Agreed, that does seem likely. Adding the modeset parameter didn't help with single-monitor mode, and neither did removing the xf86-video-amdgpu package (and restarting, of course). Neither did setting either LIBGL_DRI3_DISABLE=true or __GL_SYNC_TO_VBLANK=0 for those applications that locked up on the external monitor. Edit: One of these steps did help with applications that locked up on the external monitor, so that's good. It still doesn't work with the external monitor only, but I can work with it.
Turning off hybrid graphics does fix all the problem, but that really tanks battery life. Now, granted, when it's plugged in to an external monitor, it's also plugged into mains power, so it is a workable solution, but it would be nice to take it portable without having to reboot and reconfigure the graphics.
Here is the output of xrandr --verbose with the above setup.
Last edited by bruceg (2025-03-02 20:05:07)
Offline
Where do you export LIBGL_DRI3_DISABLE=true? Does it apply to mutter (gnome compositor)?
Offline
More interesting bits: with both monitors active, everything works if the internal monitor is marked as the primary display. It's only when the external monitor is marked as primary that things go wrong, which points again to a synchronization problem. Also, with the internal as primary, the external shows as "PRIME Synchronization: 1", but when it is the primary, that is a "0" and I setting it to "1" has no effect. Edit: To clarify, setting it to "1" caused the displays to blink, but it still showed as "0" after.
Where do you export LIBGL_DRI3_DISABLE=true? Does it apply to mutter (gnome compositor)?
Oh, no, I didn't try that. The examples I saw had it set when running individual applications, so that's what I tried. I'll see about setting it in the system environment and see if that propagates it to mutter. That or edit a launch script.
Last edited by bruceg (2025-03-03 04:14:34)
Offline
Where do you export LIBGL_DRI3_DISABLE=true? Does it apply to mutter (gnome compositor)?
Okay, I tried that by setting it in /etc/environment. The result was a frozen display immediately after I logged in with both monitors enabled.
Adding __GL_SYNC_TO_VBLANK=0 to the file had no effect.
Offline
The overall problem is known, https://wiki.archlinux.org/title/PRIME#Reverse_PRIME - we were just lucky mitigating it w/ LIBGL_DRI3_DISABLE
You're still using modesetting and haven't re-installed the amdgpu driver?
https://wiki.archlinux.org/title/Variab … figuration - but that's actually VRR specific and I've limited hopes it'll do anything here ![]()
Offline
You're still using modesetting and haven't re-installed the amdgpu driver?
Yes, as far as I know. I have nvidia_drm.modeset=1 on the boot command line and in modprobe.d, and x86-video-amdgpu is not installed. The xorg log also indicates that it couldn't open module "amdgpu".
I have added the AsyncFlipSecondaries option to my xorg config and the log shows it being picked up.
Thanks for all your suggestions. I guess I'll make do for now.
Last edited by bruceg (2025-03-04 04:19:31)
Offline