Xorg: Difference between revisions
Add links to manual and module options for configuring xorg Tags: Mobile edit Mobile web edit Advanced mobile edit |
link to desktop environments and window managers categories. Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
Line 1: | Line 1: | ||
[https://en.wikipedia.org/wiki/X.Org_Server Xorg] is the implementation of the [https://en.wikipedia.org/wiki/X_Window_System X Window System]. It acts as the bridge between your system's hardware and the graphical user environment. | [https://en.wikipedia.org/wiki/X.Org_Server Xorg] is the implementation of the [https://en.wikipedia.org/wiki/X_Window_System X Window System]. It acts as the bridge between your system's hardware and the graphical user environment enabling a variety of [[:Category:Desktop environment|desktop environments]] and [[:Category:Window managers|window managers]]. | ||
= Enabling = | = Enabling = | ||
Line 92: | Line 92: | ||
* [[AMD GPU]] | * [[AMD GPU]] | ||
* [[Intel Graphics]] | * [[Intel Graphics]] | ||
* [[:Category:Desktop environment]] | |||
* [[:Category:Window managers]] | |||
[[Category:Video]] | [[Category:Video]] |
Revision as of 16:43, 10 May 2025
Xorg is the implementation of the X Window System. It acts as the bridge between your system's hardware and the graphical user environment enabling a variety of desktop environments and window managers.
Enabling
On NixOS, users can enable and configure Xorg through the services.xserver
module in their system configuration.
See NixOS Manual: Chapter - X Window Syestem for information on using X11 with NixOS.
Tips and tricks
HiDPI
HiDPI (High Dots Per Inch) displays, also known by Apple's "Retina Display" marketing name, are screens with a high resolution in a relatively small format. They are mostly found in high-end laptops and monitors.
Not all software behaves well in high-resolution mode yet. Here are listed most common tweaks which make work on a HiDPI screen more pleasant:
# bigger tty fonts
console.font =
"${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
services.xserver.dpi = 180;
environment.variables = {
## Used by GTK 3
# `GDK_SCALE` is limited to integer values
GDK_SCALE = "2";
# Inverse of GDK_SCALE
GDK_DPI_SCALE = "0.5";
# Used by Qt 5
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
_JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
};
# Expose variables to graphical systemd user services
services.xserver.displayManager.importedVariables = [
"GDK_SCALE"
"GDK_DPI_SCALE"
"QT_AUTO_SCREEN_SCALE_FACTOR"
];
To enable HiDPI scaling for Qt 6 applications, add the following to .Xresources
:
Xft.dpi: 180
Disabling touchpad and mouse accelerations
To disable touchpad and mouse accelerations just add the following lines to your configuration.nix
services.xserver = {
enable = true;
...
libinput = {
enable = true;
# disabling mouse acceleration
mouse = {
accelProfile = "flat";
};
# disabling touchpad acceleration
touchpad = {
accelProfile = "flat";
};
};
...
};
To get more information see man configuration.nix
.
Exclude packages
Some packages like xterm are included when enabling Xorg. To exclude packages, edit the configuration.nix
as the example, but be sure to have another terminal enabled in your build before doing this.
services.xserver.excludePackages = with pkgs; [
xterm
];