Jump to content
Sign in to follow this  
Magicaldave

No/Crackling Audio in 10.3.6 VM

13 posts in this topic Last Reply

Recommended Posts

Hey All! Glad to be a part of the unRAID forums, best OS ever. Anyway, was hoping one of the experts over here could help me out. I managed to get an OSX virtual machine running really well with GPU acceleration and everything seemed to be working well until I tried to play audio. Using voodooHDA, my bluetooth and onboard audio devices have this really horrible crackling and distortion, it's totally unlistenable. 

 

Here's my build: 

 

Asrock X399 Taichi ultimate + TR4 1950x +16GB G. Skill Ripjaws (I know, not enough RAM) + gtx 1080/960.

 

My windows vms work great, as do the limited linux vms I've tried. I've followed numerous guides to fix this issue, starting with Gridrunner/Spaceinvader's latest guide to build a Mojave/HS vm. 

 

From there, I tried: 

 

https://www.tonymacx86.com/threads/audio-realtek-alc-applehda-guide.143757/ - This didn't work, as I couldn't figure out how to make any of the applicable fixes work on my x399. Didn't seem compatible. 

 

I tried - https://forum.amd-osx.com/viewtopic.php?f=24&t=4880 - made a post on this thread but didn't get a response. 

 

also tried - https://forum.amd-osx.com/viewtopic.php?f=23&t=4642 - basically the same thing but without a script to potentially break things.


When following the second guide, I receive the following error in terminal: 

 

Quote

Daves-Mac-Pro:Script+config davecorley$ sudo sh AMD_audio_cloverALC-130.sh

Agreement

The audio_cloverALC script is for personal use only. Do not distribute

the patch, any or all of the files or the resulting patched AppleHDA.kext

for any reason without permission. The audio_cloverALC script is

provided as is and without any kind of warranty.

File: audio_cloverALC-130.command_v0.5

Release Mode

EFI partition is mounted

System Integrity Protection status: disabled.

 

OK to patch

Error: no IOReg/HDEF; BIOS/.../HD Audio/disabled or ACPI problem

No system files were changed

To save a Copy of this Terminal session: Terminal/Shell/Export Text As ...

Daves-Mac-Pro:Script+config davecorley$

 

Also here is my XML:

 

Quote

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='3' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>High Sierra-Prime-2</name>
  <uuid>3af649ac-12e4-65a2-499e-8b26aeea830c</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>6815744</memory>
  <currentMemory unit='KiB'>6815744</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>16</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='17'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='18'/>
    <vcpupin vcpu='4' cpuset='3'/>
    <vcpupin vcpu='5' cpuset='19'/>
    <vcpupin vcpu='6' cpuset='4'/>
    <vcpupin vcpu='7' cpuset='20'/>
    <vcpupin vcpu='8' cpuset='5'/>
    <vcpupin vcpu='9' cpuset='21'/>
    <vcpupin vcpu='10' cpuset='6'/>
    <vcpupin vcpu='11' cpuset='22'/>
    <vcpupin vcpu='12' cpuset='7'/>
    <vcpupin vcpu='13' cpuset='23'/>
    <vcpupin vcpu='14' cpuset='8'/>
    <vcpupin vcpu='15' cpuset='24'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-3.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/3af649ac-12e4-65a2-499e-8b26aeea830c_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='16' threads='1'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/High Sierra-PRIME/vdisk3.img'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x8'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x9'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='7' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x07' slot='0x01' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:6d:12:f2'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='e1000-82545em'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-3-High Sierra-Prime-2/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/disk2/isos/10801211.rom'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x3'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x04ca'/>
        <product id='0x004b'/>
        <address bus='3' device='2'/>
      </source>
      <alias name='hostdev3'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x093a'/>
        <product id='0x2521'/>
        <address bus='1' device='8'/>
      </source>
      <alias name='hostdev4'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1532'/>
        <product id='0x0208'/>
        <address bus='1' device='2'/>
      </source>
      <alias name='hostdev5'/>
      <address type='usb' bus='0' port='4'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x8087'/>
        <product id='0x0aa7'/>
        <address bus='1' device='3'/>
      </source>
      <alias name='hostdev6'/>
      <address type='usb' bus='0' port='5'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
  <qemu:commandline>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk='/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,+avx,+avx2,+aes,+xsave,+xsaveopt,vmware-cpuid-freq=on,'/>
  </qemu:commandline>
</domain>

 

 

And my IOMMU groups just in case it's relevant for some reason:

 

Quote

IOMMU group 0:[1022:1452] 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 1:[1022:1453] 00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

IOMMU group 2:[1022:1452] 00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 3:[1022:1452] 00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 4:[1022:1453] 00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

IOMMU group 5:[1022:1452] 00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 6:[1022:1452] 00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 7:[1022:1454] 00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B

IOMMU group 8:[1022:1452] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 9:[1022:1454] 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B

IOMMU group 10:[1022:790b] 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 59)

[1022:790e] 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)

IOMMU group 11:[1022:1460] 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0

[1022:1461] 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1

[1022:1462] 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2

[1022:1463] 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 3

[1022:1464] 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 4

[1022:1465] 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 5

[1022:1466] 00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 6

[1022:1467] 00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 7

IOMMU group 12:[1022:1460] 00:19.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0

[1022:1461] 00:19.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1

[1022:1462] 00:19.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2

[1022:1463] 00:19.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 3

[1022:1464] 00:19.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 4

[1022:1465] 00:19.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 5

[1022:1466] 00:19.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 6

[1022:1467] 00:19.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 7

IOMMU group 13:[1022:43ba] 01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset USB 3.1 xHCI Controller (rev 02)

[1022:43b6] 01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset SATA Controller (rev 02)

[1022:43b1] 01:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] X399 Series Chipset PCIe Bridge (rev 02)

[1022:43b4] 02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:06.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[1022:43b4] 02:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 300 Series Chipset PCIe Port (rev 02)

[8086:1539] 04:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

[8086:24fb] 05:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)

[8086:1539] 06:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

IOMMU group 14:[10de:1b80] 08:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)

[10de:10f0] 08:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)

IOMMU group 15:[1022:145a] 09:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 145a

IOMMU group 16:[1022:1456] 09:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor

IOMMU group 17:[1022:145c] 09:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller

IOMMU group 18:[1022:1455] 0a:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 1455

IOMMU group 19:[1022:7901] 0a:00.2 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)

IOMMU group 20:[1022:1457] 0a:00.3 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller

IOMMU group 21:[1022:1452] 40:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 22:[1022:1453] 40:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

IOMMU group 23:[1022:1452] 40:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 24:[1022:1452] 40:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 25:[1022:1453] 40:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

IOMMU group 26:[1022:1452] 40:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 27:[1022:1452] 40:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 28:[1022:1454] 40:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B

IOMMU group 29:[1022:1452] 40:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge

IOMMU group 30:[1022:1454] 40:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B

IOMMU group 31:[144d:a808] 41:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981

IOMMU group 32:[10de:1401] 42:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 960] (rev a1)

[10de:0fba] 42:00.1 Audio device: NVIDIA Corporation GM206 High Definition Audio Controller (rev a1)

IOMMU group 33:[1022:145a] 43:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 145a

IOMMU group 34:[1022:1456] 43:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) Platform Security Processor

IOMMU group 35:[1022:145c] 43:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) USB 3.0 Host Controller

IOMMU group 36:[1022:1455] 44:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 1455

IOMMU group 37:[1022:7901] 44:00.2 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 51)

 

 

I'd really appreciate any help that the members of unRAID's forum here could provide. I've been screwing around with this for the better part of a week now on the audio alone and I'm feeling pretty clueless at this point. Surely there's a config issue I'm missing somewhere here, as I've seen others with similar systems that have been met with much success. Also, I've attached the files that were requested for problem reporting in the second thread I mentioned. Hopefully someone can provide more info than I was able to glean from them myself.  Cheers!

config.plist

Dave’s Mac Pro.ioreg

Terminal Saved Output

Share this post


Link to post

@Magicaldave please remove the part after

3 hours ago, Magicaldave said:

<qemu:arg value='isa-applesmc,osk=

from your xml in the first post. This key is publicly available, sure, but apple sued people for puplishing this key. If you watched the videos from Spaceinvaders you should already know this. 

Share this post


Link to post
43 minutes ago, bastl said:

@Magicaldave please remove the part after

from your xml in the first post. This key is publicly available, sure, but apple sued people for puplishing this key. If you watched the videos from Spaceinvaders you should already know this. 

I have edited his post.

 

Also @Magicaldave, I don't know what those attachments are and I am not inclined to find out. If that information can be rendered as plain text or an image then please do so in the future.

Share this post


Link to post

Jeez, sorry guys, I really should've done better on that. Was really late when I drafted this post so I missed a couple things. 

 

What I attached is pretty simple.

 

Config.plist, minus serials: 

 

Quote

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ACPI</key>
    <dict>
        <key>DSDT</key>
        <dict>
            <key>Name</key>
            <string>q35-acpi-dsdt.aml</string>
            <key>Patches</key>
            <array>
                <dict>
                    <key>Comment</key>
                    <string>AZAL to HDEF</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    QVpBTA==
                    </data>
                    <key>Replace</key>
                    <data>
                    SERFRg==
                    </data>
                </dict>
            </array>
        </dict>
    </dict>
    <key>Boot</key>
    <dict>
        <key>Arguments</key>
        <string>nvda_drv=1</string>
        <key>DefaultVolume</key>
        <string>LastBootedVolume</string>
        <key>Log</key>
        <true/>
        <key>Secure</key>
        <false/>
        <key>Timeout</key>
        <integer>3</integer>
    </dict>
    <key>Devices</key>
    <dict>
        <key>Audio</key>
        <dict>
            <key>Inject</key>
            <integer>1</integer>
            <key>ResetHDA</key>
            <true/>
        </dict>
        <key>USB</key>
        <dict>
            <key>AddClockID</key>
            <true/>
            <key>FixOwnership</key>
            <true/>
            <key>HighCurrent</key>
            <true/>
            <key>Inject</key>
            <true/>
        </dict>
    </dict>
    <key>GUI</key>
    <dict>
        <key>Scan</key>
        <dict>
            <key>Entries</key>
            <true/>
            <key>Legacy</key>
            <false/>
            <key>Linux</key>
            <false/>
            <key>Tool</key>
            <true/>
        </dict>
        <key>ScreenResolution</key>
        <string>1920x1080</string>
        <key>Theme</key>
        <string>embedded</string>
    </dict>
    <key>Graphics</key>
    <dict>
        <key>Inject</key>
        <dict>
            <key>NVidia</key>
            <false/>
        </dict>
    </dict>
    <key>KernelAndKextPatches</key>
    <dict>
        <key>KextsToPatch</key>
        <array>
            <dict>
                <key>Comment</key>
                <string>Zeroing 11d4198A codec</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                ihnUEQ==
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>
                AAAAAA==
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>Zeroing 11d41984 codec</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                hBnUEQ==
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>
                AAAAAA==
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>10.12-AppleHDA/ALC1220</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                ixnUEQ==
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>
                IBLsEA==
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>add 1022 vendor id</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                PQIQAAB0ez3eEAAAD4VTAQAA
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDAController</string>
                <key>Replace</key>
                <data>
                PSIQAAB0ez0CEAAAD4RwAAAA
                </data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>hardcoding 1022 1457 </string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>
                hoAbgQAADwA=
                </data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDAController</string>
                <key>Replace</key>
                <data>
                IhBXFAAADwA=
                </data>
            </dict>
        </array>
    </dict>
    <key>RtVariables</key>
    <dict>
        <key>BooterConfig</key>
        <string>0x28</string>
        <key>CsrActiveConfig</key>
        <string>0x67</string>
        <key>ROM</key>
        <string>UseMacAddr0</string>
    </dict>
    <key>SMBIOS</key>
    <dict>
        <key>BiosReleaseDate</key>
        <string>04/09/2018</string>
        <key>BiosVendor</key>
        <string>Apple Inc.</string>
        <key>BiosVersion</key>
        <string>IM142.88Z.0130.B00.1804091831</string>
        <key>BoardManufacturer</key>
        <string>Apple Inc.</string>
        <key>BoardType</key>
        <integer>10</integer>
        <key>BoardVersion</key>
        <string>1.0</string>
        <key>ChassisAssetTag</key>
        <string>iMac-Aluminum</string>
        <key>ChassisManufacturer</key>
        <string>Apple Inc.</string>
        <key>ChassisType</key>
        <string>0x0D</string>
        <key>Family</key>
        <string>iMac</string>
        <key>FirmwareFeatures</key>
        <string>0xE00FE137</string>
        <key>FirmwareFeaturesMask</key>
        <string>0xFF1FFF3F</string>
        <key>LocationInChassis</key>
        <string>Part Component</string>
        <key>Manufacturer</key>
        <string>Apple Inc.</string>
        <key>Mobile</key>
        <false/>
        <key>PlatformFeature</key>
        <string>0x01</string>
        <key>ProductName</key>
        <string>iMac14,2</string>
        <key>Version</key>
        <string>1.0</string>
    </dict>
    <key>SystemParameters</key>
    <dict>
        <key>InjectKexts</key>
        <string>Yes</string>
        <key>InjectSystemID</key>
        <true/>
        <key>NvidiaWeb</key>
        <true/>
    </dict>
</dict>
</plist>
 

 

 

The third file is basically just a copy of the terminal output in my first post, nothing super important.

 

What I think might be useful here is my ioReg dump which shows my audio device connected, but not as HDEF or HDAU as (I think?) it should be. macOS has got it.. just confused about what to do with it?

 

 

 

 

 

Screen Shot 2019-01-11 at 9.21.37 PM.png

Share this post


Link to post

This sounds like Message Signaled Interrupts (MSI) issues to me, there is a tool for that fixes the Windows registry for these issues, but I don't know if OSx VM's have an equivalent or if it is even necessary...

 

Edit:

Here is the Windows version of that tool if anyone needs it...

MSI_util.exe

Edited by Warrentheo

Share this post


Link to post
12 minutes ago, Warrentheo said:

This sounds like Message Signaled Interrupts (MSI) issues to me, there is a tool for that fixes the Windows registry for these issues, but I don't know if OSx VM's have an equivalent or if it is even necessary...

I was looking into this in particular, it didn’t get me far. MSI seems to be a driver-level thing in macOS, so perhaps an alteration to applehda.kext or realtekalc.kext could allow MSI to be enabled, but I actually have the crackling audio issue with usb AND Bluetooth headphones even if I use a vanilla Applehda.kext and completely remove voodoo or realtekalc. 

 

I think I may have mentioned this previously, but I can’t reproduce the audio issues on other OSes, and my audio codec is running in LSI mode in windows. As for whether is OS X needs it? Got me there. 

Share this post


Link to post

Something else to consider, try changeing the CPU's passed through to the VM, especially leaving CPU-0 and its hyper-thread out if it has one, just to test...  If that changes anything, consider adding:

<emulatorpin cpuset='0,4'/>

so it looks something like this:

 

  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='5'/>
    <vcpupin vcpu='3' cpuset='2'/>
    <vcpupin vcpu='4' cpuset='6'/>
    <vcpupin vcpu='5' cpuset='3'/>
    <vcpupin vcpu='6' cpuset='7'/>
    <emulatorpin cpuset='0,4'/>
  </cputune>

Make sure to edit the line so it matches the 2 CPU's for CPU-0 and its Hyper-thread if it has one...

Edited by Warrentheo

Share this post


Link to post

Did some CPU tweaking, but after rolling back to stock CPU and RAM clocks in BIOS/clover and setting the VM to cores 0-3, 4-7, 8-11, and 12-15 did nothing to fix audio on VoodooHDA. I tried adjusting the bitrate through Audio midi devices, but usually testing with System Preferences just made the whole VM crash and require a full reboot of the system since I can't properly reset my audio device.

 

As for native audio, I did manage to make some tweaks and get my audio device recognized as HDEF: 

 

Screen Shot 2019-01-14 at 7.40.03 PM.png

 

Doesn't seem to have done much, I now just get a different error when running the install script: 

 

Quote

Daves-Mac-Pro:Script+config davecorley$ sudo sh AMD_audio_cloverALC-130.sh

Agreement
The audio_cloverALC script is for personal use only. Do not distribute
the patch, any or all of the files or the resulting patched AppleHDA.kext
for any reason without permission. The audio_cloverALC script is
provided as is and without any kind of warranty.
 
File: audio_cloverALC-130.command_v0.5
Release Mode
EFI partition is mounted
System Integrity Protection status: disabled.

OK to patch
Error: Something is wrong with your HDEF patch, please report issue. Save output (CMD + A) to a text file. Also, dump IOReg and attach config.plist.
Daves-Mac-Pro:Script+config davecorley$ ]

 

Edited by Magicaldave

Share this post


Link to post

I got tired of playing/fighting with this stuff a year ago and instead use a usb audio adapter. Best time saving choice I ever made.

Share this post


Link to post
7 hours ago, 1812 said:

I got tired of playing/fighting with this stuff a year ago and instead use a usb audio adapter. Best time saving choice I ever made.

I like your thinking here, but I’m a little hesitant to try this as I’ve had issues with not just onboard audio, but usb and Bluetooth as well. In fact that’s where the audio is worst. 

 

What’re you using? Think an add-in card could achieve the same effect, or does it *have* to be usb-attached?

Share this post


Link to post
3 hours ago, Magicaldave said:

I like your thinking here, but I’m a little hesitant to try this as I’ve had issues with not just onboard audio, but usb and Bluetooth as well. In fact that’s where the audio is worst. 

 

What’re you using? Think an add-in card could achieve the same effect, or does it *have* to be usb-attached?

Add on usb card would probably be fine too, but I don’t have space to dedicate to just that.

 

i use a cheap 10 dollar usb “7.1 channel” adapter from microcenter, says it’s osx compatible.  

 

https://www.microcenter.com/product/340583/usb-20-(type-a)-male-to-35mm-female-stereo-audio-adapter

 

https://www.microcenter.com/product/364947/3d-audio-sound-card-usb-adapter

 

i havent read this thread closely, but if you are sharing OS X vm cores with anything else (non-isolated, including unRaid) that can introduce audio issues. I’ve had audio issues because of that before.

 

Share this post


Link to post
10 hours ago, 1812 said:

Add on usb card would probably be fine too, but I don’t have space to dedicate to just that.

 

i use a cheap 10 dollar usb “7.1 channel” adapter from microcenter, says it’s osx compatible.  

 

https://www.microcenter.com/product/340583/usb-20-(type-a)-male-to-35mm-female-stereo-audio-adapter

 

https://www.microcenter.com/product/364947/3d-audio-sound-card-usb-adapter

 

i havent read this thread closely, but if you are sharing OS X vm cores with anything else (non-isolated, including unRaid) that can introduce audio issues. I’ve had audio issues because of that before.

 

to;dr I’ve done a tone of cpu and clover tuning, nothing seems to fix it - although as far as native audio goes, I’ve made enough headway to fairly confidently say I could fix it with the right DSDT edits - no clue what edits to make though. Maybe I’ll try and compare the q35 dsdt to one I get from a baremetal install. Does “duel-booting” work with OS X?

 

I guess I’ll try again with usb audio, try to get Voodoohda in reasonable shape, and if I can make that happen I’ll just order a DAC for my 3.5 kit. 

 

What about Bluetooth, though?

Share this post


Link to post
6 hours ago, Magicaldave said:

Does “duel-booting” work with OS X?

I've never dual booted osx in a vm, but it works on bare metal. Boot camp or something....

 

 

6 hours ago, Magicaldave said:

I’ve done a tone of cpu and clover tuning, nothing seems to fix it

Are you currently sharing osx vm cores with anything else or are they isolated in unRaid? If you haven't done this, you should. OSX vm's are very finicky about audio and sharing cores, even with the host.

 

6 hours ago, Magicaldave said:

What about Bluetooth, though?

I've only used bluetooth a handful of times via an adapter on my usb card and haven't had issues.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this