Simplify GPU configuration and add support for multiple NVIDIA cards
Remove nvidia-settings
, add a step to scenic-setup
asking if end-user wants to enable NVIDIA Base Mosaic (multiple cards) support. This configuration use a nvidia-xconfig
one-liner that enable BaseMosaic, disable SLI, disable MultiGPU and enable ForceFullCompositionPipeline options in xorg.conf.
This minimal static xorg.conf file generated with nvidia-xconfig
keep screen configuration dynamic and compatible with XRandR API, without any reference to PCI bus addresses or GPU models (which was a problem with xorg.conf file generated using nvidia-settings
and caused problems with portability between different machines).
This allow us to keep using ARandR front-end to configure complex screen dispositions dynamically.
ARandR
persistence is implemented simply by using Layout
menu and Save As
option, then overwriting ~/.screenlayout/screenlayout.sh
file. This file contains ARandR
layout expressed as a simple human readable xrandr
command script. This script is started at logon using /etc/xdg/openbox/autostart
hook. Image ships with an empty placeholder file which help end-user to save its custom layout, and keep initial setup dynamic. XRandR API seems to "almost" do the right thing when 2-3 monitors are connected at startup.
Monitor output names displayed by ARandR
were validated to be in alphabetic order matching station hardware patch panel HDMI connectors order.