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

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가 작동합니다. 괜히 삽질하고 있었네요.

,