I recently purchased a Razer Blade 14 laptop that has a 1440p 165Hz variable refresh rate screen and have installed Linux on it. The CPU is an AMD Ryzen 5900hx (Radeon integrated graphics) and GPU is an NVIDIA RTX 3070 laptop GPU. I have both Debian and Garuda installations. I’m having some issues with Optimus at high refresh rates and would like some clarification on what is and isn’t supported. I’m using the 470 drivers on both distros (linux 5.13 with the very latest on Garuda, linux 5.12 with the beta 470 on Debian).
In Garuda, there is an Optimus switching tool that can select between purely NVIDIA or hybrid graphics. In NVIDIA-only mode, I can still select refresh rate in the Linux display options (KDE or GNOME) and set the laptop display to 165Hz, but it appears to only be refreshing from the NVIDIA GPU at 60Hz. To test this, I plugged an external 144Hz display in via USB-C. It is directly attached to the NVIDIA GPU and is working fine. If I mirror the laptop screen to the external screen (both 1440p), the external screen is visibly smooth at 144Hz and the laptop screen is visibly choppy at what appears to be 60Hz, despite being set to 165Hz on the Xorg mode configuration.
My next question relates to hybrid mode (amdgpu+nvidia). Hybrid mode works as expected on both distros, with programs using the AMD integrated GPU normally unless the environment variables are specified to enable NVIDIA. In this case, the NVIDIA GPU does render above 60Hz, but it does not reach the same frame rates as on the directly-connected external display (in NVIDIA-only mode). Lighter games hit 165Hz and are smooth, such as Minecraft, but most games cannot hit 165Hz. The panel on this laptop is an AMD Freesync (variable refresh rate) panel. I have enabled “VariableRefresh” “true” in the amdgpu configuration in xorg.conf and programs rendered via the AMD integrated GPU do seem to be able to use VRR. Do programs rendered on the NVIDIA GPU also have the capability of variable refresh rate in hybrid mode? If not, is this something on the radar for a future driver release?
My main test game is Overwatch in Lutris, which seems to run at a solid 144Hz in training room on the external monitor but around 120-130FPS on the laptop screen in hybrid mode. The external monitor I’ve only tested in Garuda, but the laptop screen I’ve tested in both distros. I’ve also tested CS:GO and noticed similar behavior.