This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
nouveau/ko
nouveau는 NVIDIA 그래픽 카드용 오픈소스 드라이버입니다.
한계
상업용 하드웨어에서 동작하는 오픈소스 프로젝트가 되는데 있어 폐쇄 소스 nvidia-drivers에서 동작하지 않는 nouveau의 고유의 한계가 있습니다. 결국 이 말은, nouveau는 여전히 진화하고 있기 때문에, 이러한 한계는 오랜 시간에 걸쳐 바꿔나가야 할 부분이란 의미입니다.
설치
커널
다음 커널 옵션을 활성화하십시오:
Device Drivers ---> Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> <*> Enable legacy fbdev support for your modesetting driver <*> Nouveau (NVIDIA) cards
Firmware
Some cards, beginning with the Kepler cards, need firmware. Support can be obtained by installing sys-kernel/linux-firmware and configuring nouveau to be a module (M) in the kernel.
root #
emerge --ask sys-kernel/linux-firmware
드라이버
Portage uses the USE_EXPAND variable called VIDEO_CARDS to enable support for various graphics cards in packages. Setting VIDEO_CARDS to appropriate value(s) will pull in the correct driver(s):
/etc/portage/make.conf
Set VIDEO_CARDS to nouveauVIDEO_CARDS="nouveau"
Substitute the name of the driver(s) to be used. Common choices include nouveau
, nvidia
, radeon
, and intel
.
After setting or altering VIDEO_CARDS values remember to update the system using the following command so the changes take effect:
root #
emerge --ask --changed-use --deep @world
Udev
NVIDIA의 상업용 드라이버를 설치했다면 /lib/udev/rules.d/99-nvidia.rules 파일로 udev 규칙 파일을 설치합니다. 이 규칙 파일을 비활성화하지 않고 nouveau 드라이버를 사용하려면 X11 로그 파일에 다음과 같은 메시지를 매 10밀리초마다 채웁니다:
/var/log/Xorg.0.log
nvidia-drivers에 해당하는 오래된 udev 규칙 처리 결과[ 180.669] (II) NOUVEAU(0): EDID vendor "SAM", prod id 430 [ 180.669] (II) NOUVEAU(0): Using hsync ranges from config file [ 180.669] (II) NOUVEAU(0): Using vrefresh ranges from config file [ 180.669] (II) NOUVEAU(0): Printing DDC gathered Modelines: [ 180.669] (II) NOUVEAU(0): Modeline "1600x1200"x0.0 162.00 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (75.0 kHz eP) [ 180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e) [ 180.669] (II) NOUVEAU(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e) [...] [ 180.669] (II) NOUVEAU(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz e) [ 180.669] (II) NOUVEAU(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz e) [ 180.669] (II) NOUVEAU(0): Modeline "1280x960"x0.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e) [ 180.669] removing GPU device /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card2 /dev/dri/card2
(x11-drivers/nvidia-drivers 꾸러미를 설치 제거하지 않고) 이런 현상을 막으려면, 간단하게 /lib/udev/rules.d/99-nvidia.rules udev 파일을 제거/이동/이름 바꾸기하여 udev(udev 고급 설정 참고)에서 더 이상 처리하지 않게 하십시오. 참고로, 다음에 nvidia-driver를 업데이트하면, 해당 파일을 다시 설치하므로 nvidia-driver의 언머징을 고려하십시오.
설정
권한
If the acl
USE flag is enabled globally and ConsoleKit is being used (default for desktop profiles) permissions to video cards will be handled automatically. It is possible to check the permissions using getfacl:
user $
getfacl /dev/dri/card0 | grep larry
A broader solution is to add the user(s) needing access the video card to the video group:
root #
gpasswd -a larry video
Note that users will be able to run X without permission to the DRI subsystem, but acceleration will be disabled.
xorg.conf
X 서버는 Xorg 설정 파일을 직접 편집할 필요 없이 동작하도록 특별하게 설계했습니다. 화면 장치, 키보드, 마우스와 같은 장치를 발견하고 설정해야합니다.
그러나 X 서버의 주 설정 파일은 xorg.conf 파일입니다.
한계
현재 문제 일부 또는 폐쇄소스 꾸러미 x11-drivers/nvidia-drivers 와 비교한 내용은 아래와 같습니다:
- 동일한 카드/칩셋의 성능(특히 3D 성능)이 nvidia-drivers를 활용할 때보다 상당히 안좋음.
- 고주파(60Hz 이상)으로 동작을 시도하면 실패함.
- 다양한 NVIDIA 카드의 고급 기능을 활용할 때(예: SLI를 비활성화한 상태에서 쿼드로 카드의 다중 디스플레이 기능) 제대로 동작하지 않음.
문제 해결
다중 모니터 문제
When the screen freezes often with possible EDID probes while using dual monitors/displays, try adding video=VGA-1:e
or video=VGA-1:d
(enable or disable respectively) to the GRUB_CMDLINE_LINUX_DEFAULT variable in the /etc/default/grub file. With grub-legacy, edit the grub.cfg file directly and add it as command line options. In either case, make sure to substitute the name of the monitor listed within dmesg or /var/log/Xorg.0.log (ie. CRT-1, VGA-1, LVDS-1, DVI-1, ...)
예를 들어 델 인스파이언 8100 랩톱에서 랩톱 외부 VGA 포트로 외장 디스플레이 장치를 연결했을 경우, 명령행에 video=LVDS-1:1280x1024@60 video=VGA-1:1280x1024@60
와 같이 입력할 수 있습니다. 작성자가 확인한 바로는 외장 VGA에 연결한 디스플레이의 EDID(DRM) 검증은 nouveau/drm 로딩시 여전히 멈추지만, 최소한 grub을 로딩한 다음 nouveau/drm 모듈을 불러오기 전에 연결하면 쓸 수 있습니다. 그리고 앞서 명령행의 LVDS/VGA 해상도에 대해 언급한 대로, 복제 디스플레이에 대해 올바른 해상도를 설정하면 화면을 복제하고 가운데로 배치합니다.
NVIDIA 옵티머스
NVIDIA 옵티머스 기술을 적용한 랩톱을 사용할 때(보통 2010년도 이후 제조한 랩톱), 활성화했을 때 설명할 수 없는 여러가지 문제를 야기하는 별도의 그래픽 카드(NVIDIA)로 영상 신호를 전달하기 전, 통합 그래픽 컨트롤러(보통 인텔)로 먼저 전달합니다. 처리할 수 있는 여러가지 방식이 있지만, 가장 간단한 방법은 BIOS에서 옵티머스를 비활성화(보통 부팅할 때 F12 키를 눌러 진입)하는 방식입니다. 이 방식대로라면 NVIDIA 카드를 언제든지 제어할 수 있지만, 전력 소모가 증가(배터리 수명 감소, 온도 상승)하는 결과가 나타납니다.
추가 참조
- nVidia/nvidia-drivers - NVIDIA 그래픽 카드용 폐쇠 소스 바이너리 드라이버
- nouveau & nvidia-drivers switching
- Hprofile#VGA - 그래픽 카드간 실시간 전환 지원