다들 알다시피 라데온계열은 공식 드라이버를 잘 안 씁니다. Catalyst(패키지명은 fglrx)라 명명된 이 물건은 그야말로 쓰레기로 알려져서 안정성 저하와 패키지 충돌 등 않좋은 것은 다 있었지요. 이게 윈도에서도 마찬가지였던지라 악명이 자자해서 윈도에서도 오픈소스 드라이버를 원한다는 이야기가 들려옵니다.


어쨌건 이런 엉망진창인 드라이버 대신 그동안 잘 사용해 온 드라이버가 radeon드라이버 입니다. 우분투의 기본 드라이버 중 하나입니다. Nvidia의 오픈소스 드라입인 nouveau와는 다르게 워낙 사용자 층이 두터워서 Catalyst의 성능을 따라잡은지 한참 지났습니다.

하지만 워낙 지원 범위가 넓은 덕에 (Wonder시리즈, radeon 7000대~현재) 덩치가 너무 커져 버린 문제가 있습니다. 이전에 이런 문제를 해결하기 위해 R300~R600시절에 radeonhd라는 드라이버가 잠시 나왔지만 gallium프로젝트로 인해 기존 radeon 드라이버로 통합 되었습니다. 그러던 중 지금 R3,4,5,7,9 시리즈가 되면서 새로운 드라이버가 등장했습니다. 그 이름하여 amdgpu입니다.


커널 4.5부터 지원이 시작되었으며 GCN1.1~지원 중입니다. 성능은 radeon과 비교해서 그럭저럭 좋습니다. Catalyst와 이미 엎치락뒤치락 하는 중이니 성능면에서는 좋다고 할 수 있습니다. 하지만 이 새로운 드라이버의 강점은 크기가 작다는 점입니다. 오래된 코드를 쳐냈기에 조금 더 드라이버가 최적화될 여지가 있습니다.


http://www.phoronix.com/scan.php?page=article&item=cat-rad-amdgpu&num=1

실제로 몇몇 부분에서는 radeon에 비해 더 좋습니다. 심지어 Catalyst와 비교해도 꽤 좋습니다. 물론 Catalyst가 조금 더 좋지만 안정성 면이나 드라이버 업데이트 면에서 오픈소스를 더 추천합니다.


우분투 16.04에서 이를 쓰기 위해서는 https://www.linkedin.com/pulse/using-newer-amdgpu-driver-ubuntu-1604lts-dennis-mungai

여기에 나온 데로 해주시면 좋습니다.


우분투 16.04는 4.4커널을 쓰기 때문에 4.5부터 지원하는 amdgpu 드라이버를 쓸 수 없습니다. 그래서 커널 컴파일을 하는 것을 추천하는데

https://github.com/Turbine1991/build_ubuntu_kernel_wastedcores

여기의 커널을 추천하더군요. 이 github는 커널 스케줄러 패치를 적용해주는 스크립트로서 http://www.ece.ubc.ca/%7Esasha/papers/eurosys16-final29.pdf


이 논문은 커널 스케줄러를 개선하는 내용으로 자세는 알 수 없으나 15%정도의 효율이 좋아진다고 합니다. 이걸 적용하는 커널을 컴파일 해주는 스크립트를 사용하면 실제로 그런지는 알 수 없으나 이 논문 내용을 믿는다면 확인이 가능하겠지요.


커널업데이트 방법은 다음과 같습니다.



그냥 github에서 clone받고 스크립트를 순서대로 실행하면 됩니다. 물론 시간은 상당히 걸립니다. 중간중간 물어보는 것도 많으니 마냥 켜놓고 기다린다고 능사는 아닙니다.


아 clone.sh 실행 전에 스크립트 일부를 수정해야 합니다.

clone.sh를 텍스트 에디터로 여신다음

검색-찾아바꾸기 (혹은 그러한 기능)

4.6을 4.7혹은 현재 최신 커널 버전으로 고쳐주시기 바랍니다. 2016년 8월 23일 현재 안정커널 최신판은 4.7이므로 4.7을 받는 것이 좋습니다.


그러면 중간에 버전 선택지에 고치신 최신 버전이 있습니다. 이를 선택해 주시기 바랍니다.


2017.6월 현재 커널 버전이 업그레이드 되어감에 따라 버전 선택의 폭이 넓어 졌습니다. 이제 위의 작업은 안 하셔도 됩니다. 바로 버전 선택이 가능합니다.


중간에 menu.sh 실행 후에 Enable amdgpu support for CIK parts 부분을 yes라고 해야 합니다. 나머지는 별로 문제가 없는데 이 부분이 amdgpu를 사용하는데 제일 중요합니다.



이후 커널 컴파일 한 다음


/etc/default/grub 파일을 편집합니다. 당연히 관리자 권한으로 해야겠지요.


GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"


여기서 splash 뒤에 amdgpu.exp_hw_support=1 modprobe.blacklist=radeon

요걸 적어주시면 됩니다. 그 다음


sudo dpkg linux-*.deb

로 설치하시면 amdgpu드라이버를 사용 할 준비가 되었습니다.


amdgpu드라이버는 oibaf PPA를 사용하시면 됩니다. oibaf PPA등록은 제 블로그에 워낙 자주 나오니 넘어가겠습니다.


,