Skip to content

Commit

Permalink
Merge pull request #92 from vlad196/main
Browse files Browse the repository at this point in the history
Добавил описание Zink для Nouveau в nvidia-nouveau/index.md
  • Loading branch information
Ampernic authored Aug 20, 2024
2 parents 5bb6054 + 203df9e commit 0ac3fc8
Show file tree
Hide file tree
Showing 3 changed files with 558 additions and 359 deletions.
2 changes: 2 additions & 0 deletions .cspell/apps&companies.dict
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ kiten
runtu
tonfotos
ventoy
Zink
zink
47 changes: 45 additions & 2 deletions docs/graphics/nvidia/nvidia-nouveau/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,45 @@ reboot
Для видеокарт **Maxwell** потребуется обязательное [внедрение прошивки NVIDIA](#внедрение-прошивки-nvidia).
:::


### OpenGL и Zink

#### Zink по умолчанию

В настоящее время команда Mesa работает над OpenGL-драйвером Zink и в будущем рассчитывает сделать его стандартом для видеокарт **Turing и новее**. На момент лета 2024 года, в нём всё ещё активно устраняют ошибки, тем не менее, он уже сейчас [во многих случаях превосходит стандартный Nouveau OpenGL-драйвер](https://www.collabora.com/news-and-blog/news-and-events/nvk-is-now-ready-for-prime-time.html).

Стандартный Nouveau OpenGL-драйвер (NVC0) всё ещё актуальный и работает стабильно, но если хотите за счёт стабильности увеличить производительность, можете уже сейчас попробовать Zink и добавить `NOUVEAU_USE_ZINK=1` в переменные окружения.

Как один из вариантов, можно добавить строку `export NOUVEAU_USE_ZINK=1` в конец **~/.bashrc**:

```shell
mcedit ~/.bashrc
```

::: warning

Zink, как говорилось выше, нестабильный, и может ухудшить опыт работы с системой. Если наблюдаются вылеты приложений или иные проблемы, рекомендуется убрать параметр.

:::

#### Оптимизация ввода-вывода Zink

[Дополнительная оптимизация для Zink](https://www.phoronix.com/news/Mesa-24.1-Zink-ioopt-Merged), в некоторых случаях позволяющая улучшить отзывчивость. В частности, убирает лаг курсора мыши при использовании Zink.

На момент лета 2024 года она всё ещё не внедрена в систему по умолчанию, т.к. ждёт изменения CTS тестов, тем не менее её можно запустить, добавив в переменные окружения `ZINK_DEBUG=ioopt`.

Как один из вариантов, можно добавить строку `export ZINK_DEBUG=ioopt` в конец **~/.bashrc**:

```shell
mcedit ~/.bashrc
```

::: info

Параметр работает только в связке с [Zink](#оптимизация-ввода-вывода-zink).

:::

## Внедрение прошивки 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`
Expand Down Expand Up @@ -152,7 +191,7 @@ cp -d nv* vuc-* /lib/firmware/nouveau/

Nouveau — драйвер с открытым исходным кодом для графических процессоров NVIDIA, развивается посредством реверс-инжиниринга. До архитектуры Turing, в управлении питанием возникали проблемы, о чём можно посмотреть на странице [Power Management](https://nouveau.freedesktop.org/PowerManagement.html).

Начиная с архитектуры Turing, видеокарты получили полную поддержку управления питанием благодаря GSP-прошивкам от NVIDIA. Видеокарты на базе архитектур Ampere и Ada Lovelace имеют эту поддержку по умолчанию. Для видеокарт на базе архитектуры Turing **необходимо указать специальный параметр ядра**.
Начиная с архитектуры **Turing**, видеокарты получили полную поддержку управления питанием благодаря GSP-прошивкам от NVIDIA. Видеокарты на базе архитектур Ampere и Ada Lovelace имеют эту поддержку по умолчанию. Для видеокарт на базе архитектуры Turing **необходимо указать специальный параметр ядра**.

Для того, чтобы на видеокартах Turing заработало управление питанием, можно прописать в параметр `GRUB_CMDLINE_LINUX_DEFAULT` значение `nouveau.config=NvGspRm=1` и сгенерировать новый `grub.cfg`, либо прописать в файле /etc/modprobe.conf.:

Expand All @@ -166,7 +205,7 @@ make-initrd

### Управление частотами через Reclocking (для GM10x Maxwell, Kepler и Tesla G94-GT218)

Видеочипы до архитектуры Turing не имеют поддержку управления питания на Nouveau, из-за чего остаются в режиме пониженного энергопотребления и пониженными частотами. Но на Maxwell, код которых начинается с GM10x, Kepler и Tesla G94-GT218 есть возможность менять частоты GPU и видеопамяти через уже заготовленные пресеты частот GPU и видеопамяти.
Видеочипы до архитектуры Turing не имеют поддержку управления питания на Nouveau, из-за чего остаются в режиме пониженного энергопотребления и пониженными частотами. Но на **Maxwell, код которых начинается с GM10x**, **Kepler** и **Tesla G94-GT218** есть возможность менять частоты GPU и видеопамяти через уже заготовленные пресеты частот GPU и видеопамяти.

- Проверьте доступные состояния питания:

Expand Down Expand Up @@ -360,3 +399,7 @@ https://wiki.archlinux.org/title/Nouveau
https://wiki.gentoo.org/wiki/Nouveau

https://web.archive.org/web/20141031191559/https://kalgan.cc/blog/posts/Controlling_nVidia_cards_fans_with_nouveau_in_Debian/

https://www.collabora.com/

https://www.phoronix.com/
Loading

0 comments on commit 0ac3fc8

Please sign in to comment.