우분투 리눅스 nouveau 끄고 설치하기

MSI PE60-2QE 노트북을 새로 구입하고나서 Windows 10을 처음 설치하였습니다. 원래가 Windows 10에 최적화된 노트북이어서 Windows를 설치 후 불량 여부 판단확인 후에 리눅스를 설치를 하려고 했습니다.


그런데, 우분투 리눅스를 설치하려니 여러가지 문제점들이 많았는데요. 이 문제점 찾느라 1개월 정도 시간이 걸렸습니다.

사실 원래 NVIDIA의 리눅스 드라이버가 호환성이 딱히 좋지 않았습니다. 아시다시피 Optimus 기술을 사용하는 노트북 제품은 정식 드라이버가 없어서 2년 전까지만 해도 비공식 드라이버인 Bumblebee를 사용해여야 했었죠.. 그러나 이는 NVIDIA 그래픽 드라이버를 사용하는 데 문제였지만 X를 구동하는 데도 방해가 될 줄은 상상도 하지 못했습니다.



nouveau

우리말로하면 최근이라는 의미를 가지고 있는 이 단어는 우분투 리눅스에서 X Org Server와 연관이 있습니다. NVIDIA계열의 그래픽 카드(특히 노트북에서 문제가 자주 있음)를 사용하는 제품에서 추가 드라이버로 기본 Live CD에도 들어가는 드라이버입니다. 그런데, 이 드라이버가 NVIDIA 제품과 호환성이 매우 좋지 않아 X Server 로드를 방해하고, 심지어는 Kernel Panic을 일으키기도합니다.



nouveau E[PFIFO][0000:01:00.0] SCHED_ERROR



보통 nouveau와 NVIDIA 그래픽의 호환성의 문제가 생기는 위 오류로 화면을 도배하기도 합니다. 그러나 잠깐은 화면이 뜨기도 하는데, 그러다가 어차피는 다운되므로 별 기대를 안하시는 것이 좋습니다 ㅡㅡ^


설치할 때 만약 이런 오류가 나타난다면 nouveau를 OFF하고 설치하면 되는데요. 그런데, 이 OFF를 하는 방법에도 두 가지로 분류됩니다.


1. LEGACY(BIOS)를 사용하시는 PC/노트북


2. EFI(UEFI)를 사용하시는 PC/노트북


어차피 우분투 리눅스를 부팅하는 옵션을 수정하는 것은 똑같이 GRUB를 수정하기 때문에 원리만 이해하신 분이시라면 굳이 저 두 가지로 분류하는 게 무슨 의미가 있느냐 라는 말씀도 하실지 모르겠지만 초보자분들을 위해서 두 가지 분류로 나눠서 설명하도록 하겠습니다.


1. BIOS를 사용하는 경우,,



설치 CD/DVD, USB로 부팅하시게 되면 우분투 설치 초기화면이 나타납니다. 이 때 키보드에서 F6을 누르게 되면 nomodeset이 보이게됩니다. 바로 저 nomodeset 옵션을 추가해주면 nouveau X 서버를 올리지 않고 부팅하게됩니다. Windows로 말하자면 표준 VGA 어댑터로 그래픽 드라이버를 로드시킨 다음에 부팅한다는 것이죠.


2. UEFI를 사용하는 경우,,



UEFI로 부팅하게 될 경우, Install Ubuntu나 Trying Ubuntu with Install 메뉴에서 키보드 E를 누르면 위 화면처럼 부팅 옵션을 수정할 수 있는 화면을 보여줍니다. 위 화면과 실제 내용이 다를 수 있지만 흡사합니다. 여기서 quiet splash 부분 옆에 nomodeset을 추가로 입력한 후 키보드 F10을 눌러 부팅합니다.



Ubuntu 설치 후 nouveau OFF하는 법

그렇게 설치가 끝났는데, 부팅을하려니 또 nouveau가 활성화 되면서 이번엔 실 부팅이 안된다... 

조금 눈치가 있으신 분들이라면 이미 GRUB에서 nomodeset을 추가해서 하시는 분들도 있겠지만 저는 다른 방법으로 좀 더 쉽게(? 아닐 수도 있습니다 ㅠㅠ)하는 법을 적어보도록 하겠습니다.



우분투 설치 후 부팅하게 되면 위 화면과 같이 Recovery mode (복구 모드)로 들어갈 수 있는 메뉴가 있씁니다. 그 쪽 메뉴를 통해서 부팅합니다.



부팅이 끝나면 위 화면이 나타납니다. 여기서 failsafeX 메뉴를 선택한 후 OK합니다. 그러면 nouveau OFF 상태로 부팅됩니다.


자 이제 nouveau를 블랙리스트에 추가하여 실행을 못하게 하고, 커널에 nouveau=0을 추가하여 로드하는 과정을 진행하면 정상적인 우분투 리눅스를 사용할 수 있게 됩니다.


먼저 ROOT 권한으로 터미널을 실행합니다.



vim 혹은 nano 등의 에디터를 이용하여 /etc/modprobe.d/blacklist-nouveau.conf 라는 이름의 파일을 생성하고 다음 내용을 추가합니다.


blacklist nouveau

blacklist lbm-nouveau

options nouveau modeset=0

alias nouveau off 

alias lbm-nouveau off 


다 입력하셨으면 저장하고 터미널로 다시 되돌아옵니다.


# echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf


nouveau 옵션을 0으로 바꿔줍니다.


# update-initramfs -u


그리고 그 설정값을 커널에 포팅하면 모든 작업이 끝납니다.



Tip

혹시 nouveau 옵션을 바꿔주는 부분에서 에러가 나타날 경우, 다음 소프트웨어를 설치 후 진행하세요.


$ sudo apt-get install dkms build-essentials linux-header-generic


linux-header-generic은 기본 커널 바탕으로 대부분 깔려있겠지만 dkms나 build-essentials은 커널 컴파일시 사용되는 툴로 일반적으로 설치가 안된 경우가 있으므로 참고하시기 바랍니다.



comments powered by Disqus

Tistory Comments 0