사용자 도구

사이트 도구


linux:vaapi

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linux:vaapi [2024/05/14 10:24]
kwon37xi
linux:vaapi [2026/01/05 11:02] (현재)
kwon37xi [Browser GPU 가속여부 확인]
줄 2: 줄 2:
   * 그래픽 카드의 GPU를 사용하여 고성능으로 동영상 Video 재생   * 그래픽 카드의 GPU를 사용하여 고성능으로 동영상 Video 재생
   * nVidia에서는 VDPAU 라고 함.   * nVidia에서는 VDPAU 라고 함.
 +  * [[linux:nvtop|nvtop]] GPU 모니터링. 거의 모든 그래픽 카드 지원.
   * [[https://freedesktop.org/wiki/Software/vaapi/|freedesktop - vaapi]]   * [[https://freedesktop.org/wiki/Software/vaapi/|freedesktop - vaapi]]
   * https://wiki.archlinux.org/index.php/intel_graphics   * https://wiki.archlinux.org/index.php/intel_graphics
줄 36: 줄 37:
 ===== Intel ===== ===== Intel =====
  
-  * [[linux:nvidia|Linux Nvidia Graphic Card]] / Intel Dual graphic 일 경우에도 ''on-demand'' 나, ''intel'' 모드로 두면, intel va api 드라이버로 잘 작동한다.+  * [[linux:nvidia|Linux Nvidia Graphic Card]] / Intel Dual graphic 일 경우에도 ''on-demand'' 나, ''intel'' 모드로 두면, intel vaapi 드라이버로 잘 작동한다. 
 +  * [[linux:intel_gpu|Linux Intel GPU]] 를 통해서 최신 드라이버 PPA를 지정해서 설치하는 것도 가능하다. PPA 안해도 가장 최신은 아니더라도 아래 흐름에 따라 드라이버 설치는 가능하다. 
   * Intel CPU Gen 8 이상   * Intel CPU Gen 8 이상
 <code sh> <code sh>
줄 54: 줄 57:
 sudo intel_gpu_top sudo intel_gpu_top
 </code> </code>
 +  * [[linux:nvtop|nvtop]] GPU 모니터링은 ''nvtop'' 명령이 더 낫다. Intel Arc Graphics 도 지원한다.
 ===== AMD Radeon ===== ===== AMD Radeon =====
   * ''fglrx'' 드라이버 설치. ''fglrx-updates''와 ''fglrx''중 잘 안되는게 있을 수 있으므로 번갈아 해 볼 것.   * ''fglrx'' 드라이버 설치. ''fglrx-updates''와 ''fglrx''중 잘 안되는게 있을 수 있으므로 번갈아 해 볼 것.
줄 67: 줄 71:
   * [[https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-beta/+sourcepub/10036592/+listing-archive-extra|]]   * [[https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-beta/+sourcepub/10036592/+listing-archive-extra|]]
  
 +==== nvidia-optimus ====
 +  * 노트북등에 장착된 nvidia / intel dual graphic 일 경우
 +  * ''prime-select nvidia'' 상태라도 intel GPU를 통해 ''vaapi'' 비디오 encoding/decoding기능이 작동한다.
 +  * ''vainfo'' 명령의 결과로 아래와 유사하게 intel GPU 관련 값이 나와야 한다.
 +<code>
 +libva info: VA-API version 1.20.0
 +libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
 +libva info: Found init function __vaDriverInit_1_20
 +libva info: va_openDriver() returns 0
 +vainfo: VA-API version: 1.20 (libva 2.12.0)
 +vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
 +</code>
 +  * 따라서 굳이 nvidia-optimus 에서 ''nvidia-vaapi-driver'' 설치할 필요가 없다.
 ==== nvidia-vaapi-driver ==== ==== nvidia-vaapi-driver ====
   * https://github.com/elFarto/nvidia-vaapi-driver/ : nvidia vdpua 와 vaapi 를 연결해주는 드라이버. nvdia 를 vaapi 지원 애플리케이션에서 호출할 수 있게 해준다.   * https://github.com/elFarto/nvidia-vaapi-driver/ : nvidia vdpua 와 vaapi 를 연결해주는 드라이버. nvdia 를 vaapi 지원 애플리케이션에서 호출할 수 있게 해준다.
줄 74: 줄 91:
 </code> </code>
   * 해당 github 문서에서 firefox 에서 활성화 하는 법 등이 문서화 돼 있음.   * 해당 github 문서에서 firefox 에서 활성화 하는 법 등이 문서화 돼 있음.
 +  * **아직까진 성공해본 적 없음**
 ===== MPlayer ===== ===== MPlayer =====
   * 기본 MPlayer는 vdpau를 지원하고 있으므로 특별한 작업 불필요.   * 기본 MPlayer는 vdpau를 지원하고 있으므로 특별한 작업 불필요.
줄 105: 줄 123:
  
 ==== Google Chrome 버전 / Ubuntu  ==== ==== Google Chrome 버전 / Ubuntu  ====
-  * [[https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/gpu/vaapi.md|Chromium Docs - VA-API]]+  * **2025년 말부터 Wayland 환경, Google Chrome 142 버전부터 비디오 가속이 기본 작동하게 된 것으로 추정됨** 
 +    * [[https://www.reddit.com/r/Ubuntu/comments/1ojydv9/google_chrome_supporting_hardware_accelerated/|Google Chrome Supporting Hardware Accelerated Video Decoding on Linux Was Not on My Bingo Card! : r/Ubuntu]] 
 +    * https://www.phoronix.com/news/Chrome-Wayland-Decode-Field 
 +  * [[https://chromium.googlesource.com/chromium/src/+/lkgr/docs/gpu/vaapi.md]] : **가장 최신 정보는 이 문서 참조**
   * [[https://debugpointnews.com/va-api-chromium-wayland/|Chromium Merges Code for Native VA-API Acceleration with Wayland]] 2024년 공식적으로 VAAPI 지원이 머지되었음   * [[https://debugpointnews.com/va-api-chromium-wayland/|Chromium Merges Code for Native VA-API Acceleration with Wayland]] 2024년 공식적으로 VAAPI 지원이 머지되었음
-  * 데스크탑 애플리케이션 실행 정보 파일을 로컬로 박사하고, 해당 파일의 명령 실행부(''Exec'')에 VAAPI 활성화 옵션을 모두 추가해주고 잠시 기다리면 이제 항상 VAAPI 활성 상태로 크롬이 실행된다. 
- 
-<code sh> 
-mkdir -p ~/.local/share/applications 
- 
-cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/google-chrome.desktop 
-</code> 
- 
-<code sh> 
-# wayland 
-google-chrome-stable --enable-features=VaapiVideoDecodeLinuxGL --use-gl=angle --use-angle=gl --ozone-platform=wayland 
- 
-# x11 
-google-chrome-stable --enable-features=VaapiVideoDecodeLinuxGL --use-gl=angle --use-angle=gl --ozone-platform=x11 
-</code> 
   * chrome 확장으로 지원하지 않는 디코더는 중단시켜야 함. [[computer:lg_gram_14_14zd90n_v|LG Gram 14 14ZD90N-V]]의 경우 ''Block AV1'' 해 둠.   * chrome 확장으로 지원하지 않는 디코더는 중단시켜야 함. [[computer:lg_gram_14_14zd90n_v|LG Gram 14 14ZD90N-V]]의 경우 ''Block AV1'' 해 둠.
   * [[https://chromewebstore.google.com/detail/omkfmpieigblcllmkgbflkikinpkodlk?hl=ko|enhandec h264ify]]   * [[https://chromewebstore.google.com/detail/omkfmpieigblcllmkgbflkikinpkodlk?hl=ko|enhandec h264ify]]
   * [[https://chromewebstore.google.com/detail/h264ify/aleakchihdccplidncghkekgioiakgal?hl=ko|h264ify]]   * [[https://chromewebstore.google.com/detail/h264ify/aleakchihdccplidncghkekgioiakgal?hl=ko|h264ify]]
 +
 +
 === Nvidia === === Nvidia ===
 <code sh> <code sh>
줄 142: 줄 150:
     * 보통 nvidia 탑재 PC는 사양이 높기 때문에, 1080p 의 경우 가속을 하건 안하건 큰 차이가 안남.     * 보통 nvidia 탑재 PC는 사양이 높기 때문에, 1080p 의 경우 가속을 하건 안하건 큰 차이가 안남.
     * 따라서 굳이 GPU 가속 설정 할 필요가 없어보임.     * 따라서 굳이 GPU 가속 설정 할 필요가 없어보임.
- 
-=== Chrome 91 이상 버전 GPU 가속 활성화 === 
-  * Chrome 91 이상 버전에서 GPU Acceleration 활성화 해서 실행 
-<code sh> 
-# X11 은 --use-gl=desktop, Wayland 는 --use-gl=egl --ozone-platform=wayland 라고함. 
-google-chrome-stable --use-gl=desktop --enable-features=VaapiVideoDecoder 
-# 위 옵션 주기 말고, 설정파일로 하기도 가능 
-</code> 
-  * ''%%chrome://gpu%%'' 로 작동여부 확인. 아래와 같은 항목이 나옴. 
-<code> 
-Video Decode: Hardware accelerated 
-</code> 
-  * [[https://support.google.com/docs/thread/95433575/colors-appear-randomly-and-blocks-the-whole-sheet-not-inserted-image-not-conditional-formatting?hl=en|Colors appear randomly and blocks the whole sheet. NOT inserted image, NOT conditional formatting. - Google Docs Editors Community]] 
-    * 하드웨어 가속을 할 경우 [[google:googlesheet|Google Sheet]]에서 글씨가 안보이는 현상이 발생함. 
-    * ''%%chrome://settings%%'' **고급 -> 시스템 -> 가능한경우 하드웨어 가속 사용** 을 꺼주면 잘 보임. 
  
 ==== Firefox ==== ==== Firefox ====
줄 164: 줄 157:
   * [[https://ubuntuhandbook.org/index.php/2021/08/enable-hardware-video-acceleration-va-api-for-firefox-in-ubuntu-20-04-18-04-higher/|Enable Hardware Video Acceleration (VA-API) For Firefox in Ubuntu 20.04 / 18.04 & Higher | UbuntuHandbook]]   * [[https://ubuntuhandbook.org/index.php/2021/08/enable-hardware-video-acceleration-va-api-for-firefox-in-ubuntu-20-04-18-04-higher/|Enable Hardware Video Acceleration (VA-API) For Firefox in Ubuntu 20.04 / 18.04 & Higher | UbuntuHandbook]]
   * 위의 Intel GPU 관련 드라이버를 설치하고   * 위의 Intel GPU 관련 드라이버를 설치하고
-  * ''about:config'' 에서 ''media.ffmpeg.vaapi.enabled=true'' 로 변경하면 거의 그냥 된다.+  * 2024년 현재, 아무것도 안해도 VAAPI 는 그냥 잘 작동함.
   * [[linux:wayland|Wayland]] Ubuntu 23.10 에서는 불필요한 설정. ''~/.config/environment.d/999-mozilla-vaapi.conf''<code>   * [[linux:wayland|Wayland]] Ubuntu 23.10 에서는 불필요한 설정. ''~/.config/environment.d/999-mozilla-vaapi.conf''<code>
 MOZ_ENABLE_WAYLAND=1 MOZ_ENABLE_WAYLAND=1
줄 210: 줄 203:
   * OS 와 동일한 nvidia 드라이버는 아마도 자동 설치 돼 있을것임(안 되면 flatpak update 해볼것)   * OS 와 동일한 nvidia 드라이버는 아마도 자동 설치 돼 있을것임(안 되면 flatpak update 해볼것)
 ==== Browser GPU 가속여부 확인 ==== ==== Browser GPU 가속여부 확인 ====
 +  * [[linux:nvtop|nvtop]] 명령으로 확인하는게 제일 편함.
   * Intel : ''intel_gpu_top'' 명령에서 **Video** 항목이 증가하는지 확인   * Intel : ''intel_gpu_top'' 명령에서 **Video** 항목이 증가하는지 확인
   * Nvidia : ''nvidia-smi -q -g 0 -d UTILIZATION -l 1'' 에서 **Decoder** 항목이 증가하는지 확인.   * Nvidia : ''nvidia-smi -q -g 0 -d UTILIZATION -l 1'' 에서 **Decoder** 항목이 증가하는지 확인.
   * 4K 동영상을 틀어보면, GPU 가속이 활성화 됐을 때는 CPU 점유율이 낮고, 안됐을 때는 매우 높음을 알 수 있다.   * 4K 동영상을 틀어보면, GPU 가속이 활성화 됐을 때는 CPU 점유율이 낮고, 안됐을 때는 매우 높음을 알 수 있다.
linux/vaapi.1715649898.txt.gz · 마지막으로 수정됨: 2024/05/14 10:24 저자 kwon37xi