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/styles.kdl"
include "config/execs.kdl" include "config/execs.kdl"
include "config/envs.kdl" include "config/envs.kdl"
include "config/prime.kdl"
include "config/rules.kdl" include "config/rules.kdl"
include "config/binds.kdl" include "config/binds.kdl"
include "config/misc.kdl" include "config/misc.kdl"
-5
View File
@@ -13,15 +13,10 @@ environment {
// Nvidia // Nvidia
LIBVA_DRIVER_NAME "nvidia" LIBVA_DRIVER_NAME "nvidia"
__GLX_VENDOR_LIBRARY_NAME "nvidia"
NVD_BACKEND "nvidia" NVD_BACKEND "nvidia"
GBM_BACKEND "nvidia-drm" GBM_BACKEND "nvidia-drm"
WLR_NO_HARDWARE_CURSORS "1" WLR_NO_HARDWARE_CURSORS "1"
// Nvidia Prime
__NV_PRIME_RENDER_OFFLOAD "1";
__VK_LAYER_NV_optimus "NVIDIA_only"
// Fix Swing // Fix Swing
_JAVA_AWT_WM_NONREPARENTING "1" _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" screenshot-path "~/Pictures/Screenshots/niri_screenshot_%Y-%m-%d_%H-%M-%S.png"
debug { debug {
render-drm-device "/dev/dri/renderD128" render-drm-device "/dev/dri/renderD129"
} }
// gestures { // 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 # Constants
niri_config_file="$HOME/.config/niri/config/misc.kdl" 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 # Get vendor and path of each GPU
default_card_path="$(find /dev/dri/card* 2>/dev/null | head -n 1)" default_card_path="$(find /dev/dri/card* 2>/dev/null | head -n 1)"