add prime-toggle script

This commit is contained in:
2026-01-27 12:46:21 +01:00
parent b9ed4072f2
commit 483b0bbb8c
6 changed files with 33 additions and 7 deletions
+1
View File
@@ -3,6 +3,7 @@ include "config/monitors.kdl"
include "config/styles.kdl"
include "config/execs.kdl"
include "config/envs.kdl"
include "config/prime.kdl"
include "config/rules.kdl"
include "config/binds.kdl"
include "config/misc.kdl"
-5
View File
@@ -13,15 +13,10 @@ environment {
// Nvidia
LIBVA_DRIVER_NAME "nvidia"
__GLX_VENDOR_LIBRARY_NAME "nvidia"
NVD_BACKEND "nvidia"
GBM_BACKEND "nvidia-drm"
WLR_NO_HARDWARE_CURSORS "1"
// Nvidia Prime
__NV_PRIME_RENDER_OFFLOAD "1";
__VK_LAYER_NV_optimus "NVIDIA_only"
// Fix Swing
_JAVA_AWT_WM_NONREPARENTING "1"
+1 -1
View File
@@ -1,7 +1,7 @@
screenshot-path "~/Pictures/Screenshots/niri_screenshot_%Y-%m-%d_%H-%M-%S.png"
debug {
render-drm-device "/dev/dri/renderD128"
render-drm-device "/dev/dri/renderD129"
}
// gestures {
@@ -0,0 +1,5 @@
environment {
__NV_PRIME_RENDER_OFFLOAD "1";
__VK_LAYER_NV_optimus "NVIDIA_only"
__GLX_VENDOR_LIBRARY_NAME "nvidia"
}
+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -euo pipefail
[[ "$XDG_CURRENT_DESKTOP" != "niri" ]] && exit 1
if grep -q 'prefer_order=(nvidia intel)' "$HOME/.local/snippets/set_display"
then
sed -i 's/prefer_order=(nvidia intel)/prefer_order=(intel nvidia)/' "$HOME/.local/snippets/set_display"
echo "" > "$HOME/.config/niri/config/prime.kdl"
echo "disabled global Nvidia Prime offloading"
else
sed -i 's/prefer_order=(intel nvidia)/prefer_order=(nvidia intel)/' "$HOME/.local/snippets/set_display"
cat > "$HOME/.config/niri/config/prime.kdl" << EOF
environment {
__NV_PRIME_RENDER_OFFLOAD "1";
__VK_LAYER_NV_optimus "NVIDIA_only"
__GLX_VENDOR_LIBRARY_NAME "nvidia"
}
EOF
echo "enabled global Nvidia Prime offloading"
fi
# Restart session
niri msg action quit
+1 -1
View File
@@ -9,7 +9,7 @@
# Constants
niri_config_file="$HOME/.config/niri/config/misc.kdl"
prefer_order=(intel amd nvidia) # AMD -> Nvidia -> Intel
prefer_order=(nvidia intel)
# Get vendor and path of each GPU
default_card_path="$(find /dev/dri/card* 2>/dev/null | head -n 1)"