리눅스에서 동영상 가속을 할 때에 관하여 글을 적은적이 있었습니다.

http://moordev.tistory.com/181


VDPAU, VAAPI가 주력이고 서로가 서로를 보완하는 관계라고 했었지요.


Nvidia vs Intel의 구도라고도 할 수 있는데 그 와중에 AMD는 둘 다 지원 중이라고 했습니다.


하지만 드라이버 지원이나 WineNine같은 가속을 위해서 Padoka PPA를 쓰면 AMD에서도 VAAPI 가속이 비활성화 되고 맙니다. mesa-va-driver라는 패키지를 설치하면 VAAPI가 지원이 되어야 하지만 Padoka PPA에서는 해당 패키지를 제공하지 않습니다. 그리고 LLVM5.0으로 업그레이드 되면서 기존의 패키지는 작동을 하지 않게 되고맙니다.


그래서 대신 쓸 수있는 방법이 VDPAU를 VAAPI로 감싸서 사용하는 방법이 있습니다. 사실 이건 VAAPI가 지원이 되지 않는 Nvidia에서 사용하는 방법이지만 VAAPI가 지원이 안 된다면 AMD에서도 충분히 해볼 수 있습니다.


우선 vdpau-va-driver를 설치합시다.


sudo apt install vdpau-va-driver


그리고 환경설정을 조금 바꿔줘야 하는데요.


/etc/enviroment 파일에 아래와 같이 적어주셔야 합니다.


LIBVA_DRIVER_NAME=vdpau


~/.profile에 적어주셔도 되는데 이때에는


export LIBVA_DRIVER_NAME=vdpau


이렇게 해야 VDPAU드라이버로 VAAPI를 작동시키게 됩니다.



위 스크린샷을 보시면 위쪽은 환경설정을 안 했을 때의 VAAPI정보이고(오류가 납니다.) 아래는 VDPAU로 환경설정을 했을 때 VAAPI정보입니다. MPEG2부터 H264와 VC1까지 지원한다고 나옵니다.


실제로 QT기반 webkit 프로그램의 HTML5가속의 경우 VAAPI가속을 사용하게 때문에 해당 환경설정은 효과가 있었고 정상적으로 사용할 수 있었습니다.


AMDGPU를 쓰면서 PadokaPPA를 쓰시는 분들은 참고 바랍니다.



==================2017.7.7==========================

더 쉬운 방법이 있습니다.


알고보니 Paulo형님께서 패키징을 실수하신 것 같네요.

/usr/lib/dri 폴더에는 radeonsi_drv_video.so 파일이 있지만 정작 프로그램들이 라이브러리 존재 여부를 확인하는 곳인 /usr/lib/x86_63-liux-gnu/dri (64비트 기준) 안에는 파일이 없습니다.


따라서 환경 설정을 굳이 할 게 아니라


ln -s /usr/lib/dri/radeonsi_drv_video.so /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so


이렇게 해서 링크만 걸어줘도 VAAPI가 작동합니다. 괜히 삽질하고 있었네요.

,

Catalyst가 욕을 무진장 먹기는 했지만 솔직히 한 가지는 굉장히 부러웠습니다. 바로 Catalyst Control Center (이하 CCC)였습니다.


여기서 드라이버 설정을 이리저리 하면 그래픽 품질부터 각 프로그램 당 성능과 화질의 밸런스를 맞출 수도 있고 오버클럭도 자체적으로 어느정도 가능한 점 등등 가끔 생각나게 만드는 기능이었습니다. 물론 Nvidia도 이러한 것이 있고 CCC만큼 참 강력합니다.


오픈소스 드라이버는 이러한 툴이 상당히 부족한 편이었습니다. 2009년 이후로 업데이트가 끊긴 driconf를 제외하면 거의 없다고 해도 과언은 아니었습니다. 그나마도 업데이트가 끊기는 바람에 최신 GPU는 지원이 안 됩니다. (물론 AMDGPU-Pro가 있긴 합니다만...)


그런 오픈소스 드라이버 진영에 가뭄에 단비 같은 툴이 있었습니다. 일명 Radeon Profile입니다. 윈도에서의 Radeon Profile tool하고 얼추 비슷한 느낌이지만 여전히 기능이 이쪽이 딸립니다. 윈도에서는 게임마다 드라이버 버전을 선택한다던지 하는 미친기능이 있었는데 이쪽에는 그런 것이 없습니다. 기본적으로 오픈소스 드라이버를 쓰고 일부 프로그램만 독점 드라이버를 사용한다던지 했으면 참 좋았을텐데요.


그래도 이게 얼마입니까. 함 써봅시다.


https://github.com/marazmista/radeon-profile


소스는 이쪽이고 우분투에서의 PPA는


https://launchpad.net/~trebelnik-stefina/+archive/ubuntu/radeon-profile


여기입니다.


다 필요없고 제일 중요한 것은 이거겠지요.


sudo add-apt-repository ppa:trebelnik-stefina/radeon-profile
sudo apt-get update
sudo apt-get install radeon-profile

 

실행해 보면 GPU온도가 나오고 Performance 모드와 balance 모드 등을 선택할 수 있습니다. 게임을 돌릴 때 Performance 모드로 돌렸다가 일반 사용시에는 balance모드로 바꾸면 되겠지요. 일부 게임의 경우 성능이 올라가다가 마는 경우가 있습니다. 이럴 때 유용하게 쓰실 수 있습니다.


여기서 Performance모드로 만들경우 온도는 급격히 올라가지만 성능은 확실히 좋아진다. 특히 게임할 때 좋다.

자체적인 온도 그래프도 함께 보여주니 Performance모드의 온도를 주기적으로 체크가능하다.


,

해당 글의 출처는 http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_devices/ati-mobility-radeon-x1400-windows-10-driver/594df373-5b5e-4298-acf0-a6a37669b297?auth=1

여기입니다.


저에게는 그동안 쓴 우분투노트북 말고도 이전부터 쭉 써오던 노트북이 한대 더 있습니다. 이제는 서브로 밀렸지만 (10년 넘은 물건입니다. 즉 말년 예비역) 가끔 윈도우가 절실히! 필요할 떄 꺼내는 물건입니다.


이번에 기존에 있던 Windows8.1을 10으로 업그레이드를 시도했습니다. 중간에 문제가 있기는 했지만 정품인증후에(새벽에 전화인증했습니다.) 클린 설치를 다시 함으로써 해결했습니다. 한번 인증받은 컴퓨터는 클린설치후에 자동으로 인증이 되더군요. MS가 정품인증에 말이 많더니 예쁜 구석이 생겼습니다.


그런데 무슨이유에서인지 다른 드라이버는 다 되는데 그래픽 드라이버만 설치가 안 됩니다. 이전에는 강제 설치하는 옵션이 있었는데 10에서는 없어진 듯 합니다. 이야기를 들어보니 살짝 Modding을 해야 한다고 하더군요. 그래서 우분투 블로그지만 우분투를 대신하여 윈도를 서브로 쓰시는 분들을 위한 글을 적도록 하겠습니다.


ATI가 AMD에 먹히고 난 다음 드라이버개발이 중단된 칩셋이 상당히 많습니다. 이것은 윈도우 뿐만 아니라 리눅스에서도 문제가 많았던 사안입니다. 대다수 포럼에서는 그냥 바꾸라는 이야기만 나오더군요. 하지만 XP에서 8과 8.1을 거쳐 10까지 올라가고도 깔끔하게 돌아가는 이 노트북을 버릴 수는 없었습니다. 심지어 이 노트북은 리눅스 민트를 GPU가 없는 상황에서도 돌렸던 정말 대단한 물건입니다.


저는 ATI의 X1400칩셋을 사용한 노트북입니다. 해당 노트북은 Vista드라이버까지만 나온 형편입니다. 7이나 8에서는 이를 강제설치함으로써 해결했었는데 8.1이나 10은 이게 안 됩니다. 그리고 각 노트북 업체의 드라이버를 사용하는 것이 제일 좋지만 제조사도 포기한 물건이면 이야기는 달라집니다. 이럴 때는 그냥 아무 노트북 업체의 드라이버를 맞춰서 설치해야 합니다. 저 같은 경우에는 삼성제임에도 레노버사의 드라이버를 사용했습니다.


http://support.lenovo.com/kr/ko/downloads/ds004138


대신 Modding만 잘 하면 다음부터는 문제가 전혀 없으니 걱정 없습니다.

AMD에서 제공하는 legacy 드라이버도 상당히 좋지만 해상도 관련해서 약간 문제가 보여서 이는 PASS하기로 하고 제조사 지원 드라이버만 사용하기로 했습니다.(심지어 다른 회사 것이지만...)


일단 드라이버의 압축을 풀어버리면 여러가지가 쭉 나옵니다. 우리는 여기에서 Packages\Drivers\Display\LH_INF (32비트)

Packages\Drivers\Display\LH6A_INF (64비트)


여기만 이용하기로 합니다. Setup.exe 뭐 이런거 안 씁니다. 어차피 동작도 안 하는데 왜 씁니까... 특히 다른 것보다 이 안에 있는 CL_XXXXX.inf 파일을 메모장으로 열어서 수정하는 것으로 강제 설치의 준비가 완료 됩니다.



이 녀석이 나의 손에 개조 당할 녀석이다. 아 물론 64비트는 조금 다르다.(이 노트북은 워낙 구식이라 32비트를 쓴다.)



그리고 (시작메뉴에서 오른쪽 버튼을 누르면 나오는 메뉴에서) 장치관리자/디스플레이 어댑터/Microsoft 기본 디스플레이 어댑터 에서 오른쪽 버튼을 누른뒤에 속성에 들어가 봅시다.



범인은 두번째 녀석이다! 다른 놈은 됐고 두번째 것과 같은 스타일의 문장만 복사해두자

그다음 자세히 탭에서 속성을 하드웨어ID로 보게되면 값이 이것저것 나오게 됩니다.그 중 두번째것을 내용을 복사합시다. 그냥 오른쪽버튼을 누르면 복사할 수 있는 메뉴가 나옵니다.

그리고 복사를 클릭해서 복사하면 됩니다.


그리고 아까 개조를 위해 준비했던 INF파일을 메모장으로 열도록 합시다.



이를 뒤지다보면 아까 PCI\VEN_~~~~해서 있는 부분을 찾을 수 있는데 이중에서 자신의 장치 이름을 찾아서 PCI\~~부분을 아까 복사했던 내용으로 바꿔 버립시다. 다른 장치는 설치할 생각조차 없으니 무시하고 갈아버립시다.


그리고 저장하면 끝입니다. 그런데 한가지 문제가 더 있습니다. 8.1 이후에 MS는 드라이버를 강제 업데이트를 해 버리는 문제가 있습니다. 이를 막기 위해서 Windows키+R을 누른뒤에gpedit.msc를 쳐서 실행합시다.


그리고 컴퓨터구성-관리템플릿-Windows 구성요소-Windows 업데이트 순서대로 누른뒤에 자동업데이트 구성을 더블클릭합니다.



글씨가 잘 안보인다! 제길! 아무튼 꼭 할 필요는 없지만 필요하다면 저런식이라고 생각하면 된다.



그리고 자동업데이트 구성을 "2. 다운로드 및 설치 할 때 알림"으로 설정해놓습니다. 이렇게 해두고 업데이트 할 때 드라이버를 업데이트 하는지 안 하는지를 확인 할 수 있습니다. 만약 드라이버를 업데이트 하려고 하면? 해당 업데이트만 안 하면 됩니다.


그리고 이제 강제 드라이버 설치단계만 남았습니다.

8.1과 마찬가지로 약간 번거로운 단계를 거쳐야 합니다. 고급시작단계를 거쳐야 하는데요.

http://manee-mx.com/index.php/archives/2515

여기에 나온 내용과 동일합니다.


시작-설정-업데이트 및 복구-복구-고급시작 옵션-다시시작



해당 버튼을 누르면 일단 재부팅후에 메뉴를 선택하게 되어있는데요. 이 중에서 문제해결을 누르고 시작설정을 선택합니다.

그러면 또 재시작(!)을 하는데 이번에는 이전에 F8을 눌렀을 때의 추억이 되살아나는 메뉴가 나옵니다. 여기에서 7. 드라이버 서명 적용 안함을 누르고 부팅을 합니다. 이제 끝났습니다. 아까 열심히 수정했던 드라이버를 수동으로 설치하도록 합시다.


장치관리자에서 디스플레이 어댑터-드라이버 업데이트를 누릅시다. 그리고 컴퓨터에서 찾아보기 - 드라이버 목록에서 직접선택 - 디스크있음 그리고 아까 수정했던 INF파일을 선택합시다. 그러면 경고문구가 뜨는데 가뿐히 무시하고 설치를 합시다. 그러면 몇번 깜빡깜빡하더니 해상도가 올라갑니다! 혹은 3D가속이 되는 것을 볼 수 있습니다. 올레!


이로써 제 노트북은 10년동안 OS가 XP에서 8을 거쳐(업그레이드 라이센스 7만원...)10으로 업그레이드가 완료 되었습니다. 와우!

,