I know that VSync and PRIME Sync are not the same thing. With modeset disabled, VSync IS enabled but there is tearing regardless, and I can see that even just by dragging a window around the screen.
glxgears reports:
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
37879 frames in 5.0 seconds = 7575.718 FPS
38056 frames in 5.0 seconds = 7611.121 FPS
[...]
There is absolutely no option in nvidia-settings to fix this. I have taken a few screenshots: https://imgur.com/a/EqRi1NT
Note that there are a lot more options on a desktop computer with a PCI-E NVIDIA graphics card.
I quote:
"The NVIDIA driver’s PRIME Synchronization support relies on DRM-KMS, which is disabled by default due to its current incompatibility with SLI. To enable it, run ‘sudo rmmod nvidia-drm; sudo modprobe nvidia-drm modeset=1’. In other words, load the nvidia-drm module with the parameter modeset=1."
Instead of reloading the module every time I need to use my laptop, I just added that parameter to GRUB, which works but breaks Vulkan if gdm3 is used.
If I run:
$ xrandr --output eDP-1-1 --set "PRIME Synchronization" 1
without modeset enabled, the screen goes blank for a couple of seconds and GNOME is reloaded, but I still get tearing and according to xrandr it's still disabled:
$ xrandr --verbose
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
eDP-1-1 connected primary 1920x1080+0+0 (0x47) normal (normal left inverted right x axis y axis) 344mm x 194mm
[...]
PRIME Synchronization: 0
supported: 0, 1
[...]
Of course, I get no tearing if modeset is enabled. I don't need to edit my xorg.conf or anything.
Anyway the summary of this bug is "Vulkan not working if nvidia-drm.modeset=1 is set and gdm3 is used (Optimus)", regardless of the tearing issues.
If gdm3 is not affected then why does this ONLY happen with GDM?
I know that VSync and PRIME Sync are not the same thing. With modeset disabled, VSync IS enabled but there is tearing regardless, and I can see that even just by dragging a window around the screen.
glxgears reports:
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
37879 frames in 5.0 seconds = 7575.718 FPS
38056 frames in 5.0 seconds = 7611.121 FPS
[...]
There is absolutely no option in nvidia-settings to fix this. I have taken a few screenshots: /imgur. com/a/EqRi1NT
https:/
Note that there are a lot more options on a desktop computer with a PCI-E NVIDIA graphics card.
This post by an NVIDIA explains why PRIME Synchronization is critical to get rid of tearing on Optimus laptops and why nvidia-drm modeset=1 is necessary: /devtalk. nvidia. com/default/ topic/957814/ linux/prime- and-prime- synchronization /
https:/
I quote:
"The NVIDIA driver’s PRIME Synchronization support relies on DRM-KMS, which is disabled by default due to its current incompatibility with SLI. To enable it, run ‘sudo rmmod nvidia-drm; sudo modprobe nvidia-drm modeset=1’. In other words, load the nvidia-drm module with the parameter modeset=1."
Instead of reloading the module every time I need to use my laptop, I just added that parameter to GRUB, which works but breaks Vulkan if gdm3 is used.
If I run:
$ xrandr --output eDP-1-1 --set "PRIME Synchronization" 1
without modeset enabled, the screen goes blank for a couple of seconds and GNOME is reloaded, but I still get tearing and according to xrandr it's still disabled:
$ xrandr --verbose
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
eDP-1-1 connected primary 1920x1080+0+0 (0x47) normal (normal left inverted right x axis y axis) 344mm x 194mm
[...]
PRIME Synchronization: 0
supported: 0, 1
[...]
Of course, I get no tearing if modeset is enabled. I don't need to edit my xorg.conf or anything.
Anyway the summary of this bug is "Vulkan not working if nvidia- drm.modeset= 1 is set and gdm3 is used (Optimus)", regardless of the tearing issues.
If gdm3 is not affected then why does this ONLY happen with GDM?