Skip to content

Simplify GPU configuration and add support for multiple NVIDIA cards

Olivier Gauthier requested to merge fix/simpler-gpu-configuration into develop

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.

Edited by Olivier Gauthier

Merge request reports