Video output priority

I have GTX460 and I use nvidia’s binary blob. It has 3 video outputs, but only 2 can be active at the same time. I connected 2 monitors via DVI and TV via HDMI. I can easly switch 2 active outputs as I want (using nvidia-settings or systemsettings5), but I’d like to change default state. Currently when TV is connected it always gets signal (also when I connect it while working with 2 monitors signal switches from one of monitors to it, and I’m not talking about BIOS POST, it’s fine there). I’d like to prioritize monitors and switch signal to TV only on demand. How can I do that?

I tried to use nvidiaXineramaInfoOrder, but it changed nothing:

[     3.401] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[     3.401] (==) NVIDIA(0): RGB weight 888
[     3.401] (==) NVIDIA(0): Default visual is TrueColor
[     3.401] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[     3.402] (**) NVIDIA(0): Option "NoLogo" "true"
[     3.402] (**) NVIDIA(0): Option "HWcursor" "1"
[     3.402] (**) NVIDIA(0): Option "RenderAccel" "true"
[     3.402] (**) NVIDIA(0): Option "nvidiaXineramaInfoOrder" "DFP-0, DFP-2, DFP-1"
[     3.402] (**) NVIDIA(0): Option "TripleBuffer" "1"
[     3.402] (**) NVIDIA(0): Option "DamageEvents" "true"
[     3.402] (**) NVIDIA(0): Enabling RENDER acceleration
[     3.402] (**) NVIDIA(0): Option "Coolbits" "28"
[     3.402] (**) NVIDIA(0): Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3333"
[     3.402] (**) NVIDIA(0): Enabling 2D acceleration
[     4.050] (II) NVIDIA: Allocated GPU:0 (GPU-24be3273-b83a-345b-75f5-a6d9c2a797bc) @
[     4.050] (II) NVIDIA:     PCI:0000:01:00.0
[     4.095] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[     4.095] (--) NVIDIA(0):     CRT-0
[     4.095] (--) NVIDIA(0):     CRT-1
[     4.095] (--) NVIDIA(0):     DFP-0 (boot)
[     4.095] (--) NVIDIA(0):     DFP-1
[     4.095] (--) NVIDIA(0):     DFP-2
[     4.124] (--) NVIDIA(0): CRT-0: disconnected
[     4.124] (--) NVIDIA(0): CRT-0: 400.0 MHz maximum pixel clock
[     4.124] (--) NVIDIA(0): 
[     4.139] (--) NVIDIA(0): CRT-1: disconnected
[     4.139] (--) NVIDIA(0): CRT-1: 400.0 MHz maximum pixel clock
[     4.139] (--) NVIDIA(0): 
[     4.197] (--) NVIDIA(0): Idek Iiyama PL2209HD (DFP-0): connected
[     4.197] (--) NVIDIA(0): Idek Iiyama PL2209HD (DFP-0): Internal TMDS
[     4.197] (--) NVIDIA(0): Idek Iiyama PL2209HD (DFP-0): 330.0 MHz maximum pixel clock
[     4.197] (--) NVIDIA(0): 
[     4.227] (--) NVIDIA(0): Panasonic-TV (DFP-1): connected
[     4.227] (--) NVIDIA(0): Panasonic-TV (DFP-1): Internal TMDS
[     4.227] (--) NVIDIA(0): Panasonic-TV (DFP-1): 165.0 MHz maximum pixel clock
[     4.227] (--) NVIDIA(0): 
[     4.256] (--) NVIDIA(0): DELL U2412M (DFP-2): connected
[     4.256] (--) NVIDIA(0): DELL U2412M (DFP-2): Internal TMDS
[     4.256] (--) NVIDIA(0): DELL U2412M (DFP-2): 330.0 MHz maximum pixel clock
[     4.256] (--) NVIDIA(0): 
[     4.256] (II) NVIDIA(GPU-0): Found DRM driver nvidia-drm (20150116)
[     4.257] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 460 (GF104) at PCI:1:0:0 (GPU-0)
[     4.257] (--) NVIDIA(0): Memory: 1048576 kBytes
[     4.257] (--) NVIDIA(0): VideoBIOS: 70.04.1b.00.02
[     4.257] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[     4.303] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[     4.303] (**) NVIDIA(0):     device Idek Iiyama PL2209HD (DFP-0) (Using EDID
[     4.303] (**) NVIDIA(0):     frequencies has been enabled on all display devices.)
[     4.305] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[     4.305] (**) NVIDIA(0):     device Panasonic-TV (DFP-1) (Using EDID frequencies has
[     4.305] (**) NVIDIA(0):     been enabled on all display devices.)
[     4.307] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[     4.307] (**) NVIDIA(0):     device DELL U2412M (DFP-2) (Using EDID frequencies has
[     4.307] (**) NVIDIA(0):     been enabled on all display devices.)
[     4.308] (==) NVIDIA(0): 
[     4.308] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[     4.308] (==) NVIDIA(0):     will be used as the requested mode.
[     4.308] (==) NVIDIA(0): 
[     4.309] (II) NVIDIA(0): Validated MetaModes:
[     4.309] (II) NVIDIA(0):     "DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select"
[     4.309] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 1080
[     4.317] (--) NVIDIA(0): DPI set to (101, 101); computed from "UseEdidDpi" X config
[     4.317] (--) NVIDIA(0):     option
[     4.317] (--) Depth 24 pixmap format is 32 bpp
[     4.317] (II) NVIDIA: Using 3072.00 MB of virtual memory for indirect memory
[     4.317] (II) NVIDIA:     access.
[     4.320] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[     4.320] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[     4.320] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[     4.320] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[     4.320] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[     4.320] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[     4.320] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[     4.320] (II) NVIDIA(0):     Config Options in the README.
[     4.337] (II) NVIDIA(0): Setting mode "DFP-0:nvidia-auto-select,DFP-1:nvidia-auto-select"

I used Option “UseDisplayDevice” “DFP-0, DFP-2” additionally and now it works as I wanted.

Configure your displays as necessary using nvidia-settings, and add

nvidia-settings --load-config-only

to your DE’s autostart.

Consult with ftp://download.nvidia.com/XFree86/Linux-x86/1.0-6106/nvidia-settings-user-guide.txt for more information (strangely this info is missing in recent drivers).

Edit: it’s missing, because there’s a man page for this utility:

man nvidia-settings