arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
189 lines (124 loc) • 13 kB
Markdown
[Nouveau](http://nouveau.freedesktop.org/wiki/Nouveau) - это свободный (Open Source) видеодрайвер для карт NVIDIA, разрабатываемый без поддержки самой NVIDIA и в противоположность [проприетарному драйверу](/index.php/NVIDIA "NVIDIA"). В [FAQ проекта](http://nouveau.freedesktop.org/wiki/FAQ) содержится достаточно много ценной информации, поэтому имеет смысл в том числе ознакомиться и с ним.
Прежде чем устанавливать драйвер, изучите [таблицу возможностей](http://nouveau.freedesktop.org/wiki/FeatureMatrix) драйвера Nouveau для вашего графического чипа. Его название можно определить по модели видеокарты с помощью [список кодовых имён](http://nouveau.freedesktop.org/wiki/CodeNames).
Также примите во внимание [список GPU NVIDIA](https://en.wikipedia.org/wiki/Comparison_of_Nvidia_Graphics_Processing_Units "wikipedia:Comparison of Nvidia Graphics Processing Units") в Википедии.
## Contents
* [1 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0)
* [2 Загрузка](#.D0.97.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D0.B0)
* [3 Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0)
* [4 KMS](#KMS)
* [4.1 Отложенный запуск](#.D0.9E.D1.82.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8B.D0.B9_.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA)
* [4.2 Быстрый запуск](#.D0.91.D1.8B.D1.81.D1.82.D1.80.D1.8B.D0.B9_.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA)
* [5 Альтернативная установка](#.D0.90.D0.BB.D1.8C.D1.82.D0.B5.D1.80.D0.BD.D0.B0.D1.82.D0.B8.D0.B2.D0.BD.D0.B0.D1.8F_.D1.83.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0)
* [6 3D](#3D)
* [7 DualHead](#DualHead)
* [8 Примеры исправления проблем](#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.D0.B8.D1.81.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC)
* [8.1 Виртуальное разрешение консоли не соответствует реальному](#.D0.92.D0.B8.D1.80.D1.82.D1.83.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B5_.D1.80.D0.B0.D0.B7.D1.80.D0.B5.D1.88.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BA.D0.BE.D0.BD.D1.81.D0.BE.D0.BB.D0.B8_.D0.BD.D0.B5_.D1.81.D0.BE.D0.BE.D1.82.D0.B2.D0.B5.D1.82.D1.81.D1.82.D0.B2.D1.83.D0.B5.D1.82_.D1.80.D0.B5.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.BC.D1.83)
## Установка
Перед установкой драйвера Nouveau следует удалить официальный графический драйвер NVIDIA и очистить файл `/etc/X11/xorg.conf`, созданный этим драйвером.
**Tip:** Можно сохранить официальный драйвер NVIDIA, но потребуется [настроить систему](#Keep_NVIDIA_driver_installed) на загрузку драйвера Nouveau вместо официального.
Следующие две команды заменят стек драйверов NVIDIA (модуль ядра, реализацию LibGL и GLX) свободной версией LibGL из проекта Mesa.
```
# pacman -Rdds nvidia nvidia-utils
# pacman -S --asdeps libgl
```
Затем следует установить новый драйвер DDX ([xf86-video-nouveau](https://www.archlinux.org/packages/?name=xf86-video-nouveau)) и соответствующий драйвер Mesa (для аппаратной поддержки 3D-рендеринга):
```
# pacman -S xf86-video-nouveau nouveau-dri
```
Для Arch x86_64, установите также пакет [lib32-nouveau-dri](https://www.archlinux.org/packages/?name=lib32-nouveau-dri) из репозитория [Multilib](/index.php/Multilib "Multilib").
По состоянию на [2010-02-25](http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=d5f3c90d4f3ad6b054f9855b7b69137b97bda131), nouveau автоматически генерирует прошивку для nv50\. Пакет [nouveau-firmware](https://www.archlinux.org/packages/?name=nouveau-firmware) больше не требуется для любых видеокарт с [nouveau-drm](https://www.archlinux.org/packages/?name=nouveau-drm) новее, чем 0.0.15_20100313-1.
## Загрузка
Модуль ядра nouveau должен загрузиться автоматически при старте системы.
Если это не случилось, проверьте следуещее:
* **Нет** [опций загрузки ядра](/index.php/Kernel_parameters "Kernel parameters") таких, как `nomodeset` или `vga=` .
* Нет blacklisting-а для nouveau в `/etc/modprobe.d/`.
## Настройка
Add the following to the file `/etc/X11/xorg.conf.d/20-nouveau.conf`, which is required to ensure that Nouveau loads instead of the vesa driver. This also allows you to easily switch back to other drivers.
```
Section "Device"
Identifier "nvidia"
Driver "nouveau"
#Driver "nv"
#Driver "nvidia"
EndSection
```
## KMS
Kernel Mode-Setting ([KMS](/index.php/KMS "KMS")) поддерживается драйвером nouveau. Upstream рекомендует испльзование и тестирование этого режима, так как в будущем он будет использоваться по умолчанию для всех графических чипсетов. Просмотрите страницу [KernelModeSetting](http://nouveau.freedesktop.org/wiki/KernelModeSetting) для дополнительной информации.
Начиная с [2009-12-11](http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?id=8fb5c3ada2678defb0351e8b155c564471da05a7), KMS включен по умолчанию (nouveau-drm 0.0.15_20091220-1 и выше). Вы можете отключить KMS, указав опцию nouveau.modeset=0 в строке параметров ядра, однако учтите, что начиная с [2010-01-10](http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=17485c234ff191cee3dd19e3dd693a80b024e189) (xf86-video-nouveau 0.0.15_git20100117-1 и выше) в драйвере xorg удалена поддержка работы без KMS.
### Отложенный запуск
В случае позднего старта KMS будет включен на стадии загрузки "Loading modules." Это может привести к пропаданию изображения во время установки видеорежима.
Удалите опции "vga=" и "video=" из строки параметров ядра в файле `/boot/grub/menu.lst`. Использование других драйверов фреймбуфера (таки как uvesafb) вызовет конфликт с KMS.
### Быстрый запуск
**Важно:** Если у вас появляются проблемы с драйвером nouveau или если Вы часто пересобираете пакет nouveau-drm в целях тестирования и отладки, не добавляйте модуль nouveau в initramfs. Легко забыть пересобрать initramfs при обновлении nouveau - это может усложнить тестирование. Используйте *Отложенный запуск*. Также могут возникнуть сложности с initramfs, если Вам понадобится firmware для семейства nv50.
Этото метод запускает KMS рано, насколько это возможно, когда загружается [initramfs](/index.php/Initramfs "Initramfs"). Далее описано как настроить это используя официальные пакеты:
1) Добавьте "nouveau" в массив *MODULES* в файле `/etc/mkinitcpio.conf`:
```
MODULES="**nouveau** ..."
```
2) Добавьте "/etc/modprobe.d/modprobe.conf" в секцию FILES в `/etc/mkinitcpio.conf`:
```
FILES="/etc/modprobe.d/modprobe.conf"
```
3) Пересоберите ваш образ initrd:
```
# mkinitcpio -p <*ваш профиль ядра (kernel26, etc.)*>
```
<small>Вы также можете просмотреть инструкцию для видеокарт [Intel](/index.php/Intel "Intel"): [Intel Graphics:KMS (Kernel Mode Setting)](/index.php/Intel#KMS_.28Kernel_Mode_Setting.29 "Intel")</small>
## Альтернативная установка
If the official Arch Linux packages do not work, you can try a more current video driver from the [AUR](/index.php/Arch_User_Repository_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Arch User Repository (Русский)"): [xf86-video-nouveau-git](https://aur.archlinux.org/packages/xf86-video-nouveau-git/). A more up-to-date DRM module can be built by using the [nouveau-drm](https://www.archlinux.org/packages/?name=nouveau-drm) PKGBUILD from [ABS](/index.php/Arch_Build_System_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Arch Build System (Русский)"). Simply update `_snapdate` to the current date, and modify the `sources` array to read:
```
source=(# [ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz](ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz)
[http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz](http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz)
# get the Makefile from [http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat](http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat)
Makefile)
```
You can use [kernel26-nouveau-git](https://aur.archlinux.org/packages/kernel26-nouveau-git/) to compile the nouveau project's kernel tree, which already includes the necessary modules. This is the method recommended by upstream.
## 3D
3D *не поддерживается*.
[Исходя из этого](http://www.linux.org.ru/forum/talks/8671256) и [из этого](http://nouveau.freedesktop.org/wiki/FeatureMatrix/) всё таки **3D** поддерживается **FIXME**
Это значит:
* Не спрашивайте инструкции чтобы проверить это.
* Не устанавливайте драйвер 3D в систему.
* Если Вы хотите проверить 3D ускорение или имеете проблемы с этим, делайте на свой риск, за исключением если Вы хотите сделать вклад с помощью патчев.
Ссылки: [домашняя страница Nouveau](http://nouveau.freedesktop.org/wiki/FrontPage) и [Nouveau ЧаВо](http://nouveau.freedesktop.org/wiki/FAQ#head-ae99a8e6a3f57b76ae2589d4c0d2a5fa7ebf9f5d)
## DualHead
Nouveau поддерживает расширение xrandr для установки режимов и поддержки нескольких мониторов. Смотрите страницу [RandR12](/index.php/RandR12 "RandR12") для примеров.
Пример полного файла `/etc/X11/xorg.conf` для работы с двумя мониторами. Вы можете использовать графические утилиты такие как gnome-display-properties (System -> Preferences -> Display) для настройки.
```
# the right one
Section "Monitor"
Identifier "NEC"
Option "PreferredMode" "1280x1024_60.00"
EndSection
# the left one
Section "Monitor"
Identifier "FUS"
Option "PreferredMode" "1280x1024_60.00"
Option "LeftOf" "NEC"
EndSection
Section "Device"
Identifier "nvidia card"
Driver "nouveau"
Option "Monitor-DVI-I-0" "NEC"
Option "Monitor-DVI-I-1" "FUS"
#Option "AccelMethod" "XAA"
EndSection
Section "Screen"
Identifier "screen1"
DefaultDepth 24
SubSection "Display"
Depth 24
Virtual 2560 1024
EndSubSection
Device "nvidia card"
EndSection
Section "ServerLayout"
Identifier "layout1"
Screen "screen1"
# will be replaced by gallium 3D
Option "AIGLX" "false"
EndSection
```
## Примеры исправления проблем
### Виртуальное разрешение консоли не соответствует реальному
Используйте [fbset](https://www.archlinux.org/packages/?name=fbset) чтобы отрегулировать разрешение консоли.