On Fri, Aug 17, 2018 at 11:10:52AM +1000, [email protected] wrote:
> >Synopsis:    Unable to hear any audio/sound when playing
> >Category:    audio
> >Environment:
>       System      : OpenBSD 6.3
>       Details     : OpenBSD 6.3 (GENERIC.MP) #8: Sat Aug  4 16:56:56 CEST 2018
>                        
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
> >Description:
>       Unable to hear any audio. When checking with audioctl, play.errors are 
> incrementing.
> >How-To-Repeat:
>       Install OpenBSD on this hardware and attempt to play audio.
>         I've also tested this on FreeBSD and was unable to hear audio here 
> either.
>         When I tested in OS-X and Fedora (Linux) audio (play mp3 or ogg 
> files) plays without an issue

Apple machines always seem to require various quirks for audio.
Try this.

Index: azalia_codec.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/azalia_codec.c,v
retrieving revision 1.172
diff -u -p -r1.172 azalia_codec.c
--- azalia_codec.c      28 Mar 2017 04:54:44 -0000      1.172
+++ azalia_codec.c      17 Aug 2018 06:22:52 -0000
@@ -199,6 +199,7 @@ azalia_codec_init_vtbl(codec_t *this)
        case 0x10ec0885:
                this->name = "Realtek ALC885";
                this->qrks |= AZ_QRK_WID_CDIN_1C | AZ_QRK_WID_BEEP_1D;
+               printf("\nsubid %x\n", this->subid);
                if (this->subid == 0x00a1106b ||        /* APPLE_MB3 */
                    this->subid == 0xcb7910de ||        /* APPLE_MACMINI3_1 
(line-in + hp) */
                    this->subid == 0x00a0106b ||        /* APPLE_MB3_1 */
@@ -207,8 +208,15 @@ azalia_codec_init_vtbl(codec_t *this)
                }
                if (this->subid == 0x00a1106b ||
                    this->subid == 0xcb7910de ||        /* APPLE_MACMINI3_1 
(internal spkr) */
-                   this->subid == 0x00a0106b)
+                   this->subid == 0x00a0106b ||
+                   this->subid == 0x4200106b)
                        this->qrks |= AZ_QRK_WID_OVREF50;
+               if (this->subid == 0x0c00106b ||        /* Mac Pro */
+                   this->subid == 0x1000106b ||        /* iMac 24 */
+                   this->subid == 0x2800106b ||        /* AppleTV */
+                   this->subid == 0x3e00106b ||        /* iMac 24 Aluminum */
+                   this->subid == 0x4200106b)          /* Mac Pro 4,1/5,1 */
+                       this->qrks |= AZ_QRK_GPIO_UNMUTE_3;
                break;
        case 0x10ec0888:
                this->name = "Realtek ALC888";

Reply via email to