본문 바로가기

우분투사용기

우분투 18.04 nvidia 드라이버 설치

우분투 오류로 포맷후 18.04 재설치

해상도가 안올라가서 확인후 드라이버설치 (현재 GTX 460se)

구글링한 결과

아래 링크참고로 정상설치.

https://hiseon.me/2018/02/17/install_nvidia_driver/

 

우분투에서 NVIDIA 드라이버 설치 방법 - HiSEON

우분투에서 NVIDIA 드라이버 설치 방법 이번 글에서는 Ubuntu에서 NVIDIA 그래픽카드 GPU 드라이버를 설치하는 방법에 대해서 설명드리겠습니다. AWS에서 제공되는 이미지 Ubuntu 18.04 와 Ubuntu Server 16.04 LTS (HVM)를 기준으로 설명드리며, GPU는 GRID K520입니다. 텐서플로우 Tensorflow 와 CUDA를 사용하기에 가장 먼저 드라이버를 설치해 주셔야 합니다.

hiseon.me

우분투에서 NVIDIA 드라이버 설치 방법

이번 글에서는 우분투(Ubuntu)에서 엔베디아(NVIDIA) 그래픽카드 GPU 드라이버를 설치하는 방법에 대해서 설명드리겠습니다.

AWS에서 제공되는 이미지 Ubuntu Server 16.04 LTS (HVM)와 Ubuntu 18.04를 기준으로 설명드리며, 사용된 인스턴스 유형은 g2.2xlarge으로 엔비디아 GPU는 GRID K520입니다. GRID K520 기준으로 드라이버 설치방법을 설명 드리지만, 다른 버전의 그래픽카드를 사용하셔도됩니다.

Tensorflow 또는 Keras 등을 사용하거나, CUDA 라이브러리를 사용하기 전에 가장 먼저 드라이버를 설치해 주셔야합니다.

 

1. 환경

우분투 데스크탑 버전이 아닌, GUI가 없는 서버 버전을 기준으로 설명드리도록 하겠습니다.

먼저 NVIDIA 드라이버가 이미 설치가 되었는지 확인 합니다.

# cat /proc/driver/nvidia/version

cat: /proc/driver/nvidia/version: No such file or directory

위의 내용과 같이 파일 또는 디렉토리가 없다고 나타나면 아직 드라이버가 설치되지 않은 것입니다.

아래의 명령어를 이용하여 GPU 모델과 커널 모듈 정보를 확인합니다.

# lspci -k

위의 명령어를 실행하면 상당히 많은 내용이 나타나나는데 아래와 같이 NVIDIA GPU 모델과 정보만 확인 하면됩니다.

00:03.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)

    Subsystem: NVIDIA Corporation GK104GL [GRID K520]

위의 실행결과는 사용중인 커널 모듈 정보가 없습니다. 하지만 사용중인 커널 모듈 정보가 있을 경우 아래와 같이 Kernel driver in use 라고 하면서 모듈 정보가 추가로 나타날 수 있습니다.

02:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2)

Subsystem: NVIDIA Corporation GM107 [GeForce GTX 750 Ti]

Kernel driver in use: nouveau

Kernel modules: nvidiafb, nouveau

많은 NVIDIA 드라이버 설치 방법을 설명하는 글들에서 nouveau 모듈이 사용되지 않게 blacklist 에 추가하는 명령어를 함께 실행합니다. 하지만 이번 글에서는 현재 nouveau 커널 모듈이 사용중이더라도 설치 과정에서 자동으로 blacklist 에 추가되므로 신경쓰지 않으셔도 됩니다.

아직 언어 설정이 되지 않았을 경우 설치에 필요한 언어셋, 로케일등 기본유틸이 기본 패키지를 설치해 주시기 바랍니다.

# apt-get update && apt-get install -y dialog language-pack-en

 

# export LANGUAGE=en_US

# export LANG=en_US.UTF-8

# export LC_ALL=en_US.UTF-8

 

# update-locale

그 다음 아래의 내용을 /etc/default/locale 추가해 주시면됩니다.

LANG="en_US.UTF-8"

LANGUAGE="en_US"

LC_ALL="en_US.UTF-8"

다음은 패키지 Repository를 추가할 것입니다. 우분투 16.04 버전과 18.04 버전 모두 NVIDIA Repository가 지원됩니다. 따라서 버전에 공식 NVIDIA Repository 를 추가하여 설치하는 방법을 설명드리도록 하겠습니다.

현재 사용하고 계신 우분투 버전을 모르신 다면, 아래의 외부 Repository를 추가하셔서 설치를 진행하셔도 됩니다. 하지만 정확한 우분투 버전을 알고 계신 경우 아래 버전에 맞는 Repository를 추가해 주시길 권장해 드립니다.

$ sudo add-apt-repository ppa:graphics-drivers/ppa

$ sudo apt update

우분투 16.04

우분투 16.04 버전을 사용하고 계실 경우 명령어를 실행하여, 최신 NVIDIA 패키지 리스트가 추가될 수 있도록 합니다.

$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" >> /etc/apt/sources.list.d/cuda.list'

$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64 /" >> /etc/apt/sources.list.d/cuda.list'

$ sudo apt-get update

우분투 18.04

우분투 18.04 환경일 경우 아래의 명령어로 PPA repository를 추가하시면 됩니다.

$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

 

$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" >> /etc/apt/sources.list.d/cuda.list'

$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" >> /etc/apt/sources.list.d/cuda.list'

 

$ sudo apt-get update

2. 정보 확인

NVIDIA하드웨어 모델에 따라서 지원되는 그래픽카드(GPU) 드라이버 버전의 다릅니다.

따라서 아래의 페이지에 방문한 다음 설치하고자 하는 그래픽카드에 맞는 최신 버전의 드라이버 버전을 확인해야 합니다.

http://www.nvidia.com/Download/Find.aspx?lang=en-us

 

 

그리고 아래의 명령어를 실행 하여 설치 가능한 드라이버 버전을 확인 합니다.

# apt-cache search nvidia

..

nvidia-304 - NVIDIA legacy binary driver - version 304.135

nvidia-304-updates - Transitional package for nvidia-304

nvidia-304-updates-dev - Transitional package for nvidia-304-dev

nvidia-340 - NVIDIA binary driver - version 340.104

nvidia-361 - Transitional package for nvidia-367

nvidia-361-dev - Transitional package for nvidia-367-dev

nvidia-367 - Transitional package for nvidia-375

nvidia-367-dev - Transitional package for nvidia-375-dev

nvidia-375 - Transitional package for nvidia-384

nvidia-375-dev - Transitional package for nvidia-384-dev

nvidia-384 - NVIDIA binary driver - version 384.111

nvidia-384-dev - NVIDIA binary Xorg driver development files

..

nvidia-xxx 로 나타나는 패키지 이름 중에서 설치 가능한 버전을 확인하시면 됩니다.

NVIDIA홈페이지에서 조회되는 버전은 367, 340, 370(베타) 등입니다. 하지만 우분투에서 패키지로 지원 되는 버전과 일치하는 상위 버전은 367이기 때문에 nvidia-367로 설치해 주시면 됩니다.

NVIDIA 드라이버 버전이 410 이상일 경우 nvidia-driver-410 처럼 패키지 이름이 변경되었습니다. 호환되는 드라이버가 상위 버전일 경우 nvidia-driver-xxx 패키지를 설치해 주셔도 됩니다.

3. 드라이버 설치

위에서 확인 한 드라이버 버전을 아래의 명령어로 설치 할 수 있습니다.

(아래 명령어는 GRID K520 모델일 경우 드라이버 버전입니다. GPU 모델에 맞는 드라이버를 설치해 주셔야합니다.)

$ sudo apt-get install nvidia-367

참고로 최신 버전의 Tensorflow 를 실행하기 위해서는 CUDA 9.0이 필요로하는데, 이 버전의 CUDA를 설치하기 위해서는 nvidia-390 드라이버가 필요합니다. 서버 환경에서 nvidia-390 드라이버를 설치하다가 아래와 같은 오류가 발생할 수 있습니다.

Errors were encountered while processing:

nvidia-390

libcuda1-390

nvidia-opencl-icd-390

E: Sub-process /usr/bin/dpkg returned an error code (1)

Setting up nvidia-390 (390.30-0ubuntu1) ...

update-alternatives: using /usr/lib/nvidia-390/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode

update-alternatives: warning: skip creation of /usr/share/grub-gfxpayload-lists/blacklist/10_proprietary-graphics-drivers because associated file /usr/share/nvidia-390/nvidia-390.grub-gfxpayload (of link group x86_64-linux-gnu_gl_conf) doesn't exist

update-alternatives: error: error creating symbolic link '/usr/lib/nvidia/alternate-install-present.dpkg-tmp': No such file or directory

dpkg: error processing package nvidia-390 (--configure):

subprocess installed post-installation script returned error exit status 2

위와 같은 오류가 발생할 경우 다음과 같이 nvidia 디렉토리를 생성 후, 다시 설치 명령어를 실행해 주시면 됩니다.

$ sudo mkdir /usr/lib/nvidia

$ sudo apt-get install nvidia-390

그리고 마지막으로 드라이버 버전에 상관 없이, 공통적으로 아래의 패키지를 함께해 주시면 됩니다.

$ sudo apt-get install dkms nvidia-modprobe

그리고 드라이버 모듈이 로드 될 수 있도록 reboot 명령어로 시스템을 재부팅 합니다.

4. 확인

설치가 성공적으로 되었는지 확인 하기 위해서 아래의 명령어를 실행합니다.

$ sudo lspci -k

00:03.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)

    Subsystem: NVIDIA Corporation GK104GL [GRID K520]

    Kernel driver in use: nvidia

    Kernel modules: nvidia_384_drm, nvidia_384

nvidia 커널 드라이버가 사용중으로 나타나고 있음을 알 수 있습니다.

그리고 아래의 /proc/driver/nvidia/version 파일의 내용을 확인하면 드라이버 버전을 확인 할 수 있습니다.

$ sudo cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.111 Tue Dec 19 23:51:45 PST 2017

GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.6)

NVIDIA의 GPU 또는 그래픽카드를 사용하면 nvidia-smi 명령어로 시스템 정보를 확인 하실 수도 있습니다.

$ nvidia-smi

Sat Feb 17 12:47:47 2018

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 384.111 Driver Version: 384.111 |

|-------------------------------+----------------------+----------------------+

| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |

| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |

|===============================+======================+======================|

| 0 GRID K520 Off | 00000000:00:03.0 Off | N/A |

| N/A 31C P0 1W / 125W | 0MiB / 4036MiB | 0% Default |

+-------------------------------+----------------------+----------------------+

 

+-----------------------------------------------------------------------------+

| Processes: GPU Memory |

| GPU PID Type Process name Usage |

|=============================================================================|

| No running processes found |

+-----------------------------------------------------------------------------+

위의 내용과 같이 정보들이 올바르게 나타나면, 드라이버가 성공적으로 설치 된 겁니다.

이어서, CUDA SDK와 cuDNN 등의 라이브러리를 설치하기 위해서는 아래의 글을 참고하시기 바랍니다.

CUDA 설치 우분투 환경


NVIDIA 드라이버 에러

NVIDIA 드라이버 설치 후 부팅 할 때 아래와 같은 오류 메세지가 발생하는 경우 입니다.

Failed to start NVIDIA Persistence Daemon.

본문의 설명드린 내용으로 제대로 설치하셨을 경우, BIOS 등의 설정 문제가 있을 수 있습니다. Secure Boot 옵션을 해제해 주시고, 메인보드에서 Above 4G Decoding 옵션이 지원될 경우, Enable으로 활성화 해주시기 바랍니다.

'우분투사용기' 카테고리의 다른 글

시작메뉴 설치  (0) 2019.04.29
우분투 테마 설정하기  (0) 2019.04.29
우분투 18.04 카카오톡 설치  (1) 2019.04.18
우분투 18.04 설치후  (0) 2019.04.18
우분투 18.04 업그레이드  (0) 2018.09.18