본문 바로가기

서버와 홈디바이스/NAS, VPN, 클라우드

Proxmox 7.0 컨테이너에서 plex hw 트랜스코딩 사용

반응형

 

Proxmox 7.0 CT 컨테이너에서 Intel CPU 내장 GPU 가속을 이용하여 plex hw 트랜스코딩 사용을 해보았다.

 

테스트 기기는 j4005 CPU 사용으로 4k 10bit 까지 디코딩이 된다고는 써있는데 잘 안되더란...

 

 

일단 host 에서 정상적으로 그래픽카드가 인식이 되어야 한다.

vainfo 명령어로 봤을 때 아래처럼 나왔다.

root@nuc:~# vainfo
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD

아래 내용도 확인한다.

root@nuc:~# ls -l /dev/dri
total 0
drwxr-xr-x 2 root root         80 Aug 16 20:47 by-path
crw-rw---- 1 root video  226,   0 Aug 16 20:47 card0
crw-rw---- 1 root render 226, 128 Aug 16 20:47 renderD128

 

ubuntu 20.04 버전 CT templet 을 받아서 설치한다. priviliged 모드를 사용할 것. 

이제 설정 파일에 아래 내용을 추가해준다. (내 경우에는 CT번호가 101이다)

nano /etc/pve/lxc/101.conf 

lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
lxc.autodev: 1
lxc.hook.autodev: sh -c "mknod -m 0666 ${LXC_ROOTFS_MOUNT}/dev/fuse c 10 229"

위에 다섯줄은 intel gpu passthrough 을 위한 내용이고

마지막 두줄은 컨테이너 내에서 fuse 를 사용하기 위한 내용이다. (mount 용도)

 

중요한점은 proxmox 7.0 에서는 lxc.cgroup2 를 사용해야 한다는 내용이다..

하루종일 삽질했네..

 

 

참조 글

https://forum.proxmox.com/threads/pve-7-0-lxc-intel-quick-sync-passtrough-not-working-anymore.92025/

 

[SOLVED] - PVE 7.0 LXC Intel Quick Sync passtrough not working anymore

TLDR: lxc.cgroup.devices.allow MUST be changed to lxc.cgroup2.devices.allow https://forum.proxmox.com/threads/pve-7-0-lxc-intel-quick-sync-passtrough-not-working-anymore.92025/post-400916 Hi, with PVE 6.4, adding these lines to /etc/pve/lxc/.conf was enoug

forum.proxmox.com

 

https://forum.proxmox.com/threads/solved-nuc10-gpu-passthrough-pve-6-3.82023/

 

[SOLVED] - NUC10 GPU Passthrough (PVE 6.3)

Hi folks, I've one last niggle with my proxmox setup, and I'm hoping someone here can guide me to a solution. I have a cluster of 3 x NUC10 boxes, these are Frost Canyon CPUs with Intel UHD Graphics. I want to pass the Intel GPU down to one of my LXC conta

forum.proxmox.com

 

반응형