Xorg: Difference between revisions

Undo revision 17656 by Levitsky (talk)
Tag: Undo
DHCP (talk | contribs)
m fix indentation
 
(4 intermediate revisions by 3 users not shown)
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 enabling a variety of [[:Category:Desktop environment|desktop environments]] and [[:Category:Window managers|window managers]].
= Enabling =
On NixOS, users can enable and configure Xorg through the {{nixos:option|services.xserver}} module in their system configuration.
See {{NixOS Manual|name=NixOS Manual: Chapter - X Window System|anchor=#sec-x11}} for information on using X11 with NixOS.
= Tips and tricks =
== HiDPI ==
== HiDPI ==


Line 6: Line 16:


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
  # bigger tty fonts
# bigger tty fonts
  console.font =
console.font =
    "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
  "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
  services.xserver.dpi = 180;
services.xserver.dpi = 180;
  environment.variables = {
environment.variables = {
    ## Used by GTK 3
  ## Used by GTK 3
    # `GDK_SCALE` is limited to integer values
  # `GDK_SCALE` is limited to integer values
    GDK_SCALE = "2";
  GDK_SCALE = "2";
    # Inverse of GDK_SCALE
  # Inverse of GDK_SCALE
    GDK_DPI_SCALE = "0.5";
  GDK_DPI_SCALE = "0.5";


    # Used by Qt 5
  # Used by Qt 5
    QT_AUTO_SCREEN_SCALE_FACTOR = "1";
  QT_AUTO_SCREEN_SCALE_FACTOR = "1";


    _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
  _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
  };
};
  # Expose variables to graphical systemd user services
# Expose variables to graphical systemd user services
  services.xserver.displayManager.importedVariables = [
services.xserver.displayManager.importedVariables = [
    "GDK_SCALE"
  "GDK_SCALE"
    "GDK_DPI_SCALE"
  "GDK_DPI_SCALE"
    "QT_AUTO_SCREEN_SCALE_FACTOR"
  "QT_AUTO_SCREEN_SCALE_FACTOR"
  ];
];
</syntaxhighlight>
</syntaxhighlight>


Line 37: Line 47:


== Disabling touchpad and mouse accelerations ==
== Disabling touchpad and mouse accelerations ==
To disable touchpad and mouse accelerations just add the following lines to your <code>configuration.nix</code>
To disable touchpad and mouse accelerations just add the following lines to your <code>configuration.nix</code>


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
  services.xserver = {
services.xserver = {
    enable = true;
  enable = true;


    ...
  ...


    libinput = {
  libinput = {
      enable = true;
    enable = true;


      # disabling mouse acceleration
    # disabling mouse acceleration
      mouse = {
    mouse = {
        accelProfile = "flat";
      accelProfile = "flat";
      };
    };


      # disabling touchpad acceleration
    # disabling touchpad acceleration
      touchpad = {
    touchpad = {
        accelProfile = "flat";
      accelProfile = "flat";
      };
     };
     };
  };


    ...
  ...


  };
};
</syntaxhighlight>
</syntaxhighlight>


Line 67: Line 78:


== Exclude packages ==
== 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.
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.


Line 75: Line 87:
</syntaxhighlight>
</syntaxhighlight>


== See also ==
= See also =


* [[Wayland]]
* [[Nvidia]]
* [[Nvidia]]
* [[AMD GPU]]
* [[AMD GPU]]
* [[Intel Graphics]]
* [[Intel Graphics]]
* [[:Category:Desktop environment]]
* [[:Category:Window managers]]


[[Category:Video]]
[[Category:Video]]