New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
H.265 (Intel QSV) not showing #265
Comments
Could you share the activity log ( |
Sure, there you go:
|
Sadly I didn't find a solution yet. Any help would be much appreciated. |
I'm seeing the same problem with the 23.xx tags. QSV for H.264 is there but QSV for h.265 don't show up as options in the UI. The last working version for QSV H.265 was 1.25.1 |
New tag, not advertising H.265 support:
Old tag: ` |
I was able to get this working on a bare Ubuntu 22.04 LTS host with a self-compiled HandBrake but only after updating all the Intel Media Drivers to the ones from Intel's repo, version 23. Before that, same behavior, claims H.264 supported but H.265 not supported. After, this is the output from the host-installed Handbrake: [21:51:50] Compile-time hardening features are enabled |
Thanks for this input. I will update the libraries. Did you use/compile the Intel Media SDK (https://github.com/Intel-Media-SDK/MediaSDK) ? I think it should no longer be used by HandBrake, so I would remove it at the same time. |
Sorry, it's hard for me to tell for sure. I basically followed the instructions to add this repo on the host: And then built the Handbrake 1.6.1 tag using their instructions at https://handbrake.fr/docs/en/latest/developer/build-linux.html, installing all of the packages under "Ubuntu". I think you're right about the media SDK being no longer used. I tried messing with your build script a little to pull in new things but I still couldn't get the "Media SDK hardware API" version to bump up to 2.8, which I think is the key. I'm happy to help you test new Docker tags if you don't have Alder Lake hardware, I think your current stack should work up to the 10th gen Intels. I'm just not very familiar with Alpine in the base image and also can't tell exactly what the Intel Ubuntu repos pull in exactly. But it's definitely something doable in your Docker image, as all this Jammy experimenting I'm doing is in an unprivileged ProxMox LXC container so it's not doing anything special at the kernel or GPU firmware level. |
I also want to caution: Don't use the old tags mentioned above that "work". Yes the encoder works, but the quality of H.265 10-bit is horrifying, including random flickering of solid backgrounds like the sky. The properly compiled / updated driver stack mentioned above does not have that issue, on the same hardware. |
Can you try the image tag |
Unfortunately, still missing the H.265 encoder. Here's the log output: [00:26:28] CPU: 12th Gen Intel(R) Core(TM) i9-12900H |
Does it change anything when you run the container in privileged mode ? Also, can you try the following steps:
|
Privileged mode doesn't make a difference. My /dev/dri is chmodded 666 via udev rules and I have been able to spin up a small Ubuntu docker image in the same container and verify that VAAPI access works. Here's the strace for HandBrakeCLI -- it looks like it is looking for mediasdk libraries read(3, "/lib\n/usr/lib\n/usr/local/lib\n/op"..., 55) = 55 |
Thank you. Could you also do the same exercise for your HandBrake version on Ubuntu ? |
Sure! openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libass.so.9", O_RDONLY|O_CLOEXEC) = 3 |
According to the comments in this Reddit thread that I've posted before I asked for help here, the issue seems to be with 12th gen Intel. I don't know about newer CPUs, but older ones don't seem to have this problem. |
From what I can see, there is no missing library in the container. What is different between the container and the Ubuntu installation seems to be the detection of the hardware: Ubuntu:
Container:
@johndong, are you running the Unbuntu installation on the same unRAID host as the container ? I guess you are running in a VM ? |
u/alvinleongcw on Reddit |
Just wanted to chime in that I'm experiencing this exact issue with a 13900k as well, with the docker running the latest version on my Unraid server (v23.06.1). I recently swapped from a 10900k where it was working fine to the 13900k with the QSV h265 options missing. The iGPU works fine for H264, in Plex, in tdarr, unmanic, etc. For what it's worth, this is on a MSI z790 Meg Ace motherboard if that matters. |
Same issue here with 13100 |
Same issue (Handbrake: 23.06.1) here with 13900t on a Unraid-System (Vers. 6.12.4). |
Seems to me that it's caused by an outdated intel driver. The container is still running v 22 while intel is at 30 |
You are talking about which driver exactly ? |
I try to keep them up-to-date, but as you said, this generally doesn't help. The problem seems to be with the detection/usage done by HandBrake itself. |
I'm not too versed in the whole process, but, according to their experience, going to 30.0.101.1660 seems to make it work once again: https://www.reddit.com/r/handbrake/comments/uhkzfo/qsv_no_longer_an_option_for_h265_encodes/ |
I think the version |
yeah i wasn't sure if it applied, but it did seem to be strangely similar in symptoms. I bid ye good odds |
Can we get an update on this? Need to get AV1 QSV to show now the Intel Arc cards are properly supported in the Linux kernel. |
@jlesage After poking around a bit, this appears to be a lib pathing issue. Running HandBrake CLI help to see available encoders:
Providing LD_LIBRARY_PATH shows the correct encoders:
Adding |
Thanks @mizzack, this is useful information. I would like to have more information about the libraries that are not found when Could you provide the full output of these 2 commands (to run inside the container):
|
That arg didn't really change the output as far as I can tell. The difference between setting the LD_LIBRARY_PATH is apparent, though. It now correctly identifies the GPU (Arc A380) capabilities and uses a different implementation? libmfx-gen vs. libmfxhw64
|
So I found some logic in the oneVPL dispatcher, when it finds available libraries. Libraries that are "naturally" found under I made some changes that should fix the problem. @mizzack, could you try the |
Thanks for the try! I will release a new official image. |
This issue should now be fixed with the latest image. |
Hello everyone,
I'm using this container on my Unraid-machine with an i3 12100.
When want to encode a video file, I cannot choose the H.265 (Intel QSV) encoder, because it doesn't appear in the list in the Video tab.
I have the i915 driver enabled and I have --devices /dev/dri added as an extra startup parameter for the container.
H.264 (Intel QSV) is there and works fine, I can also use HW accelerated transcoding in other containers.
When I try to use the Hardware>H.265 QSV 1080p preset, the codec option in the Video tab just defaults to the first entry (which is AV1 (SVT))
The text was updated successfully, but these errors were encountered: