Arch Linux enhancedX11 repository
Index
-
Purpose of the enhancedX11 repository
-
Repository installation instructions
-
Enhanced xorg-server
-
Enhancements
-
X.Org xorg-server 26.1.0 release candidate announcements
-
Installing the enhanced xorg-server packages
-
Input and video drivers
-
Available input and video drivers
-
ABI versions
-
X.Org server 26.1 RC3 known issues and workarounds
-
Available repository packages
-
Maintainer PGP key info
1. Purpose of the enhancedX11 repository
This repository named enhancedX11 aims to provide for an optimal X11 experience on Arch Linux and derivative distributions.
This repository of enhanced X.Org X11 server and input/video driver packages and more, also mostly for X11, is created and provided to the Arch Linux community by developer Dinosaur.
The benefits of using the enhanced X.Org X11 server packages can be twofold:
- For some types of gaming there can be a significant increase in performance as reported by a user:
"glxgears goes from 22992 to 23576 average FPS (OK, not a real benchmark).
Black Mesa in Lutris, however, goes from ~155 to ~205 FPS. This is impressive."
- For others the average CPU temperature can drop by several degrees Celsius due to lower power consumption, and lower fan speed and noise.
The X.Org packages are currently based on Release Candidate 3 of release 26.1 (26.0.99.903). This allows for testing with this version, which for many setups already works fine as a daily driver.
2. Repository installation instructions
Automatic install
curl https://dinosaur.homelinuxserver.org/enhancedX11/enhancedX11-install-script.sh | sh
Manual install
Note: replace sudo with doas in case that is installed.
Step 1: Adding the Public Package Signing Key to pacman
First, download the public OpenPGP signing key Dinosaur-pgpkey-2FC84CE10A0C6483.asc used to sign the packages and add it to the pacman keyring:
curl -O https://dinosaur.homelinuxserver.org/enhancedX11/Dinosaur-pgpkey-2FC84CE10A0C6483.asc
sudo pacman-key --add Dinosaur-pgpkey-2FC84CE10A0C6483.asc
sudo pacman-key --finger 2FC84CE10A0C6483
sudo pacman-key --lsign-key 2FC84CE10A0C6483
More information on package signing can be found on the Pacman/Package signing - ArchWiki page.
Step 2: Adding the Repository to Pacman's Configuration
After adding the public key, also add an entry for the enhancedX11 repository to the end of file /etc/pacman.conf using sudo and the editor of your choice:
[enhancedX11]
Server = https://dinosaur.homelinuxserver.org/$repo/os/$arch
Step 3: Update Pacman's Package Database
sudo pacman -Syy
3. Enhanced xorg-server
3.1 Enhancements
The enhanced xorg-server packages are based on the latest version 26.1 Release Candidate which includes the 'default TearFree option for modesetting' and 'rrandr-dpi' - have these enhancements:
- use-intel-only-on-pre-gen4
- xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G
- fix-hotkeys-fdo-bug-865 - currently not packaged
- performance optimizations
- optionally: AVX2 with x86-64-v3, or SSE4.1
3.2 X.Org xorg-server 26.1.0 release candidate announcements
X.Org xorg-server release candidate announcements with their changes, bug fixes and new functionality:
3.3 Installing the enhanced xorg-server packages
First establish which instruction sets are supported by the CPU by running commands:
grep -o 'sse4_1\|avx2' /proc/cpuinfo | sort -u
and:
/usr/lib64/ld-linux-x86-64.so.2 --help | grep -A5 '^Subdirectories' | grep supported | cut -d'(' -f1
No output means no support.
To install the suited enhanced xorg-server packages run:
- in case x86-64-v3 is supported (roughly on systems from 2013 and newer) :
pacman -S xorg-server-enhanced-avx2 xorg-server-common-enhanced-avx2 xf86-input-libinput-enhanced
- in case sse4_1 is supported, but x86-64-v3 is not (roughly on systems from between 2008 and 2013 :
pacman -S xorg-server-enhanced-sse41 xorg-server-common-enhanced-sse41 xf86-input-libinput-enhanced
- in case neither sse4_1 nor x86-64-v3 is supported (roughly on systems from before 2008 :
pacman -S xorg-server-enhanced xorg-server-common-enhanced xf86-input-libinput-enhanced
4. Input and output drivers
4.1 Available input and video driver packages
These input and video drivers are available:
- xf86-input-elographics-enhanced
- xf86-input-evdev-enhanced
- xf86-input-joystick-enhanced
- xf86-input-libinput-enhanced
- xf86-input-mtrack-enhanced
- xf86-input-synaptics-enhanced
- xf86-input-vmmouse-enhanced
- xf86-input-void-enhanced
- xf86-input-wacom-enhanced
- xf86-video-amdgpu-enhanced
- xf86-video-ati-enhanced
- xf86-video-dummy-enhanced
- xf86-video-fbdev-enhanced
- xf86-video-intel-enhanced
- xf86-video-nouveau-enhanced
- xf86-video-qxl-enhanced
- xf86-video-sisusb-enhanced
- xf86-video-vesa-enhanced
- xf86-video-voodoo-enhanced
4.2 ABI versions
All drivers accommodate for the increased ABI versions in xorg server 26.1.0:
- X-ABI-VIDEODRV_VERSION 25.2 -> 28.0
- X-ABI-XINPUT_VERSION 24.4 -> 26.0
- X-ABI-EXTENSION_VERSION 10.0 -> 11.0
Closed source drivers - like those from Nvidia - might not have an updated ABI version to match xorg-server.
To prevent problems with these drivers create eg. file /etc/X11/xorg.conf.d/15-ignore-abi.conf with content:
Section "ServerFlags"
Option "IgnoreABI" "true"
EndSection
5. X.Org server 26.1 RC2 known issues and workarounds
Currently known issues and possible workarounds:
- On AMPGPU and QEMU Virtio Video graphic cards the mouse cursor is displayed vertically crushed and with a slight offset.
Note: this issue has been fixed in the latest xorg-server-enhanced package releases.
For now, as a workaround, this configuration section in eg. file /etc/X11/xorg.conf.d/20-modesetting.conf can be used as tested on QEMU Video Virtio:
Section "Device"
Identifier "QEMU Video Virtio"
Driver "modesetting"
Option "SWcursor" "on"
EndSection
For QEMU Virtio Video another workaround is to use Virtio VGA as video model.
- When using VLC, and maybe also other applications, a hang might occur over time after the resolution has changed.
Note this issue has been fixed in the latest xorg-server-enhanced package releases.
Until there is a fix for this issue a workaroung is to create or update a configuration file, similar to the workaround in the previous issue, and have it include the following in the modesetting Device section:
Option "PageFlip" "off"
6. Available repository packages
A list of all currently available packages with their descriptions and versions can be found in 1-enhancedX11-package-overview.html.
7. Maintainer PGP key info
PGP key info Dinosaur
Key-ID: 2FC84CE10A0C6483
Key file: Dinosaur-pgpkey-2FC84CE10A0C6483.asc
Email: <ancient dash dinosaurus at proton dot me>