Xorg: Difference between revisions

imported>Makefu
m Makefu moved page Disabling mouse acceleration to Xorg: will become new Xorg Page
Malix (talk | contribs)
m See also: feat: reference link to wayland
 
(21 intermediate revisions by 11 users not shown)
Line 1: Line 1:
To disable mouse acceleration for a touchpad, it's as simple as
[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]].


<pre>
= Enabling =
  services.xserver.libinput.enable = true;
  services.xserver.libinput.accelProfile = "flat";
</pre>


But to disable it for a mouse, it's a bit more wordy -
On NixOS, users can enable and configure Xorg through the {{nixos:option|services.xserver}} module in their system configuration.


<pre>
See {{NixOS Manual|name=NixOS Manual: Chapter - X Window Syestem|anchor=#sec-x11}} for information on using X11 with NixOS.
   services.xserver.libinput.enable = true;
 
   services.xserver.config = ''
= Tips and tricks =
     Section "InputClass"
 
      Identifier "mouse accel"
== HiDPI ==
      Driver "libinput"
 
      MatchIsPointer "on"
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.
       Option "AccelProfile" "flat"
 
       Option "AccelSpeed" "0"
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:
    EndSection
 
   '';
<syntaxhighlight lang="nix">
</pre>
  # 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"
  ];
</syntaxhighlight>
 
To enable HiDPI scaling for Qt 6 applications, add the following to <code>.Xresources</code>:
 
<syntaxhighlight>
Xft.dpi: 180
</syntaxhighlight>
 
== Disabling touchpad and mouse accelerations ==
 
To disable touchpad and mouse accelerations just add the following lines to your <code>configuration.nix</code>
 
<syntaxhighlight lang="nix">
  services.xserver = {
    enable = true;
 
    ...
 
    libinput = {
      enable = true;
 
       # disabling mouse acceleration
      mouse = {
        accelProfile = "flat";
      };
 
      # disabling touchpad acceleration
      touchpad = {
        accelProfile = "flat";
       };
    };
 
    ...
 
  };
</syntaxhighlight>
 
To get more information see <code>man configuration.nix</code>.
 
== Exclude packages ==
 
Some packages like xterm are included when enabling Xorg. To exclude packages, edit the <code>configuration.nix</code> as the example, but be sure to have another terminal enabled in your build before doing this.
 
<syntaxhighlight lang="nix">
services.xserver.excludePackages = with pkgs; [
   xterm
];
</syntaxhighlight>
 
= See also =
 
* [[Wayland]]
* [[Nvidia]]
* [[AMD GPU]]
* [[Intel Graphics]]
* [[:Category:Desktop environment]]
* [[:Category:Window managers]]
 
[[Category:Video]]