====== Notes ======
* :!: Anything here expects Xorg and not Wayland
* ''Identifier'' will need changed for different display connections and drivers
====== Config File ======
* ''99-graphics.conf''
sudo mkdir -p '/etc/X11/xorg.conf.d' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
====== Specific Screens ======
===== Acer S271HL =====
* [[devices;displays;acer_s271hl|Acer S271HL]]
* Last updated: 2024/08/25
* :!: The ''Identifier'' expects ''modesetting'' ((''intel'' is ''HDMI1'' no-dash))
sudo mkdir -p '/etc/X11/xorg.conf.d' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "Monitor"
Identifier "HDMI-1"
Modeline "1920x1080_75.00" 167.85 1920 1928 1960 2000 1080 1105 1113 1119 +hsync -vsync
Modeline "1280x720_75.00" 95.75 1280 1360 1488 1696 720 723 728 755 -hsync +vsync
Modeline "1024x768_75.00" 82.00 1024 1088 1192 1360 768 771 775 805 -hsync +vsync
Option "PreferredMode" "1920x1080_75.00"
EndSection
==== NVIDIA ====
* https://blogshit.baka.fi/2020/07/xorg-custom-resolutions/
* https://download.nvidia.com/XFree86/Linux-x86_64/510.54/README/xconfigoptions.html
Section "Monitor"
Identifier "S271HL-75Hz"
Modeline "1920x1080_75" 167.85 1920 1928 1960 2000 1080 1105 1113 1119 +hsync -vsync
EndSection
Section "Screen"
Identifier "Screen0"
Option "ModeValidation" "HDMI-0: NoMaxPClkCheck,NoEdidMaxPClkCheck,NoHorizSyncCheck,NoVertRefreshCheck,AllowNonEdidModes"
Monitor "S271HL-75Hz"
EndSection
====== Monitor/Display ======
===== Deep Color =====
* https://wiki.gentoo.org/wiki/30bpp
* https://wiki.archlinux.org/title/AMDGPU#10-bit_color
* The lack-of quotes around ''30'' is intentional and required syntax
* :!: This may cause apps to crash
sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "Screen"
Identifier "Deep Color Screen"
DefaultDepth 30
EndSection
==== Verify ====
* [[linux;notes;misc#xorg_debug|Xorg Debug]]
Pixel depth
====== GPU ======
===== amdgpu =====
* https://wiki.archlinux.org/title/AMDGPU#Reduce_output_latency
sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "OutputClass"
Identifier "AMD Graphics"
MatchDriver "amdgpu"
Driver "amdgpu"
Option "EnablePageFlip" "0"
Option "TearFree" "0"
EndSection
===== intel =====
* 2024/08/26: Last tested on [[linux;distros;fedora_workstation_gnome|Fedora 40]] with Intel UHD 630
sudo dnf install 'xorg-x11-drv-intel' -y && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "OutputClass"
Identifier "Intel Graphics"
MatchDriver "i915"
Driver "intel"
Option "DRI" "iris"
EndSection
===== NVIDIA =====
* ''Coolbits'' at ''28'' unlocks all available overclocking settings
sudo -e '/etc/X11/xorg.conf.d/nvidia.conf'
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Option "Coolbits" "28"
Option "AllowUnofficialGLXProtocol" "1"
EndSection
====== Input ======
===== libinput =====
* Last tested: 2024/06/11 on openSUSE Tumbleweed
sudo -e '/etc/X11/xorg.conf.d/99-libinput.conf'
Section "InputClass"
Identifier "Pointer (libinput custom)"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "AccelProfile" "flat"
EndSection
Section "InputClass"
Identifier "Keyboard (libinput custom)"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "AccelProfile" "flat"
EndSection
Section "InputClass"
Identifier "Touchpad (libinput custom)"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "AccelProfile" "flat"
Option "ClickMethod" "buttonareas"
Option "DisableWhileTyping" "off"
Option "NaturalScrolling" "off"
Option "SendEventsMode" "disabled-on-external-mouse"
Option "Tapping" "off"
EndSection
===== evdev =====
* Last tested: 2024/06/11 on openSUSE Tumbleweed
* :!: Touchpad needed ''synaptics'' instead of just ''evdev''
sudo zypper install -y 'xf86-input-evdev' && sudo -e '/etc/X11/xorg.conf.d/99-evdev.conf'
sudo zypper install -y 'xf86-input-synaptics'
sudo -e '/etc/X11/xorg.conf.d/99-evdev.conf'
Section "InputClass"
Identifier "Pointer (evdev custom)"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "AccelerationProfile" "-1"
Option "AccelerationScheme" "none"
EndSection
Section "InputClass"
Identifier "Keyboard (evdev custom)"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "AccelerationProfile" "-1"
Option "AccelerationScheme" "none"
EndSection
Section "InputClass"
Identifier "Touchpad (synaptics custom)"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "synaptics"
Option "TapAndDragGesture" "0"
Option "CoastingSpeed" "0"
Option "PalmDetect" "0"
Option "CircularScrolling" "0"
Option "TapButton3" "0"
Option "TapButton2" "0"
Option "TapButton1" "0"
Option "LBCornerButton" "0"
Option "LTCornerButton" "0"
Option "RBCornerButton" "0"
Option "RTCornerButton" "0"
Option "LockedDrags" "0"
Option "HorizTwoFingerScroll" "0"
Option "CornerCoasting" "0"
Option "HorizEdgeScroll" "0"
Option "VertEdgeScroll" "0"
EndSection
Section "InputClass"
Identifier "Tablet (evdev custom)"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "AccelerationProfile" "-1"
Option "AccelerationScheme" "none"
EndSection
Section "InputClass"
Identifier "Touchscreen (evdev custom)"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "AccelerationProfile" "-1"
Option "AccelerationScheme" "none"
EndSection