Originally posted by curaga
View Post
Announcement
Collapse
No announcement yet.
Linux multi head: success with 8 monitors in 1 X screen without Xinerama
Collapse
X
-
Originally posted by sr91 View PostHello,
After a multi year journey experimenting with multi display on Linux, I finally personally reached a very important milestone today:
I am running successfuly a single X screen with 8 monitors over two GPUs:- without Xinerama
- with OpenGL working
- with XFCE working
- windows can be moved from one display to another, maximizing a window only maximizes over one monitor.
Code:lspci | grep -i nvidia 03:00.0 VGA compatible controller: NVIDIA Corporation GT218 [NVS 300] (rev a2) 03:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1) 04:00.0 VGA compatible controller: NVIDIA Corporation GT218 [NVS 300] (rev a2) 04:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1) 05:00.0 VGA compatible controller: NVIDIA Corporation GT218 [NVS 300] (rev a2) 05:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
Code:pacman -Qs | grep -i nvidia local/lib32-nvidia-340xx-utils 340.98-1 NVIDIA drivers utilities (32-bit) Nvidia VDPAU library local/linux44-nvidia-340xx 340.98-8 (linux44-extramodules) NVIDIA drivers for linux. local/mhwd-nvidia 1:370.28-1 MHWD module-ids for nvidia 370.28 local/mhwd-nvidia-304xx 1:304.131-1 MHWD module-ids for nvidia 304.131 local/mhwd-nvidia-340xx 340.98-1 MHWD module-ids for nvidia 340.98 local/nvidia-340xx-utils 340.98-1 NVIDIA drivers utilities
Code:cat /etc/X11/mhwd.d/nvidia.conf # nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings: version 340.98 (buildmeister@swio-display-x86-rhel47-06) Mon Sep 19 18:06:10 PDT 2016 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 1680 0 Screen 1 "Screen1" 0 0 Screen 2 "Screen2" 3360 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" Option "Xinerama" "1" EndSection Section "Files" EndSection Section "Module" Load "dbe" Load "extmod" Load "type1" Load "freetype" Load "glx" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor0" VendorName "Unknown" ModelName "Philips 200WB" HorizSync 30.0 - 98.0 VertRefresh 56.0 - 76.0 Option "DPMS" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor1" VendorName "Unknown" ModelName "Philips 200WB" HorizSync 30.0 - 98.0 VertRefresh 56.0 - 76.0 Option "DPMS" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor2" VendorName "Unknown" ModelName "Philips 200WB" HorizSync 30.0 - 98.0 VertRefresh 56.0 - 76.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 300" BusID "PCI:5:0:0" EndSection Section "Device" Identifier "Device1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 300" BusID "PCI:3:0:0" EndSection Section "Device" Identifier "Device2" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 300" BusID "PCI:4:0:0" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "CRT-1" Option "metamodes" "DP-0: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +0+1050" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor1" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "CRT-0" Option "metamodes" "DP-0: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +0+1050" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "Screen2" Device "Device2" Monitor "Monitor2" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "CRT-0" Option "metamodes" "DP-0: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +0+1050" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection Section "Extensions" Option "Composite" "Disable" EndSection
Comment
-
Originally posted by sr91 View PostHello,
After a multi year journey experimenting with multi display on Linux, I finally personally reached a very important milestone today:
I am running successfuly a single X screen with 8 monitors over two GPUs:- without Xinerama
- with OpenGL working
- with XFCE working
- windows can be moved from one display to another, maximizing a window only maximizes over one monitor.
Code:lspci | grep -i nvidia 03:00.0 VGA compatible controller: NVIDIA Corporation GT218 [NVS 300] (rev a2) 03:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1) 04:00.0 VGA compatible controller: NVIDIA Corporation GT218 [NVS 300] (rev a2) 04:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1) 05:00.0 VGA compatible controller: NVIDIA Corporation GT218 [NVS 300] (rev a2) 05:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
Code:pacman -Qs | grep -i nvidia local/lib32-nvidia-340xx-utils 340.98-1 NVIDIA drivers utilities (32-bit) Nvidia VDPAU library local/linux44-nvidia-340xx 340.98-8 (linux44-extramodules) NVIDIA drivers for linux. local/mhwd-nvidia 1:370.28-1 MHWD module-ids for nvidia 370.28 local/mhwd-nvidia-304xx 1:304.131-1 MHWD module-ids for nvidia 304.131 local/mhwd-nvidia-340xx 340.98-1 MHWD module-ids for nvidia 340.98 local/nvidia-340xx-utils 340.98-1 NVIDIA drivers utilities
Code:cat /etc/X11/mhwd.d/nvidia.conf # nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings: version 340.98 (buildmeister@swio-display-x86-rhel47-06) Mon Sep 19 18:06:10 PDT 2016 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 1680 0 Screen 1 "Screen1" 0 0 Screen 2 "Screen2" 3360 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" Option "Xinerama" "1" EndSection Section "Files" EndSection Section "Module" Load "dbe" Load "extmod" Load "type1" Load "freetype" Load "glx" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor0" VendorName "Unknown" ModelName "Philips 200WB" HorizSync 30.0 - 98.0 VertRefresh 56.0 - 76.0 Option "DPMS" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor1" VendorName "Unknown" ModelName "Philips 200WB" HorizSync 30.0 - 98.0 VertRefresh 56.0 - 76.0 Option "DPMS" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor2" VendorName "Unknown" ModelName "Philips 200WB" HorizSync 30.0 - 98.0 VertRefresh 56.0 - 76.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 300" BusID "PCI:5:0:0" EndSection Section "Device" Identifier "Device1" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 300" BusID "PCI:3:0:0" EndSection Section "Device" Identifier "Device2" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVS 300" BusID "PCI:4:0:0" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "CRT-1" Option "metamodes" "DP-0: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +0+1050" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor1" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "CRT-0" Option "metamodes" "DP-0: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +0+1050" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "Screen2" Device "Device2" Monitor "Monitor2" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "CRT-0" Option "metamodes" "DP-0: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +0+1050" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection Section "Extensions" Option "Composite" "Disable" EndSection
Comment
-
I did an entire blog on Xorg config for a multi-head setup.
In Debian Stretch it's now possible to use this randr method instead without using any Xorg config files:
# xrandr --setprovideroutputsource 1 0
# xrandr --output HDMI-1 --output DVI-0 --left-of HDMI-1 --output VGA-1-1 --auto --right-of HDMI-1
Comment
-
I can't get the multi-head display working because the PCI Bus ID are not persistent
under Ubuntu 20.04 LTS. On subsequent boots, the Bus ID for the two RTX cards
change randomly.
lab@sys:~$ lspci | grep VGA
18:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
66:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
Reboot
lab@sys:~$ lspci | grep VGA
17:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
67:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
Reboot
lab@sys:~$ lspci | grep VGA
19:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
67:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
When the BusID does not match with the setting in xorg.conf, then there is no display.
Has anyone encountered this problem and know a fix for it?
Thanks,
Comment
Comment