NVIDIA 구성 파일 전환

NVIDIA 구성 파일 전환

나는 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 
  ##
}

관련 정보