-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Kodi 19 no sound over hdmi using fkms #4634
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
Comments
Can you report output of |
With all of the latest 5.19, 5.14 and 5.15 kernels I have had to put this in cmdline.txt, not just kodi: KMS: Basically this looks like this it turns on and off the bcm2835-hdmi and vc4-hdmi sound. I am guessing the PiOS is using something different to accomplish this. This was done automatically before this depending on which mode you were booting along with the Headphones. Our thread: https://forum.manjaro.org/t/i-have-no-sound-output-through-hdmi-on-5-10-73-1-or-5-14-or-5-15/86485 |
@Dark-Sky: snd-bcm2835.enable_compat_alsa=1 works for me with fkms, thank you for the detailed information. @popcornmix: do you still want me to report those outputs after Dark-Sky's answer? |
If you are saying that then behaviour changed between 5.10.63 and 5.10.73 kernels, then I'd like to understand why (it's not something I'm immediately aware of having a new requirement). So the logs could b useful. |
In the past kernels fkms would boot ok. Starting with kernels 5.14 and 5.15 kernels I figured out I had to manually put values with snd-bcm2835.enable_compat_alsa= depending on which mode (kms/fkms). And with the last 5.10 this issue crept in. This is with no mention of snd-bcm2835.enable_compat_alsa=1 in cmdline.txt with fkms using V3D rendering. All you get is the headphones but what is strange is the hdmi seems to be picked up in inxi but not available to be picked if you open up the Sound Settings to switch Headphones is the only choice. I have seen multiple times with in the last couple of months if these manual setting was not right on the 2 newer kernels that it would boot up to going into the graphical login or trying to enter kodi I would get a black screen and a message from my monitor saying "No Signal". I have not seen this on the latest 5.10 because as soon as I saw my sound situation I knew what to try to fix it. dmesg: https://drive.google.com/file/d/1LkM3gOQVSgLjuGjre07XYMpzy3UVESl2/view?usp=sharing Xorg log: https://drive.google.com/file/d/1ozSjN5ezFWZsL8PaZSvFfAVuuXivQO4G/view?usp=sharing |
@popcornmix : |
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
@popcornmix I put the new bcm2711-rpi-4-b.dtb through a battery of tests and all is back to what it used to be. I removed any mention of snd-bcm2835.enable_compat_alsa= in config.txt and tested fkms/kms with V3D rendering with the DE and tested kodi-rpi 19.2 with kms and fkms. As far as I am concerned this fixes and was a firestorm getting people to adjust to the way you all had it and we released new images with that change yesterday. Now I am having to re-live that memory all over again. Just wanted to let you know I understand. Game on again..... lol cmdline.txt used in all tests:
fkms aplay -l:
kms aplay -l:
A side note: It has been mentioned that with kodi using fkms one does not get HW decoding. That is not the case here. |
Would sending you some stickers help? |
LOL. I am used to it I have been messing with the pi's since the first one came out. I even to this day get the first pi up to date just for nostalgia. All is good.... |
Correct. Hardware video decoding is not related to the choice of kms or fkms. kms only affects the display pipeline (which includes hdmi audio), so there is probably some confusion with omxplayer and mmal variants of kodi which won't work with kms (for display reasons rather than decode reasons). The newer v4l2 interfaces (for HEVC/H264, and MPEG4/MPEG-2/VC-1 on older Pi's) work fine with kms or fkms. |
I do not see specifically anything related to this change with the latest 5.14 and 5.15 kernels which has the same issue. I am reluctant to release new images if they still do not work with the same cmdline.txt now being used with this fix. A lot of the people are liking the current 5.15 kernel in the our forums. I guess I could copy over the new .dtb's in the kernel PKGBUILD but have not tested if all would be good. |
I see the fix in 5.14/5.15. e.g. a415622 |
Thanks when I looked a while ago I did not see a change on that file in History. |
I compiled and tested the latest 5.14 and 5.15 kernels and they appear to be good also. |
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
I'm experiencing a similar issue that wasn't fixed with 214bf6b. When running with KMS and disabling VC4 HDMI devices (i.e. setting Running 5.10.74 kernel with latest firmware (https://github.com/raspberrypi/firmware/tree/d2ab264b688a223e23029ffbba86820c8c6cb329) I get:
Same kernel but downgrade the firmware to https://github.com/raspberrypi/firmware/tree/d06e0ef85c22825a4491497a1d2a4787471f011b I get:
This would be the expected behaviour. This doesn't work with any newer firmware (bisected this to something that changed between https://github.com/raspberrypi/firmware/tree/d06e0ef85c22825a4491497a1d2a4787471f011b and https://github.com/raspberrypi/firmware/tree/19272ccd69049aaf42c78a235a0bf37dbabd5ea7) @pelwell @popcornmix |
Is this on a Pi 4? It may not matter, but it could make a difference. And thanks for bisecting it down to one commit - that's always helpful. |
Ah, yes. This is on Pi 4. |
I'm investigating now, but in the meantime please do create a new issue. |
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
Confirm that snd-bcm2835.enable_compat_alsa=1 works for me with fkms, and it is apparently ignore with kms |
Which kernel are you using. You should not have to do it with the later kernels. |
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
5.10.63-v7+ #1496 SMP Wed Dec 1 15:58:11 GMT 2021 armv7l GNU/Linux |
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
commit 526e02760deca2d46a90d7471804f1edf232e21a from https://github.com/raspberrypi/linux.git rpi-5.15.y The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: raspberrypi/linux#4634 raspberrypi/linux#4635 Signed-off-by: Phil Elwell <[email protected]> Signed-off-by: Meng Li <[email protected]>
commit 526e02760deca2d46a90d7471804f1edf232e21a from https://github.com/raspberrypi/linux.git rpi-5.15.y The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: raspberrypi/linux#4634 raspberrypi/linux#4635 Signed-off-by: Phil Elwell <[email protected]> Signed-off-by: Meng Li <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: #4634 #4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: raspberrypi#4634 raspberrypi#4635 Signed-off-by: Phil Elwell <[email protected]>
The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: raspberrypi/linux#4634 raspberrypi/linux#4635 Signed-off-by: Phil Elwell <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/1958146 The firmware driver has been changed to count its clients. An earlier commit removed the downstream patch permitting the hacky technique of passing NULL to rpi_firmware_get to pick up the last instace, but failed to add the necessary "firmware" property to the bcm2835_audio node. Correct that omission. See: raspberrypi/linux#4634 raspberrypi/linux#4635 Signed-off-by: Phil Elwell <[email protected]> (cherry picked from commit f46dcb9ec472aa0860213141cba7f0e57a267fe0 rpi-5.15.y) Signed-off-by: Juerg Haefliger <[email protected]>
Describe the bug
With the latest linux-raspberrypi kernel on RPi4 aarch64 and kodi-rpi I cannot select hdmi as audio output device anymore.
To reproduce
With config.txt as follows:
dtoverlay=vc4-fkms-v3d,cma-512
dtoverlay=rpivid-v4l2
dtoverlay=
dtparam=audio=on
From kodi, go to Settings > System > Audio > Audio output device.
Expected behaviour
hdmi selectable as an audio output device.
Actual behaviour
there's only headphone option.
System
Additional context
Since kms heavily depends on the monitor's hdmi capabilties and I'm using an hdmi audio extractor in combination with a DVI monitor I have to use fkms. This worked fine until linux-raspberrypi4 5.10.63-18. After upgrading a few days ago hmdi sound was not available anymore. When I downgrade the current linux-raspberrypi4 5.10.73-2 kernel to linux-raspberrypi4 5.10.63-18 I have sound over hdmi back again. See also https://archlinuxarm.org/forum/viewtopic.php?f=65&t=15598 for more details.
The text was updated successfully, but these errors were encountered: