Unable to enable PRIME Synchronization

I am unable to enable PRIME Synchronization on my Optimus laptop.

drm is enabled:

[11:44:22] [~] ❱❱❱ sudo cat /sys/module/nvidia_drm/parameters/modeset      
[sudo] password for x: 

I can run the command without error:

[11:45:22] [~] ❱❱❱ xrandr --output DP-1-4.3 --set "PRIME Synchronization" 1
[11:45:53] [~] ❱❱❱ 

But no luck:

DP-1-4.3 connected primary 1920x1080+1920+53 (normal left inverted right x axis y axis) 509mm x 286mm
	PRIME Synchronization: 0 
		supported: 0, 1

nvidia-bug-report.log.gz (446.6 KB)

You’re using the intel driver, please use the modesetting driver instead; uninstall the intel driver.

Thanks! Removed, but now desktop is extremely laggy and when trying to enable PRIME Synchronization now I get:

[12:27:23] [~] ❱❱❱ xrandr --output DP-1-4.3 --set "PRIME Synchronization" 1
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  11 (RRQueryOutputProperty)
  Serial number of failed request:  66
  Current serial number in output stream:  66

nvidia-bug-report.log.gz (431.4 KB)

I checked your setup a bit more thoroughly,

  • the nvidia gpu is in offload mode
  • all external monitors are connected to the nvidia gpu
  • the intel igpu only drives the internal display

The “Prime Synchronization” xrandr setting only applies to monitors connected to the intel igpu when nvidia is set as primary. With monitors connected to the nvidia gpu while in offload mode, it’s either working implicitly or not at all.
The desktop is now lagging due to a bug in the nvidia driver, it’s not clocking up the gpu so there’s not enough bandwidth to feed three monitors. Keep in mind, the intel igpu is currently renedering everything and pushing the picture of three monitors over the pcie bus.
For a test, please use nvidia-settings gui to set powermizer to “prefer maximum performance” and check if the lag is gone.

Overall, this is not really a setup I’d prefer with three external monitors, I’d rather set the nvidia gpu as primary and then use forcecompositionpipeline and prime sync to get a tear free display.