인텔 11세대 PLEX HW 트랜스코딩 안되는 문제 수정
안녕하세요? 도정진입니다.
이전에 아래와 같이 intel-media-driver 를 설치한 적이 있습니다.
https://blog.djjproject.com/821
다만, 저는 plex 를 컨테이너에 설치했기 때문에 intel-media-driver 를 업데이트 해 봤자, 컨테이너에 반영하지 않으면 동작하지 않게 됩니다.
일단 최신 plex에 반영되었다고 생각하고 컨테이너를 업데이트 해봅니다.
1. PLEX 컨테이너 업데이트 하기
root@debian:~# docker stop plex root@debian:~# docker commit plex plex_back root@debian:~# docker images | grep plex plex_backup latest da0b1e3fe671 14 minutes ago 657MB plexinc/pms-docker latest 1d8699187e52 10 days ago 325MB plexinc/pms-docker 1.27.2.5929-a806c5905 bd30c8482314 11 months ago 656MB |
일단 먼저 돌아가던 plex 컨테이너를 위와 같이 백업합니다.
그리고 아래와 같이 업데이트를 하면서 새 컨테이너를 생성합니다.
root@debian:~# docker rm -f plex |
docker run -dit --restart unless-stopped --privileged --name plex --cpus=2 --network host -e TZ="Asia/Seoul" -v /media:/mediat -v /opt/plex/config:/config -e PLEX_UID=998 -e PLEX_GID=997 --device /dev/dri:/dev/dri plexinc/pms-docker:latest |
위 명령어는 개인에 따라 다를 수 있고, 설정이 조금 추가된 제 설정입니다.
2. 확인해보기
와 여전히 SW 인코더로 돕니다.
흠 로깅을 켜서 에러를 확인해았습니다.
영상을 재생할 때 아래의 에러가 발생하네요.
[Req#95b3d/Transcode/51s5h1xsxnd0qzcilpox1q49/35adc72e-774e-4f6a-aca1-793aa94fac8d] [h264_vaapi @ 0x7f42321ba040] Driver does not support any RC mode compatible with selected options (supported modes: CQP). |
[Req#95b5e/Transcode/51s5h1xsxnd0qzcilpox1q49/35adc72e-774e-4f6a-aca1-793aa94fac8d] Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height |
이런 에러를 검색해보면 아래의 글들을 찾을 수 있었습니다.
https://www.reddit.com/r/PleX/comments/r1g3wl/plex_hardware_transcoding_issue_with_pms_on_intel/
https://forums.plex.tv/t/can-jasper-lake-n6005-use-hardware-transcoding/758158/54
해결 방법은 i915 모듈 로딩 시 옵션을 주는 것인데요.
아래 옵션입니다.
options i915 enable_guc=2 |
바로 확인을 해보겠습니다.
3. 모듈 로딩에 옵션 추가
아래 명령으로 modprobe 설정을 추가합니다.
i915 모듈 로딩 시 enable_guc=2 옵션을 주는 것입니다.
root@debian:/etc/modprobe.d# cat i915-driver.conf options i915 enable_guc=2 root@debian:/etc/modprobe.d# update-initramfs -u |
--> 해결이 안되었습니다.
4. 커널 업데이트 수행
현재 PVE 설치 당시 커널 버전이 5.15입니다.
latest stable 로 버전업을 해보겠습니다.
먼저 아래와 같이 버전을 확인해보았습니다.
root@debian:~# apt search pve-kernel-headers pve-headers-6.1.15-1-pve/stable 6.1.15-1 amd64 Proxmox Kernel Headers pve-headers-6.1.2-1-pve/stable 6.1.2-1 amd64 Proxmox Kernel Headers pve-headers-6.1.6-1-pve/stable 6.1.6-1 amd64 Proxmox Kernel Headers pve-headers-6.2/stable 7.4-3 all Latest Proxmox VE Kernel Headers pve-headers-6.2.11-1-pve/stable 6.2.11-1 amd64 Proxmox Kernel Headers root@debian:~# apt install pve-kernel-6.2 pve-headers-6.2 |
설치를 하고 재부팅하면 6.2 커널로 바뀌어 있음을 확인할 수 있습니다.
# 이전 root@debian:/etc/modprobe.d# uname -r 5.15.85-1-pve # 이후 root@debian:~# uname -r 6.2.11-2-pve |
다시 테스트 해보았습니다.
아 잘 작동하네요.
커널 업데이트 만으로 해결이 됩니다.
5. 해결 결론
5.15커널이면 5.17버전 이상으로 버전업을 하면 해결이 됩니다.
컨테이너의 경우 /dev/dri 만 컨테이너 내부에 연결하면 해결 됩니다.
마치겠습니다.
감사합니다.