Skip to content

Instantly share code, notes, and snippets.

@ArrEssJay
Last active November 23, 2023 13:57
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save ArrEssJay/0e126a56b0ee9f23551a98fb258414c6 to your computer and use it in GitHub Desktop.
Save ArrEssJay/0e126a56b0ee9f23551a98fb258414c6 to your computer and use it in GitHub Desktop.
xorg.conf for 4 NVIDIA GTX1080i GPU, fake monitor, headless arrangement
# Use this in a situation where you want a headless Linux box with multiple GPU boards but no desktop environment
# Fake EDID convinces drivers that a monitor is connected
# Use any EDID binary file
# To start a fake X server make a systemd file with something like:
# ExecStart=/usr/bin/tcsh -c 'xinit /opt/set-gpu-fans/setfanspeed.sh -- :0 -once -config /opt/set-gpu-fans/xorg.rob'
# See other gist for fan setting script : https://gist.github.com/RobDeBagel/a960c2b157256c162220e60300529cf0
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
Screen 1 "Screen1"
Screen 2 "Screen2"
Screen 3 "Screen3"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "keyboard"
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 "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor3"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1080 Ti"
BusID "PCI:2:0:0"
Option "Coolbits" "28"
Option "ConstrainCursor" "off"
Option "ConnectedMonitor" "DFP-0"
Option "CustomEDID" "DFP-0:/opt/set-gpu-fans/edid.bin" # define resolutions here, no need for "Monitor" or "Modes" in "Screen"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1080 Ti"
BusID "PCI:3:0:0"
Option "Coolbits" "28"
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1080 Ti"
BusID "PCI:129:0:0"
Option "Coolbits" "28"
EndSection
Section "Device"
Identifier "Device3"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1080 Ti"
BusID "PCI:130:0:0"
Option "Coolbits" "28"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Option "AllowEmptyInitialConfiguration" "True"
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Option "AllowEmptyInitialConfiguration" "True"
Option "UseDisplayDevice" "none"
EndSection
Section "Screen"
Identifier "Screen2"
Device "Device2"
Option "AllowEmptyInitialConfiguration" "True"
Option "UseDisplayDevice" "none"
EndSection
Section "Screen"
Identifier "Screen3"
Device "Device3"
Option "AllowEmptyInitialConfiguration" "True"
Option "UseDisplayDevice" "none"
EndSection
@appkoders
Copy link

Hi, Can you also share your /opt/set-gpu-fans/xorg.rob

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment