При игре на видеокарте Nvidia GeForce GT630 с пассивным охлаждением температура видеочипа быстро подбиралась к критическим 90 градусам. Можно было попробовать прицепить к радиатору какую-нибудь вертушку, но куда проще было решить проблему программными средствами.
На всех более-менее современных видеокартах Nvidia есть несколько режимов работы. Их, как минимум, два: режим энергосбережения и режим максимальной производительности. Различаются они максимальными частотами видеочипа и видеопамяти (nvclock и memclock).
Утилиты Nvidia не позволяют установить произвольные частоты для видеочипа и видеопамяти. Поэтому приходится действовать хитрее: нужно заставить видеокарту всегда работать в режиме энергосбережения. Однако через утилиты Nvidia нельзя даже принудительно установить энергосберегающий режим. Но сделать это можно через файлы конфигурации Xorg - достаточно добавить в секцию "Device" 2 строчки:
После этого видеокарта начнёт работать в режиме энергосбережения. Вот только постоянные скачки частот от минимальных к максимальным ощутимо просаживают производительность даже в работе с оконным менеджером KWin. Поэтому лучше зафиксировать частоты на максимально возможных для энергосберегающего режима (здесь это 405 МГц nvclock и 810 МГц memclock). Это можно сделать уже в утилите Nvidia:
Чтобы не делать это после каждого логина вручную, достаточно поместить в автозагрузку KDE такой скрипт:
На всех более-менее современных видеокартах Nvidia есть несколько режимов работы. Их, как минимум, два: режим энергосбережения и режим максимальной производительности. Различаются они максимальными частотами видеочипа и видеопамяти (nvclock и memclock).
# nvidia-settings --query GPUPerfModesЗдесь видно, что данная видеокарта может работать на максимальных частотах в 405 МГц nvclock и 810 Мгц memclock в режиме энергосбережения, и на 901 МГц nvclock и 1600 МГц memclock в режиме максимальной производительности. Естественно, в 3D-играх видеокарта переходит в режим максимальной производительности, поднимая частоты, что и приводит к усиленному нагреву.
Attribute 'GPUPerfModes' (locus:0.0): perf=0, nvclock=135, nvclockmin=135, nvclockmax=405,
nvclockeditable=0, memclock=405, memclockmin=405, memclockmax=405, memclockeditable=0,
memTransferRate=810, memTransferRatemin=810, memTransferRatemax=810, memTransferRateeditable=0
; perf=1, nvclock=135, nvclockmin=135, nvclockmax=901, nvclockeditable=1, memclock=800,
memclockmin=800, memclockmax=800, memclockeditable=1, memTransferRate=1600,
memTransferRatemin=1600, memTransferRatemax=1600, memTransferRateeditable=1
Attribute 'GPUPerfModes' (locus:0[gpu:0]): perf=0, nvclock=135, nvclockmin=135, nvclockmax=405,
nvclockeditable=0, memclock=405, memclockmin=405, memclockmax=405, memclockeditable=0,
memTransferRate=810, memTransferRatemin=810, memTransferRatemax=810, memTransferRateeditable=0
; perf=1, nvclock=135, nvclockmin=135, nvclockmax=901, nvclockeditable=1, memclock=800,
memclockmin=800, memclockmax=800, memclockeditable=1, memTransferRate=1600,
memTransferRatemin=1600, memTransferRatemax=1600, memTransferRateeditable=1
Утилиты Nvidia не позволяют установить произвольные частоты для видеочипа и видеопамяти. Поэтому приходится действовать хитрее: нужно заставить видеокарту всегда работать в режиме энергосбережения. Однако через утилиты Nvidia нельзя даже принудительно установить энергосберегающий режим. Но сделать это можно через файлы конфигурации Xorg - достаточно добавить в секцию "Device" 2 строчки:
Option "Coolbits" "13"
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"
После этого видеокарта начнёт работать в режиме энергосбережения. Вот только постоянные скачки частот от минимальных к максимальным ощутимо просаживают производительность даже в работе с оконным менеджером KWin. Поэтому лучше зафиксировать частоты на максимально возможных для энергосберегающего режима (здесь это 405 МГц nvclock и 810 МГц memclock). Это можно сделать уже в утилите Nvidia:
Чтобы не делать это после каждого логина вручную, достаточно поместить в автозагрузку KDE такой скрипт:
#!/bin/bash
nvidia-settings --assign [gpu:0]/GPUPowerMizerMode=1
exit 0

Комментариев нет:
Отправить комментарий