Page 1 of 1

Hd-audio codec setup in Virtual Box

Posted: Wed Dec 08, 2021 2:38 pm
by Kamal123
Hi,
I am trying to implement hd-audio driver. Finally I have the first output stream running. First I setup the output stream descriptor than setup an output converter with stream I'd, format, cleared mute bit, power on (D0 state),eapd/btl. In Qemu, if I set the volume of output converter to 0 which is 0x80 the mute bit, it doesn't produce sound and if I set the volume to some value (e.g:20) it produces sound, but in virtual box if I don't setup any output converter than also, after running the stream it produces sound. I tried using the mute bit in all output converters than also it produces sound from the first output stream. Also I cannot control the volume using amplifier gain verb in virtual box.

Here's my code - https://github.com/manaskamal/aurora-xe ... da/hda.cpp

Thanks in advance

Re: Hd-audio codec setup in Virtual Box

Posted: Thu Dec 09, 2021 1:06 am
by Klakap
Also I cannot control the volume using amplifier gain verb in virtual box.
There is no guarantee that nodes can produce sound of other volume, or that they can be muted. You have to find it by verb 0xF00 command 0x12/0x0D

Also, it sounds like you are not setting any pin node, only output converter. It works in QEMU, but it may be problem when you come to Virtualbox.

Re: Hd-audio codec setup in Virtual Box

Posted: Thu Dec 09, 2021 7:14 am
by Kamal123
Hi,
Thanks for your reply!!

Finally, I can control the codec in virtual box, I can mute the output also I can increase or decrease volume. I directly used the registers (verb) of STAC9220 codec to control the output and it worked for me!! Currently I am thinking to write a separate driver for Sigmatel hda codec.

Re: Hd-audio codec setup in Virtual Box

Posted: Tue Dec 14, 2021 3:16 am
by Klakap
It should not work only in this way, did you try to change volume on pins connected to converter?

Re: Hd-audio codec setup in Virtual Box

Posted: Tue Dec 14, 2021 11:39 am
by Kamal123
Yes I did.. it didn't worked. I first checked if the pin was for output, than I tried sending VERB_SET_AMP_MUTE verb to pin node with mute bit cleared, left and right channel bit on and the volume, it still didn't worked. But using this method I am also able to play an wave file with different volumes. I am not cleared with pin widgets, I realised!! :(

Re: Hd-audio codec setup in Virtual Box

Posted: Tue Dec 14, 2021 1:17 pm
by Klakap
I checked it out with my code and found that no converter or pin in virtualbox have caability to change volume. Strange. I hope they will fix it in future.

Re: Hd-audio codec setup in Virtual Box

Posted: Tue Dec 14, 2021 11:14 pm
by Kamal123
Yes, exactly. I can control volume either with pin or direct output node in Qemu but not in VBox. I reported the bug to virtual box bug tracker.