The all new OutputSink feature aka reverse PRIME

I have a laptop with an AMD CPU and a NVIDIA GPU running pop os. I can connect an external monitor with reverse prime and the general GUI stuff seemingly works fine. However, there are two problems. First, the CPU usage of /usr/lib/xorg/Xorg is abnormally high. Second, any window with 3D stuff (e.g. glxgears) freezes on the external monitor but works fine on the laptop monitor. You drag the window to the laptop screen, it runs smoothly. You drag it to the external monitor, it freezes. If you drag it back to the laptop screen, it runs smoothly again. Let me know if you want me to generate a detailed report using the nvidia-bug-report.sh

All the changes to Xorg linked above seem to have been merged. Yet I still get FPS of 1 when I try to use only my external monitor when trying to run in hybrid mode. Have the changes not yet been released? I am on Kubuntu 21.10 on driver version 4.70 - should I try upgrading to 4.95?

Reverse PRIME is broken, connecting an external screen under Xorg makes everything laggy and under Wayland it just crashes your desktop.

Using the Nvidia as the outputsource on Xorg fixes the lag but makes your laptop overheat and perform worse since the blob can’t properly downclock the card like on Windows (it stays at maximum frequency 99% of the time).

I have made a tool that provides graphics switching functionality for users suffering with Nvidia Optimus laptops on Linux.

Well, this just makes actions accessible through Nvidia X Server Settings÷PRIME Profiles scriptable and keyboard-shortcuts accessible - which is a good thing. But for change to take affect, one still needs to reboot.

What would be interesting if one could change between the various modes in boot manager (Grub or systemd).

Reverse PRIME mostly works. Although I cannot drive an displays connected to the NVIDIA card at faster than 60hz. I tried 75hz and 100hz. Trying >60hz causes xorg to completely crash. The logs don’t even have an error or warning indicating as such. Also, changing display configuration in general just seems buggy. Each time I do, sometimes xorg will just crash.

The other direction (aka not reverse PRIME), doesn’t crash for speeds faster than 60hz. In my case it’s driving a 165hz display. But the display clearly isn’t actually driven at 165hz. I suspect that the there’s just too much data being copied every frame for that part to work smoothly so that might not be a bug.

Reverse PRIME started working for me with the Nvidia 495.46 driver with an upgrade to the 5.16 kernel.

Intel+NVIDIA Reverse PRIME works on 510.60.02 driver with 5.17.5 kernel, but Xorg crashes when modifying the external display options (like, changing the resolution or turning it off).

Some details are mentioned here: nvidia: Add Reverse Prime Sync by GoogleBot42 · Pull Request #165188 · NixOS/nixpkgs · GitHub

Intel + NVIDIA reverse PRIME works for me on X11 however the external screen is extremely laggy which makes it unsuitable for my use case. I hope NVIDIA can provide a fix in the future.