diff --git a/docs/graphics/nvidia/nvidia-nouveau/index.md b/docs/graphics/nvidia/nvidia-nouveau/index.md index 9d430d3..301c43c 100644 --- a/docs/graphics/nvidia/nvidia-nouveau/index.md +++ b/docs/graphics/nvidia/nvidia-nouveau/index.md @@ -98,22 +98,9 @@ reboot ``` ::: danger -Для видеокарт Kepler и Maxwell потребуется обязательное [внедрение прошивки NVIDIA](#внедрение-прошивки-nvidia). +Для видеокарт **Maxwell** потребуется обязательное [внедрение прошивки NVIDIA](#внедрение-прошивки-nvidia). ::: -## Управление питанием (Turing и новее) - -Nouveau — драйвер с открытым исходным кодом для графических процессоров NVIDIA, развивается посредством реверс-инжиниринга. До архитектуры Turing, в управлении питанием возникали проблемы, о чём можно посмотреть на странице [Power Management](https://nouveau.freedesktop.org/PowerManagement.html). - -Начиная с архитектуры Turing, видеокарты получили полную поддержку управления питанием благодаря GSP-прошивкам от NVIDIA. Видеокарты на базе архитектур Ampere и Ada Lovelace имеют эту поддержку по умолчанию. Для видеокарт на базе архитектуры Turing **необходимо указать специальный параметр ядра**. - -Для того, чтобы на видеокартах Turing заработало управление питанием, необходимо прописать в параметр `GRUB_CMDLINE_LINUX_DEFAULT` значение `nouveau.config=NvGspRm=1` и сгенерировать новый `grub.cfg`: - -```shell -su - -mcedit /etc/sysconfig/grub2 -grub-mkconfig -o /boot/grub/grub.cfg -``` ## Внедрение прошивки NVIDIA Большинство видеочипов NVIDIA имеют встроенный аппаратный декодер, и некоторые видеочипы для его работы отдельно требуют извлечённую из драйвера прошивку NVIDIA. Прошивка NVIDIA требуется для видеокарт с аппаратным декодером: VP1, VP2, VP3, VP4.0, VP4.2, VP5 или VP6+. Список видеокарт с данными декодерами можно посмотреть на странице [Video Acceleration](https://nouveau.freedesktop.org/VideoAcceleration.html) в блоке `Which card has what engine` @@ -123,7 +110,7 @@ grub-mkconfig -o /boot/grub/grub.cfg ::: ::: danger -Видеочипы Kepler и Maxwell для их нормальной загрузки обязательно требуют внедрение прошивки. Если при первой установке или запуске системы на устройствах с видеочипом одной из этих архитектур наблюдаются проблемы, можно временно перейти на [другой видеорежим](/graphics/nvidia/nvidia-drivers/#черныи-экран-при-выборе-сессии-x11-или-ошибка-в-инициализации-cuda) +Видеочипы Maxwell для их нормальной загрузки обязательно требуют внедрение прошивки. Если при первой установке или запуске системы на устройстве с видеочипом одной из этих архитектур наблюдаются проблемы, можно временно перейти на [другой видеорежим](/graphics/nvidia/nvidia-drivers/#черныи-экран-при-выборе-сессии-x11-или-ошибка-в-инициализации-cuda) ::: - Установка прошивки: @@ -161,9 +148,25 @@ cp -d nv* vuc-* /lib/firmware/nouveau/ ::: -### Reclocking (от Celsius до Fermi) +## Управление питанием (Turing и новее) + +Nouveau — драйвер с открытым исходным кодом для графических процессоров NVIDIA, развивается посредством реверс-инжиниринга. До архитектуры Turing, в управлении питанием возникали проблемы, о чём можно посмотреть на странице [Power Management](https://nouveau.freedesktop.org/PowerManagement.html). + +Начиная с архитектуры Turing, видеокарты получили полную поддержку управления питанием благодаря GSP-прошивкам от NVIDIA. Видеокарты на базе архитектур Ampere и Ada Lovelace имеют эту поддержку по умолчанию. Для видеокарт на базе архитектуры Turing **необходимо указать специальный параметр ядра**. -Видеочипы до архитектуры Turing не имеют поддержку управления питания на Nouveau, из-за чего остаются в режиме пониженного энергопотребления и пониженными частотами. Но на некоторых архитектурах есть возможность менять частоты GPU и видеопамяти через уже заготовленные пресеты состояния питания. Видеочипы от Celsius до Tesla имеют возможность изменять частоты видеопамяти, а видеокарты от Rankine до Fermi имеют возможность изменять частоты GPU. Все, кто входят и в 1-ый и 2-ой диапазоны имеют управление частот и GPU, и видеопамяти, что будет отображено в описании пресетов. +Для того, чтобы на видеокартах Turing заработало управление питанием, можно прописать в параметр `GRUB_CMDLINE_LINUX_DEFAULT` значение `nouveau.config=NvGspRm=1` и сгенерировать новый `grub.cfg`, либо прописать в файле /etc/modprobe.conf.: + +```shell +su - +cat << _EOF_ > /etc/modprobe.d/nouveau_power_management.conf +options nouveau config=NvGspRm=1 +_EOF_ +make-initrd +``` + +### Управление частотами через Reclocking (для GM10x Maxwell, Kepler и Tesla G94-GT218) + +Видеочипы до архитектуры Turing не имеют поддержку управления питания на Nouveau, из-за чего остаются в режиме пониженного энергопотребления и пониженными частотами. Но на Maxwell, код которых начинается с GM10x, Kepler и Tesla G94-GT218 есть возможность менять частоты GPU и видеопамяти через уже заготовленные пресеты частот GPU и видеопамяти. - Проверьте доступные состояния питания: @@ -191,7 +194,7 @@ echo pstate > /sys/kernel/debug/dri/0/pstate Если всё работает стабильно и нет проблем, можно записать пресет в параметры ядра. Обратите внимание, что в выводе у нас было значение в шестнадцатеричном формате, для добавления в параметры ядра, значение необходимо перевести в десятеричный формат (для этого можно использовать любой конвертер из десятичной системы счисления в шестнадцатеричную). -В примере будет указано значение 0f, которое перевели в десятеричный формат (15) +В примере будет указано значение **0f**, которое перевели в десятеричный формат (**15**) | Параметр | Описание | | ------------------------------- | --------------------------------------------------------------------------------------------------- | @@ -199,12 +202,17 @@ echo pstate > /sys/kernel/debug/dri/0/pstate | `nouveau.config=NvClkModeAC=15` | На этапе загрузки устанавливает необходимое состояние питания, если устройство работает от сети. | | `nouveau.config=NvClkModeDC=15` | На этапе загрузки устанавливает необходимое состояние питания, если устройство работает от батареи. | -Необходимо прописать в параметр `GRUB_CMDLINE_LINUX_DEFAULT` один или несколько значений и сгенерировать новых `grub.cfg`: +Можно прописать в параметр `GRUB_CMDLINE_LINUX_DEFAULT` и сгенерировать новых `grub.cfg`, либо прописать в файле /etc/modprobe.conf. +Пример записи в /etc/modprobe.conf: ```shell su - -mcedit /etc/sysconfig/grub2 -grub-mkconfig -o /boot/grub/grub.cfg +cat << _EOF_ > /etc/modprobe.d/nouveau_recloking.conf +options nouveau config=NvClkMode=15 +options nouveau config=NvClkModeAC=15 +options nouveau config=NvClkModeDC=15 +_EOF_ +make-initrd ``` ::: danger @@ -213,6 +221,31 @@ grub-mkconfig -o /boot/grub/grub.cfg Некоторые состояния могут перегреть устройство и навредить. Делая это, пожалуйста, следите за состоянием видеочипа. ::: +### Управление частотами через NVBoost (для Fermi, Kepler, Maxwell, Pascal и Volta): + +Для **Fermi**, **Kepler**, **Maxwell**, **Pascal** и **Volta** существует способ управления частотами через 3 режима: + +| Режим | Описание | +| ----- | ---------------------------------------| +| `0` | Базовые тактовые частоты (по умолчанию)| +| `1` | Тактовые частоты в режиме `Boost` | +| `2` | Максимальные тактовые частоты | + +Управление происходит через параметр `config.NvBoost`. + +Например, установка тактовых частот в режиме boost будет `config.NvBoost=1` + +Можно прописать это в параметр `GRUB_CMDLINE_LINUX_DEFAULT` и сгенерировать новый `grub.cfg`, либо прописать в файле /etc/modprobe.conf. + +Пример записи в /etc/modprobe.conf: +```shell +su - +cat << _EOF_ > /etc/modprobe.d/nouveau_nvboost.conf +options nouveau config=NvBoost=1 +_EOF_ +make-initrd +``` + ### Управление скоростью вентиляторов (от Rankine до Maxwell) Видеочипы от Rankine до Maxwell имеют поддержку управления вентиляторами. @@ -306,7 +339,6 @@ _EOF_ | `modeset` | Должен ли быть включён драйвер. `0` для отключённого, `1` для включённого, `2` для "безголового?" | | `config.NvAGP` | Режим `agp` (`0` для отключения, `1` для включения | | `config.NvBios` | Указать источник `VBIOS`, как один из OpenFirmware / PRAMIN / PROM / ACPI / PCIROM / PLATFORM или имя файла, переданное в `request_firmware` | -| `config.NvBoost` | Указать режим `Boost` для Fermi и новее. (`0` — базовые тактовые частоты (по умолчанию), `1` — тактовые частоты в режиме `Boost`, `2` — максимальные тактовые частоты) | | `config.NvFanPWM` | Включить использование ШИМ для вентилятора, автоматическое определение по умолчанию | | `config.NvForcePost` | Нужно ли принудительно выполнять POST устройства, по умолчанию отключено | | `config.NvMemExec` | Принудительное включение/отключение выполнения сценария синхронизации памяти. |