-
Notifications
You must be signed in to change notification settings - Fork 552
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
HEVC support on linux kernel 6.1 for Pi 4 #922
Comments
@cgutman is this a known issue? |
Hello. Any news ? Librelec is now stable with 6.1 kernel… |
Yes, I'm working on updating the Qt package to FFmpeg 5.1.2 which should have support for the upstreamed HEVC stateless decoder API, but I'm running into issues building the aarch64 package. Once I get that fixed, I will publish an updated package. |
Nice, thanks for the information... And obviously for that amazing piece of software ! |
Thank you @cgutman . With that version I'm getting the following error: It seems libmmal is not available for arm64: OS: Raspberry Pi OS 64 bits (bullseye) Thanks |
Oh, for ARM64 you need this one: https://ci.appveyor.com/project/cgutman/moonlight-packaging/builds/46529992/job/tkx93ehnquqje88n/artifacts |
Didn't notice it was armhf! Thank you so much for your work! |
@cgutman I tried the armhf build on LibreELEC with Sunshine, looks like it works well on kernel 6.1! :) Any idea when this will be released? Log file of the run: moonlight-qt.log |
This works great @cgutman, thank you! Tested on kern 6.1.19 aarch64. |
New |
HEVC still doesn't work for me, unfortunately.
|
That seems to imply that some other process is holding on to the frame buffer. Or you're launching from a terminal which can't access it, like from within a Screen session or something.
This entry might be a hint. For HEVC Moonlight needs to be launched directly from the TTY terminal, not from the Raspi OS desktop or the terminal app. Make sure it's configured for HEVC correctly per the instructions: RPi4 HEVC config |
I did launch it from the TTY without starting X. It worked last time I tried a few months ago, not sure what's going on now. I also followed those directions. |
It looks like you're running Sunshine on your host. Are you sure HEVC encoding is actually working with that host? Some pre-Ice Lake Intel GPUs are limited to H.264 encoding when using the encoding mode that Sunshine uses. It's hard to tell from the logs exactly, but it looks like Moonlight is probing for H.264. The MMAL H.264 decoder is unavailable because the Full KMS driver is active. |
Yeah I'm using Sunshine, forgot to mention. I'm using software encoding with it, as hardware encoding doesn't work well. Moonlight shouldn't be doing anything with H.264, I have it set to Force HEVC explicitly. This is also the exact same host that worked a few months ago (albeit with that freezing problem I reported). |
Okay this is odd. Sunshine was set to not advertise HEVC. But somehow Moonlight was still recieving HEVC, but couldn't decode it with hardware. Once I set Sunshine to advertise HEVC, it works. Why is Moonlight able to recieve HEVC if Sunshine wasn't sending it? That's so odd. |
It wasn't receiving HEVC. Moonlight will automatically fall back to H.264 if the server cannot do HEVC. You'll get a warning during connection establishment in that case, but due to the way DRM display ownership is handed off between Qt (which renders the GUI) and SDL (which owns the display during streaming) you may not see it on the Pi. |
Ahhh okay. I expected it to fail with an error since I explicitly selected HEVC instead of Automatic. |
Raspberry Pi OS and LibreELEC are moving towards the Linux kernel version 6.1 as there LTS-kernels.
I tried moonlight-qt on kernel 6.1. H264 decoding seems to work well with fkms, but HEVC hardware decoding isn't found in kms and fkms mode.
To reproduce:
sudo rpi-update next
to update the pi to the 6.1 kernelHopefully only a small change is needed :)
Moonlight-qt log on kernel 6.1: moonlight-log.txt
Pi OS moving Linux kernel to 6.1
LibreELEC's nightly images using 6.1 kernel
The text was updated successfully, but these errors were encountered: