2 minute read

(+ Ubuntu 18.04에서도 동일한 방법을 사용합니다.)
(+ Ubuntu 22.04에서도 동일한 방법을 사용합니다. (23.08.13 update))
(+ 많은 분들이 이 포스팅과 관련한 오류를 겪고 있는 것으로 보입니다.
아래 방법으로 해결이 안 되거나 추가적인 오류가 있다면 메일 혹은 하단 코멘트를 남겨주시면 수 분 내로 확인하여 답변드릴 수 있도록 하겠습니다.)

(+23.08.18
보통 nouveau로 인해 생기는 문제는 크게 모니터가 켜지지 않거나, 모너티가 깜빡거리거나, 몇 번의 부팅 후 부팅이 되지 않는 현상등이 존재합니다.
듀얼모니터 혹은 여러 대의 모니터 사용 시에도 문제가 발생할 수 있습니다.)

Nouveau 비활성화

그래픽카드 드라이버나 CUDA를 설치하려고 몇 번의 시도를 했었는데, 설치 후 재부팅시 이유는 모르겠지만 무한 로딩에 걸리는 현상이 발생했고,

다양한 정보를 찾아보다가 가장 근접한 원인을 찾았는데, Nouveau라는 녀석과 Nvidia관련 toolkit설치 후 둘 사이의 충돌때문에 여러 문제가 발생했다고 생각하고 있다.

nouveau가 그래픽 관련 드라이버가 없을 때, 일단 모니터를 잡아주거나 그에 관한 역할을 해주는 것 같다. 그래서 둘 간의 충돌이 있다고 예상한다.

결론은, CUDA설치 후, 부팅이 안되는 것을 해결해야한다.

본인 노트북의 정보는 Asus노트북이고, i7-11800H, RTX 3060 labtop 이다.(사실 그래픽카드만 잘 고려해주면 되는 것 같다.)
(+ 그래픽카드에 관한 오류인지는 확실하지 않다. 결론은 그래픽카드 드라이버나 CUDA와 Nouveau가 충돌하는 것이 쟁점인 것 같다.)

비활성화

먼저 아래의 명령를 통해 저 경로내에서 몇 줄을 추가해야한다.

$ sudo vim /etc/modprobe.d/blacklist.conf

vim이 설치가 안되있다면 설치하도록 하자.
(꼭 vim을 설치할 필요는 없다 VScode나 text editor등 원하는 에디터를 통해 편한대로 수정해도 무방하다.)

안에 들어가면 막 뭐라고 적혀있는데, 당황하지말고 insert를 누른 후 방향키로 맨 아래줄로 가서
아래의 두 줄을 추가해준다.(다른 Ubuntu버전에서는 몇 줄 더 있었던 것 같은데, 테스트 결과 두 줄이면 충분해보인다.)

blacklist nouveau
options nouveau modeset=0

그리고 ESC를 한 번 눌러줘서, 명령어를 칠 수 있는 상태로 만들고,
:wq!를 입력해서 저장 후 나올 수 있도록 한다.
:q!만 입력한다면 저장없이 나올 수 있다.

다시 터미널에,

$ sudo update-initramfs -u

를 입력해준후, 재부팅해준다.

위의 과정 중 오류가 난다면, build-essential이나 dkms를 설치해주고 다시해보자.

재부팅후,

$ lsmod |grep nouveau

를 입력해주고, 아무것도 나오지 않으면 비활성화가 된 것이다.

또 다른 확인방법은, 메뉴에

software & update에 들어가서 맨아래 항목이 체크가 안되어있어야한다.
(다른 드라이버 깔기 전이면 아직 위 사진처럼 변경안되있을 수 있다. 아래 Nvidia 드라이버를 설치하고 다시 확인해보자.)

CUDA설치

Nvidia 드라이버를 설치하고 CUDA를 깔아보았는데, CUDA를 깔면 드라이버도 함께 깔리긴한다.

Nvidia 그래픽 카드 드라이버 설치

Nvidia드라이버를 설치하기 전에, 일단 부팅이 안되는 현상을 계속 겪어서 설치할때부터 모든 겹칠 가능성을 줄이기 위해 초기에 Ubuntu를 설치할 때, graphics관련 third party 설치도 체크하지 않고 Ubuntu를 설치하였다.

$ ubuntu-drivers devices

을 터미널에 쳐준 후, driver :~이런 문구들이 쭉 나온다.
거기서 원하는 드라이버를 설치하면 되는데,
본인은 그래픽카드의 출시나 버전을 고려해, 구글링후,
470의 recommended 버전을 설치하였다.

$ sudo apt-get install nvidia-driver-470

재부팅해준다.

이처럼, 잘 설치되었는지 확인할 수 있고,

$ nvidia-smi

를 통해 다음과 같이 확인할 수도 있다.

CUDA설치

https://developer.nvidia.com/cuda-toolkit-archive

에 접속해, CUDA Toolkit 11.4를 선택해주었다.

Linux, x86_64, Ubuntu, 20.04, runfile을 선택해주면,
두 개의 명령어가 나온다.
복잡할 것 없이 순서대로 터미널에 입력해주고 실행해주면 된다.


두 번째 명령 입력 시, 조금 기다려주면 아래와 같은 화면이 나타난다.

continue 선택 후,

accept를 그대로 입력해주면 된다.

그리고, 이미 드라이버는 깔았으니, 아래와 같이 스페이스바를 통해 x체크를 해제시켜준다.

선택 해제해주고, 아래 install로 가서 스페이스바를 눌러주면 설치가 시작되고,
설치 완료되면 다음과 같다.


마지막으로

$ sudo vim ~/.bashrc

후 마지막 줄에 다음과 같은 내용을 추가(Insert키를 통해 입력, esc와 :wq!를 통해 저장 후 탈출)

export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
$ source ~/.bashrc

$ nvcc -V

위 명령어들을 통해 환경 변수 지정 후, nvcc -V를 입력해 확인하면 된다.



📣
본 포스팅의 언어 및 개발 환경 : Ubuntu 20.04.3 LTS, vim
포스팅에 대한 오류나 궁금한 점은 Comments를 작성해주시면, 많은 도움이 됩니다.💡

Tags:

Categories:

Updated:

Leave a comment