It's best to use card names instead of numbers as the latter may change (eg if you plug in a USB audio card).
Simply run "aplay -L", that will show you the available PCMs with card names - then use the same PCM as you used in kodi. eg here on RPi4 it looks like this:
"hdmi:CARD=vc4hdmi0,DEV=0" is what you use as pcm and the name after CARD= (vc4hdmi0 in my case) is your card - on intel you'll have multiple devices (DEV=...), one for each HDMI output.
You can then create .config/asound.conf like this (adapt to your PCM/card):Code
This creates a new pcm "myoutput" with a control named "PCM My Volume". The hint is only there so you can check with "aplay -L" if your new PCM is available. It should look like this:
A small gotcha is that the new mixer control will only show up after the device has been used once, so to see the new volume control you'll have to first access it. eg:
Then you should see the new mixer in amixer output:
In alsamixer and "amixer scontrols" it will show as "PCM My", as it automatically strips "Volume" from the end.
That's great. I am pushing one step forward here.
Here are the results of aplay -LCode
When I first tried to get sound to Chrome. I knew that plughw was to set to plughw:0,3 to work.
So Card was 0 and device was 3.
When I tried that from the aplay results, I got no where. I would have Chrome playing audio and speaker-test running without issues.
However, when I tried
It worked when Chrome was not playing sound and failed to work when chrome was playing sound. So I figured, this is the right card and device.
So next, it was time to test amixer volume change. I first ranCode
So it was added there. But running
had no effect at all on what Chrome was playing.
Is there any bindings that I should have done ? I tried rebooting to see if that was the issue, but that has no effect.
That's the default configuration of the Intel HDA driver. You can of course create another PCM using the "softvol" plugin - see here for details ALSA project - the C library reference: PCM (digital audio) plugins
In LE use /storage/.config/asound.conf instead of ~/.asoundrc and simply set the slave PCM to the HDMI PCM device you normally use.
Hello HiassofT ,
I tried to get it running all day today but I need a few pointers if that's okay with you.
When I looked at usr/share/alsa/alsa.conf to try to get the name of the slave PCM, I noticed that alsa set the devices dynamically, so I couldn't find a way to get the name of the device. So, I ran 'amixer' with the following resultCode
So, I assumed the slave PCM name to be "IEC958,0" since that the only one that muted the volume on my tests, with that in mind, i went ahead and created a new default device in the destination you told me with the name "asound.conf"
I do not see any results following a reboot.
Can you give me any pointers on what I am missing here.
I was just talking to him. Unfortunately this is an open issue, and he can't fix it at the moment. Sorry.
Da Flex, you went above and beyond. Thank you! At least I learned something new.
The answer is simply that there is no volume control for the IEC958/HDMI outputs. Only the analog outputs have (software) volume control.
HiassofT Thank you for the explanation! Just to clarify, is that by design or can that be modified in the alsa config file ?
I'm running out of ideas. The person, who knows the answer, is the add-on dev. Most add-on devs are at the Kodi forum. Try it there.
I believe the "browser.chrome" addon is in the Libreelec repo and was developed by CvH , if I am not mistaken. I will try looking for support at the Kodi forum.
Thanks again Da Flex
I think you understand what I did. Play around with other device channels from post #9. Maybe it's a good idea to disable auto-mute first ("Auto-Mute Mode").
I'm an RPi user, so I can't install Chrome to verify anything.
Da Flex, Thank you for your help.
I am out of my depth here. I tried every possible combination from post #9 and I tried with auto-mute disabled and enabled but to no avail.
Hopefully someone would come along who can give me any pointers on why amixer has no effects on HDMI sound other than mute and unmute.
From the technical view the sound device is closed in Kodi and opened in Chrome.
To control the volume in Chrome install and test one of the Chrome Sound/Volume Apps.
Thank you for the suggestion mglae!
I cannot say that I tried them all, but I tried more than my fair share of them.
They either have no effect at all from the get go or they mute Chrome and once that happens no matter how high I set the volume, it stays muted.
AmandaB Please post the output of this commands:
- cat /proc/asound/cards
I should have posted the output of both commands earlier. Sorry about that.Code
I just wanted to let you know that there was a word censored here in "Simpe mixer control 'Internal Mic bost',0". The word here was B-O-O-S-T
It seems like Chrome has it's independent audio settings. You could search for audio config files inside the Chrome add-on folder.
Another approach is to install the "Kodi Audio Mixer" add-on and try to find the right fader for Chrome.
Thank you for the pointers Da Flex
That helped me to push it a tad further. Running the "Kodi Audio Mixer" add-on, I noticed that the only control that affected Chrome audio was 'IEC958',0.
The issue now is that I can only mute/unmute (toggle) it, but amixer won't allow me to change the volume up or down (or "Kodi Audio Mixer", for the matter -- there is no volume slider next to "IEC958",0).
The command that I ran was
How would I investigate\fix this issue ?
Hello Da Flex,
I am in the same boat here, running Libreelec over HDMI and I tried amixer with every variation and it has no effect at all. I tried aplay -l.
I also ran the command
to list all available options there and I had Chrome open and tried them one by one, to no avail.
I understand that pulse-audio wouldn't work, since that is killed right before starting Chrome addon.
I am running:
libreelec (official): 9.2.6
Chrome addon: 9.2..0.104