Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

Memo

Nvidia 그래픽카드 설치 본문

Linux

Nvidia 그래픽카드 설치

z390 2018. 12. 28. 12:32

2021년 update

Centos에서 그래픽카드를 설치 이후, centos 업데이트를 하면 그래픽카드에 문제(부팅시 멈춤)가 있다는 보고가 많고, 저도 경험함.  다시 그래픽카드 설치 필요.

#echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf

#dracut /boot/initramfs-$(uname -r).img $(uname -r) –-force

#vi /etc/default/grub

위와같이 6번째 라인끝에 rd.driver.blacklist=nouveau 추가 후 저장

 

D. Grub config 갱신

#grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

 

E. gdm 서비스 해제

#systemctl disable gdm

 

F. 재부팅 후 nouveau 드라이버 올라오는지 확인

#reboot

(재부팅 후)

#lsmod | grep nouveau

 

 

A. 링크 (https://www.nvidia.co.kr/Download/index.aspx?lang=kr)

 

B. 다운받은 NVIDIA-Linux-x86_64-xxx.yy.run 파일 실행

#./ NVIDIA-Linux-x86_64-xxx.yy.run

실행 안되면 권한 확인 후 실행권한 부여

#chmod +x NVIDIA-Linux-x86_64-xxx.yy.run

 

C. 안내에 따라 진행

 

 

3. gdm 서비스 활성 및 재부팅

#systemctl enable gdm

#reboot

 

 

본 내용은 "sunyzero"님의 글을 옮겨둔것입니다.  

http://sunyzero.tistory.com/218

 

1. C컴파일러, kernel 패키지 설치

기본으로 C compiler와 make 같은 개발 툴이 설치되어있어야 nvidia 드라이버를 설치할 수 있다. 이미 설치되어있는 경우라면 그냥 넘어가면 되고, 없다면 다음 명령어로 설치해야 한다. 잘 모르겠다면 그냥 한 번 명령을 내려보면 된다. 이미 설치되어 있다면 패키지 관리자는 알아서 스킵한다. (# 는 root 유저의 프롬프트 표시이므로 실제로 입력하는 부분은 아니다.) 

 

1.1 레드햇 계열인 경우 : CentOS, RHEL, Fedora

아래의 명령어를 실행해서 컴파일에 필요한 패키지를 설치한다.

 

# yum -y install gcc gcc-c++ make binutils libtool autoconf automake patch pkgconfig redhat-rpm-config gettext

 

그 다음에 kernel의 헤더, 개발용 헤더 및 스크립트 패키지를 설치해야 한다. 패키지 이름은 kernel-headers , kernel-devel 이다. 주의할 점은 자신이 사용하는 커널의 버전과 동일해야 한다는 것이다. 그래서 커널 버전을 불러오는 uname -r 명령을 같이 사용한다.

 

# yum -y install kernel-devel-$(uname -r)  kernel-headers-$(uname -r)  dkms

 

 

1.2 데비안 계열인 경우 : Debian, Ubuntu, Mint ...

데비안 계열이라면 apt 나 apt-get 혹은 aptitude를 사용한다. 아래는 데비안 계열 명령어이다. 참고로 우분투는 앞에 sudo를 붙여야 한다. (아래 apt 부분에 apt-get 혹은 aptitude를 사용해도 된다. apt나 aptitude가 설치되어있지 않다면 apt-get을 사용하라.)

 

# apt -y install gcc make linux-headers-$(uname -r)

 

 

 

2. nvidia driver download

이제 www.nvidia.com 에 접속한 뒤에 linux 드라이버를 받는다. 주의할 점은 32bit, 64bit인지 헷갈리면 안된다. 아래 그림은 64bit 버전을 다운로드 받는 모습이다. 다운로드 받은 파일은 *.run 확장자명을 가지고 있다.

 

nvidia site

nvidia site

 

 

 

3. nouveau 비활성화

nouveau는 리눅스에 기본으로 탑재된 그래픽 드라이버인데, 이게 로딩되어있으면 nvidia 드라이버와 충돌이 발생하여 설치가 제대로 되지 않는다. 그래서 nouveau 모듈을 비활성화 하기 위한 작업을 해야 한다. 

 

원래는 커널 모듈 비활성 설정 파일을 /etc/modprobe.d 에 저장해야 하는는데, 사실 nvidia driver 설치 파일을 실행하면 nouveau 때문에 설치할 수 없다고 에러가 발생한 뒤에, disabled 시키기 위한 설정 파일을 만들깝쇼?하고 물어본다. 여기서 Yes하면 /etc/modprobe.d/에 nvidia-installer-disable-nouveau.conf 파일을 자동으로 만들어준다. 

 

하지만 설치 과정에서 오류 메시지를 보기 싫거나, 꼭 수동으로 하고 싶은 분을 위해 여기에 적어두겠다. 아래 내용을 그대로 긁어서 실행시키면 된다. (cat 으로 파일에 내용을 넣는 명령이므로 cat 이하의 라인을 그대로 복사해서 붙여넣으면 된다.)

 

# cat <<HERE > /etc/modprobe.d/nvidia-installer-disable-nouveau.conf 

blacklist nouveau

options nouveau modeset=0

HERE

 

 

마지막 라인에서 HERE을 치는 순간 /etc/modprobe.d/nvidia-installer-disable-nouveau.conf 파일이 생성될 것이다. 그리고 실제로 위 코드를 타이핑 하면 2~3번 행의 타이핑 되는 내용 첫칸에 > 기호가 나올텐데 이는 line이 이어지는 것을 보여주는 것이고 실제로 입력되지는 않으니 위에 적힌 대로 blacklist ... 부분만 치면 된다.

 

설정을 변경한 뒤에는 initramfs (init ram filesystem)를 새로 생성해야 한다. initramfs 생성은 레드햇 계열과 데비안 계열이 서로 다르니, 레드햇 계열은 3.1.을 참고하고, 데비안 계열은 3.2.를 보도록 한다.

 

3.1. nouveau 비활성화 후 initramfs 재생성 : CentOS, Fedora, RHEL (레드햇 계열) 인 경우

아래는 레드햇 계열에서 내리는 명령어이다. 데비안 계열이라면 아래 3.2. 항목을 참고하자.

 

# cd /boot

# mv initramfs-$(uname -r).img{,_backup}

# dracut

# ls initramfs-$(uname -r).img

 

 

3.2. nouveau 비활성화 후 initramfs 재생성 : Debian, Ubuntu, Mint .. (데비안 계열) 인 경우

아래는 데비안 계열에서 내리는 명령어이다. 레드햇 계열이면 위 3.1. 항목을 참고하자.

 

# cd /boot

# mv initramfs-$(uname -r).img{,_backup}

# update-initramfs -u

# ls initramfs-$(uname -r).img

 

 

3.3. nouveau 비활성화 후 initramfs 재생성 후 확인 : 데비안, 레드햇 계열 공통

앞서 3.1 혹은 3.2에서 내린 마지막 명령어인 ls initramfs-$(uname -r).img 에서 새롭게 생성된 initramfs-$(uname -r).img 파일 목록이 출력되는 것을 확인한다. 

만일 파일이 생성되지 않았다면 어디가 잘못되었는지 확인해야 한다. initramfs-$(uname -r).img 파일이 제대로 생성되지 않았거나 문제가 발생했을때 무턱대고 재부팅을 하면 부팅 실패가 생길 수 있으니 주의하자.

 

문제가 없다면 이제 재부팅을 한다. 재부팅 완료 후에 root로 다시 로그인을 하여 lsmod | grep nouveau 라고 명령하면 커널 모듈 목록에 nouveau 관련 모듈이 출력되지 않을 것이다. 만일 여전히 nouveau 커널 모듈 목록이 출력되면 뭔가 꼬인것이다. 아마도 오타일 가능성이 높으니 위 항목 3에서 설정한 설정 파일을 다시 한 번 천천히 살펴보자.

 

 

 

4. init 3 런레벨로 작동

재부팅을 한 뒤에 CTRL-ALT-F2를 눌러서 콘솔 화면으로 나온뒤에 root로 로그인 하자. 이제 리눅스 버전에 따라 명령이 조금 달라진다.

 

* CentOS 6.x를 사용하는 경우

 

# init 3

 

init 3 은 runlevel 3 으로 변경하는 명령어로, 기존 runlevel 5 에서 작동중인 X window를 종료시켜준다. X 윈도우가 작동중이면 nvidia 드라이버는 설치되지 않기 때문에 런레벨을 변경하는 것이다.

 

* CentOS 7.x나 Fedora 17 이후인 경우

 

# systemctl isolate multi-user.target

 

새로운 최신의 리눅스 시스템은 과거의 SysV runlevel을 대체하여 systemd를 사용하기 때문에 systemctl 명령으로 X윈도우를 종료해야 한다. 

 

간혹 systemctl isolate multi-user.target 명령을 내리면 화면이 먹통이 되는 경우가 있는데, 당황하지 말자. 이는 보통 외장 그래픽을 가지는 데스크탑에서 발생한다. 최근의 CPU는 내장 그래픽 칩을 가지고 있는데, 텍스트 모드에서는 외장 nvidia 그래픽 카드보다 내장 intel 그래픽이 먼저 활성되는 경우가 있다. 따라서 이런 경우에는 모니터 케이블을 내장 그래픽 포트에 꼽아서 확인해보면 될 것이다. 애초에 이런 문제를 겪지 않는 확실한 방법은 BIOS에서 내장 그래픽을 꺼놓는 방법이 있다.

 

* Debian 7.x을 사용하는 경우

 

# init 1

 

데비안계열은 싱글모드(1번 런레벨)을 사용하므로 1번 런레벨로 스위칭한다.

 

 

5. nvidia driver 설치 파일 실행

이제 다운로드 받은 nvidia 드라이버 설치 파일을 실행한다. 실행파일이 아니므로 실행 권한을 주고 실행해야 한다. 드라이버 설치 파일명이 NVIDIA-Linux-x86_64-331.89.run 인 경우에는 아래와 같은 명령어를 사용하면 된다.

 

#  chmod +x NVIDIA-Linux-x86_64-331.89.run

#  ./NVIDIA-Linux-x86_64-331.89.run

 

처음에 라이선스 동의는 Accept 해주고, 그 다음에 계속 Yes 혹은 OK를 누르면 된다. 

 

마지막에 자동으로 설정파일을 고칠 것이냐고 묻는데 기본값이 No로 되어있으므로, 그냥 엔터를 치다간 설정 파일이 수정되지 않고 바로 넘어간다. 따라서 마지막에 물어보는 것은 Yes로 바꾼 뒤에 끝내면 된다.

 

nvidia linux driver installer

nvidia linux driver installer

 

 

6. nvidia 제어판 실행

터미널에서 nvidia-settings를 실행해서 nvidia가 제대로 인식되고 있는지 확인해보자.

 

 

PS. 동영상 플레이어는 한국어 자막이 잘 지원되는 bomi-player(구 cmplayer)를 많이 사용하므로 이것으로 nvidia 드라이버 테스트를 해보면 된다. bomi-player가 접속이 원활하지 않은 경우에는 vlc player로 하면 된다.

VLC player : https://www.videolan.org/vlc/download-fedora.html

 

2017년도 이후에는 mpv 플레이어가 훨씬 안정화되고 빨라지면서 대부분의 경우 mpv 플레이어를 사용하도록 권장한다. mpv 플레이어의 속도는 최정상 급이다.

 

 

* History

2018.01.22 데비안 계열 설정 명령어 추가

2017.10.30 오타 수정

2014.07.06 초안 작성

 

* 패키지로 설치하는 다른 방법 : https://fedoramagazine.org/install-nvidia-gpu/

'Linux' 카테고리의 다른 글

Centos 부팅, single mode 부팅 진입  (0) 2021.02.02
xrdp 원격 데스크톱 설치  (0) 2018.12.28
네트워크 수동 설정 (centos 6.x)  (0) 2018.12.28
Linux 기본 명령  (0) 2018.12.28