nouveau/ko

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Nouveau and the translation is 57% complete.
Outdated translations are marked like this.

nouveauNVIDIA 그래픽 카드용 오픈소스 드라이버입니다.

한계

다양한 상업용 하드웨어에서 동작하는 오픈소스 프로젝트이기에, 폐쇄 소스 nvidia-drivers 수준으로 동작하지 않는 nouveau의 고유의 한계가 있습니다. 이 말은, 누보(nouveau)는 꾸준히 진화하고 있기 때문에, 이러한 한계는 오랜 시간에 걸쳐 바꿔나가야 할 부분이란 의미입니다.

Those interested in using this driver should verify support has been added for the card (and features) in question by referencing upstream's feature matrix. Upstream also keeps a list of card code names to cross reference from the feature matrix.

설치

커널

다음 커널 옵션을 활성화하십시오:

커널 nouveau 활성화
Device Drivers  --->
   Graphics support  --->
      <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
         <*> Enable legacy fbdev support for your modesetting driver
      <M/*> Nouveau (NVIDIA) cards

펌웨어

케플러 시리즈(GeForce 600 이상)부터, 일부 카드를 제대로 동작하게끔 하려면 부팅할 때 펌웨어를 불러와야 합니다. 커널에 빌드해 넣으시는게 좋습니다. systemd init 시스템을 동작하는 시스템에서는 기본입니다.

어떤 펌웨어가 필요한지 알아보려면 업스트림 코드 네임 목록을 살펴보십시오.

Firmware for nouveau cards are distributed in the sys-firmware/nvidia-firmware package. Be sure it has been installed before defining firmware in the kernel:

root #emerge --ask sys-firmware/nvidia-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.confSet VIDEO_CARDS to nouveau
VIDEO_CARDS="nouveau"

Substitute the name of the driver(s) to be used. Common choices include nouveau, nvidia, radeon, and intel. </translate> <translate> 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

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.lognvidia-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 elogind 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
user:larry:rw-

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 hardware acceleration will be disabled.

xorg.conf

X 서버는 Xorg 설정 파일을 직접 편집할 필요 없이 동작하도록 특별하게 설계했습니다. 화면 장치, 키보드, 마우스와 같은 장치를 발견하고 설정해야합니다.

그러나 X 서버의 주 설정 파일은 xorg.conf 파일입니다.

Switching between Intel GPU and Nouveau

Sometimes users may want to switch between two drivers. One way this matter is handled is through initramfs and early Kernel Mode Setting.

For example, if initramfs is built using dracut, and nouveau is meant to be used, the following adjustments must take place:

파일 /etc/dracut.conf
#add_drivers+=" i915 " # Note leading and trailing spaces
add_drivers+=" nouveau " # Note leading and trailing spaces
#force_drivers+=" i915 " # Note leading and trailing spaces
force_drivers+=" nouveau " # Note leading and trailing spaces

In kernel mode setting method using GRUB, the variable GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub can be changed to enable or disable either of GPUs by taking the right values.

For instance, to disable i915 and enable nouveau, we will add the following to GRUB_CMDLINE_LINUX_DEFAULT variable: i915.modeset=0 nouveau.modeset=1.

한계

현재 문제 일부 또는 폐쇄소스 꾸러미 x11-drivers/nvidia-drivers 와 비교한 내용은 아래와 같습니다:

  • 동일한 카드/칩셋의 성능(특히 3D 성능)이 nvidia-drivers를 활용할 때보다 상당히 안좋음.
  • 고주파(60Hz 이상)으로 동작을 시도하면 실패함.
  • 다양한 NVIDIA 카드의 고급 기능을 활용할 때(예: SLI를 비활성화한 상태에서 쿼드로 카드의 다중 디스플레이 기능) 제대로 동작하지 않음.


문제 해결

다중 모니터 문제

2중 모니터/디스플레이 활용시 EDID를 찾을 수 있음에도 불구하고 화면이 멈춘다면 /etc/default/grub 파일의 GRUB_CMDLINE_LINUX_DEFAULT 환경 변수에 video=VGA-1:e 또는 video=VGA-1:d(각각 활성화/비활성화)를 추가해보십시오. 예전 버전의 GRUB에서는 grub.cfg 파일을 직접 편집하고 명령행 옵션에 이 값을 추가하십시오. 여기서 모니터 이름 부분은 dmesg 또는 /var/log/Xorg.0.log에서 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 카드를 언제든지 제어할 수 있지만, 전력 소모가 증가(배터리 수명 감소, 온도 상승)하는 결과가 나타납니다.

추가 참조

외부 자료