This is the last step for getting everything up and running. I know that there is an optimus switch for solus. However that only works for intel/nvidia hybrid laptops. I have a lovely amd/nvidia hybrid laptop so that option is not going to work for me. Unless someone has it forked for amd and not intel. So I do have a working working prime render offload .conf that works perfectly and only uses nvidia when I tell it to. However, I prefer to just click on said program and just know that its using nvidia. I am not really concerned with battery life because the computer is plugged in most of the time anyway. What I have tried is taking the 10-nvidia.conf from /usr/share/X11/xorg.conf.d/
and added the line Option "PrimaryGPU" "yes"
to both output class sections and then move the file to /etc/X11/xorg.conf.d/
. This is how I achieve an nvidia only system with both fedora 32 and ubuntu 20.04. However that is not the case for solus apparently. I messed around with the different configurations and tried changing some of the options to match my prime render and they dont work. I change the identifier to just nvidia from NVIDIA Card + DRM and the No DRM output class as well. I deleted the second out put class. I have added a section for server layout that didnt work either. I have also just change the 10-nvidia to only have the section of the prime render that involves nvidia with the primary gpu option added. They all end up with a black screen on boot.
Here is the server layout section I tried adding
Section "ServerLayout"
Identifier "layout"
Option "AllowNVIDIAGPUScreens"
Option "PrimaryGPU" "yes"
EndSection
Here is my working prime render offload
Section "ServerLayout"
Identifier "layout"
Option "AllowNVIDIAGPUScreens"
EndSection
Section "Device"
Identifier "AMDGPU"
Driver "amdgpu"
Option "TearFree" "true"
EndSection
Section "OutputClass"
Identifier "iGPU"
MatchDriver "amdgpu"
Driver "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
EndSection
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
ModulePath "/usr/lib64/nvidia/xorg"
ModulePath "/usr/lib64/xorg/modules"
EndSection
Here is the 10-nvidia.conf
Section "Files"
ModulePath "/usr/lib64/nvidia/modules"
ModulePath "/usr/lib64/xorg/modules"
EndSection
Section "OutputClass"
Identifier "NVIDIA Card + DRM"
MatchDriver "nvidia-drm"
Option "AllowEmptyInitialConfiguration" "true"
ModulePath "/usr/lib64/nvidia/modules"
ModulePath "/usr/lib64/xorg/modules"
EndSection
Section "OutputClass"
Identifier "NVIDIA Card + No DRM"
MatchDriver "nvidia"
Option "AllowEmptyInitialConfiguration" "true"
ModulePath "/usr/lib64/nvidia/modules"
ModulePath "/usr/lib64/xorg/modules"
EndSection