Nvidia Driver 설치하기
Nvidia 는 AMD 와 함께 그래픽 카드 시장을 양분하고 있는 회사 입니다. 어느쪽이 더 좋은지는 각 회사에 새로운 제품이 출시될때마다 달라질만큼 우열을 가리기 힘듭니다.
Nvidia 와 AMD 는 리눅스를 위한 드라이버도 만들어서 배포하는데 CentOS 7 에서 Nvidia Driver 를 설치하는 방법에 대한 것입니다. 사실 AMD HD2600 을 썼었는데 AMD 에서 더 이상 드라이버를 업데이트를 해주지 않아 그래픽 가속을 쓸수 없었는데, 몇일전에 Nvidia Geforce GTS 450 이 손에 들어와서 설치하는 과정을 정리한 글이기도 합니다.
1. Requirement
Nvidia Driver 를 설치하기 위해서는 컴파일을 위한 의존성 패키지가 설치되어 있어야 합니다. 의존성 패키지는 다음과 같이 설치하시면 됩니다.
1 |
yum install kernel-devel kernel-headers gcc make |
또, Nvidia 를 비롯한 그래픽 카드 드라이버는 커널에 의존적이기 때문에 커널이 바뀌면 재컴파일 설치를 해줘야 합니다. 따라서 이왕설치하는거면 최신 커널에 설치를 하는게 좋을 것입니다. 다음과 같이 커널을 업그레이드 해주고 시스템을 리붓해줍니다.
1 2 |
yum update kernel kernel-devel reboot |
2. Nouveau driver 제거
CentOS 7 에도 Nvidia Driver 가 설치되어 있습니다. 오픈소스 드라이버인데, 여기에는 Nouveau 가 활성화되는 모듈이 포함됩니다. Nvidia Driver 는 이 Nouveau 모듈과 충돌이 나서 설치하는데 지장이 생깁니다.
이는 다음과 같이 확인이 가능 합니다.
1 2 3 4 5 6 7 8 9 10 |
]# lsmod | grep nouv nouveau 974305 1 mxm_wmi 13021 1 nouveau wmi 19070 2 mxm_wmi,nouveau video 19267 1 nouveau i2c_algo_bit 13413 1 nouveau ttm 83948 1 nouveau drm_kms_helper 52758 1 nouveau drm 297829 3 ttm,drm_kms_helper,nouveau i2c_core 40325 5 drm,i2c_piix4,drm_kms_helper,i2c_algo_bit,nouveau |
부팅할때에 nouveau 를 메모리에 올리못하게 하면 이 문제는 해결 됩니다. 다음과 같이 blacklist 에 적어줍니다.
1 2 |
]# vim /etc/modprobe.d/nvidia-disable-nouveau.conf blacklist nouveau |
위와같이 파일을 작성하고 저장한 후에 시스템을 리붓해 줍니다.
3. 설치
Nvidia Driver 를 Nvidia 홈페이지에서 다운받습니다. 그리고 CentOS 7 을 그래픽 모드가 아니 터미널 모드로 전환해주고 다운받은 파일을 실행해 줍니다.
1 2 3 4 |
# init 3 으로 전환 init 3 # 다운로드한 Nvidia Driver 설치 실행 bash NVIDIA-Linux-x86_64-340.58.run |
4. 마치며
nouveau 비활성화는데에는 grub 을 이용할 수도 있습니다. 부팅할때에 grub 에 옵션으로 주면 비활성화를 할 수 있는데, CentOS 7 에선 grub2 를 사용하고 grub2 에서는 공통부분을 /etc/default/grub 에 “rdblacklist=nouveau” 를 추가해줍니다.
1 2 3 4 5 6 7 |
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="ipv6.disable=1 vconsole.font=latarcyrheb-sun16 vconsole.keymap=ko crashkernel=auto rhgb quiet rdblacklist=nouveau" GRUB_DISABLE_RECOVERY="true" |
“GRUB_CMDLINE_LINUX” 에 추가해줍니다.
그리고 grub2 를 갱신해줍니다.
1 |
grub2-mkconfig -o /boot/grub2/grub.cfg |
이렇게하면 blacklist 파일을 작성하지 않고도 nouveau 모듈을 부팅때마다 비활성화 할 수 있습니다.