Как настроить в Linux яркость, гамму (а так же разогнать проприетарный драйвер Nvidia)
Для различных видеокарт и мониторов можно менять яркость и гамму командами xgamma… или xrandr…
С проприетарным драйвером Nvidia для линукса в комплекте идёт графическая утилита
nvidia-settings. В ней так же можно менять всякие настройки видеокарты: яркость, гамму, разгон, разрешение и прочие.
Многие настройки сохраняются в
~/.nvidia-settings-rc
Их можно и прямо в этом файле править.
(И там же названия параметров можно подсмотреть.)
Но неудобно каждый раз лазить в графическую утилиту для изменения яркости (или разгона, например).
Раньше я обходился без регулирования яркости. Вместо этого менял гамму, повесив на горячие клавиши команды типа:
xgamma -gamma 0.8
xgamma -gamma 1.0
xgamma -rgamma 0.9 -ggamma 1.1 -bgamma 1.0
(xgamma — это программка из пакета x11-xserver-utils)
Теперь стал пользоваться также регулировкой яркости и гаммы через xrandr.
Примеры:
xrandr --output VGA1 --brightness 0.5
xrandr —output VGA1 —gamma 0.9:0.9:0.9
xrandr —output VGA1 —brightness 1.1 —gamma 0.6:0.6:0.6
Посмотреть – какой выход рабочий, можно командой
xrandr -q | grep connected
Если монитор один, выход можно не определять предварительно, а использовать команду типа:
xrandr --output $(xrandr | grep ' connected'|cut -f1 -d ' ') --brightness 0.9 --gamma 0.8:0.7:0.9
А на ноутбуках современные линуксы, обычно, без проблем подхватывают регулировку яркости кнопками (Fn+яркость бльше-меньше).
Для видеокарт nvidia (если установлен проприетарный драйвер) дополнительные возможности настройки предоставляет nvidia-settings
Чтобы в nvidia-settings появилась возможность разгонять-тормозить видеокарту (и её вентилятор), надо в файл ‘/etc/X11/xorg.conf’, в Section «Device», добавить строку:
Option «Coolbits» «5»
И перезагрузиться.
Для разгона видеокарты в игрухах (или замедления — экономии энергии:-) запускать nvidia-settings в графическом режиме не обязательно — nvidia-settings работает и через командную строку.
Например, у меня команды для разгона и торможения выглядят так:
nvidia-settings -a [gpu:0]/SyncToVBlank=0 -a [gpu:0]/GPUOverclockingState=1 -a [gpu:0]/GPU2DClockFreqs="250,400" -a [gpu:0]/GPU3DClockFreqs="650,1000"
nvidia-settings -a [gpu:0]/SyncToVBlank=0 -a [gpu:0]/GPUOverclockingState=1 -a [gpu:0]/GPU2DClockFreqs="250,400" -a [gpu:0]/GPU3DClockFreqs="250,400"
Циферьки здесь — частота ядра видеокарты и частота графической памяти.
Проверять удобно, запустив из эмулятора терминала тест glxgears.
Правда, если в nvidia-settings включена вертикальная синхронизация, glxgears покажет вместо кучи fps’ов всего лишь частоту монитора. Но если SyncToVBlank=0, то число fps’ов будет пропорционально разгону (торможению).
Только с разгоном поаккуратнее — не спалите видеокарту! (-:
(Обычно до такого не доходит конечно — глючить и виснуть комп начнёт ещё при менее крутых частотах:-)
Оказалось, что яркость, гамма, и прочее, тоже успешно задаются через параметры nvidia-settings в командной строке (без запуска графической приблуды).
Только в команде надо указать не графическое ядро [gpu:0], а выход видеокарты — через который изображение идёт на монитор.
Его название можно узнать, например, с помощью команды
xrandr -q | grep connected
У меня результат:
DVI-I-0 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
DVI-I-1 disconnected (normal left inverted right x axis y axis)
. . . . .
Значит нужный видеовыход: DVI-I-0
Теперь можно команды писать.
Эта снизит яркость на 10%
nvidia-settings -a [DVI-I-0]/Brightness=-0.10
Эта установит гамму в 0.8
nvidia-settings -a [DVI-I-0]/Gamma=0.8
Тонкость в том, что следующая команда отменяет предыдущую: гамма станет 0.8, но яркость сбросится на стандартную (из файла ~/.nvidia-settings-rc).
Чтобы менять не по одному параметру, а по несколько, можно вписать их в отдельные конфигурационные файлы, по типу .nvidia-settings-rc. И указывать их, как параметры nvidia-settings
(См. nvidia-settings —help или man nvidia-settings)
Но если изменяемых параметров немного, проще их указать в одной команде:
nvidia-settings -a [DVI-I-0]/Brightness=-0.10 -a [DVI-I-0]/Gamma=0.8
Так можно, например, цвета регулировать отдельно:
nvidia-settings -a [DVI-I-0]/RedGamma=0.9 -a [DVI-I-0]/BlueGamma=1.0 -a [DVI-I-0]/GreenGamma=0.8
(или RedBrightness, BlueBrightness, GreenBrightness).
Ещё можно менять Contrast, DigitalVibrance, и прочее…
Я подобрал наиболее приемлемые сочетания параметров для чтения, просмотра фотографий, фильмов, для дня, вечера. И команды повесил на горячие клавиши. В итоге, получил на стационарном компьютере примерно такую же регулировку яркости, как на ноутбуках. И даже лучше:-)