Xorg: Difference between revisions

From NixOS Wiki
Add Qt 6 support
Translate to ukrainian
Tags: Reverted Visual edit
Line 1: Line 1:
== HiDPI ==
== 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.
'''Дисплеї HiDPI (High Dots Per Inch)''', також відомі під маркетинговою назвою Apple "Retina Display", є екранами з високою роздільною здатністю в порівняно невеликому форматі. Вони переважно зустрічаються у високоякісних ноутбуках та моніторах.


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:
Не все програмне забезпечення ще працює добре у режимі високої роздільної здатності. Нижче наведено найпоширеніші налаштування, які роблять роботу на екрані HiDPI приємнішою:


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
   # bigger tty fonts
   # більші шрифти для tty
   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
     ## Використовується GTK 3
     # `GDK_SCALE` is limited to integer values
     # `GDK_SCALE` обмежений цілочисельними значеннями
     GDK_SCALE = "2";
     GDK_SCALE = "2";
     # Inverse of GDK_SCALE
     # Зворотне GDK_SCALE
     GDK_DPI_SCALE = "0.5";
     GDK_DPI_SCALE = "0.5";


Line 22: Line 22:
     _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
     _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
   };
   };
   # Expose variables to graphical systemd user services
   # Виставляти змінні для графічних системних служб користувача systemd
   services.xserver.displayManager.importedVariables = [
   services.xserver.displayManager.importedVariables = [
     "GDK_SCALE"
     "GDK_SCALE"
Line 30: Line 30:
</syntaxhighlight>
</syntaxhighlight>


To enable HiDPI scaling for Qt 6 applications, add the following to <code>.Xresources</code>:
Щоб увімкнути масштабування HiDPI для застосунків Qt 6, додайте до <code>.Xresources</code>:


<syntaxhighlight>
<syntaxhighlight>
Line 36: Line 36:
</syntaxhighlight>
</syntaxhighlight>


== Disabling touchpad and mouse accelerations ==
== Вимкнення прискорення тачпада та миші ==
To disable touchpad and mouse accelerations just add the following lines to your <code>configuration.nix</code>
Щоб вимкнути прискорення тачпада та миші, просто додайте наступні рядки до своєї <code>configuration.nix</code>


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
Line 48: Line 48:
       enable = true;
       enable = true;


       # disabling mouse acceleration
       # вимкнення прискорення миші
       mouse = {
       mouse = {
         accelProfile = "flat";
         accelProfile = "flat";
       };
       };


       # disabling touchpad acceleration
       # вимкнення прискорення тачпаду
       touchpad = {
       touchpad = {
         accelProfile = "flat";
         accelProfile = "flat";
Line 64: Line 64:
</syntaxhighlight>
</syntaxhighlight>


To get more information see <code>man configuration.nix</code>.
Щоб отримати більше інформації, дивіться <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.
Деякі пакети, такі як xterm, включені при увімкненні Xorg. Щоб виключити пакети, редагуйте configuration.nix як у прикладі, але переконайтеся, що у вас є інший термінал увімкнений у вашому складанні перед тим, як це зробити.


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
Line 75: Line 75:
</syntaxhighlight>
</syntaxhighlight>


== See also ==
== Дивіться також ==


* [[Nvidia]]
* [[Nvidia]]

Revision as of 22:11, 26 September 2024

HiDPI

Дисплеї HiDPI (High Dots Per Inch), також відомі під маркетинговою назвою Apple "Retina Display", є екранами з високою роздільною здатністю в порівняно невеликому форматі. Вони переважно зустрічаються у високоякісних ноутбуках та моніторах.

Не все програмне забезпечення ще працює добре у режимі високої роздільної здатності. Нижче наведено найпоширеніші налаштування, які роблять роботу на екрані HiDPI приємнішою:

  # більші шрифти для tty
  console.font =
    "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
  services.xserver.dpi = 180;
  environment.variables = {
    ## Використовується GTK 3
    # `GDK_SCALE` обмежений цілочисельними значеннями
    GDK_SCALE = "2";
    # Зворотне GDK_SCALE
    GDK_DPI_SCALE = "0.5";

    # Used by Qt 5
    QT_AUTO_SCREEN_SCALE_FACTOR = "1";

    _JAVA_OPTIONS = "-Dsun.java2d.uiScale=2";
  };
  # Виставляти змінні для графічних системних служб користувача systemd
  services.xserver.displayManager.importedVariables = [
    "GDK_SCALE"
    "GDK_DPI_SCALE"
    "QT_AUTO_SCREEN_SCALE_FACTOR"
  ];

Щоб увімкнути масштабування HiDPI для застосунків Qt 6, додайте до .Xresources:

Xft.dpi: 180

Вимкнення прискорення тачпада та миші

Щоб вимкнути прискорення тачпада та миші, просто додайте наступні рядки до своєї configuration.nix

  services.xserver = {
    enable = true;

    ...

    libinput = {
      enable = true;

      # вимкнення прискорення миші
      mouse = {
        accelProfile = "flat";
      };

      # вимкнення прискорення тачпаду
      touchpad = {
        accelProfile = "flat";
      };
    };

    ...

  };

Щоб отримати більше інформації, дивіться man configuration.nix.

Виключення пакетів

Деякі пакети, такі як xterm, включені при увімкненні Xorg. Щоб виключити пакети, редагуйте configuration.nix як у прикладі, але переконайтеся, що у вас є інший термінал увімкнений у вашому складанні перед тим, як це зробити.

services.xserver.excludePackages = with pkgs; [
  xterm
];

Дивіться також