私はnivdiaカード(360m)を備えた古いラップトップを持っており、Powermizerを使用して非常に低いクロックを実行するようにしました。これが私の設定です。/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
Identifier "Device0"
Driver "nvidia"
Option "RegistryDwords" "PowerMizerLevelAC=0x3"
Option "NoLogo" "1"
EndSection
Steamで映画を見たりゲームしたりするたびに、GPUがより高いクロックで動作するようにファイルを手動で変更します。ちょっと這いますが、作業は完了です。これを行うより良い方法はありますか? (他のユーザーの別のXプロファイルと同じです)
答え1
Bash機能を使用すると、呼び出しが簡単になり、Xを簡単に再起動するために必要なものをすべて追加できます。
主な部分は、Perl内部ファイルの編集()とそれを見つけて同じテキスト()と新しい値()で見つけて置き換える正規perl -i
表現です。PowerMizerLevelAC=".*"
$1
$value
PowerMizerLevelAC=""
可能な場所が複数ある場合、正規表現はすべての場所を置き換えるため、より正確でなければなりません。
実行するset_nvidia_clock 0x1
function set_nvidia_clock() {
local file="/etc/X11/xorg.conf.d/20-nvidia.conf"
local level="$1"
[ -z "$level" ] && echo "Error: specify new level as argument: set_nvidia_clock foo" && return 1
perl -pi -e '
BEGIN{ $value=shift;}
s/"(PowerMizerLevelAC)=.*"/"${1}=${value}"/;
' "$level" "$file"
if ! grep "PowerMizerLevelAC" "$file"; then
echo "Error: problem with replace"
return 1
fi
# restart X
##
}