Optimus on Linux is far from perfect however using the native nVidia
drivers most issues I had in the past are mainly resolved except one.
Whenever I run a full screen application, like Kodi
or some Steam
games the position is off, either the screen is centered right in the middle of the 2 screens on exactly 1080p or is rendered showing only the left half on any display.
I think this is due on how I made the multi monitor setup working using xrandr
.
When sddm
initializes it runs the following command:
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --output HDMI-1-1 --mode 1920x1080 --pos 1920x0 --output HDMI-0 --primary --mode 1920x1080 --panning 3840x1080+0+0/0x0+0+0/0/0/-1920/0
It works perfectly however as you might notice the container is 3x1080p as this is due to having 3 screens (all being 1080p), disabling my internal display and using panning I am able to shift the output for 2 monitors right next to each other.
It appears I cannot control full screen behavior, noor in KDE
or by using put
. Playing around in the applications settings I can select which monitor to render it on, but it renders in the center anyways.
To clarify:
xs on monitor left at 1920/2
ys on monitor left at 1080
xe on monitor right at (1920/2)+1920
ye on monitor right at 1080
Here is a link for visual reference
To be honest, I've tried many things and I'm at a loss here. I'm not a Linux expert, I've been using it for about 4 years as my only operating system.
Since KDE supports Wayland
I am willing to give this a try however due to the amount of issues I had with Optimus in the past I am reluctant to try it out because everything is running so smoothly and there is little information about Optimus / Nvidia / Wayland compatibility.
Is there anything I might perhaps I've missed before doing anything as radical as changing a stable display manager for a new one? Or perhaps one simplistic command from the terminal for running applications I missed out completely.
Any help is appreciated.
Additional information:
xorg.conf, xorg.conf.d is empty.
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "AllowEmptyInitialConfiguration"
EndSection
Request more information if needed in comments.
Best Answer
I've used some scripts on top of
xrandr
for some years now to set up side-by-side and (currently) tee-shaped desktops on Arch Linux. It should be a simple job to adapt side-by-side.sh to your needs:monitor_resolutions.sh helper script:
Run
side-by-side.sh
in your local.xprofile
or otherwise just after starting X, and you should be good to go.This setup has worked with both AMD and nVidia video cards, using both proprietary and open source drivers. I don't think I've ever tried with Wayland instead of X, but I suspect that should work iff
xrandr
works with Wayland.