nvidia-composition-pipeline
#343
- Author
- winny
- Created
- March 21, 2021, 8:52 a.m.
- Expires
- Never
- Size
- 1015 bytes
- Hits
- 351
- Syntax
- Bash
- Private
- ✗ No
#!/usr/bin/env bash
set -eu
enable_cp() {
sh -c "nvidia-settings --assign CurrentMetaMode=\"$(nvidia-settings -t -q CurrentMetaMode |tr -d "\n"|sed 's/ViewPortIn=/ForceFullCompositionPipeline=On, ViewPortIn=/g'|sed 's/.*:://'|sed 's/^ *//;s/ *$//')\"" > /dev/null
echo 'Enabled composition pipeline'
}
disable_cp() {
sh -c "nvidia-settings --assign CurrentMetaMode=\"$(nvidia-settings -t -q CurrentMetaMode |tr -d "\n"|sed 's/.*:://'|sed 's/^ *//;s/ *$//'|sed "s/CompositionPipeline=On/CompositionPipeline=Off/g")\"" > /dev/null
echo 'Disabled composition pipeline'
}
toggle_cp() {
if nvidia-settings -t -q CurrentMetaMode|grep -Fq 'ForceCompositionPipeline=On' > /dev/null; then
enable_cp
else
disable_cp
fi
}
usage() {
printf 'Usage: %s <enable|disable>\n' "$(basename "$0")"
exit 1
}
if [[ $# -ne 1 ]]; then
usage
elif [[ $1 = "enable" ]]; then
enable_cp
elif [[ $1 = "disable" ]]; then
disable_cp
else
usage
fi