2024-02-20 21:16:07 +01:00
|
|
|
---
|
|
|
|
weight: 15
|
|
|
|
title: Environment variables
|
|
|
|
---
|
|
|
|
|
|
|
|
You can use the `env` keyword to set environment variables prior to the
|
|
|
|
initialization of the Display Server, e.g.:
|
|
|
|
|
2023-03-05 14:43:30 +01:00
|
|
|
```ini
|
|
|
|
env = GTK_THEME,Nord
|
|
|
|
```
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
{{< callout >}}
|
|
|
|
|
|
|
|
Hyprland puts the raw string to the envvar with the `env` keyword. You should
|
|
|
|
_not_ add quotes around the values.
|
2023-03-17 17:27:13 +01:00
|
|
|
|
|
|
|
e.g.:
|
2024-02-20 21:16:07 +01:00
|
|
|
|
2023-03-17 17:27:13 +01:00
|
|
|
```ini
|
|
|
|
env = QT_QPA_PLATFORM,wayland
|
|
|
|
```
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
and _**NOT**_
|
|
|
|
|
2023-03-17 17:27:13 +01:00
|
|
|
```ini
|
|
|
|
env = QT_QPA_PLATFORM,"wayland"
|
|
|
|
```
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
{{< /callout >}}
|
|
|
|
|
|
|
|
Please avoid putting those environment variables in /etc/environment. That will
|
|
|
|
cause all sessions (including Xorg ones) to pick up your wayland-specific
|
|
|
|
environment on traditional Linux distros.
|
|
|
|
|
|
|
|
## Hyprland Environment Variables
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2023-12-21 22:29:15 +01:00
|
|
|
- `HYPRLAND_LOG_WLR=1` - Enables more verbose logging of wlroots.
|
|
|
|
- `HYPRLAND_NO_RT=1` - Disables realtime priority setting by Hyprland.
|
|
|
|
- `HYPRLAND_NO_SD_NOTIFY=1` - If systemd, disables the `sd_notify` calls.
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Toolkit Backend Variables
|
|
|
|
|
|
|
|
- `GDK_BACKEND=wayland,x11` - GTK: Use wayland if available, fall back to x11 if
|
|
|
|
not.
|
|
|
|
- `QT_QPA_PLATFORM="wayland;xcb"` - Qt: Use wayland if available, fall back to
|
|
|
|
x11 if not.
|
|
|
|
- `SDL_VIDEODRIVER=wayland` - Run SDL2 applications on Wayland. Remove or set to
|
|
|
|
`x11` if games that provide older versions of SDL cause compatibility issues
|
|
|
|
- `CLUTTER_BACKEND=wayland` - Clutter package already has wayland enabled, this
|
|
|
|
variable will force Clutter applications to try and use the Wayland backend
|
2023-03-26 20:56:34 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## XDG Specifications
|
2022-10-23 16:26:52 +02:00
|
|
|
|
|
|
|
- `XDG_CURRENT_DESKTOP=Hyprland`
|
|
|
|
- `XDG_SESSION_TYPE=wayland`
|
|
|
|
- `XDG_SESSION_DESKTOP=Hyprland`
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
XDG specific environment variables are often detected through portals and
|
|
|
|
applications that may set those for you, however it is not a bad idea to set
|
|
|
|
them explicitly.
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Qt Variables
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
- `QT_AUTO_SCREEN_SCALE_FACTOR=1` -
|
|
|
|
[(From the Qt documentation)](https://doc.qt.io/qt-5/highdpi.html) enables
|
|
|
|
automatic scaling, based on the monitor's pixel density
|
|
|
|
- `QT_QPA_PLATFORM=wayland;xcb` - Tell Qt applications to use the Wayland
|
|
|
|
backend, and fall back to x11 if Wayland is unavailable
|
|
|
|
- `QT_WAYLAND_DISABLE_WINDOWDECORATION=1` - Disables window decorations on Qt
|
|
|
|
applications
|
|
|
|
- `QT_QPA_PLATFORMTHEME=qt5ct` - Tells Qt based applications to pick your theme
|
|
|
|
from qt5ct, use with Kvantum.
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## NVIDIA Specific
|
2022-10-23 16:26:52 +02:00
|
|
|
|
|
|
|
To force GBM as a backend, set the following environment variables:
|
|
|
|
|
|
|
|
- `GBM_BACKEND=nvidia-drm`
|
|
|
|
- `__GLX_VENDOR_LIBRARY_NAME=nvidia`
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
> See
|
|
|
|
> [Archwiki Wayland Page](https://wiki.archlinux.org/title/Wayland#Requirements)
|
|
|
|
> for more details on those variables.
|
2022-10-23 16:26:52 +02:00
|
|
|
|
|
|
|
- `LIBVA_DRIVER_NAME=nvidia` - Hardware acceleration on NVIDIA GPUs
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
> See
|
|
|
|
> [Archwiki Hardware Acceleration Page](https://wiki.archlinux.org/title/Hardware_video_acceleration)
|
2022-10-23 16:26:52 +02:00
|
|
|
> for details and necessary values before setting this variable.
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
- `__GL_GSYNC_ALLOWED` - Controls if G-Sync capable monitors should use Variable
|
|
|
|
Refresh Rate (VRR)
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
> See
|
|
|
|
> [Nvidia Documentation](https://download.nvidia.com/XFree86/Linux-32bit-ARM/375.26/README/openglenvvariables.html)
|
|
|
|
> for details.
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
- `__GL_VRR_ALLOWED` - Controls if Adaptive Sync should be used. Recommended to
|
|
|
|
set as "0" to avoid having problems on some games.
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
- `WLR_DRM_NO_ATOMIC=1` - use legacy DRM interface instead of atomic mode
|
|
|
|
setting. Might fix flickering issues.
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Theming Related Variables
|
2022-10-23 16:26:52 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
- `GTK_THEME` - Set a GTK theme manually, for those who want to avoid appearance
|
|
|
|
tools such as lxappearance or nwg-look
|
|
|
|
- `XCURSOR_THEME` - Set your cursor theme. The theme needs to be installed and
|
|
|
|
readable by your user.
|
|
|
|
- `XCURSOR_SIZE` - Set cursor size. See [here](../../faq/) for why you might
|
|
|
|
want this variable set.
|