5.7 KiB
| weight | title |
|---|---|
| 18 | Environment variables |
Note
uwsm users should avoid placing environment variables in the
hyprland.conffile.
Instead, use~/.config/uwsm/envfor theming, xcursor, Nvidia and toolkit variables, and~/.config/uwsm/env-hyprlandforHYPR*andAQ_*variables.
The format isexport KEY=VAL.export XCURSOR_SIZE=24See uwsm readme for additional information.
You can use the env keyword to set environment variables prior to the
initialization of the Display Server, e.g.:
env = GTK_THEME,Nord
Warning
Note that when using the
envkeyword, Hyprland reads the value of the variable as a raw string and puts it into the environment as is.
You should NOT add quotes""around the values.Some examples with differently formatted values:
✗ DON'T:
env = QT_AUTO_SCREEN_SCALE_FACTOR,"1" env = QT_QPA_PLATFORM,"wayland" env = QT_QPA_PLATFORM,"wayland;xcb" env = AQ_DRM_DEVICES=,"/dev/dri/card1:/dev/dri/card0"✓ Instead, DO:
env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = QT_QPA_PLATFORM,wayland env = QT_QPA_PLATFORM,wayland;xcb env = AQ_DRM_DEVICES=,/dev/dri/card1:/dev/dri/card0
Warning
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
HYPRLAND_TRACE=1- Enables more verbose logging.HYPRLAND_NO_RT=1- Disables realtime priority setting by Hyprland.HYPRLAND_NO_SD_NOTIFY=1- If systemd, disables thesd_notifycalls.HYPRLAND_NO_SD_VARS=1- Disables management of variables in systemd and dbus activation environments.HYPRLAND_CONFIG- Specifies where you want your Hyprland configuration.
Aquamarine Environment Variables
AQ_TRACE=1- Enables more verbose logging.AQ_DRM_DEVICES=- Set an explicit list of DRM devices (GPUs) to use. It's a colon-separated list of paths, with the first being the primary. E.g.:/dev/dri/card1:/dev/dri/card0AQ_FORCE_LINEAR_BLIT=0- Disables forcing linear explicit modifiers on Multi-GPU buffers to potentially workaround Nvidia issues.AQ_MGPU_NO_EXPLICIT=1- Disables explicit syncing on mgpu buffers.AQ_NO_MODIFIERS=1- Disables modifiers for DRM buffers.
Toolkit Backend Variables
env = GDK_BACKEND,wayland,x11,*- GTK: Use Wayland if available; if not, try X11 and then any other GDK backend.env = QT_QPA_PLATFORM,wayland;xcb- Qt: Use Wayland if available, fall back to X11 if not.env = SDL_VIDEODRIVER,wayland- Run SDL2 applications on Wayland. Remove or set tox11if games that provide older versions of SDL cause compatibility issuesenv = CLUTTER_BACKEND,wayland- Clutter package already has Wayland enabled, this variable will force Clutter applications to try and use the Wayland backend
XDG Specifications
env = XDG_CURRENT_DESKTOP,Hyprlandenv = XDG_SESSION_TYPE,waylandenv = XDG_SESSION_DESKTOP,Hyprland
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.
If your desktop portal is malfunctioning for seemingly no reason (no errors), it's likely your XDG env isn't set correctly.
Note
uwsm users don't need to explicitly set XDG environment variables, as uwsm sets them automatically.
Qt Variables
env = QT_AUTO_SCREEN_SCALE_FACTOR,1- (From the Qt documentation) enables automatic scaling, based on the monitor's pixel densityenv = QT_QPA_PLATFORM,wayland;xcb- Tell Qt applications to use the Wayland backend, and fall back to X11 if Wayland is unavailableenv = QT_WAYLAND_DISABLE_WINDOWDECORATION,1- Disables window decorations on Qt applicationsenv = QT_QPA_PLATFORMTHEME,qt5ct- Tells Qt based applications to pick your theme from qt5ct, use with Kvantum.
NVIDIA Specific
To force GBM as a backend, set the following environment variables:
env = GBM_BACKEND,nvidia-drmenv = __GLX_VENDOR_LIBRARY_NAME,nvidia
See Archwiki Wayland Page for more details on those variables.
env = LIBVA_DRIVER_NAME,nvidia- Hardware acceleration on NVIDIA GPUs
See Archwiki Hardware Acceleration Page for details and necessary values before setting this variable.
__GL_GSYNC_ALLOWED- Controls if G-Sync capable monitors should use Variable Refresh Rate (VRR)
See Nvidia Documentation for details.
-
__GL_VRR_ALLOWED- Controls if Adaptive Sync should be used. Recommended to set as "0" to avoid having problems on some games. -
env = AQ_NO_ATOMIC,1- use legacy DRM interface instead of atomic mode setting. NOT recommended.
Theming Related Variables
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 for why you might want this variable set.