Closed evanrich closed 6 months ago
I made some progress, but only locally
I added the following to the "pms" values:
securityContext:
privileged: true
env:
FFMPEG_HWACCEL: vaapi
I can now see in plex the following:
however remote workers still show the following:
[AVHWDeviceContext @ 0x7fedcbd14a80] libva: VA-API version 1.18.0
[AVHWDeviceContext @ 0x7fedcbd14a80] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x7fedcbd14a80] libva: Trying to open /config/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/iHD_drv_video.so
[AVHWDeviceContext @ 0x7fedcbd14a80] libva: va_openDriver() returns -1
[AVHWDeviceContext @ 0x7fedcbd14a80] Failed to initialise VAAPI connection: -1 (unknown libva error).
Device creation failed: -5.
Failed to set value 'vaapi=vaapi:/dev/dri/renderD128,driver=iHD' for option 'init_hw_device': I/O error
Error parsing global options: I/O error
Transcoder exit: child process exited with code 1
and the main plex container shows the following:
Killing child transcoder
Distributed transcoder failed, calling local
more info: so looking at the line:
libva: Trying to open /config/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/iHD_drv_video.so
i tried to see if that existed:
/config/Library/Application Support# ls -la
total 0
drwxr-xr-x 2 abc abc 6 Apr 27 02:49 .
drwxr-xr-x 3 abc abc 33 Apr 27 02:49
nothing there, so it seems like the workers aren't downloading drivers?
I think I got it working:
[AVHWDeviceContext @ 0x7f3ebed8fa80] libva: VA-API version 1.18.0
[AVHWDeviceContext @ 0x7f3ebed8fa80] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x7f3ebed8fa80] libva: Trying to open /config/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/iHD_drv_video.so
[AVHWDeviceContext @ 0x7f3ebed8fa80] libva: Found init function __vaDriverInit_1_18
[AVHWDeviceContext @ 0x7f3ebed8fa80] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x7f3ebed8fa80] Initialised VAAPI connection: version 1.18
[AVHWDeviceContext @ 0x7f3ebed8fa80] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 23.1.6 (418a0ffb).
[AVHWDeviceContext @ 0x7f3ebed8fa80] Driver not found in known nonstandard list, using standard behaviour.
to fix this, I had to download the Drivers/ file using
kubectl cp -n clusterplex clusterplex-pms-7c4954ddb5-lb2d9:/config/Library/Application\ Support/
Plex\ Media\ Server/Drivers/imd-115-linux-x86_64/dri/iHD_drv_video.so ./iHD_drv_video.so
and then upload this into the worker using
kubectl cp -n clusterplex ./iHD_drv_video.so clusterplex-worker-1:/config/Library/Application\ S
upport/Plex\ Media\ Server/Drivers/imd-115-linux-x86_64/dri/iHD_drv_video.so
I then had to symlink this inside the container using
ln -s '/config/Library/Application Sup
port/Plex Media Server/Drivers/imd-115-linux-x86_64/dri/iHD_drv_video.so' iHD_drv_video.so
within the /config/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64
folder
The question now is, why is the worker not getting this driver/cache folder created?
Edit: Nope, still says "Distributed transcoder failed, calling local"
[AVIOContext @ 0x7fcb2906bd00] Statistics: 0 bytes read, 0 seeks
[tcp @ 0x7fcb2b5e6f00] Starting connection attempt to 10.104.182.163 port 32499
[tcp @ 0x7fcb2b5e6f00] Successfully connected to 10.104.182.163 port 32499
[eac3_eae @ 0x7fcb275a7280] EAE watchfolder is not writable: /tmp/pms-75dc717a-73a3-4046-8fe2-f8d477997038/EasyAudioEncoder/Convert to WAV (to 8ch or less)/4t0y3a8tcfr4n8qhftifpklq_20206-0-test.tmp
Stream mapping:
Stream #0:1 (eac3_eae) -> aresample:default
Stream #0:0 -> #0:0 (copy)
aresample:default -> Stream #0:1 (aac)
Stream #0:2 -> #1:0 (subrip (native) -> ass (native))
Error while opening decoder for input stream #0:1 : Generic error in an external library
[AVIOContext @ 0x7fcb2a2dc380] Statistics: 550768 bytes read, 5 seeks
Transcoder exit: child process exited with code 1
Completed transcode
Removing process from taskMap
Transcoder close: child process exited with code 1```
the solution from https://github.com/pabloromeo/clusterplex/issues/223 that audiophonicz posted works for me.
Describe the bug Doesn't appear to find GPUs
To Reproduce 1.) install i915 gpu operator 2.) install this via helm 3.) set FFMPEG_HWACCEL: vaapi
use the following helm values:
Expected behavior It works
Screenshots
Desktop (please complete the following information):
Additional context
that proves the gpus exist. There was someone in the issues section talking about i915 on k8s and said he finally got it to work, but I'm not sure how, as even trying to add securitycontext.privileged = true didn't work