commit ca219f57e5b25496edf1970054f922181d47d6e8 Author: Dhiru Kholia Date: Sat Feb 13 18:35:20 2021 +0530 OSX-KVM - March 2021 - Batch Update 1 Changes: - Upgrade to OpenCore 0.6.7-RELEASE - Big Sur image building script updates (Nick) - See https://github.com/kholia/OSX-KVM/pull/169 for details. - Removed history to reduce repository size diff --git a/.github/issue_template.md b/.github/issue_template.md new file mode 100644 index 0000000..28fcd73 --- /dev/null +++ b/.github/issue_template.md @@ -0,0 +1,10 @@ +#### Notes + +- Please, DO NOT create a new issue if your issue is already known. + - Carefully read the documentation included in the repository. + - Look closely at the closed and open issues. + +- Attach details about your host OS (distribution, kernel, QEMU version) and + host CPU (vendor and model number). + +- Remove this template message after reading it ;) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..37f130d --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +*.iso +mac_hdd.img +mac_hdd_ng.img +*.sha256sum +*.sucatalog +*.img +*.dmg +*.dist +*.smd +*.dmg +OVMF_VARS-1024x768.fd diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e7a5e28 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "resources/OcBinaryData"] + path = resources/OcBinaryData + url = https://github.com/acidanthera/OcBinaryData.git diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..5c57190 --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,119 @@ +### Credits + +- [UPSTREAM] https://github.com/acidanthera/OpenCorePkg + https://dortania.github.io/ - for making all this possible! + +* RehabMan, th3joker and others - FakeSMC.kext, https://bitbucket.org/RehabMan + +* Chuck Remes (chuckremes) - better documentation + +* Meissa - better networking documentation + +* PJ Meyer (pjmeyer) - compatibility with modern versions of GNU mktemp + +* Robert DeRose (RobertDeRose) and Dirk Bajohr (isolution-de) - macOS support + +* Fritz Elfert (felfert) - cleanups, better documentation, and nicer ISO creation script + +* Ian McDowell (IMcD23) - more documentation, and better ISO creation script + +* voobscout - libvirt XML file + +* Evgeny Grin (Karlson2k) - for the original ISO creation script + +* Gabriel L. Somlo - for getting things started and going + +* http://www.insanelymac.com/ - Enoch bootloader + +* Nicholas Sherlock - UEFI, Clover, and other hacks + +* Phil Dennis-Jordan - virtio-net-osx, usb-tablet and other hacks + +* Nikolay Dimitrov (nikidim) - Docker for Mac + +* Francisco de la Peña - libvirt XML file for macOS High Sierra + +* Christian Giliberto - libvirt XML tweaks + +* José Roberto Meza Cabrera - AMD Ryzen testing + +* Paweł BB Drozd - UEFI resolution + +* Jan Kuri (jkuri) - Mojave ISO creation fixes + +* Mike Hardy (mikehardy) - Network documentation improvements + +* CuriousTommy + pickled_monkey - Information on vmxnet3 network adapter + +* Povilas Kanapickas (p12tic) - Flexible ISO generation + +* Dick Marinus (meeuw) - Allow usage of latest Clover + +* Foxlet (foxlet) - Allow installation without existing macOS + +* Ralph Kühnert (redradrat) - Debug fetch-macOS.py script + +* Pellegrino Prevete (tallero) - Better documentation + +* Niklas Korz (niklaskorz) - Stop using brctl + +* Mike Bybee (stereoplegic) - Higher resolution documentation + +* Yarkhan - Passthrough for making iDevices work + +* Yu-Chen Lin (npes87184) - Virtio and qemu-img notes + +* Wen-He - Catalina related fixes + +* Alexander Galato (alet) - OVMF build documentation fixes + +* zimbatm - portability enhancements, cool crazy ideas (thanks!) + +* https://github.com/Leoyzen/KVM-Opencore - OpenCore support + +* Kyle Dayton - UEFI, Clover, and GPU passthrough notes + +- foxtrotdragon - OpenCore language fixes + +- hoshsadiq (Hosh) - fetch-macOS.py improvements + +- philffm - Typo fix in `Big-Sur.md` + +- jviotti - Headless mode fixes + +- offlinehacker - libvirt support + +- hellodeibu - Big Sur support + +- kittywhiskers - Large number of changes - thank you! + +- zimbatm - Thank you! + +- Peter Asanov (ink-splatters) - Fixes for the OS-fetch script + +- Sangwhan "fish" Moon - Big Sur doc enhancements + +- ADawesomeguy - Big Sur doc enhancements, Xcode + OSX-KVM tutorial + +- shmsh9 - Python 3.9.x support + +- Gelma (Andrea Gelmini) - Typo fixes + +- ivy-rew (Reguel) - Greatly improved Big-Sur notes + +- Broly1 - Greatly improved Big-Sur notes + +- mikkeyboi (Michael Leung) - Greatly improved Big-Sur notes + +- CyberShadow (Vladimir Panteleev) - Documentation fixes + +- mikehardy (Mike Hardy) - Docker on macOS notes, CPU support notes + +- Dogr95 - macOS-libvirt-Catalina.xml fixes + +- headkaze - AppleVirtualGraphics.kext tip + +- aydenbottos - macOS-libvirt-Catalina.xml fixes + +- mikkeyboi - Unraid OS stuff + +Note: Individual files have more specific 'credits' in them. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0cf0f0e --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +clean: + rm -rf content || true diff --git a/OVMF-notes.txt b/OVMF-notes.txt new file mode 100644 index 0000000..6523119 --- /dev/null +++ b/OVMF-notes.txt @@ -0,0 +1,30 @@ +Current OVMF blobs are borrowed from the following URL, + +http://download.proxmox.com/debian/dists/buster/pve-no-subscription/binary-amd64/pve-edk2-firmware_2.20200531-1_all.deb + +OVMF for non-OpenCore boot loaders: https://github.com/kholia/edk2/tree/macOS-NG-v3. + +Building OVMF +------------- + +# Add tools and build dependencies: +apt-get update +apt-get install build-essential git lintian debhelper iasl nasm \ + python uuid-dev -y + + +git clone https://github.com/tianocore/edk2 +cd edk2 +git submodule update --init +make -C BaseTools +. edksetup.sh BaseTools +build -a X64 -t GCC5 -p OvmfPkg/OvmfPkgX64.dsc -b RELEASE + +References +---------- + +* https://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/ + +* https://www.nicksherlock.com/2018/04/patch-ovmf-to-support-macos-in-proxmox-5-1/ + +* https://github.com/thenickdude/edk2 (macos-support branch) diff --git a/OVMF_CODE.fd b/OVMF_CODE.fd new file mode 100644 index 0000000..c958fb0 Binary files /dev/null and b/OVMF_CODE.fd differ diff --git a/OVMF_VARS-1024x768.fd b/OVMF_VARS-1024x768.fd new file mode 100644 index 0000000..3b8bb9b Binary files /dev/null and b/OVMF_VARS-1024x768.fd differ diff --git a/OpenCore-Boot-CD.sh b/OpenCore-Boot-CD.sh new file mode 100755 index 0000000..c9984a1 --- /dev/null +++ b/OpenCore-Boot-CD.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +# Special thanks to: +# https://github.com/Leoyzen/KVM-Opencore +# https://github.com/thenickdude/KVM-Opencore/ +# https://github.com/qemu/qemu/blob/master/docs/usb2.txt +# +# qemu-img create -f qcow2 mac_hdd_ng.img 128G +# +# echo 1 > /sys/module/kvm/parameters/ignore_msrs (this is required) + +############################################################################ +# NOTE: Tweak the "MY_OPTIONS" line in case you are having booting problems! +############################################################################ + +MY_OPTIONS="+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" + +# This script works for Big Sur, Catalina, Mojave, and High Sierra. Tested with +# macOS 10.15.6, macOS 10.14.6, and macOS 10.13.6 + +ALLOCATED_RAM="3072" # MiB +CPU_SOCKETS="1" +CPU_CORES="2" +CPU_THREADS="4" + +REPO_PATH="./" +OVMF_DIR="." + +# shellcheck disable=SC2054 +args=( + -enable-kvm -m "$ALLOCATED_RAM" -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$MY_OPTIONS" + -machine q35 + -usb -device usb-kbd -device usb-tablet + -smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS" + -device usb-ehci,id=ehci + # -device usb-kbd,bus=ehci.0 + # -device usb-mouse,bus=ehci.0 + # -device nec-usb-xhci,id=xhci + -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" + -drive if=pflash,format=raw,readonly,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" + -drive if=pflash,format=raw,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1024x768.fd" + -smbios type=2 + -device ich9-intel-hda -device hda-duplex + -device ich9-ahci,id=sata + # -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore-Catalina/OpenCore-nopicker.qcow2" + -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore-Catalina/OpenCore.qcow2" + -device ide-hd,bus=sata.2,drive=OpenCoreBoot + -device ide-hd,bus=sata.3,drive=InstallMedia + -drive id=InstallMedia,if=none,file="$REPO_PATH/os.dmg",format=raw + -drive id=MacHDD,if=none,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 + -device ide-hd,bus=sata.4,drive=MacHDD + # -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -netdev user,id=net0 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -monitor stdio + -device VGA,vgamem_mb=128 +) + +qemu-system-x86_64 "${args[@]}" diff --git a/OpenCore-Boot.sh b/OpenCore-Boot.sh new file mode 100755 index 0000000..cd8f585 --- /dev/null +++ b/OpenCore-Boot.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +# Special thanks to: +# https://github.com/Leoyzen/KVM-Opencore +# https://github.com/thenickdude/KVM-Opencore/ +# https://github.com/qemu/qemu/blob/master/docs/usb2.txt +# +# qemu-img create -f qcow2 mac_hdd_ng.img 128G +# +# echo 1 > /sys/module/kvm/parameters/ignore_msrs (this is required) + +############################################################################ +# NOTE: Tweak the "MY_OPTIONS" line in case you are having booting problems! +############################################################################ + +MY_OPTIONS="+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" + +# This script works for Big Sur, Catalina, Mojave, and High Sierra. Tested with +# macOS 10.15.6, macOS 10.14.6, and macOS 10.13.6 + +ALLOCATED_RAM="3072" # MiB +CPU_SOCKETS="1" +CPU_CORES="2" +CPU_THREADS="4" + +REPO_PATH="." +OVMF_DIR="." + +# This causes high cpu usage on the *host* side +# qemu-system-x86_64 -enable-kvm -m 3072 -cpu Penryn,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,hypervisor=off,vmx=on,kvm=off,$MY_OPTIONS\ + +# shellcheck disable=SC2054 +args=( + -enable-kvm -m "$ALLOCATED_RAM" -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$MY_OPTIONS" + -machine q35 + -usb -device usb-kbd -device usb-tablet + -smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS" + -device usb-ehci,id=ehci + # -device usb-kbd,bus=ehci.0 + # -device usb-mouse,bus=ehci.0 + # -device nec-usb-xhci,id=xhci + -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" + -drive if=pflash,format=raw,readonly,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" + -drive if=pflash,format=raw,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1024x768.fd" + -smbios type=2 + -device ich9-intel-hda -device hda-duplex + -device ich9-ahci,id=sata + # -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore-Catalina/OpenCore-nopicker.qcow2" + -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore-Catalina/OpenCore.qcow2" + -device ide-hd,bus=sata.2,drive=OpenCoreBoot + -device ide-hd,bus=sata.3,drive=InstallMedia + -drive id=InstallMedia,if=none,file="$REPO_PATH/BaseSystem.img",format=raw + -drive id=MacHDD,if=none,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 + -device ide-hd,bus=sata.4,drive=MacHDD + # -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -netdev user,id=net0 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -monitor stdio + -device VGA,vgamem_mb=128 +) + +qemu-system-x86_64 "${args[@]}" diff --git a/OpenCore-Catalina/EFI/BOOT/BOOTx64.efi b/OpenCore-Catalina/EFI/BOOT/BOOTx64.efi new file mode 100644 index 0000000..a1414bc Binary files /dev/null and b/OpenCore-Catalina/EFI/BOOT/BOOTx64.efi differ diff --git a/OpenCore-Catalina/EFI/OC/ACPI/SSDT-DTGP.aml b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-DTGP.aml new file mode 100644 index 0000000..f9d0887 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-DTGP.aml differ diff --git a/OpenCore-Catalina/EFI/OC/ACPI/SSDT-EC.aml b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-EC.aml new file mode 100644 index 0000000..57fe798 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-EC.aml differ diff --git a/OpenCore-Catalina/EFI/OC/ACPI/SSDT-EHCI.aml b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-EHCI.aml new file mode 100644 index 0000000..5d4c09b Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-EHCI.aml differ diff --git a/OpenCore-Catalina/EFI/OC/ACPI/SSDT-PLUG.aml b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-PLUG.aml new file mode 100644 index 0000000..96591c2 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/ACPI/SSDT-PLUG.aml differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/AudioDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/AudioDxe.efi new file mode 100644 index 0000000..30ab4d3 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/AudioDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/CrScreenshotDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/CrScreenshotDxe.efi new file mode 100644 index 0000000..7807dcd Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/CrScreenshotDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/HiiDatabase.efi b/OpenCore-Catalina/EFI/OC/Drivers/HiiDatabase.efi new file mode 100644 index 0000000..d2ab3a7 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/HiiDatabase.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/NvmExpressDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/NvmExpressDxe.efi new file mode 100644 index 0000000..ecc5d62 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/NvmExpressDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/OpenCanopy.efi b/OpenCore-Catalina/EFI/OC/Drivers/OpenCanopy.efi new file mode 100644 index 0000000..e66c485 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/OpenCanopy.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/OpenHfsPlus.efi b/OpenCore-Catalina/EFI/OC/Drivers/OpenHfsPlus.efi new file mode 100644 index 0000000..1b7e6e7 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/OpenHfsPlus.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/OpenPartitionDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/OpenPartitionDxe.efi new file mode 100644 index 0000000..dfb95b5 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/OpenPartitionDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/OpenRuntime.efi b/OpenCore-Catalina/EFI/OC/Drivers/OpenRuntime.efi new file mode 100644 index 0000000..ddf4bc6 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/OpenRuntime.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/OpenUsbKbDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/OpenUsbKbDxe.efi new file mode 100644 index 0000000..d57feb2 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/OpenUsbKbDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/Ps2KeyboardDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/Ps2KeyboardDxe.efi new file mode 100644 index 0000000..9bbcc80 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/Ps2KeyboardDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/Ps2MouseDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/Ps2MouseDxe.efi new file mode 100644 index 0000000..b5f2b80 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/Ps2MouseDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/UsbMouseDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/UsbMouseDxe.efi new file mode 100644 index 0000000..62828fe Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/UsbMouseDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/VBoxHfs.efi b/OpenCore-Catalina/EFI/OC/Drivers/VBoxHfs.efi new file mode 100644 index 0000000..67b1316 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/VBoxHfs.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Drivers/XhciDxe.efi b/OpenCore-Catalina/EFI/OC/Drivers/XhciDxe.efi new file mode 100644 index 0000000..802838f Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Drivers/XhciDxe.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Kexts/AGPMInjector.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/AGPMInjector.kext/Contents/Info.plist new file mode 100644 index 0000000..873ecd0 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/AGPMInjector.kext/Contents/Info.plist @@ -0,0 +1,66 @@ + + + + + BuildMachineOSBuild + 18A391011 + CFBundleDevelopmentRegion + English + CFBundleGetInfoString + 111.1.18, Copyright 2008-2016 Apple Inc. All rights reserved. + CFBundleIdentifier + com.apple.driver.AGPMInjector + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AGPMInjector + CFBundlePackageType + KEXT + CFBundleShortVersionString + 2.7.3-AGPMInjector + CFBundleSignature + ???? + CFBundleVersion + 111.1.18 + IOKitPersonalities + + AGPM + + CFBundleIdentifier + com.apple.driver.AGPM + IOClass + AGPMController + IONameMatch + AGPMEnabler + IOProviderClass + IOPlatformPluginDevice + Machines + + iMacPro1,1 + + GFX0 + + AGDCEnabled + 1 + Heuristic + + ID + 4 + + control-id + 17 + max-power-state + 15 + min-power-state + 0 + + + + + + NSHumanReadableCopyright + Copyright © 2008-2016 Apple Inc. All rights reserved. + OSBundleRequired + Safe Boot + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/Info.plist new file mode 100644 index 0000000..f49aa13 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/Info.plist @@ -0,0 +1,12282 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + AppleALC + CFBundleIdentifier + as.vit9696.AppleALC + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AppleALC + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.5.4 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.5.4 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7209 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1200 + DTXcodeBuild + 12A7209 + IOKitPersonalities + + HDA Hardware Config Resource + + CFBundleIdentifier + com.apple.driver.AppleHDAHardwareConfigDriver + HDAConfigDefault + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + Custom ALC269VD for ThinkPad T430 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHEABRx0BAUce + FwFHH5ABVxxQAVcdEAFXHiEBVx8CAXcc8AF3 + HQABdx4AAXcfQAGHHCABhx0QAYcegQGHHwIB + lxxwAZcdEAGXHqEBlx8CAacccAGnHRABpx6h + AacfAgG3HHABtx0QAbceoQG3HwIB1xxwAdcd + EAHXHqEB1x8CAecccAHnHRAB5x6hAecfAgFH + DAI= + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 287143573 + Comment + Toshiba Satellite Pro C50 + ConfigData + + AKccQACnHRAApx4hAKcfAQC3HCAAtx0QALce + gQC3HwEAxxzwAMcdAADHHgAAxx9AANccMADX + HQEA1x4QANcfkADnHBAA5x0BAOceoADnH5AA + 9xzwAPcdAAD3HgAA9x9AAYcc8AGHHQABhx4A + AYcfQA== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359128 + Comment + frankiezdh - Conexant CX20632 for HP ProDesk 480 G4 + ConfigData + + AZccUAGXHRABlx4hAZcfAQGnHBABpx0QAace + oQGnHwEBxxyAAccdQQHHHgEBxx8BAdccIAHX + HTEB1x6BAdcfAQHXDAIB9xxAAfcdAQH3Hh8B + 9x+R + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359128 + Comment + phucnguyen2411 - HP Elitedesk 800 G5 mini + ConfigData + + AcccIAHHHREBxx4BAccfAQH3HFEB9x0BAfce + HwH3H5EBlxxAAZcdEAGXHiEBlx8BAaccMAGn + HRABpx6LAacfAQHXHBEB1x0RAdceoQHXHwE= + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AccMAAH3DAABlwwAAacMAAHXDAA= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359128 + Comment + CX20632 by Daniel + ConfigData + + AfccEAH3HQEB9x4XAfcfkgH3DAIBpxwgAacd + EAGnHosBpx8CAZccQAGXHRABlx4rAZcfAgHH + HNABxx1AAcceIQHHHwIBhxzwAYcdAAGHHgAB + hx9AAbcc8AG3HQABtx4AAbcfQAHXHPAB1x0A + AdceAAHXH0AB5xzwAecdAAHnHgAB5x9AAgcc + 8AIHHQACBx4AAgcfQAIXHPACFx0AAhceAAIX + H0ACZxzwAmcdAAJnHgACZx9A + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132, default + CodecID + 285343761 + ConfigData + + ABcWHwAXFx4BVwoBAVcXDQFXGCQAtwwAANcc + 8ADXHQAA1x4AANcfQAEXBwQBJx+QATceAAE3 + H0ABhx4AAYcfQA== + + FuncGroup + 1 + LayoutID + 0 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132: Alienware 15 R2 + CodecID + 285343761 + ConfigData + + AVcKAQFXDwEAFxceABcWHwAXFRABVxcNAVcY + IAC3HhAAtx+QANcc8ADXHQAA1x4AANcfQADn + HPAA5x0AAOceAADnH0AA9xwgAPcfAQEHHPAB + Bx0AAQceAAEHH0ABFxxAARcegQEXHwEBJxwA + AScfkAE3HPABNx0AATceAAE3H0A= + + FuncGroup + 1 + LayoutID + 1 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132: Alienware 17, Desktop 2xIn 3xOut + CodecID + 285343761 + ConfigData + + AVcKAQFXDwEAFxceABcWHwAXFRABVxcNAVcY + JAC3HhAAtx+QANcc8ADXHQAA1x4AANcfQADn + HPAA5x0AAOceAADnH0AA9xwgAPcfAQEHHDAB + Bx4hAQcfAQEXHEABFx6BARcfAQEnHAABJx+Q + ATcc8AE3HQABNx4AATcfQA== + + FuncGroup + 1 + LayoutID + 2 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132, 2.0 + rear line-out + CodecID + 285343761 + ConfigData + + ABcXHgAXFRQBVwoBAScIgQFnCIABVxcNAVcY + JADXHPAA1x0AANceAADXH0AA5xzwAOcdAADn + HgAA5x9AAQceAQEnH5A= + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132: R3Di default + CodecID + 285343761 + ConfigData + + AVcKAQFXDwEAFxceABcWHwAXFRQBVxcNAVcY + JAC3HUEA1xzwANcdAADXHgAA1x9AAOcc8ADn + HQAA5x4AAOcfQAD3HCAA9x8BAQccMAEHHgEB + Bx8BARccQAEXHgEBFx8BASccAAEnH5ABNxzw + ATcdAAE3HgABNx9AAYcc8AGHHQABhx4AAYcf + QA== + + FuncGroup + 1 + LayoutID + 4 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132, 2.0 front HP + Mic + CodecID + 285343761 + ConfigData + + ABcXHgAXFRIBVwoBAScIgQFnCIABVxcNAVcY + IQC3HiEA1xzwANcdAADXHgAA1x9AAQceAQEX + BwQBJx+Q + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132, 5.1 with front HP + CodecID + 285343761 + ConfigData + + ABcXHgAXFRABVwoBAScIgQFnCIABVxcNAVcY + JADXHPAA1x0AANceAADXH0ABBx4hAScfkA== + + FuncGroup + 1 + LayoutID + 6 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132: ZxRi + CodecID + 285343761 + ConfigData + + AVcKAQFXDwEAF5AzABcXDwAXFg8AFxUNAVcX + GAFXGBQBVxcaAVcYkQFQoCABUQAYAV8BAAFT + AIMBVAAAAVcXDQFXGCQAtx1BANcc8ADXHQAA + 1x4AANcfQADnHPAA5x0AAOceAADnH0AA9xwg + APcfAQEHHDABBx4BAQcfAQEXHEABFx4BARcf + AQEnH5ABNxzwATcdAAE3HgABNx9AAYcc8AGH + HQABhx4AAYcfQA== + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132 by Andres ZeroCross + CodecID + 285343761 + ConfigData + + IVcKAQC3HBAAtx1AALceAQC3HwEAxxwgAMcd + gADHHkUAxx8BANccIADXHUAA1x4BANcfAQD3 + HDAA9x1AAPceIQD3HwEBBxxAAQcdQAEHHiEB + Bx8CARccUAEXHUABFx4BARcfAQEnHFABJx2Q + AScepwEnH5A= + + FuncGroup + 1 + LayoutID + 9 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132 by Andres ZeroCross + CodecID + 285343761 + ConfigData + + AVcKAQAXFRQBJwiBAWcIgAFXFw0BVxgkIQce + AQEnH5A= + + FuncGroup + 1 + LayoutID + 10 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom Creative CA0132 5.1 channel + CodecID + 285343761 + ConfigData + + IVcD8CFXFw0hVxgkIVcPgCC3HCAgtx1AILce + ASC3HwEgxxxgIMcdICDHHkUgxx8BINcc8CDX + HQAg1x4AINcfQCDnHPAg5x0AIOceACDnH0Ag + 9xwvIPcdQCD3HiEg9x8BIQccMCEHHUAhBx4h + IQcfASEXHEAhFx0QIRceASEXHwEhJxwQIScd + kSEnHqEhJx+QITcc8CE3HQAhNx4AITcfQCGH + HFAhhx1gIYceASGHHwE= + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom Creative CA0132 + CodecID + 285343761 + ConfigData + + AVcKAQAXFx8AFxUQAScIgQFnCIABVxcNAVcY + JAEnH5A= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Creative CA0132 5.1 channel for Alienware-M17X-R4 by DalianSky + CodecID + 285343761 + ConfigData + + ALccEAC3HUEAtx4QALcfkADHHCAAxx0gAMce + RQDHHwEA1xzwANcdAADXHgAA1x9AAOcc8ADn + HQAA5x4AAOcfQAD3HFAA9x1AAPceIQD3HwEB + BxzwAQcdAAEHHgABBx9AARcccAEXHRABFx4B + ARcfAQEnHIABJx2RASceoAEnH5ABNxzwATcd + AAE3HgABNx9AAYcc8AGHHQABhx4AAYcfQA== + + FuncGroup + 1 + LayoutID + 99 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Cirrus Logic CS4210 + CodecID + 269697552 + ConfigData + + AFccEABXHUAAVx4hAFcfAABnHCAAZx0AAGce + FwBnH5AAdxwwAHcdkAB3HoEAdx8AAJccQACX + HQAAlx6gAJcfkA== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Cirrus Logic -CS4213 + CodecID + 269697555 + ConfigData + + AEccEABHHRAARx4hAEcfAABXHCAAVx0AAFce + FwBXH5AAZxwwAGcdEABnHoEAZx8AAHccQAB3 + HQAAdx6gAHcfkABXDAI= + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - AD1984 - for_IBM_Lenovo_ThinkPad_T61_T61p + CodecID + 299112836 + ConfigData + + ARccEAEXHUABFx4hARcfAAFHHCABRx1QAUce + gQFHHwABJxwwAScdAAEnHhcBJx+QAScMAgFX + HEABVx0AAVcepwFXH5ABxxyAAccdUAHHHoEB + xx8BAbccoAG3HRABtx5EAbcfIQ== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - AD1984A + CodecID + 299112778 + ConfigData + + ISccECEnHUAhJx4BIScfASFHHCAhRx2QIUce + oSFHHwIhVxwwIVcdMCFXHoEhVx8BIRccQCEX + HUAhFx4hIRcfAg== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - AD1984A - Version2 + CodecID + 299112778 + ConfigData + + ISccECEnHUAhJx4RIScfkCFHHCAhRx2QIUce + oSFHHwIhVxwwIVcdMCFXHoEhVx8BIRccQCEX + HUAhFx4hIRcfAg== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + AD1984A - giesteira + CodecID + 299112778 + ConfigData + + ASccAAEnHUABJx4BAScfAQHHHBABxx0wAcce + gQHHHwEBdxwgAXcdEAF3HqYBdx+5ARccMAEX + HUABFx4hARcfAQFnHEABZx1AAWceFwFnH5EB + pxxQAacdEAGnHvcBpx9RAbccYAG3HWABtx5E + AbcfAQE3HPABNx0QATceHwE3H1E= + + FuncGroup + 1 + LayoutID + 44 + + + AFGLowPowerState + + AwAAAA== + + Codec + AD1988A by chrome + CodecID + 299112840 + ConfigData + + ARccQAEXHUABFx4hARcfAQEnHAABJx1AASce + EQEnHwEBNxzwATcdAAE3HgABNx9AAUccYAFH + HZABRx6gAUcfkAFXHIABVx0wAVcegQFXHwEB + ZxwgAWcdEAFnHgEBZx8BAXccUAF3HZABdx6B + AXcfAQGHHPABhx0AAYceAAGHH0ABtxygAbcd + 8QG3HkUBtx8BAccc8AHHHQABxx4AAccfQAJH + HBACRx1gAkceAQJHHwECVxwwAlcdIAJXHgEC + Vx8B + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - ADI-1988B + CodecID + 299112843 + ConfigData + + ARccEAEXHUABFx4hARcfAQEnHCABJx1AASce + AQEnHwEBRxxAAUcdkAFHHqEBRx8BAVccUAFX + HTABVx6BAVcfAQF3HHABdx2QAXceoQF3HwEB + txzwAbcd8QG3HkUBtx8B + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - ADI-1988B + CodecID + 299112843 + ConfigData + + ARccEAEXHUABFx4hARcfAQEnHCABJx1AASce + EQEnHwEBRxwwAUcdkAFHHqABRx+QAWccQAFn + HRABZx4BAWcfAQF3HFABdx2QAXcegQF3HwEB + txxgAbcd8QG3HkUBtx8BAccccAHHHfEBxx7F + AccfAQHXHIAB1x3xAdceVgHXHxgCRxyQAkcd + YAJHHgECRx8BAlcckAJXHSACVx4BAlcfAQ== + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + 0x11d4198b + CodecID + 299112843 + Comment + Custom AD1988B by Rodion + ConfigData + + AXccIAF3HZABdx6gAXcfkQFHHCEBRx2QAUce + gQFHHwIBJxwQAScdQAEnHhEBJx8BAkccEQJH + HWACRx4RAkcfAQFnHBIBZx0QAWceEQFnHwEC + VxwUAlcdIAJXHhECVx8BAccc8AHHHQABxx4A + AccfQAE3HPABNx0AATceAAE3H0ABpxzwAacd + AAGnHgABpx9AAYcc8AGHHQABhx4AAYcfQA== + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - ADI-2000B + CodecID + 299145371 + ConfigData + + ARccEAEXHUABFx4hARcfAQEnHCABJx1AASce + AQEnHwEBRxxAAUcdkAFHHqEBRx8BAVccUAFX + HTABVx6BAVcfAQF3HHABdx2QAXceoQF3HwEB + txzwAbcd8QG3HkUBtx8B + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - ADI-2000B + CodecID + 299145371 + ConfigData + + ARccMAEXHUABFx4hARcfAQEnHBABJx1AASce + EQEnHwEBRxxAAUcdkAFHHqABRx+QAWccUAFn + HRABZx4BAWcfAQF3HCABdx2QAXcegQF3HwEB + txygAbcd8QG3HkUBtx8BAcccYAHHHfEBxx7F + AccfAQHXHLAB1x3xAdceVgHXHxgCRxxwAkcd + YAJHHgECRx8BAlccgAJXHSACVx4BAlcfAQ== + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC215 for HP 830 G6 for 965987400abc + CodecID + 283902485 + ConfigData + + AUccEAFHHQEBRx4XAUcfmQIXHCACFx0QAhce + IQIXHwECFwwCASccMAEnHRgBJx6BAScfAQGX + HEABlx0BAZcepgGXH5kBRwwC + + FuncGroup + 1 + LayoutID + 18 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Goldfish64 - ALC221 for HP Compaq Pro 4300/Pro 6300/Elite 8300 (All Form Factors) + CodecID + 283902497 + ConfigData + + AUccIAFHHUABRx4BAUcfAQFHDAIBdxwQAXcd + AQF3HhcBdx+QAXcMAgGnHEABpx0QAacegQGn + HwIBpwckAbccMAG3HTABtx6BAbcfAQIXHFAC + Fx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAgF3DAIBpwckAhcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC221 for HP ELITE DESK 800 G1 + CodecID + 283902497 + ConfigData + + AUccIAFHHUABRx4RAUcfkQFHDAIBpxwwAacd + EAGnHoEBpx8CAXccQAF3HQABdx4XAXcfkAG3 + HFABtx0wAbcegQG3HwECFxxwAhcdEAIXHiEC + Fx8CAhcMAg== + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC225/ALC3253 on dell 7579 by ChalesYu + CodecID + 283902501 + ConfigData + + ASccUAEnHQEBJx6mAScftwE3HAABNx0AATce + AAE3H0ABRxywAUcdAQFHHhcBRx+QAWcc8AFn + HREBZx4RAWcfQQF3HPABdx0RAXceEQF3H0EB + hxzwAYcdEQGHHhEBhx9BAZccQAGXHRABlx6B + AZcfAQGnHPABpx0RAaceEQGnH0EBtxzwAbcd + EQG3HhEBtx9BAdccAQHXHQAB1x5gAdcfQAHn + HPAB5x0RAeceEQHnH0ECFxwgAhcdEAIXHiEC + Fx8EAUcMAg== + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC225/ALC3253 for Dell Inspiron 17-7779 by Constanta + CodecID + 283902501 + ConfigData + + ASccMAEnHQABJx6gAScfkAFHHEABRx0AAUce + FwFHH5ABlxxwAZcdEAGXHoEBlx8AAhccIAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 30 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC225/ALC3253 by ChalesYu + CodecID + 283902501 + ConfigData + + ASccEAEnHQEBJx6mAScfmQG3HCABtx0AAbce + FwG3H5kBlxwwAZcdEAGXHoEBlx8CAhccQAIX + HRACFx4hAhcfAgG3DAIBRwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 33 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres Laptop Patch ALC230 Lenovo 310-14ISK + CodecID + 283902512 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABlxwwAZcdEAGXHosBlx8EAhccQAIX + HRACFx4rAhcfBAE3HFABNx0AATceAAE3H0AB + 1xxgAdcdsAHXHmYB1x9AAUcMAgGXDAI= + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC230 for Lenovo Ideapad 320 by maiconjs + CodecID + 283902512 + ConfigData + + AhccEAIXHRACFx4rAhcfBAFHHCABRx0BAUce + FwFHH5ABJxwwAScdAQEnHqABJx+QAZccQAGX + HRABlx6LAZcfBAFHDAI= + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AZcHJQ== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC233 + CodecID + 283902515 + ConfigData + + AUccEAFHHQABRx4XAUcfkAGXHCABlx0QAZce + qwGXHwMBpxwwAacdAAGnHqABpx+QAhccQAIX + HRACFx4rAhcfAwFHDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom Realtek ALC233 (3236) + CodecID + 283902515 + ConfigData + + AUccEAFHHQABRx4XAUcfkAG3HCABtx0AAbce + oAG3H5ACFxwwAhcdEAIXHiECFx8BAUcMAg== + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC233/ALC3236 + CodecID + 283902515 + ConfigData + + AUccEAFHHQABRx4XAUcfkAGXHCABlx2QAZce + iwGXHwIBtxwwAbcdkAG3HqABtx+QAhccQAIX + HUACFx4rAhcfAgFHDAIBtwwC + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC233 for Asus X550LC + CodecID + 283902515 + ConfigData + + AUccEAFHHQABRx4XAUcfmQIXHCACFx0QAhce + IQIXHwMBpxwwAacdAQGnHqABpx+ZAZccQAGX + HRABlx6BAZcfAw== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - Realtek ALC233 for Asus A451LB-WX076D + CodecID + 283902515 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAGXHCABlx0QAZce + gQGXHwQBtxwwAbcdAQG3HqABtx+QAhccQAIX + HRACFx4hAhcfBAFHDAIBtwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom for Realtek ALC233 for SONY VAIO Fit 14E(SVF14316SCW) by SquallATF + CodecID + 283902515 + ConfigData + + ASccQAEnHQEBJx6mAScfkAGnHDABpx1QAace + gQGnHwMBRxwQAUcdAQFHHhcBRx+QAUcMAgIX + HCACFx0QAhceIQIXHwMCFwwC + + FuncGroup + 1 + LayoutID + 27 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom for Realtek ALC3236 for Asus TP500LN by Mohamed Khairy + CodecID + 283902515 + ConfigData + + ASccEAEnHQABJx4AAScfQAFHHCABRx0AAUce + EwFHH5ABtxxAAbcdAAG3HqABtx+QAdccUAHX + HZAB1x5FAdcfQAIXHDACFx0QAhceIQIXHwAB + RwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom by Mirone - Realtek ALC233 (ALC3236) for Asus X550LDV + CodecID + 283902515 + ConfigData + + AUccEAFHHQEBRx4TAUcfmQGXHEABlx0QAZce + gQGXHwABpxwwAacdAQGnHqABpx+ZAhccIAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC233 (ALC3236) for ASUS VIVOBOOK S301LA + CodecID + 283902515 + ConfigData + + AaccMAGnHQABpx6nAacfkAGXHEABlx0QAZce + gQGXHwABRxxQAUcdAAFHHhcBRx+QAUcMAgIX + HGACFx0QAhceIQIXHwACFwwC + + FuncGroup + 1 + LayoutID + 32 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC233 (ALC3236) for ASUS VIVOBOOK S451LA + CodecID + 283902515 + ConfigData + + AhccIAIXHRACFx4hAhcfAAIXDAIBtxwwAbcd + AAG3HqcBtx+QAZccQAGXHRABlx6BAZcfAAFH + HFABRx0AAUceFwFHH5ABRwwC + + FuncGroup + 1 + LayoutID + 33 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC235 + CodecID + 283902517 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABdxwwAXcdAAF3HgABdx9AAZccQAGX + HRABlx6LAZcfAAHXHFAB1x2QAdce9wHXH0AC + FxxgAhcdEAIXHisCFx8BAUcMAgIXDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC235 for Ienovo by soto2080 + CodecID + 283902517 + ConfigData + + ASccEAEnHAEBJxygAScckAFHHAABRxwBAUcc + EAFHHJABlxwwAZccEAGXHIEBlxwCAhccIAIX + HBACFxwhAhccAgF3HPABdx0AAXceAAF3H0AB + hxzwAYcdAAGHHgABhx9AAacc8AGnHQABpx4A + AacfQAG3HPABtx0AAbceAAG3H0AB1xzwAdcd + AAHXHgAB1x9AAUcMAg== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC235 for Lenovo Rescuer 15ISK by Z39 + CodecID + 283902517 + ConfigData + + ASccIAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABlxxAAZcdEAGXHoEBlx8EAhccMAIX + HRACFx4hAhcfBAF3HPABdx0AAXceAAF3H0AB + hxzwAYcdAAGHHgABhx9AAacc8AGnHQABpx4A + AacfQAG3HPABtx0AAbceAAG3H0AB1xzwAdcd + AAHXHgAB1x9AAecc8AHnHQAB5x4AAecfQAFH + DAICFwwC + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + the-braveknight - Realtek ALC235 for Lenovo Legion Y520 + CodecID + 283902517 + ConfigData + + ASccQAEnHQABJx6gAScfsAFHHBABRx0AAUce + FwFHH5ABRwwCAZccMAGXHRABlx6BAZcfAAIX + HGACFx0QAhceIQIXHwA= + + FuncGroup + 1 + LayoutID + 14 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + qiuchenly - Realtek ALC235 for ASUS FX53VD + CodecID + 283902517 + ConfigData + + AbccAAG3HQEBtx6gAbcfmQIXHBACFx0QAhce + KwIXHwEBRxwgAUcdAQFHHhABRx+ZAZccMAGX + HRABlx6LAZcfAQEnHPABJx0AASceAAEnH0AB + dxzwAXcdAAF3HgABdx9AAYcc8AGHHQABhx4A + AYcfQAGnHPABpx0AAaceAAGnH0AB1xzwAdcd + AAHXHgAB1x9AAecc8AHnHQAB5x4AAecfQAHX + HPAB1x0AAdceAAHXH0AB1xzwAdcdAAHXHgAB + 1x9A + + FuncGroup + 1 + LayoutID + 15 + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Realtek ALC235 for ASUS GL553VD + CodecID + 283902517 + ConfigData + + AhccIAIXHRACFx4rAhcfAAG3HDABtx0AAbce + pwG3H5ABlxwwAZcdEAGXHosBlx8BAUccQAFH + HQABRx4XAUcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC235 for Lenovo ThinkCentre Tiny M720q by marian + CodecID + 283902517 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAICFxwfAhcd + EAIXHiECFx8CAhcMAgGXHCABlx0QAZceoAGX + H5IBpxwwAacdEAGnHoABpx8C + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAgIXDAIBlwwAAacMAA== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC235 for Lenovo C530 Desktop PC by Andres ZeroCross + CodecID + 283902517 + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHPABRx0AAUce + AAFHH0ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHDABlx0QAZceiwGXHwIB + pxwQAacdAQGnHqABpx+QAbccIAG3HQEBtx4X + AbcfkAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccQAIXHRACFx4rAhcfAgG3 + DAICFwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AbcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC235 for Asus ROG GL553VD-FY380 by Andres ZeroCross + CodecID + 283902517 + ConfigData + + AbccEAG3HQABtx6gAbcfkAFHHCABRx0AAUce + FwFHH5ABlxwwAZcdEAGXHoEBlx8AAhccQAIX + HRACFx4hAhcfAQFHDAICFwwC + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC235 for Asus TUF FX705GM by TheRealGudv1n + CodecID + 283902517 + ConfigData + + AhccIAIXHRACFx4rAhcfAAEnHDABJx0AASce + pwEnH5ABlxwwAZcdEAGXHosBlx8BAUccQAFH + HQABRx4XAUcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 24 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + vusun123 - Realtek ALC235 for Lenovo Legion Y520 + CodecID + 283902517 + ConfigData + + ASccQAEnHQABJx6gAScfsAFHHBABRx0AAUce + FwFHH5ABRwwCAZccMAGXHRABlx6BAZcfAAIX + HGACFx0QAhceIQIXHwA= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC235 for Lenovo TianYi 510s Mini by DalianSky + CodecID + 283902517 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAICFxwfAhcd + EAIXHiECFx8CAhcMAgGXHCABlx0QAZceoAGX + H5IBpxwwAacdEAGnHoABpx8C + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAgIXDAIBlwwAAacMAA== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC236 + CodecID + 283902518 + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABlxwwAZcdEAGXHoEBlx8EAhccQAIX + HRACFx4hAhcfBAFHDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Jake Lo - Realtek ALC236 + CodecID + 283902518 + ConfigData + + ASccEAEnHQEBJx6gAScfkAE3HPABNx0AATce + AAE3H0ABRxwwAUcdAQFHHhABRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxwgAZcdMAGXHosB + lx8BAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHEACFx1AAhceKwIX + HwECFwwCABcgAAAXIXIAFyJrABcjEA== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC236 for Lenovo Xiaoxin Air 14IKBR by AlexanderLake + CodecID + 283902518 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHEABRx0BAUce + EAFHH5ABRwwCAZccIAGXHRABlx6LAZcfAQIX + HFACFx0QAhceKwIXHwECFwwC + + FuncGroup + 1 + LayoutID + 12 + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom - Realtek ALC236 for Lenovi Air 13 Pro by rexx0520 + CodecID + 283902518 + ConfigData + + ASccAAEnHQEBJx6mAScfkAFHHBABRx0BAUce + EAFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHCABlx2QAZceqwGXHwAB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccMAIXHUACFx4rAhcfAAFH + DAI= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + erinviegas - ALC236 for Lenovo Ideapad 330S + CodecID + 283902518 + ConfigData + + ASccAAEnHQEBJx6gAScfkAFHHBABRx0BAUce + EAFHH5ABRwwCAZccIAGXHRABlx6LAZcfAAIX + HDACFx0QAhceKwIXHwACFwwC + + FuncGroup + 1 + LayoutID + 14 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC236 for Lenovo Ideapad 500-15ISK + CodecID + 283902518 + ConfigData + + ASccAAEnHQEBJx6mAScfkAFHHBABRx0BAUce + EAFHH5ABRwwCAZccIAGXHRABlx6LAZcfAAIX + HDACFx0QAhceKwIXHwACFwwC + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC236 for Lenovo LEGION Y7000/Y530 by xiaoM + CodecID + 283902518 + ConfigData + + ASccMAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwgAUcdkAFHHhcBRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxwgAZcdEAGXHosB + lx8BAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHBACFx0QAhceKwIX + HwECFwwC + + FuncGroup + 1 + LayoutID + 18 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + RodionS - ALC236 for Lenovo Ideapad 320s 14ikb + CodecID + 283902518 + ConfigData + + ASccAAEnHQEBJx6mAScfkAFHHBABRx0BAUce + EAFHH5ABRwwCAZccIAGXHRABlx6LAZcfAAIX + HDACFx0QAhceKwIXHwABRwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC236 for DELL-5488 by Daggeryu + CodecID + 283902518 + ConfigData + + ASccQAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxzwAZcdEQGXHhEB + lx9BAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHCACFx0QAhceIQIX + HwICFwwC + + FuncGroup + 1 + LayoutID + 54 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC236 for Lenovo Air 13 IWL by DalianSky + CodecID + 283902518 + ConfigData + + ATcc8AE3HQABNx4AATcfQAFHHBABRx0BAUce + FwFHH5ABRwwCAYcc8AGHHQABhx4AAYcfQAGX + HDABlx0QAZcegQGXHwQBpxzwAacdAAGnHgAB + px9AAbcc8AG3HQABtx4AAbcfQAHXHEUB1x0b + AdceZgHXH0AB5xzwAecdAAHnHgAB5x9AAhcc + HwIXHRACFx4hAhcfBA== + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC245 for Ienovo by soto2080 + CodecID + 283902533 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAICFxwgAhcd + EAIXHiECFx8EAhcMAgGXHEABlx0QAZcegQGX + HwQ= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC245 for Ienovo by soto2080 + CodecID + 283902533 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAF3DAICFxwgAhcd + EAIXHiECFx8EAhcMAgGXHEABlx0QAZcegQGX + HwQ= + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AXcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + lunjielee - Realtek ALC245 for HP Omen 2020 + CodecID + 283902533 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAGXHDABlx0QAZce + gQGXHwMCFxwgAhcdEAIXHiECFx8DAhcMAg== + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AhcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC255 + CodecID + 283902549 + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABlxwwAZcdEAGXHosBlx8AAhccUAIX + HRACFx4rAhcfAgFHDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Armênio - Realtek ALC255/ALC3234 - Dell 7348 + CodecID + 283902549 + ConfigData + + ASccEAEnHQEBJx6gAScfkAGXHCABlx0wAZce + gQGXHwEBRxwwAUcdYQFHHhABRx+QAUcMAgIX + HEACFx1wAhceIQIXHwECFwwC + + FuncGroup + 1 + LayoutID + 86 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + Codec + Realtek ALC255(3234) for Dell Optiplex series by Heporis + CodecID + 283902549 + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHEABlx0QAZceiwGXHwIB + pxzwAacdAAGnHgABpx9AAbccIAG3HRABtx4B + AbcfAQHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccMAIXHRACFx4rAhcfAgFH + DAI= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC255_v1 + CodecID + 283902549 + ConfigData + + AbccIAG3HQABtx6gAbcfkAFHHDABRx0AAUce + FwFHH5ACFxxQAhcdEAIXHiECFx8AAUcMAgIX + DAI= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC255 Gigabyte Brix BRI5(H) by Najdanovic Ivan + CodecID + 283902549 + ConfigData + + ASccMAEnHQEBJx6gAScfkAGXHCABlx0RAZce + gQGXHwICFxxAAhcdEQIXHiECFx8CAhcMAg== + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC255_v2 + CodecID + 283902549 + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABdxwwAXcdAAF3HgABdx9AAdccQAHX + HQAB1x5wAdcfQAIXHFACFx0QAhceIQIXHwIB + RwwC + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + DuNe - Realtek ALC255 for Aorus X5V7 + CodecID + 283902549 + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABtxwhAbcdAAG3HhcBtx+QAXccMAF3 + HQABdx4AAXcfQAHXHEAB1x0AAdcecAHXH0AC + FxxQAhcdEAIXHiECFx8CAaccYAGnHRABpx6B + AacfAgHnHHAB5x0QAeceRQHnHwIBRwwC + + FuncGroup + 1 + LayoutID + 18 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC255 for Dell 7447 by was3912734 + CodecID + 283902549 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHEABRx0BAUce + FwFHH5ABRwwCAXccQQF3HQEBdx4XAXcfkAGX + HCABlx0RAZceiwGXHwIB5xxgAecdEQHnHkUB + 5x8CAhccUAIXHRACFx4rAhcfAgIXDAI= + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC255 for Asus X441UA-WX096D by Andres ZeroCross + CodecID + 283902549 + ConfigData + + AZcc8AGXHRABlx6BAZcfAgGnHDABpx0BAace + oAGnH5ABtxwQAbcdAQG3HhcBtx+QAhccIAIX + HRACFx4hAhcfAgG3DAICFwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AbcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC255 for Asus X556UA m-dudarev + CodecID + 283902549 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAGXHCABlx0QAZce + gQGXHwQCFxwgAhcdEAIXHiECFx8EAbccMAG3 + HQEBtx6gAbcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 27 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC255 for Lenovo B470 - vusun123 + CodecID + 283902549 + ConfigData + + ASccYAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABRwwCAhccMAIXHRACFx4hAhcfAQ== + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + dhinakg - Realtek ALC255 for Acer Predator G3-571 + CodecID + 283902549 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAGXHCABlx0QAZce + gQGXHwQCFxwgAhcdEAIXHiECFx8EAbccMAG3 + HQEBtx6gAbcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + HongyuS - Realtek ALC255 for XiaoMiAir 13.3 + CodecID + 283902549 + ConfigData + + ASccMAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABRwwCAXccAAF3HQABdx4AAXcfQAGH + HPABhx0AAYceAAGHH0ABlxwgAZcdEAGXHoEB + lx8EAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0AB1xwtAdcdmgHXHvcB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHCACFx0QAhceIQIX + HwQCFwwC + + FuncGroup + 1 + LayoutID + 30 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + cowpod - Realtek ALC255 for UX360CA + CodecID + 283902549 + ConfigData + + AUccEAFHHQABRx4XAUcfkAFHDAICFxwgAhcd + EAIXHiECFx8AAhcMAgEnHDABJx0AAScepgEn + H5ABlxxAAZcdAAGXHoEBlx8A + + FuncGroup + 1 + LayoutID + 31 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + DoctorStrange96 - Realtek ALC255 for Acer Aspire A51x + CodecID + 283902549 + ConfigData + + ASccQAEnHQEBJx6mAScfkAFHHCABRx0BAUce + FwFHH5ABRwwCAZcccAGXHRABlx6LAZcfAgIX + HDACFx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 71 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + DalianSky - Realtek ALC255 (3246) for XiaoMi Air + CodecID + 283902549 + ConfigData + + ASccMAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABRwwCAXcc8AF3HQABdx4AAXcfQAGH + HPABhx0AAYceAAGHH0ABlxxwAZcdEAGXHosB + lx8CAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHCACFx0QAhceKwIX + HwQCFwwC + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + DalianSky - Realtek ALC255 (3246) for alienware alpha r2 + CodecID + 283902549 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhcBRx+QAUcMAgF3 + HPABdx0AAXceAAF3H0ABhxzwAYcdAAGHHgAB + hx9AAZccEAGXHRABlx6LAZcfAgGnHPABpx0A + AaceAAGnH0ABtxzwAbcdAAG3HgABtx9AAdcc + 8AHXHQAB1x4AAdcfQAHnHJAB5x3gAeceRQHn + HwECFxwwAhcdEAIXHisCFx8CAhcMAg== + + FuncGroup + 1 + LayoutID + 100 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC256 + CodecID + 283902550 + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHCABRx0AAUce + FwFHH5ABlxwwAZcdEAGXHosBlx8CAhccUAIX + HRACFx4rAhcfAgE3HPABNx0AATceAAE3H0AB + hxzwAYcdAAGHHgABhx9AAacc8AGnHQABpx4A + AacfQAG3HDABtx0AAbceoAG3H5AB1xzwAdcd + AAHXHgAB1x9AAecc8AHnHQAB5x4AAecfQAFH + DAIBtwwC + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Rockjesus - Realtek ALC256 (3246) - dell 7559 + CodecID + 283902550 + ConfigData + + ASccAAEnHQEBJx6mAScfmQFHHBABRx0BAUce + FwFHH5kCFxwgAhcdEAIXHiECFx8BAbcMAg== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Insanelydeepak - Realtek ALC256 (3246) for Dell Series + CodecID + 283902550 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABlxwwAZcdEAGXHosBlx8CAhccUAIX + HRACFx4rAhcfAgE3HPABNx0AATceAAE3H0AB + hxzwAYcdAAGHHgABhx9AAacc8AGnHQABpx4A + AacfQAG3HPABtx0AAbceAAG3H0AB1xzwAdcd + AAHXHgAB1x9AAecc8AHnHQAB5x4AAecfQAFH + DAI= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Insanelydeepak - Realtek ALC256 (3246) for Dell Series with subwoofer + CodecID + 283902550 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABRwwCAZccMAGXHRABlx6LAZcfAgG3 + HEABtx0AAbceFwG3H5ABtwwCAhccUAIXHRAC + Fx4rAhcfAgE3HPABNx0AATceAAE3H0ABhxzw + AYcdAAGHHgABhx9AAacc8AGnHQABpx4AAacf + QAHXHPAB1x0AAdceAAHXH0AB5xzwAecdAAHn + HgAB5x9A + + FuncGroup + 1 + LayoutID + 14 + WakeConfigData + + AUcMAgG3DAICFwfAAhcIgwGXByQBpwcg + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + VicQ - Realtek ALC256 (3246) for Dell 7000 Series with 2.1Ch + CodecID + 283902550 + ConfigData + + ASccYAEnHAEBJxymAScckAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhABRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxwgAZcdEAGXHosB + lx8BAacccAGnHQABpx6hAacfAQG3HEEBtx0B + AbceEAG3H5ABtwwCAdcc8AHXHQAB1x4AAdcf + QAHnHPAB5x0AAeceAAHnH0ACFxxQAhcdEAIX + HisCFx8BAhcMAg== + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + hjmmc - Realtek ALC256 (3246) for Magicbook 2018 with 4CH + CodecID + 283902550 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAIBtxwSAbcd + AQG3HhcBtx+QAbcMAgIXHCACFx0QAhceIQIX + HwQCFwwCASccMAEnHQEBJx6mAScfkAGXHEAB + lx0QAZcegQGXHwQBNxzwATcdAAE3HgABNx9A + AYcc8AGHHQABhx4AAYcfQAGnHPABpx0AAace + AAGnH0AB1xzwAdcdAAHXHgAB1x9AAecc8AHn + HQAB5x4AAecfQA== + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross for Dell 5570 + CodecID + 283902550 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHCABRx0BAUce + FwFHH5ABlxwwAZcdEAGXHosBlx8CAhccUAIX + HRACFx4rAhcfAgFHDAICFwwCAZcHJQIXCIM= + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AUcMAgIXDAIBlwclAhcIgw== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902550 + Comment + Andres ZeroCross for Asus VivoBook Pro 17 N705UDR + ConfigData + + AbccUAG3HQEBtx4XAbcfkAGnHDABpx0BAace + oAGnH5ACFxwgAhcdEAIXHiECFx8DAbcMAg== + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902550 + Comment + Andres ZeroCross for Razer Blade 15 RZ09-02705E75 + ConfigData + + AUccUAFHHQABRx4XAUcfkAFHDAIBJxwwAScd + AAEnHqABJx+QAhccIAIXHRACFx4hAhcfAAGX + HEABlx0QAZcegQGXHwQ= + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902550 + Comment + vusun123 - ALC256 for Asus X555UJ + ConfigData + + AUccUAFHHQABRx4XAUcfkAFHDAIBpxwwAacd + AAGnHqABpx+QAhccIAIXHRACFx4hAhcfAA== + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + DalianSky - Realtek ALC256 (3246) for Dell 7000 Series + CodecID + 283902550 + ConfigData + + ASccMAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxxAAZcdEAGXHoEB + lx8CAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHCACFx0QAhceIQIX + HwICFwwC + + FuncGroup + 1 + LayoutID + 56 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Kk Realtek ALC256 (3246) for magicbook + CodecID + 283902550 + ConfigData + + AScccAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAYcc8AGH + HQABhx4AAYcfQAGXHDABlx0QAZceiwGXHwIB + pxzwAacdAAGnHgABpx9AAbccQAG3HQEBtx4Q + AbcfkAG3DAIB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHFACFx0QAhceKwIX + HwICFwwC + + FuncGroup + 1 + LayoutID + 57 + WakeConfigData + + AbcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + lgs3137 - Realtek ALC256 for ASUS Y5000U X507UBR + CodecID + 283902550 + ConfigData + + AScc8AEnHQABJx4AAScfQAE3HPABNx0AATce + AAE3H0ABRxwgAUcdAQFHHhcBRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxwwAZcdEAGXHosB + lx8CAacc8AGnHQABpx4AAacfQAG3HDABtx0A + AbceoAG3H5ABtwwCAdcc8AHXHQAB1x4AAdcf + QAHnHPAB5x0AAeceAAHnH0ACFxxQAhcdEAIX + HisCFx8CAhcMAgGXByQBtwckAhcIgw== + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAgIXDAIBlwckAbcHJAIXCIM= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Durian - Realtek ALC256 (3246) for MateBook X Pro 2019(4CH) + CodecID + 283902550 + ConfigData + + AbccEAG3HQEBtx4XAbcfkAG3DAIBRxwRAUcd + AQFHHhcBRx+QAUcMAgIXHCACFx0QAhceIQIX + HwICFwwCASccMAEnHQEBJx6mAScfkAGXHPAB + lx0AAZceAAGXH0AB1xzwAdcdAAHXHgAB1x9A + AYcc8AGHHQABhx4AAYcfQAE3HPABNx0AATce + AAE3H0ABpxzwAacdAAGnHgABpx9AAecc8AHn + HQAB5x4AAecfQA== + + FuncGroup + 1 + LayoutID + 76 + WakeConfigData + + AbcMAgFHDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Wanwu - Realtek ALC256 (3246) for MateBook X Pro 2019 + CodecID + 283902550 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAYcc8AGH + HQABhx4AAYcfQAGXHEABlx0QAZceqwGXHwQB + pxzwAacdAAGnHgABpx9AAbccEAG3HQEBtx4X + AbcfkAG3DAIB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHDACFx0QAhceKwIX + HwQCFwwC + + FuncGroup + 1 + LayoutID + 19 + WakeConfigData + + AbcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + DalianSky - Realtek ALC256 (3246) for MateBook X Pro 2019 + CodecID + 283902550 + ConfigData + + ASccMAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwRAUcdAQFHHhcBRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxxAAZcdEAGXHoEB + lx8EAacc8AGnHQABpx4AAacfQAG3HBABtx0B + AbceFwG3H5ABtwwCAdcc8AHXHQAB1x4AAdcf + QAHnHPAB5x0AAeceAAHnH0ACFxwgAhcdEAIX + HiECFx8EAhcMAg== + + FuncGroup + 1 + LayoutID + 97 + WakeConfigData + + AbcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Realtek ALC257 for Lenovo T480 + CodecID + 283902551 + ConfigData + + ASccIAEnHQABJx6mAScfkAGXHDABlx0QAZce + gQGXHwABRxxQAUcdAAFHHhcBRx+QAUcMAgIX + HGACFx0QAhceIQIXHwA= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Armênio - Realtek ALC257 - Lenovo T480 + CodecID + 283902551 + ConfigData + + ASccEAEnHQEBJx6gAScfkAGXHCABlx0wAZce + gQGXHwEBRxwwAUcdYQFHHhABRx+QAUcMAgIX + HEACFx1wAhceIQIXHwECFwwC + + FuncGroup + 1 + LayoutID + 86 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC257 for Lenovo Legion Y540 and Y7000-2019 + CodecID + 283902551 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAUcMAgGH + HPABhx0AAYceAAGHH0ABlxwwAZcdEAGXHosB + lx8EAacc8AGnHQABpx4AAacfQAG3HPABtx0A + AbceAAG3H0ABtwwCAdcc8AHXHQAB1x4AAdcf + QAHnHPAB5x0AAeceAAHnH0ACFxwfAhcdEAIX + HisCFx8EAhcMAg== + + FuncGroup + 1 + LayoutID + 18 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC257 for Lenovo XiaoXin Pro 2019(81XB/81XD) by DalianSky + CodecID + 283902551 + ConfigData + + ASccMAEnHQEBJx6mAScfkAIXHCACFx0QAhce + IQIXHwQBlxxAAZcdEAGXHoEBlx8EAUccEAFH + HQEBRx4XAUcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC257 for Lenovo XiaoXin Pro 2019(81XB/81XD) by DalianSky + CodecID + 283902551 + ConfigData + + ASccMAEnHQEBJx6mAScfkAIXHCACFx0QAhce + IQIXHwQBlxxAAZcdEAGXHoEBlx8EAUccEAFH + HQEBRx4XAUcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 100 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet ALC260 for Fujitsu Celsius M 450 + CodecID + 283902560 + ConfigData + + IPccECD3HUAg9x4RIPcfASD3DAIhhxwgIYcd + YCGHHkQhhx8BITccQCE3HZAhNx6hITcfmSFH + HFAhRx0wIUcegSFHHwEhVxxgIVcdQCFXHiEh + Vx8C + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC260 + CodecID + 283902560 + ConfigData + + AQccAAEHHUABBx4hAQcfAQEnHBABJx2QASce + oQEnH5kBNxwgATcdMAE3HoEBNx8B + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + DalianSky - ALC262 for MS-7480N1 + CodecID + 283902562 + ConfigData + + AVccYAFXHUABVx4BAVcfAQFHHFABRx1AAUce + IQFHHwEBhxwgAYcdMAGHHoEBhx8BAaccEAGn + HZABpx6iAacfAQ== + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC262 + CodecID + 283902562 + ConfigData + + IUccECFHHUAhRx4BIUcfASHnHCAh5x1gIece + RSHnHwAhhxwwIYcdkCGHHqEhhx+RIZccQCGX + HZAhlx6hIZcfkiGnHFAhpx0wIacegSGnHwEh + txxgIbcdQCG3HiEhtx8C + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Goldfish64 - ALC262 for HP Compaq dc7700 SFF + CodecID + 283902562 + ConfigData + + AbccEAG3HUABtx4BAbcfAQFXHCABVx0QAVce + IQFXHwIBZxwwAWcdAQFnHhMBZx+QAZccQAGX + HTABlx6BAZcfAQGnHFABpx0QAacegQGnHwI= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC262 for Fujitsu Celsius H270 + CodecID + 283902562 + ConfigData + + AUccEAFHHQABRx4TAUcfkAFXHCABVx0QAVce + IQFXHwIBhxwwAYcdEAGHHoEBhx8CAZccQAGX + HQABlx6jAZcfkAGnHFABpx0QAacegQGnHwE= + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC262 for HP Z800-Z600 series + CodecID + 283902562 + ConfigData + + AZccAAGXHREBlx6gAZcfkgGnHBABpx0xAace + gAGnH5EBVxwgAVcdQQFXHhABVx+RAWccMAFn + HQEBZx4AAWcfKQGHHEABhx2QAYceoAGHH5EB + txxQAbcdEAG3HisBtx8C + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC262 for MS-7847 + CodecID + 283902562 + ConfigData + + AUccEAFHHUABRx4hAUcfAgFXHB8BVx0QAVce + AQFXHwEBZxwgAWcdAQFnHhMBZx+ZAYccMAGH + HTABhx6BAYcfAQGnHD8Bpx2QAaceoQGnHwI= + + FuncGroup + 1 + LayoutID + 66 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC268 + CodecID + 283902568 + ConfigData + + AUccEAFHHRABRx4hAUcfAQGHHEABhx2QAYce + gQGHHwEBVxxQAVcdAAFXHhMBVx+QAZccYAGX + HQABlx6jAZcfkAFXDAI= + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone Laptop patch ALC269 Asus N53J + CodecID + 283902569 + ConfigData + + AYccIAGHHRABhx6BAYcfBAGXHBABlx0BAZce + oAGXH5kBtxxAAbcdAQG3HhMBtx+ZAhccUAIX + HRACFx4hAhcfBAFHDAI= + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269-VB v1 + CodecID + 283902569 + ConfigData + + AUccQAFHHQEBRx4TAUcfmQGHHCABhx0QAYce + gQGHHwMBlxwQAZcdAQGXHqABlx+ZAhccUAIX + HRACFx4hAhcfAwFHDAI= + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Mirone - Realtek ALC269 for Asus K53SJ, Asus G73s + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce + EwFHH5ABdxxQAXcdAQF3HhMBdx+QAYccIAGH + HZABhx6BAYcfAwGXHDABlx0BAZceoAGXH5AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccQAIXHRACFx4hAhcfAwFH + DAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269-VB v2 + CodecID + 283902569 + ConfigData + + AUccEAFHHQABRx4TAUcfkAGHHCABhx2QAYce + gQGHHwIBtxwwAbcdEAG3HqABtx+QAhccQAIX + HRACFx4hAhcfAgFHDAI= + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269-VB v3 + CodecID + 283902569 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + EwFHH5ABhxwwAYcdEAGHHoEBhx8AAhccUAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269-VC v1 + CodecID + 283902569 + ConfigData + + AUccEAFHHQABRx4TAUcfkAGHHDABhx0QAYce + gQGHHwABJxxAAScdAAEnHqABJx+QAVccUAFX + HRABVx4hAVcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 6 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269-VC v2 + CodecID + 283902569 + ConfigData + + ASccEAEnHQABJx6mAScfkAFXHCABVx0QAVce + IQFXHwABhxwwAYcdEAGHHoEBhx8CAbccQAG3 + HQABtx4XAbcfkAG3DAI= + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269VC-v3 + CodecID + 283902569 + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABVxwwAVcdEAFXHiEBVx8AAYccQAGH + HZABhx6BAYcfAgFHDAI= + + FuncGroup + 1 + LayoutID + 8 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269VB v4 + CodecID + 283902569 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + EwFHH5ABhxwwAYcdEAGHHoEBhx8AAhccUAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 9 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + Toleda ALC269 patch for Brix + ConfigData + + IUcc8CFHHQAhRx4AIUcfQCFXHHAhVx1AIVce + ISFXHwIhZxzwIWcdACFnHgAhZx9AIXcc8CF3 + HQAhdx4AIXcfQCGHHPAhhx0AIYceACGHH0Ah + lxzwIZcdACGXHgAhlx9AIacc8CGnHQAhpx4A + IacfQCG3HPAhtx0AIbceACG3H0Ah5xyQIecd + YSHnHksh5x8B + + FuncGroup + 1 + LayoutID + 10 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mosser - ALC269VB Dell Precision Workstation T1600 + CodecID + 283902569 + ConfigData + + AbccIAG3HUABtx4BAbcfAQGHHDABhx2YAYce + gQGHHwIBlxxAAZcdmAGXHoEBlx8BAhccUAIX + HUACFx4hAhcfAg== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Asus Vivobook S200CE - Realtek ALC269VB + CodecID + 283902569 + ConfigData + + ASccMAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHPABlx0AAZceAAGXH0AB + pxwgAacdEAGnHisBpx8AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhcc8AIXHQACFx4AAhcfQAFH + DAI= + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC269VC for Samsung NP350V5C-S08IT + CodecID + 283902569 + ConfigData + + AZccEAGXHQABlx6nAZcfmQFXHCABVx0QAVce + IQFXHwIBhxwwAYcdEAGHHoEBhx8CAUccQAFH + HQABRx4XAUcfmQFHDAI= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + Custom ALC269VC for Samsung NT550P7C-S65 with subwoofer 2.1ch by Rockjesus + ConfigData + + AVccEAFXHRABVx4hAVcfAQGHHCABhx0QAYce + gQGHHwEBlxwwAZcdAQGXHqcBlx+QAbccQAG3 + HQEBtx4XAbcfkAF3HEEBdx0BAXceFwF3H5AB + JxzwAScdAAEnHgABJx9AAUcc8AFHHQABRx4A + AUcfQAGnHPABpx0AAaceAAGnH0AB1xzwAdcd + AAHXHgAB1x9AAecc8AHnHQAB5x4AAecfQAG3 + DAI= + + FuncGroup + 1 + LayoutID + 14 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC269VB for Dell Optiplex 790 + CodecID + 283902569 + ConfigData + + AbccIAG3HUABtx4BAbcfAQGHHDABhx2QAYce + gQGHHwIBlxxAAZcdkAGXHoEBlx8BAhccUAIX + HUACFx4hAhcfAg== + + FuncGroup + 1 + LayoutID + 15 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC269VB for Dell Optiplex 790 Version2 + CodecID + 283902569 + ConfigData + + AbccIAG3HUABtx4RAbcfkAGHHDABhx2QAYce + oQGHH5ABlxxAAZcdkAGXHoEBlx8BAhccUAIX + HUACFx4hAhcfAg== + + FuncGroup + 1 + LayoutID + 16 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Latte Panda + CodecID + 283902569 + ConfigData + + AYccIAGHHVABhx6hAYcfkQFXHDABVx1AAVce + IQFXHwEBVwwC + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AVcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Hypereitan - ALC269VC for Thinkpad X230 i7 + CodecID + 283902569 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHEABRx0BAUce + EAFHH5ABVxxQAVcdEAFXHiEBVx8BAYcccAGH + HRABhx6hAYcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 18 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Asus Vivobook S300CA - Realtek ALC269VB + CodecID + 283902569 + ConfigData + + ASccMAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccIAIXHRACFx4rAhcfAAFH + DAI= + + FuncGroup + 1 + LayoutID + 19 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Custom ALC269 Sony Vaio VPCEB3M1R by Rodion + ConfigData + + AVccQAFXHRABVx4hAVcfAwGHHCABhx0QAYce + gQGHHwMBlxwwAZcdAQGXHqABlx+QAbccEAG3 + HQEBtx4XAbcfkAFXDAI= + + FuncGroup + 1 + LayoutID + 20 + + + AFGLowPowerState + + AwAAAA== + + Codec + Goldfish64 - ALC269VB for Dell Optiplex 7010 + CodecID + 283902569 + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce + EwFHH5ABRwwCAXcc8AF3HQABdx4AAXcfQAGH + HDABhx2QAYcegQGHHwIBlxxAAZcdkAGXHoEB + lx8BAacc8AGnHQABpx4AAacfQAG3HCABtx1A + AbceAQG3HwEB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHFACFx1AAhceIQIX + HwI= + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Andres ZeroCross - ALC269VC for Acer Veriton Z4640G + ConfigData + + AaccEAGnHQABpx4XAacfkAGXHDABlx0QAZce + gQGXHwABJxxAAScdAAEnHqABJx+QAbccUAG3 + HRABtx4hAbcfAA== + + FuncGroup + 1 + LayoutID + 22 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + ALC269VC for Hasee U45S1 by zero816 + ConfigData + + AXccAAF3HQABdx4AAXcfQAHXHAUB1x2GAdce + 9AHXH0ABRxwQAUcdAQFHHhcBRx+QAUcMAgFX + HCABVx0QAVceIQFXHwEBVwwCAYccMAGHHRAB + hx6hAYcfAQEnHEABJx0BAScepgEnH5ABlxzw + AZcdEQGXHhEBlx9BAbcc8AG3HREBtx4RAbcf + QQHnHPAB5x0RAeceEQHnH0EBpxzxAacdEQGn + HhEBpx9B + + FuncGroup + 1 + LayoutID + 24 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Custom ALC269 for Acer Aspire by Andrey1970 + ConfigData + + AUccAAFHHUEBRx4XAUcfmQGHHBABhx2QAYce + gQGHHwEBtxwgAbcdkQG3HqcBtx+ZAhccMAIX + HUACFx4hAhcfAQ== + + FuncGroup + 1 + LayoutID + 27 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269VC + CodecID + 283902569 + Comment + ALC269VC for Lenovo Z580, John + ConfigData + + AVccQAFXHRABVx4hAVcfAwGHHCABhx0QAYce + gQGHHwMBlxwwAZcdAQGXHqABlx+QAbccEAG3 + HQEBtx4XAbcfkAFXDAI= + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + ALC269VC for Lenovo V580, ar4er + ConfigData + + ASccEAEnHQABJx6mAScfkAFHHCABRx0AAUce + FwFHH5ABVxwwAVcdEAFXHiEBVx8AAYccQAGH + HZABhx6BAYcfAgFHDAI= + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269VC for Hasee Z6SL7R3 by HF + CodecID + 283902569 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHBABRx0BAUce + FwFHH5ABVxyAAVcdEAFXHiEBVx8CAYccIAGH + HRABhx6BAYcfAgHnHGAB5x0AAeceQQHnHwIB + RwwC + + FuncGroup + 1 + LayoutID + 30 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + Custom ALC269 Samsung np880z5e-x01ru by Constanta + ConfigData + + ASccEAEnHQABJx6mAScfkAG3HCABtx0AAbce + FwG3H5ABVxwwAVcdEAFXHiEBVx8AAYccQAGH + HZABhx6BAYcfAgG3DAI= + + FuncGroup + 1 + LayoutID + 32 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + Custom ALC269VC for Samsung NP530U3C-A0F by BblDE3HAP + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAIBVxxAAVcd + EAFXHiEBVx8DAVcMAgGHHCABhx0QAYcegQGH + HwMBlxwwAZcdAQGXHqABlx+Q + + FuncGroup + 1 + LayoutID + 33 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC269VC - Samsung NP350V5C-S0URU + CodecID + 283902569 + ConfigData + + AUccEAFHHQABRx4XAUcfkAGHHCABhx0QAYce + gQGHHwIBVxwwAVcdEAFXHiEBVx8CAZccQAGX + HQABlx6gAZcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 35 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + vusun123 - Realtek ALC269VC for Lenovo W530 + CodecID + 283902569 + ConfigData + + ASccQAEnHQABJx6gAScfkAFHHBABRx0AAUce + FwFHH5ABRwwCAVccIAFXHRABVx4hAVcfAAGH + HDABhx0QAYcegQGHHwA= + + FuncGroup + 1 + LayoutID + 40 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269VC + CodecID + 283902569 + Comment + Laptop patch ALC269VC Samsung _NP350V5C - Giesteira + ConfigData + + AUccAAFHHQABRx4XAUcfmQGHHBABhx0QAYce + gQGHHwEBVxwgAVcdEAFXHiEBVx8BAZccMAGX + HQABlx6nAZcfmQFHDAI= + + FuncGroup + 1 + LayoutID + 44 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + maiconjs (Wolfield) - Asus A45A 269VB1 + CodecID + 283902569 + ConfigData + + AUccEAFHHQABRx4XAUcfmQGHHCABhx0QAYce + gQGHHwEBJxwwAScdAAEnHqYBJx+ZAhccUAIX + HRACFx4hAhcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 45 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269VC for Thinkpad X230 with Dock4338 + CodecID + 283902569 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHEABRx0BAUce + FwFHH5ABRwwCAVccUAFXHRABVx4rAVcfAgFX + DAIBdxzwAXcdAAF3HgABdx9AAYccIAGHHRAB + hx6LAYcfAgGXHPABlx0AAZceAAGXH0ABpxzw + AacdAAGnHgABpx9AAbccYAG3HUABtx4BAbcf + AQHXHPAB1x0AAdceAAHXH0AB5xzwAecdAAHn + HgAB5x9A + + FuncGroup + 1 + LayoutID + 55 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + HASEE Z6-i78154S2 ALC269 by lianny + CodecID + 283902569 + ConfigData + + AUccEAFHHQABRx4TAUcfkAGHHDABhx0QAYce + gQGHHwABJxxAAScdAAEnHqABJx+QAVccIAFX + HRABVx4hAVcfAAF3HPABdx0AAXceAAF3H0AB + lxzwAZcdAAGXHgABlx9AAacc8AGnHQABpx4A + AacfQAG3HPABtx0AAbceAAG3H0AB1xzwAdcd + AAHXHgAB1x9AAeccYAHnHRAB5x5EAecfAgFH + DAI= + + FuncGroup + 1 + LayoutID + 58 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269VC for Clevo N155RD by DalianSky + CodecID + 283902569 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHDABRx0BAUce + FwFHH5ABVxwgAVcdEAFXHiEBVx8CAXcc8AF3 + HQABdx4AAXcfQAGHHAABhx0QAYcegQGHHwIB + lxzwAZcdAAGXHgABlx9AAacc8AGnHQABpx4A + AacfQAG3HPABtx0AAbceAAG3H0AB5xxwAecd + EQHnHkQB5x8CAUcMAg== + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC269VB for ENZ C16B by jimmy19990 + CodecID + 283902569 + ConfigData + + AUccEAFHHQEBRx4TAUcfkAGHHCABhx0QAYce + gQGHHwEBlxwgAZcdAQGXHqABlx+QAhccEAIX + HRACFx4hAhcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 76 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 for MECHREVO X8Ti Plus by DalianSky + CodecID + 283902569 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHDABRx0BAUce + FwFHH5ABVxwgAVcdEAFXHiEBVx8CAXcc8AF3 + HQABdx4AAXcfQAGHHAABhx0QAYcegQGHHwIB + lxzwAZcdAAGXHgABlx9AAacc8AGnHQABpx4A + AacfQAG3HPABtx0AAbceAAG3H0AB5xzwAecd + AAHnHgAB5x9AAUcMAg== + + FuncGroup + 1 + LayoutID + 88 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + ALC269 Asus K53SJ, Asus G73s Mod by Andrey1970 (No input boost - no noise in Siri) + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce + EwFHH5ABdxxQAXcdAQF3HhMBdx+QAYccIAGH + HZABhx6BAYcfAwGXHDABlx0BAZceoAGXH5AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccQAIXHRACFx4hAhcfAwFH + DAI= + + FuncGroup + 1 + LayoutID + 93 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269-VB v4 Mod by Andrey1970 (No input boost - no noise in Siri) + CodecID + 283902569 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + EwFHH5ABhxwwAYcdEAGHHoEBhx8AAhccUAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + ALC269 for GPD P2 Max by DalianSky + ConfigData + + AVccEAFXHRABVx4hAVcfBAGnHCABpx0BAace + FwGnH5ABpwwCAYccMAGHHRABhx6BAYcfBAEn + HEABJx0BAScepgEnH7c= + + FuncGroup + 1 + LayoutID + 100 + WakeConfigData + + AacMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Custom ALC269 Acer Aspire by Andrey1970 (No input boost - no noise in Siri) + ConfigData + + AUccAAFHHUEBRx4XAUcfmQGHHBABhx2QAYce + gQGHHwEBtxwgAbcdkQG3HqcBtx+ZAhccMAIX + HUACFx4hAhcfAQ== + + FuncGroup + 1 + LayoutID + 127 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + ALC269 for Lenovo Y500 by BaoStorm (No input boost - no noise in Siri) + ConfigData + + ASccQAEnHQkBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABRwwCAVccIAFXHSABVx4hAVcfBAFX + DAIBhxxQAYcdKAGHHqEBhx8EAeccMAHnHSEB + 5x5FAecfBA== + + FuncGroup + 1 + LayoutID + 188 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269VC for Hasee K790s + CodecID + 283902569 + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHPABRx0AAUce + AAFHH0ABdxzwAXcdAAF3HgABdx9AAYccEAGH + HRABhx6AAYcfkAGXHBABlx0AAZceoAGXH5AB + pxyQAacdAQGnHhcBpx+QAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xxwAecd + EQHnHkQB5x8EAhccoAIXHRACFx4hAhcfBAFH + DAI= + + FuncGroup + 1 + LayoutID + 47 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + Custom ALC269 by ryahpalma for Laptop NS4SL01 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAIBhxwgAYcd + EAGHHoEBhx8DAVccQAFXHRABVx4hAVcfAwFX + DAIBJxwwAScdAQEnHqYBJx+Q + + FuncGroup + 1 + LayoutID + 128 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC270 v1 + CodecID + 283902576 + ConfigData + + AUccEAFHHQABRx4TAUcfkAGXHCABlx0AAZce + oAGXH5ACFxwwAhcdEAIXHiECFx8AAUcMAg== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC270 v2 + CodecID + 283902576 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + EwFHH5ACFxwwAhcdEAIXHiECFx8BAUcMAg== + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC270 + CodecID + 283902576 + Comment + ALC270 for Asus A46CB-WX024D Laptop by Andres ZeroCross + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYccIAGH + HRABhx6BAYcfBAGXHDABlx0BAZceoAGXH5AB + pxwgAacdEAGnHiEBpx8EAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhcc8AIXHQACFx4AAhcfQAFH + DAI= + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC270 + CodecID + 283902576 + Comment + ALC270 for Asus Laptop with alternative microphone + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHCABRx0BAUce + EwFHH5ABdxzwAXcdAAF3HgABdx9AAYccMAGH + HRABhx6BAYcfAgGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccQAIXHRACFx4hAhcfAgFH + DAI= + + FuncGroup + 1 + LayoutID + 27 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC270 + CodecID + 283902576 + Comment + ALC270 for Asus Laptop + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYccIAGH + HRABhx6BAYcfBAGXHDABlx0BAZceoAGXH5AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccIAIXHRACFx4hAhcfBAFH + DAI= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902569 + Comment + Custom ALC271x Acer Aspire s3-951 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + EwFHH5ABhxwwAYcdkAGHHoEBhx8AAdccQAHX + HZAB1x4XAdcfQAHnHFAB5x0QAeceRQHnHwAC + FxxgAhcdEAIXHiECFx8AAUcMAg== + + FuncGroup + 1 + LayoutID + 31 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC272 + CodecID + 283902578 + ConfigData + + AYccMAGHHZABhx6BAYcfAAGXHCABlx0AAZce + owGXH5ABRxwQAUcdAAFHHhMBRx+QAhccUAIX + HUACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC 272 - Lenovo B470 - Sam Chen + CodecID + 283902578 + ConfigData + + ASccMAEnHQABJx6jAScfkAFHHBABRx0AAUce + EwFHH5ABhxwgAYcdEAGHHoEBhx8AAhccUAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Sniki - Realtek ALC 272 for Lenovo B570 and B570e + CodecID + 283902578 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHCABRx0BAUce + EwFHH5ABRwwCAYccMAGHHZABhx6BAYcfAQIX + HEACFx1AAhceIQIXHwE= + + FuncGroup + 1 + LayoutID + 18 + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - Lenovo All In One PC C440 + CodecID + 283902578 + ConfigData + + AYccQAGHHZABhx6BAYcfAQEnHDABJx0BASce + oAEnH5ABpxwQAacdAQGnHhMBpx+ZAhccIAIX + HRACFx4hAhcfAQ== + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - Realtek ALC274 for Dell Inspiron 27-7777 AIO Series + CodecID + 283902580 + ConfigData + + ASccMAEnHQEBJx6gAScfkAFnHBABZx0BAWce + FwFnH5ABlxxAAZcdAAGXHoEBlx8EAhccIAIX + HRACFx4hAhcfBAFHDAICFwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AWcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC275 + CodecID + 283902581 + ConfigData + + ASccAAEnHQABJx6gAScfkAFHHBABRx0BAUce + FwFHH5ABVxwgAVcdEAFXHiEBVx8DAUcMAg== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC275 + CodecID + 283902581 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFXHCABVx0QAVce + IQFXHwMBJxwwAScdAAEnHqABJx+QAYccQAGH + HVABhx6BAYcfAAHnHFAB5x0QAeceRQHnHwAB + RwwC + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC275 for Sony Vaio - vusun123 + CodecID + 283902581 + ConfigData + + ASccQAEnHQABJx6gAScfkAFXHBABVx0QAVce + IQFXHwABhxwwAYcdUAGHHoEBhx8AAaccUAGn + HQABpx4XAacfkAGnDAI= + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC280 + CodecID + 283902592 + ConfigData + + AUccEAFHHQABRx4TAUcfkAFXHCABVx0QAVce + IQFXHwEBJxwwAScdAAEnHqABJx+QAaccQAGn + HRABpx6BAacfAgFHDAIBVwwC + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC280 - ComboJack + CodecID + 283902592 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABVxwwAVcdEAFXHiEBVx8CAaccQAGn + HRABpx6BAacfAgFHDAIBVwwC + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Alienware alpha - Realtek ALC280 + CodecID + 283902592 + ConfigData + + IUcc8CFHHQAhRx4AIUcfQCFXHPAhVx0AIVce + ACFXH0AhZxzwIWcdACFnHgAhZx9AIXcc8CF3 + HQAhdx4AIXcfQCGHHPAhhx0AIYceACGHH0Ah + lxzwIZcdACGXHgAhlx9AIacc8CGnHQAhpx4A + IacfQCG3HPAhtx0AIbceACG3H0Ah5xwQIecd + 4SHnHkUh5x8B + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Realtek ALC280 - Dell T20 - Version1 - ManualMode + CodecID + 283902592 + ConfigData + + AbccIAG3HUABtx4BAbcfAQGnHDABpx2QAace + gQGnHwIBhxxAAYcdMAGHHoEBhx8BAVccYAFX + HUABVx4hAVcfAgFXDAI= + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Realtek ALC280 - Dell T20 - Version2 - SwitchMode + CodecID + 283902592 + ConfigData + + AbccIAG3HUABtx4RAbcfkAGnHDABpx2QAace + gQGnHwIBhxxAAYcdMAGHHoEBhx8BAVccYAFX + HUABVx4hAVcfAgFXDAI= + + FuncGroup + 1 + LayoutID + 15 + + + AFGLowPowerState + + AwAAAA== + + Codec + cowpod - Realtek ALC280 - Optiplex 9020SFF + CodecID + 283902592 + ConfigData + + AaccMAGnHZABpx6BAacfAgGHHEABhx0wAYce + gQGHHwEBRxxQAUcdAAFHHhcBRx+QAUcMAgFX + HGABVx1AAVceIQFXHwIBVwwC + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AUcMAgFXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC280 - Optiplex 9020SFF - ManualMode + CodecID + 283902592 + ConfigData + + AUccMAFHHQABRx4XAUcfkAFHDAIBtxwgAbcd + QAG3HgEBtx8BAVccEAFXHUABVx4hAVcfAgFX + DAIBhxxAAYcdMAGHHoEBhx8BAaccUAGnHZAB + px6BAacfAg== + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAgFXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Dell Precision T7610 Workstation ALC280 by Andres ZeroCross + CodecID + 283902592 + ConfigData + + AVccIAFXHUABVx4hAVcfAgGHHDABhx0AAYce + oAGHH5ABpxxAAacdkAGnHoEBpx8CAbccEAG3 + HQABtx4AAbcfAQFnDAI= + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC282_v1 + CodecID + 283902594 + ConfigData + + ASccEAEnHQABJx6gAScfmQFHHCABRx0AAUce + EwGXHDABlx0QAZceiwGXHwABRx+ZAhccUAIX + HRACFx4rAhcfAQFHDAICFwwC + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC282_v2 + CodecID + 283902594 + ConfigData + + ASccQAEnHQABJx6gAScfkAFHHBABRx0AAUce + FwFHH5ABhxwwAYcdEAGHHoEBhx8AAeccIAHn + HRAB5x5EAecfAAIXHFACFx0QAhceIQIXHwAB + RwwC + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC282 + CodecID + 283902594 + ConfigData + + ASccQAEnHQABJx6gAScfkAFHHBABRx0AAUce + FwFHH5ABhxwwAYcdEAGHHoEBhx8AAeccIAHn + HRAB5x5EAecfAAIXHFACFx0QAhceIQIXHwAB + RwwC + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902594 + Comment + Custom ALC282 lenovo y430p by loverto + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHPABRx0AAUcd + AAFHH0ABdxzwAXcdAAF3HgABdx9AAYcccAGH + HRABhx6BAYcfAQGHHAIBlxzwAZcdAAGXHgAB + lx9AAacc8AGnHQABpx4AAacfQAG3HEABtx0B + AbceFwG3H5AB1xzwAdcdAAHXHgAB1x9AAecc + YAHnHRAB5x5EAecfAQIXHFACFx0QAhceIQIX + HwECFxwC + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902594 + Comment + Skvo ALC282 Acer Aspire on IvyBridge by Andrey1970 + ConfigData + + ASccMAEnHQABJx6gAScfkAFHHBABRx0AAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHnHPAB5x0AAeceAAHnH0ACFxwgAhcd + EAIXHiECFx8B + + FuncGroup + 1 + LayoutID + 27 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902594 + Comment + Custom ALC282 Acer Aspire E1-572G + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx0AAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbccMAG3HQEBtx6g + AbcfkAHnHPAB5x0AAeceAAHnH0ACFxwgAhcd + EAIXHiECFx8B + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902594 + Comment + Custom ALC282 Dell Inspirion 3521 by Generation88 + ConfigData + + ASccQAEnHQEBJx6gAScfkAFHHBABRx0BAUce + FwFHH5ABlxwwAZcdEAGXHoEBlx8BAhccIAIX + HRACFx4hAhcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC282 Lenovo Y410P by yunsur + CodecID + 283902594 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHPABRx0AAUce + AAFHH0ABdxzwAXcdAAF3HgABdx9AAYccIAGH + HRABhx6BAYcfAQGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbccQAG3HQEBtx4X + AbcfkAHXHPAB1x0AAdceAAHXH0AB5xxwAecd + EAHnHkQB5x8BAhccUAIXHRACFx4hAhcfAQFH + DAI= + + FuncGroup + 1 + LayoutID + 41 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC282 Lenovo Y430P by yunsur + CodecID + 283902594 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHPABRx0AAUce + AAFHH0ABdxzwAXcdAAF3HgABdx9AAYccIAGH + HRABhx6BAYcfAQGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbccQAG3HQEBtx4X + AbcfkAHXHPAB1x0AAdceAAHXH0AB5xxwAecd + EAHnHkQB5x8BAhccUAIXHRACFx4hAhcfAQFH + DAI= + + FuncGroup + 1 + LayoutID + 43 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC282 Lenovo Y510P by yunsur + CodecID + 283902594 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHEABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYccIAGH + HRABhx6BAYcfAQGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xxwAecd + EAHnHkQB5x8BAhccUAIXHRACFx4hAhcfAQFH + DAI= + + FuncGroup + 1 + LayoutID + 51 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC282 Hasee K580C by YM2008 + CodecID + 283902594 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHCABRx1AAUce + EQFHHwEBdxzwAXcdAAF3HgABdx9AAYccIAGH + HRABhx6BAYcfAQGXHPABlx0AAZceAQGXH0AB + pxzwAacdAAGnHgEBpx9AAdcc8AG3HQABtx4B + AbcfQAHXHPUB1x0AAdceBQHXH0AB5xzwAecd + AAHnHgEB5x9AAhccQAIXHXACFx4hAhcfAQFH + DAI= + + FuncGroup + 1 + LayoutID + 76 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902594 + Comment + Custom ALC282 for Asus x200la + ConfigData + + ASccEAEnHQABJx6BAScfAAFHHCABRx0BAUce + EAFHH5kBdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHDABlx0BAZcepgGXH5kB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccUAIXHUACFx4rAhcfAAFH + DAICFwwC + + FuncGroup + 1 + LayoutID + 86 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902594 + Comment + No input boost ALC282 Acer Aspire on IvyBridge by Andrey1970 + ConfigData + + ASccMAEnHQABJx6gAScfkAFHHBABRx0AAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHnHPAB5x0AAeceAAHnH0ACFxwgAhcd + EAIXHiECFx8B + + FuncGroup + 1 + LayoutID + 127 + + + AFGLowPowerState + + AwAAAA== + + Codec + Toleda NUC/BRIX patch ALC283 + CodecID + 283902595 + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHPABRx0AAUce + AAFHH0ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHGABlx0wAZceiwGXHwEB + pxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhcccAIXHUACFx4rAhcfAQGX + DAICFwwC + + FuncGroup + 1 + LayoutID + 1 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC283 + CodecID + 283902595 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHCABRx0BAUce + FwFHH5ABlxwwAZcdAAGXHosBlx8AAhccQAIX + HRACFx4rAhcfAQFHDAICFwwC + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom by Slbomber ALC283 (V3-371) + CodecID + 283902595 + ConfigData + + ASccEAEnHQEBJx6gAScfkAFHHEABRx0BAUce + FwFHH5ABdxzwAXcdAAF3HgABdx9AAYcc8AGH + HQABhx4AAYcfQAGXHPABlx0AAZceAAGXH0AB + pxzwAacdAAGnHgABpx8AAbcc8AG3HQABtx4A + AbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAhccUAIXHRACFx4hAhcfAwFH + DAICFwwC + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - alc283 for LENOVO IDEAPAD 14 + CodecID + 283902595 + ConfigData + + AUccEAFHHQABRx4XAUcfkAFHDAIBlxwgAZcd + EAGXHoEBlx8AASccMAEnHQABJx6mAScfkAIX + HGACFx0QAhceIQIXHwACFwwC + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC283 for ThinkCentre M93z 10AF ALC283 by giesteira + CodecID + 283902595 + ConfigData + + AbccQAG3HQABtx4XAbcfmQEnHBABJx0AASce + pgEnH5kBlxwgAZcdkAGXHoEBlx8BAaccMAGn + HZABpx6BAacfAQIXHAACFx1AAhceIQIXHwEB + RwwC + + FuncGroup + 1 + LayoutID + 44 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC283 for NUC7 by mikes + CodecID + 283902595 + ConfigData + + AUccAAFHHQABRx4AAUcfQAEnHCABJx0AASce + pgEnH5AB1xwwAdcdEAHXHoEB1x8AAhccQAIX + HRACFx4hAhcfAg== + + FuncGroup + 1 + LayoutID + 45 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ASRock DeskMini 110(H110M-STX) ALC283 by licheedev + CodecID + 283902595 + ConfigData + + ASccgAEnHQABJx4AAScfQAFHHEABRx0BAUce + EwFHH5ABpxwgAacdkAGnHoEBpx8BAdccYAHX + HZAB1x5VAdcfQAIXHFACFx0QAhceIQIXHwEB + RwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC283 for DELL R14 3437 by xiaoleGun(zoran) + CodecID + 283902595 + ConfigData + + AUccEAFHHQEBRx4XAUcfkAFHDAIBdxzwAXcd + AAF3HgABdx9AAYcc8AGHHQABhx4AAYcfQAGX + HEABlx0gAZceiwGXHwIBpxzwAacdAAGnHgAB + px9AAbcc8AG3HQABtx4AAbcfQAHXHPAB1x0A + AdceAAHXH0AB5xzwAecdAAHnHgAB5x9AAScc + MAEnHQEBJx6mAScfkAIXHCACFx0QAhceIQIX + HwICFwwC + + FuncGroup + 1 + LayoutID + 88 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC284 + CodecID + 283902596 + ConfigData + + ASccEAEnHQABJx6gAScfkAE3HCABNx0AATce + AAE3H0ABRxwwAUcdAAFHHhcBRx+QAVccQAFX + HRABVx4hAVcfAAGHHFABhx0QAYcegQGHHwIB + 1xxgAdcdgAHXHmYB1x9AAUcMAg== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Rover Realtek ALC285 for X1C6th + CodecID + 283902597 + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHDABRx0BAUce + FwFHH5ABlxwAAZcdEAGXHosBlx8BAhccIAIX + HRACFx4rAhcfAQHXHGAB1x2AAdceZgHXH0AB + RwwC + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902597 + CodecName + Andres - Realtek ALC285 for Lenovo X1 Carbon 6th + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHDABRx0BAUce + FwFHH5ABlxwAAZcdEAGXHosBlx8EAhccIAIX + HRACFx4rAhcfBAFHDAI= + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902597 + CodecName + Flymin - Realtek ALC285 for Thinkpad X1E + ConfigData + + ASccEAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhcBRx+QAUcMAgFn + HPABZx0AAWceAAFnH0ABdxzwAXcdAAF3HgAB + dx9AAYcc8AGHHQABhx4AAYcfQAGXHCABlx0Q + AZceiwGXHwQBpxzwAacdAAGnHgABpx9AAdcc + 8AHXHQAB1x4AAdcfQAHnHPAB5x0AAeceAAHn + H0ACFxxQAhcdEAIXHisCFx8EAhcMAg== + + FuncGroup + 1 + LayoutID + 31 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC285 for Yoga C740 by fewtarius + CodecID + 283902597 + ConfigData + + AUccEAFHHQEBRx4TAUcfmQFHDAICFxwgAhcd + EAIXHiECFx8TAhcMAgGXHEABlx0RAZceoQGX + H5M= + + FuncGroup + 1 + LayoutID + 61 + WakeConfigData + + AUcMAgIXDAIBlwcl + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902598 + CodecName + Mirone - Realtek ALC286 + ConfigData + + ASccEAEnHQABJx6mAScfsAFHHCABRx0AAUce + FwFHH5ABhxwwAYcdEAGHHosBhx8EAhccQAIX + HRACFx4rAhcfBAFHDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902598 + CodecName + Lenovo YOGA3 pro ALC286 - gdllzkusi + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhcBRx+QAUcMAgF3 + HPABdx0AAXceAAF3H0ABhxwQAYcdEAGHHoEB + hx8EAZcc8AGXHQABlx4AAZcfQAGnHPABpx0A + AaceAAGnH0AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHDACFx0QAhceIQIX + HwQCFwwC + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC287 + CodecID + 283902599 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAIXHCACFx0QAhce + IQIXHwMCFwwCAZccMAGXHRABlx6BAZcfAw== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AhcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC288 + CodecID + 283902600 + ConfigData + + ASccEAEnHQABJx6gAScfkAE3HCABNx0AATce + AAE3H0ABRxwwAUcdAAFHHhcBRx+QAYccQAGH + HRABhx6BAYcfAgHXHFAB1x2AAdceZQHXH0AC + FxxgAhcdEAIXHiECFx8BAUcMAg== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC288 for Dell XPS 9343 + CodecID + 283902600 + ConfigData + + ASccIAEnHQABJx6gAScfkAFHHDABRx0AAUce + FwFHH5ABNxxAATcdEAE3HoEBNx8AAhccUAIX + HRACFx4hAhcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + yyfn - Realtek ALC288 for Dell XPS 9343 + CodecID + 283902600 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAUcMAgF3 + HPABdx0AAXceAAF3H0ABhxzwAYcdAAGHHgAB + hx9AAZcc8AGXHQABlx4AAZcfQAGnHHABpx0g + AacYqwGnHwIBpwwCAdcc8AHXHQAB1x4AAdcf + QAHnHPAB5x0AAeceAAHnH0ACFxw/AhcdEAIX + HisCFx8D + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + leeoem - Realtek ALC289 for alienware m17r2 + CodecID + 283902601 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhcBRx+QAUcMAgFn + HPABZx0AAWceAAFnH0ABdxzwAXcdAAF3HgAB + dx9AAYcc8AGHHQABhx4AAYcfQAGXHHABlx0Q + AZceiwGXHwIBpxzwAacdAAGnHgABpx9AAbcc + 8AG3HQABtx4AAbcfQAHXHPAB1x0AAdceAAHX + H0AB5xzwAecdAAHnHgAB5x9AAhccMAIXHRAC + Fx4rAhcfAgIXDAI= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC289 for Acer PT515-51 By Bugprogrammer and Rover + CodecID + 283902601 + ConfigData + + ATccMAE3HQEBNx6mATcftwFHHBABRx0BAUce + FwFHH5ABRwwCAbccQAG3HRABtx6BAbcfAwG3 + DAICFxwgAhcdEAIXHiECFx8DAhcMAg== + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC290 + CodecID + 283902608 + ConfigData + + AUccEAFHHQABRx4XAUcfkAFXHCABVx0QAVce + KwFXHwIBlxwwAZcdAAGXHqABlx+QAaccQAGn + HRABpx6LAacfAAFHDAI= + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902608 + Comment + macpeetALC ALC290 aka ALC3241 + ConfigData + + AaccIAGnHRABpx6BAacfAAEnHDABJx0AASce + owEnH5ABRxxAAUcdAAFHHhcBRx+QAVccUAFX + HRABVx4hAVcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902608 + Comment + MacPeet - ALC290 for HP m6 n015dx + ConfigData + + AaccIAGnHRABpx6BAacfAAEnHDABJx0AASce + owEnH5ABVxxAAVcdEAFXHiEBVx8AAYccUAGH + HQEBhx4XAYcfkAGHDAI= + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AYcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902608 + Comment + vusun123 - ALC 290 for Dell Vostro 5480 + ConfigData + + ASccMAEnHQABJx6gAScfkAFHHBABRx0AAUce + FwFHH5ABRwwCAVccIAFXHRABVx4hAVcfAAGn + HEABpx0QAacegQGnHwA= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC292 + CodecID + 283902610 + ConfigData + + ASccEAEnHQABJx6gAScfmQFHHCABRx0AAUce + FwFHH5kBVxwwAVcdQAFXHiEBVx8BAZccUAGX + HZABlx6BAZcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - alc292 for LENOVO THINKPAD T450_T450s_X240 - ManualMode + CodecID + 283902610 + ConfigData + + AaccIAGnHRABpx6BAacfAAEnHDABJx0AASce + pgEnH5ABRxxAAUcdAAFHHhcBRx+QAUcMAgFX + HFABVx0QAVceAQFXHwABVwwC + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAgFXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902610 + Comment + vanquybn - ALC 292 for Dell M4800 + ConfigData + + AUccEAFHHQABRx4XAUcfkAGHHCABhx2QAYce + gQGHHwEBJxwwAScdAAEnHqYBJx+QAVccQAFX + HUABVx4hAVcfAQ== + + FuncGroup + 1 + LayoutID + 18 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902610 + Comment + vusun123 - ALC 292 for Lenovo T440 + ConfigData + + ASccMAEnHQABJx6gAScfkAFHHEABRx0AAUce + FwFHH5ABRwwCAVccUAFXHRABVx4hAVcfAAGn + HCABpx0QAacegQGnHwA= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902610 + Comment + ALC292 for Lenovo T450s By Echo + ConfigData + + ASccEAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRx0BAUceFwFHH5ABRwwCAVccQAFX + HRABVx4rAVcfBAFXDAIBZxzwAWcdAAFnHgAB + Zx9AAYcc8AGHHQABhx4AAYcfQAGXHPABlx0A + AZceAAGXH0ABpxwgAacdEAGnHosBpx8EAbcc + 8AG3HQABtx4AAbcfQAHXHPAB1x0AAdceAAHX + H0AB5xzwAecdAAHnHgAB5x9AAUccMA== + + FuncGroup + 1 + LayoutID + 32 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283902610 + Comment + baesar0 -ALC 292 for e6540 with dock + ConfigData + + ASccEAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhcBRx+QAUcMAgFX + HFABVx1AAVceKwFXHwIBVwwCAWccgAFnHUAB + Zx4BAWcfAgFnDAIBhxzwAYcdAAGHHgABhx9A + AZccIAGXHZABlx6BAZcfAgGnHHABpx0QAace + qwGnHwIBtxzwAbcdAAG3HgABtx9AAdcc8AHX + HQAB1x4AAdcfQAHnHPAB5x0AAeceAAHnH0A= + + FuncGroup + 1 + LayoutID + 55 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC293 Dell E7450 by Andres ZeroCross + CodecID + 283902611 + ConfigData + + AScc8AEnHQABJx4AAScfQAE3HBABNx0BATce + oAE3H5ABRxwwAUcdAQFHHhcBRx+QAVccQAFX + HUABVx4rAVcfAgFnHFABZx1AAWceAQFnHwIB + hxzwAYcdAAGHHgABhx9AAZcc8AGXHQABlx4A + AZcfQAGnHCABpx0QAaceiwGnHwIBtxzwAbcd + AAG3HgABtx9AAdcc8AHXHQAB1x4AAdcfQAHn + HPAB5x0AAeceAAHnH0ABRwwCAVcMAgFnDAI= + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + tluck - ALC 293 for Lenovo T460/T560 - extra LineOut on Dock + CodecID + 283902611 + ConfigData + + ASccEAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwgAUcdAQFHHhcBRx+QAVccMAFX + HRABVx4hAVcfAwFnHPABZx0AAWceAAFnH0AB + hxzwAYcdAAGHHgABhx9AAZcc8AGXHQABlx4A + AZcfQAGnHEABpx0QAacegQGnHwMBtxzwAbcd + AAG3HgABtx9AAdcc8AHXHQAB1x4AAdcfQAHn + HPAB5x0AAeceAAHnH0ABRwwCAVcMAg== + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + tluck - ALC 293 for Lenovo T460/T560 + CodecID + 283902611 + ConfigData + + ASccEAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwgAUcdAQFHHhcBRx+QAVccMAFX + HRABVx4hAVcfAwFnHPABZx0AAWceAAFnH0AB + hxzwAYcdAAGHHgABhx9AAZcc8AGXHQABlx4A + AZcfQAGnHEABpx0QAacegQGnHwMBtxzwAbcd + AAG3HgABtx9AAdcc8AHXHQAB1x4AAdcfQAHn + HPAB5x0AAeceAAHnH0ABRwwCAVcMAg== + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Rover - Realtek ALC294 for Asus FL8000U + CodecID + 283902612 + ConfigData + + AbccEAG3HQEBtx6nAbcfkAFHHCABRx0BAUce + FwFHH5ACFxwwAhcdEAIXHiECFx8BAUcMAgG3 + DAICFwwC + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Realtek ALC294 for Lenovo M710Q + CodecID + 283902612 + ConfigData + + AhccIAIXHRACFx4hAhcfAAGXHDABlx0QAZce + gQGXHwABpxxAAacdkAGnHoEBpx8AAUccUAFH + HQABRx4XAUcfkAFHDAI= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC294 + CodecID + 283902612 + ConfigData + + AXccEAF3HQABdx4XAXcfkAEnHCABJx0AASce + oAEnH5ACFxwwAhcdEAIXHiECFx8A + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - ALC294 ASUS ZenBook Flip 14 UX461UA + CodecID + 283902612 + ConfigData + + ASccIAEnHQEBJx6gAScfkAF3HBABdx0BAXce + FwF3H5ABlxxAAZcdEAGXHoEBlx8EAhccMAIX + HRACFx4hAhcfBAF3DAICFwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AXcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + cowpod - Realtek ALC294 for ASUS ROG GL504GW + CodecID + 283902612 + ConfigData + + ASccIAEnHQEBJx6gAScfkAF3HBABdx0BAXce + FwF3H5ABlxxAAZcdEAGXHoEBlx8EAhccMAIX + HRACFx4hAhcfBAF3DAICFwwC + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + AXcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Ayat Kyo - Realtek ALC294 for Asus ROG G531GD + CodecID + 283902612 + ConfigData + + ATccAAE3HQABNx4QATcfQAFHHBABRx0BAUce + FwFHH5ABRwwCAZccIAGXHRABlx6BAZcfBAIX + HDACFx0QAhceIQIXHwQCFwwCAdccQAHXHZoB + 1x5nAdcfQAEnHFABJx0BASceoAEnH5A= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + KKKIIINNN - ALC294 ASUS X542UQR + CodecID + 283902612 + ConfigData + + AhccIAIXHRACFx4hAhcfAQG3HDABtx0BAbce + pwG3H5ABlxwwAZcdEAGXHoEBlx8BAUccEAFH + HQEBRx4XAUcfkAFHDAIBtwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAgG3DAICFwwC + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Damon - Realtek ALC 295 for HP Envy x360 15-bp107tx + CodecID + 283902613 + ConfigData + + ASccMAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAUcMAgFn + HPABZx0AAWceAAFnH0ABdxwQAXcdAQF3HhcB + dx+QAYcc8AGHHQABhx4BAYcfQAGXHEABlx0Q + AZcegQGXHwIBpxzwAacdAAGnHgABpx9AAbcc + 8AG3HQABtx4AAbcfQAG3DAIB1xzwAdcdAAHX + HgAB1x9AAecc8AHnHQAB5x4BAecfQAIXHCAC + Fx0QAhceIQIXHwICFwwC + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC295/ALC3254 + CodecID + 283902613 + ConfigData + + ASccEAEnHQABJx6mAScfmQF3HCABdx0AAXce + FwF3H5kBlxwwAZcdEAGXHoEBlx8CAhccQAIX + HRACFx4hAhcfAgF3DAIBRwwCAhcMAg== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + DalianSky - Realtek ALC295/ALC3254 Dell7570 + CodecID + 283902613 + ConfigData + + ASccIAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxxAAUcdAQFHHhcBRx+QAUcMAgFn + HPABZx0AAWceAAFnH0ABdxzwAXcdAAF3HgAB + dx9AAYcc8AGHHQABhx4AAYcfQAGXHBABlx0Q + AZcegQGXHwIBpxzwAacdAAGnHgABpx9AAbcc + 8AG3HQABtx4AAbcfQAHXHPAB1x0AAdceAAHX + H0AB5xzwAecdAAHnHgAB5x9AAhccMAIXHRAC + Fx4hAhcfAgIXDAI= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC295 v2 Asus UX430UA + CodecID + 283902613 + ConfigData + + AXccEAF3HQABdx4XAXcfkAEnHCABJx0AASce + oAEnH5ACFxwwAhcdEAIXHiECFx8AAZccQAGX + HRABlx6BAZcfAAIXDAIBJwcgAXcHQAGXByAB + 1wcgAecHQAIXB8A= + + FuncGroup + 1 + LayoutID + 14 + WakeConfigData + + AScHIAF3B0ABlwcgAdcHIAHnB0ACFwfA + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC295/ALC3254 + CodecID + 283902613 + ConfigData + + AUccEAFHHQABRx4XAUcfkAEnHCABJx0AASce + oAEnH5ACFxwwAhcdEAIXHiECFx8AAZccQAGX + HRABlx6BAZcfAA== + + FuncGroup + 1 + LayoutID + 15 + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres - ALC295 Acer Nitro 5 Spin (NP515-51) + CodecID + 283902613 + ConfigData + + ASccIAEnHQEBJx6gAScfkAE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAWcc8AFn + HQABZx4AAWcfQAF3HPABdx0AAXceAAF3H0AB + hxzwAYcdAAGHHgABhx9AAZccMAGXHRABlx6B + AZcfAgGnHPABpx0AAaceAAGnH0ABtxzwAbcd + AAG3HgABtx9AAdcc8AHXHQAB1x4AAdcfQAHn + HPAB5x0AAeceAAHnH0ACFxxAAhcdEAIXHiEC + Fx8CAUcMAgIXDAI= + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + vusun123 - ALC 295 for Skylake HP Pavilion + CodecID + 283902613 + ConfigData + + ASccMAEnHQABJx6gAScfuQFHHFABRx0AAUce + FwFHH5ABRwwCAZccQAGXHRABlx6BAZcfAAIX + HCACFx0QAhceIQIXHwA= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Unbelievable9 - Realtek ALC295/ALC3254 for Dell Latitude 5290 + CodecID + 283902613 + ConfigData + + ASccMAEnHQEBJx6mAScftwE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAUcMAgFn + HPABZx0AAWceAAFnH0ABdxzwAXcdAAF3HgAB + dx9AAYcc8AGHHQABhx4AAYcfQAGXHHABlx0g + AZceqwGXHwIBpxzwAacdAAGnHgABpx9AAbcc + 8AG3GwABtx4AAbcfQAHXHPAB1x0AAdceAAHX + H0AB5xzwAecdAAHnHgAB5x9AAhccMAIXHRAC + Fx4rAhcfAgIXDAI= + + FuncGroup + 1 + LayoutID + 77 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC298 SP4 - ComboJack + CodecID + 283902616 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABhxwwAYcdEAGHHoEBhx8CAhccQAIX + HRACFx4hAhcfAgFHDAICFwwC + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Rockjesus - Realtek ALC298 for Alienware 17 ALC3266 + CodecID + 283902616 + ConfigData + + ASccQAEnHQEBJx6mAScftwF3HBABdx0BAXce + FwF3H5ABpxwwAacdEAGnHqEBpx8DAhccIAIX + HRACFx4hAhcfAw== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC298 + CodecID + 283902616 + ConfigData + + AXccEAF3HQABdx4XAXcfkAEnHCABJx0AASce + oAEnH5ACFxwwAhcdEAIXHiECFx8CAYccQAGH + HRABhx6BAYcfAgFHDAICFwwC + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Ping - Realtek ALC298 for Dell Precision 5520 + CodecID + 283902616 + ConfigData + + ASccMAEnHQEBJx6gAScfkAF3HBABdx0BAXce + FwF3H5ABhxxwAYcdIAGHHosBhx8CAhccIAIX + HRACFx4rAhcfAwF3DAICFwwC + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Lenovo 720S-15IKB ALC298 by Andres ZeroCross + CodecID + 283902616 + ConfigData + + ASccMAEnHQEBJx6gAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAXcc8AF3 + HQABdx4AAXcfQAGHHHABhx0QAYcegQGHHwAB + lxzwAZcdAAGXHgABlx9AAaccUAGnHQEBpx4X + AacfkAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAfcc8AH3HQAB9x4AAfcfQAIX + HCACFx0QAhceIQIXHwABpwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AacMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Razer Blade 14 2017 by Andres ZeroCross + CodecID + 283902616 + ConfigData + + ASccMAEnHQEBJx6gAScfkAE3HPABNx0AATce + AAE3H0ABRxwQAUcdAQFHHhcBRx+QAXcc8AF3 + HQABdx4AAXcfQAGHHEABhx0QAYcegQGHHwMB + lxzwAZcdAAGXHgABlx9AAacc8AGnHQABpx4A + AacfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAfcc8AH3HQAB9x4AAfcfQAIX + HCACFx0QAhceIQIXHwMBRwwC + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + vusun123 - Realtek ALC298 for Dell XPS 9x50 + CodecID + 283902616 + ConfigData + + ASccMAEnHQABJx6gAScfkAF3HEABdx0AAXce + FwF3H5ABdwwCAhccIAIXHRACFx4hAhcfAA== + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + vusun123 - Realtek ALC298 for Lenovo X270 + CodecID + 283902616 + ConfigData + + AEcc8ABHHQAARx4AAEcfAABXHPAAVx0AAFce + AABXHwAAdxzwAHcdAAB3HgAAdx8AAOcc8ADn + HQAA5x4AAOcfAAD3HPAA9x0AAPceAAD3HwAB + BxzwAQcdAAEHHgABBx8AASccQAEnHQEBJx6g + AScfkAE3HPABNx0AATceAAE3HwABRxwQAUcd + AQFHHhcBRx+QAUcMAgFXHPABVx0AAVceAAFX + HwABZxzwAWcdAAFnHgABZx8AAXcc8AF3HQAB + dx4AAXcfAAGHHDABhx0QAYcegQGHHwMBlxzw + AZcdAAGXHgABlx8AAacc8AGnHQABpx4AAacf + AAG3HPABtx0AAbceAAG3HwABxxzwAccdAAHH + HgABxx8AAdcc8AHXHQAB1x4AAdcfAAHnHPAB + 5x0AAeceAAHnHwAB9xzwAfcdAAH3HgAB9x8A + Agcc8AIHHQACBx4AAgcfAA== + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Constanta - Realtek ALC298 for Xiaomi Mi Notebook Air 13.3 Fingerprint 2018 + CodecID + 283902616 + ConfigData + + ASccMAEnHQABJx6gAScfkAF3HEABdx0AAXce + FwF3H5ABdwwCAYcccAGHHRABhx6BAYcfAAIX + HCACFx0QAhceIQIXHwA= + + FuncGroup + 1 + LayoutID + 30 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + smallssnow xps 9570 - Realtek ALC298 + CodecID + 283902616 + ConfigData + + ASccEAEnHQEBJx6mAScfmQF3HEABdx0BAXce + FwF3H5ABdwwCAYcc8AGHHQABhx4AAYcfQAGn + HPABpx0AAaceAAGnH0ACFxxQAhcdEAIXHiEC + Fx8BATcc8AE3HQABNx4AATcfQAFHHPABRx0A + AUceAAFHH0ABlxzwAZcdAAGXHgABlx9AAdcc + 8AHXHQAB1x4AAdcfQAHnHPAB5x0AAeceAAHn + H0AB9xzwAfcdAAH3HgAB9x9A + + FuncGroup + 1 + LayoutID + 32 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Daliansky - Realtek ALC298 ThinkPad T470p + CodecID + 283902616 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + FwFHH5ABhxwwAYcdEAGHHoEBhx8CAhccQAIX + HRACFx4hAhcfAgFHDAICFwwC + + FuncGroup + 1 + LayoutID + 47 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + lgs3137 - Realtek ALC298 MECHREVO S1 + CodecID + 283902616 + ConfigData + + ASccEAEnHQEBJx6mAScfkAE3HPABNx0AATce + AAE3H0ABRxwgAUcdAQFHHhcBRx+QAXcc8AF3 + HQABdx4AAXcfQAGHHDABhx0QAYcegQGHHwQB + lxzwAZcdAAGXHgABlx9AAacc8AGnHQABpx4A + AacfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAfcc8AH3HQAB9x4AAfcfQAIX + HEACFx0QAhceIQIXHwQBRwwC + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom - Realtek ALC298 for Dell XPS 9560 by KNNSpeed + CodecID + 283902616 + ConfigData + + ASccEAEnHQEBJx6mAScfkAF3HCABdx0BAXce + FwF3H5ABhxwwAYcdEAGHHqsBhx8DAaccQAGn + HRABpx6LAacfAwIXHFACFx0QAhceKwIXHwMB + RwwCAXcMAgGnDAICFwwC + + FuncGroup + 1 + LayoutID + 72 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Daliansky - Realtek ALC298 XiaoMi Pro + CodecID + 283902616 + ConfigData + + ASccEAEnHQEBJx6gAScfkAE3HPABNx0AATce + AAE3H0ABRxzwAUcdAAFHHgABRx9AAXccIAF3 + HQEBdx4XAXcfkAGHHDABhx0QAYcegQGHHwMB + lxzwAZcdAAGXHgABlx9AAacc8AGnHQABpx4A + AacfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecd + AAHnHgAB5x9AAfcc8AH3HQAB9x4AAfcfQAIX + HEACFx0QAhceIQIXHwMBdwwC + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres - ALC299 Acer Helios 500 + CodecID + 283902617 + ConfigData + + ASccQAEnHQEBJx6gAScfkAFHHBABRx0BAUce + FwFHH5ABlxwwAZcdEAGXHoEBlx8EAhccIAIX + HRACFx4hAhcfBAFHDAICFwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres - ALC299 Dell XPS13 + CodecID + 283902617 + ConfigData + + ASccQAEnHQEBJx6gAScfkAF3HBABdx0BAXce + FwF3H5ABlxwwAZcdEAGXHoEBlx8EAhccIAIX + HRACFx4hAhcfBA== + + FuncGroup + 1 + LayoutID + 22 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC662 + CodecID + 283903586 + ConfigData + + AUccEAFHHUABRx4RAUcfkAGHHCABhx2QAYce + oAGHH5AB5xwwAecdYQHnHksB5x8BAaccQAGn + HTABpx6BAacfAQG3HFABtx1AAbceIQG3HwEB + lxxgAZcdkAGXHoEBlx8C + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC662 + CodecID + 283903586 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC662 by Irving23 for Lenovo ThinkCentre M8400t-N000 + CodecID + 283903586 + ConfigData + + IUccECFHHUAhRx4RIUcfASGHHCAhhx2QIYce + oCGHH5AhlxxgIZcdkCGXHqEhlx8CIaccQCGn + HTAhpx6BIacfASG3HFAhtx1AIbceISG3HwIh + 5xwwIecdYSHnHksh5x8B + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC662 by stich86 for Lenovo ThinkCentre M800 + CodecID + 283903586 + ConfigData + + IUccECFHHUAhRx4RIUcfASGHHCAhhx2QIYce + oCGHH5AhlxxgIZcdkCGXHqEhlx8CIaccQCGn + HTAhpx6BIacfASG3HFAhtx1AIbceISG3HwIh + 5xwwIecdYSHnHksh5x8B + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC662 by Vandroiy for Asus X66Ic + CodecID + 283903586 + ConfigData + + AUccMAFHHQEBRx4QAUcfkAG3HEABtx0AAbce + IQG3HwEBlxwQAZcdAQGXHqABlx+QAYccIAGH + HQABhx6BAYcfAQFXHPABVx0AAVceAAFXH0AB + ZxzwAWcdAAFnHgABZx9AAacc8AGnHQABpx4A + AacfQAHHHPABxx0AAcceAAHHH0AB1xzwAdcd + AAHXHgAB1x9AAecc8AHnHQAB5x4AAecfQAFH + DAI= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC662 for Acer Aspire A7600U All in One + CodecID + 283903586 + ConfigData + + AbccEAG3HUABtx4hAbcfAAG3DAIBRxwgAUcd + AAFHHhcBRx+QAUcMAgGHHDABhx2QAYcegQGH + HwABJxxAAScdAAEnHqYBJx+QAeccYAHnHWAB + 5x5LAecfAQ== + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + phucnguyen.2411 - ALC662v3 for Lenovo ThinkCentre M92P SFF + CodecID + 283903586 + ConfigData + + AZccEAGXHZEBlx6gAZcfkQFHHCABRx1AAUce + IQFHHwEBVxwwAVcdQQFXHhEBVx8BAYccQAGH + HZABhx6BAYcfAQG3HFABtx1AAbceIQG3HwIB + 5xxgAecdYAHnHksB5x8B + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC662 by aloha_cn for HP Compaq Elite 8000 SFF + CodecID + 283903586 + ConfigData + + AUccEAFHHUABRx4hAUcfAQFXHCABVx0AAVce + EwFXH5ABtxwwAbcdEAG3HiEBtx8BAYccQAGH + HTABhx6hAYcfkAGXHFABlx0QAZcegQGXHwI= + + FuncGroup + 1 + LayoutID + 17 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom ALC662 by ryahpalma for MP67-DI/Esprimo Q900 + CodecID + 283903586 + ConfigData + + AUccEAFHHUEBRx4hAUcfAQGHHCABhx2RAYce + gQGHHwEBpxw/AacdMQGnHoEBpx8B + + FuncGroup + 1 + LayoutID + 18 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC663 + CodecID + 283903587 + ConfigData + + ASccEAEnHQABJx6gAScfkAFHHCABRx0AAUce + EwFHH5ACFxwwAhcdEAIXHiECFx8CAUcMAg== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC663_V2 + CodecID + 283903587 + ConfigData + + AUccEAFHHQABRx4TAUcfkAGHHCABhx0QAYce + gQGHHwIBlxwwAZcdAAGXHqABlx+QAdccQAHX + HYAB1x4FAdcfQAHnHFAB5x0QAeceRQHnHwAC + FxxgAhcdEAIXHiECFx8BAUcMAg== + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC663 for Fujitsu Celsius r670 + CodecID + 283903587 + ConfigData + + IUccECFHHUAhRx4BIUcfASF3HCAhdx0AIXce + EyF3H5AhFxwwIRcdYCEXHkQhFx8BIeccQCHn + HRAh5x5WIecfECGHHFAhhx0AIYceoCGHH5Ah + lxxgIZcdACGXHqAhlx+QIacccCGnHTAhpx6B + IacfASIXHJAiFx1AIhceISIXHwE= + + FuncGroup + 1 + LayoutID + 15 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC663 + CodecID + 283903587 + Comment + Custom ALC663 for Asus N56/76 by m-dudarev + ConfigData + + AZccEAGXHQABlx6gAZcfkAGHHCABhx0QAYce + gQGHHwIBRxwwAUcdAAFHHhABRx+QAUcMAgIX + HEACFx0QAhceIQIXHwIBFxzwARcdAAEXHgAB + Fx9AAecc8AHnHQAB5x4AAecfQA== + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC663 + CodecID + 283903587 + Comment + Custom by alex1960 for ASUS N71J + ConfigData + + AUccAAFHHQEBRx4TAUcfmQA3HBAANx0AADce + VgA3HxgCFxwgAhcdQAIXHiECFx8BAbccMAG3 + HUABtx4hAbcfAQHnHEAB5x0BAeceQwHnH5kB + hxxQAYcdCQGHHqMBhx+ZAZccYAGXHZwBlx6B + AZcfAQF3HPABdx0BAXceEwF3H5k= + + FuncGroup + 1 + LayoutID + 99 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC665 + CodecID + 283903589 + ConfigData + + ASccEAEnHQEBJx6gAScfmQGnHCABpx0QAace + gQGnH5MBVxxAAVcdAQFXHhMBVx+ZAZccUAGX + HRABlx4hAZcfAwG3HGABtx0QAbceIQG3HwMB + 5xxwAecdEAHnHkUB5x8D + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC665 + CodecID + 283903589 + ConfigData + + ASccUAEnHQABJx6gAScfkAFXHBABVx0AAVce + EwFXH5ABVwwCAZccIAGXHRABlx4hAZcfAAGn + HEABpx0QAacegQGnHwABtxxgAbcdEAG3HiEB + tx8AAdcc8AHXHQAB1x6DAdcfUA== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903592 + Comment + ALC668 Mirone Laptop Patch + ConfigData + + ABJxwQAScdAAEnHqABJx+QAUccIAFHHQABRx + 4XAUcfkAFXHDABVx0QAVceIQFXHwEBZxxAAW + cdAAFnHgABZx9AAbccUAG3HRABtx6BAbcfAg + HXHGAB1x0AAdcewAHXH0ABRwwA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903592 + Comment + Custom ALC668 by lazzy for laptop ASUS G551JM + ConfigData + + ASccMAEnHQABJx6gAScfkAFHHBABRx0AAUce + FwFHH5ABVxwgAVcdEAFXHiEBVx8AAbccQAG3 + HRABtx6BAbcfAAFHDAI= + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903592 + Comment + ALC668 syscl Laptop Patch (DELL Precision M3800) + ConfigData + + ASccAQEnHQEBJx6gAScfkAFHHAIBRx0BAUce + FwFHH5ABRwwCAVccAwFXHRABVx4rAVcfAwFX + DAIBZxzwAWcdAAFnHgABZx9AAYcc8AGHHQAB + hx4AAYcfQAGXHPABlx0AAZceAAGXH0ABpxzw + AacdAAGnHgABpx9AAbccBAG3HRABtx6LAbcf + AwHXHPAB1x0AAdceAAHXH0AB5xzwAecdAAHn + HgAB5x9AAfcc8AH3HQAB9x4AAfcfQAIFAAEC + BL6+AgUAAgIEqqoCBQADAgQAAAIFAAQCBAGA + AgUABgIEAAACBQAHAgQPgAIFAAgCBAAxAgUA + CgIEAGACBQALAgQAAAIFAAwCBHz3AgUADQIE + EIACBQAOAgR/fwIFAA8CBMzMAgUAEAIE3cwC + BQARAgQAAQIFABMCBAAAAgUAFAIEKqACBQAX + AgSpQAIFABkCBAAAAgUAGgIEAAACBQAbAgQA + AAIFABwCBAAAAgUAHQIEAAACBQAeAgR0GAIF + AB8CBAgEAgUAIAIEQgACBQAhAgQEaAIFACIC + BIzMAgUAIwIEAlACBQAkAgR0GAIFACcCBAAA + AgUAKAIEjMwCBQAqAgT/AAIFACsCBIAAAgUA + pwIE/wACBQCoAgSAAAIFAKoCBC4XAgUAqwIE + oMACBQCsAgQAAAIFAK0CBAAAAgUArgIEKsYC + BQCvAgSkgAIFALACBAAAAgUAsQIEAAACBQCy + AgQAAAIFALMCBAAAAgUAtAIEAAACBQC1AgQQ + QAIFALYCBNaXAgUAtwIEkCsCBQC4AgTWlwIF + ALkCBJArAgUAugIEuLoCBQC7AgSqqwIFALwC + BKqvAgUAvQIEaqoCBQC+AgQcAgIFAMACBAD/ + AgUAwQIED6Y= + + FuncGroup + 1 + LayoutID + 27 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903592 + Comment + ALC668 Mirone Laptop Patch (Asus N750Jk) + ConfigData + + ABJxwQAScdAAEnHqABJx+QAUccIAFHHQABRx + 4XAUcfkAFXHDABVx0QAVceIQFXHwEBZxxAAW + cdAAFnHgABZx9AAbccUAG3HRABtx6BAbcfAg + HXHGAB1x0AAdcewAHXH0ABRwwA== + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903592 + Comment + ALC668 Custom (Asus N750JV) + ConfigData + + ASccAAEnHQEBJx6mAScfkAFHHBABRx0BAUce + FwFHH5ABVxwfAVcdEAFXHiEBVx8DAWcc8AFn + HQABZx4AAWcfQAGHHPABhx0AAYceAAGHH0AB + lxzwAZcdAAGXHgABlx9AAacc8AGnHQABpx4A + AacfQAG3HDABtx0QAbcegQG3HwMB1xzwAdcd + AAHXHgAB1x9AAecc8AHnHQAB5x4AAecfQAH3 + HPAB9x0AAfceAAH3H0ABRwwCAVcMAg== + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903600 + Comment + Custom ALC670 by Alex Auditore + ConfigData + + AbccQAG3HRABtx4rAbcfAQFXHDABVx0BAVce + EwFXH5ABJxwQAScdAQEnHqABJx+QAaccUAGn + HTEBpx6BAacfAQGXHCABlx2QAZcegQGXHwEB + 5xxgAecdEQHnHksB5x8BARcc8AEXHQABFx4A + ARcfQAE3HPABNx0AATceAAE3H0ABRxzwAUcd + AAFHHgABRx9AAWcc8AFnHQABZx4AAWcfQAF3 + HPABdx0AAXceAAF3H0ABhxzwAYcdAAGHHgAB + hx9AAdcc8AHXHQAB1x4AAdcfQAIXHPACFx0A + AhceAAIXH0A= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903601 + Comment + MacPeet - ALC671 for Fujitsu-Siemens D3433-S (Q170 chip) + ConfigData + + AYccIAGHHTABhx6BAYcfAQIXHDACFx1AAhce + AQIXHwECFwwC + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903601 + Comment + MacPeet - ALC671 for Fujitsu Esprimo C720 + ConfigData + + IXccECF3HQAhdx4TIXcfkCFHHCAhRx0QIUce + ISFHHwIhRwwCIhccMCIXHUAiFx4RIhcfkSIX + DAIhlxxQIZcdECGXHoEhlx8CIYccYCGHHTAh + hx6BIYcfAQ== + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + IhcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283903601 + Comment + alc671 for HP 280 Pro G4 by Lcp + ConfigData + + AXccEAF3HQEBdx4XAXcfmQF3DAIBRxwgAUcd + QQFHHgEBRx8BAUcMAgIXHDACFx0QAhceIQIX + HwICFwwCAbccQAG3HTABtx6BAbcfAQGHHFAB + hx2QAYceoQGHHwE= + + FuncGroup + 1 + LayoutID + 88 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + osy86 - Realtek ALC700 + CodecID + 283903744 + ConfigData + + AZceYQGXByUBtx4R + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AZcHJQ== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC882 + CodecID + 283904130 + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC882 + CodecID + 283904130 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC883 + CodecID + 283904131 + Comment + Mirone - Realtek ALC883 by Andrey1970 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904133 + Comment + toleda ALC885 + ConfigData + + IUccECFHHUAhRx4RIUcfASFXHCAhVx0QIVce + ASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfccoCH3HQEh9x7LIfcfASEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 1 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC885 + CodecID + 283904133 + Comment + Custom ALC885 by alex1960 + ConfigData + + IUccECFHHUAhRx4RIUcfASFXHCAhVx0QIVce + ASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfccoCH3HQEh9x7LIfcfASEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC885 + CodecID + 283904133 + Comment + MacPeet - ALC885 for GA-G33M-DS2R + ConfigData + + IUccECFHHUAhRx4RIUcfkSFXHCAhVx0QIVce + ASFXHwEhZxwwIWcdYCFnHgEhZx8BIYccQCGH + HZAhhx6gIYcfkCGnHFAhpx0wIacegSGnHwEh + lxxgIZcdkCGXHoEhlx8CIbcccCG3HUAhtx4h + IbcfAiHnHJAh5x1hIeceSyHnHwEh9xygIfcd + ASH3Hssh9x8B + + FuncGroup + 1 + LayoutID + 15 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + Toleda ALC887 + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcd + ECFXHgEhVx8BIWccMCFnHWAhZx4BIWcfASF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAh + hx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0w + IacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + Toleda ALC887 + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxzwIVcd + ACFXHgAhVx9AIWcc8CFnHQAhZx4AIWcfQCF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdYCGHHgEh + hx8BIZccYCGXHZAhlx6gIZcfkCGnHFAhpx0Q + IaceASGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + Toleda ALC887 + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcd + ECFXHgEhVx9AIWcc8CFnHQAhZx4AIWcfQCF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAh + hx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0w + IacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC887-VD + CodecID + 283904135 + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwIB + 5xyQAecdYAHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC887-VD + CodecID + 283904135 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 7 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC887-VD + CodecID + 283904135 + ConfigData + + AUccEAFHHUABRx4RAUcfkQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgGHHDABhx2QAYceoQGH + H5EBlxxAAZcdkQGXHoEBlx+SAUcMAg== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + VictorXu - ALC887-VD for ASUS H81M-D + ConfigData + + AUccEAFHHUABRx4RAUcfkQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgGHHEABhx2QAYceoQGH + H5EBpxxPAacdMAGnHoEBpx8BAZccUAGXHZAB + lx6BAZcfAg== + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC887-VD + CodecID + 283904135 + ConfigData + + AbccAAG3HUABtx4hAbcfAQGHHBABhx2QAYce + oAGHH5EBlxwgAZcdkAGXHoEBlx8BAUccMAFH + HUABRx4RAUcfkQGnHEABpx0wAacegQGnHwEB + 5xxQAecdYQHnHksB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC887-VD + CodecID + 283904135 + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhhxxAIYcdkCGHHqAhhx+QIaccUCGn + HTAhpx6BIacfASGXHGAhlx2QIZcegSGXHwIh + txxwIbcdQCG3HiEhtx8CIecckCHnHWEh5x5L + IecfAQ== + + FuncGroup + 1 + LayoutID + 17 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC887-VD + CodecID + 283904135 + ConfigData + + IUccECFHHUAhRx4RIUcfkSFHDAIhhxxAIYcd + YCGHHgEhhx8BIaccUCGnHRAhpx4BIacfASGX + HGAhlx2QIZceoSGXH5EhtxxwIbcdQCG3HiEh + tx8CIecckCHnHWEh5x5LIecfAQ== + + FuncGroup + 1 + LayoutID + 18 + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC887-VD AD0 for Asus Z97M-PLUS/BR by maiconjs + CodecID + 283904135 + ConfigData + + AUccAAFHHUABRx4BAUcfAQFnHBABZx1gAWce + AQFnHwEBVxwgAVcdEAFXHgEBVx8BAXccMAF3 + HSABdx4BAXcfAQG3HEABtx1AAbceIQG3HwIB + FxxQARcdAQEXHkYBFx+ZAYccYAGHHZABhx6g + AYcfkAGnHHABpx0wAacegQGnHwEBlxyAAZcd + kAGXHoEBlx8CAUcMAg== + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + Custom by klblk ALC887 for GA-Q87TN + ConfigData + + IRcc8CEXHQAhFx4AIRcfQCEnHPAhJx0AISce + ACEnH0AhRxzwIUcdACFHHgAhRx9AIVcc8CFX + HQAhVx4AIVcfQCFnHPAhZx0AIWceACFnH0Ah + dxzwIXcdACF3HgAhdx9AIYcccCGHHZAhhx6B + IYcfASGXHPAhlx0AIZceACGXH0AhpxwgIacd + QCGnHgEhpx8BIbcc8CG3HQAhtx4AIbcfQCHH + HPAhxx0AIcceACHHH0Ah1xzwIdcdACHXHgAh + 1x9AIecc8CHnHQAh5x4AIecfQCH3HPAh9x0A + IfceACH3H0A= + + FuncGroup + 1 + LayoutID + 33 + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC887-VD for Asus B85-ME by maiconjs + CodecID + 283904135 + ConfigData + + AUccAAFHHUABRx4BAUcfAQG3HBABtx1AAbce + IQG3HwIBhxwgAYcdkAGHHqABhx+QAaccMAGn + HTABpx6BAacfAQGXHEABlx2QAZcegQGXHwIB + RwwC + + FuncGroup + 1 + LayoutID + 40 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + 0th3r ALC887 for PRIME B250-PLUS + ConfigData + + AUccEAFHHUABRx4BAUcfAQG3HCABtx1BAbce + IQG3HwIBhxxAAYcdkAGHHoEBhx8BAZccUAGX + HZEBlx6BAZcfAg== + + FuncGroup + 1 + LayoutID + 50 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + ALC887 for Asus PRIME Z270-P (full Rear and Front, non auto-switch) by ctich + ConfigData + + AUccEAFHHUABRx4BAUcfAQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgEXHDABFx0BARceRgEX + H5ABhxxAAYcdkAGHHqABhx+RAaccTwGnHTAB + px6BAacfAQGXHFABlx2RAZcegQGXHwI= + + FuncGroup + 1 + LayoutID + 52 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904135 + Comment + ALC887 for Asus PRIME Z270-P (Rear LineOut1, Mic - LineOut2, LineIn - LineOut3 - 5.1 and Front, non auto-switch) by ctich + ConfigData + + AUccEAFHHUABRx4BAUcfAQFHDAIBhxwQAYcd + YAGHHgEBhx8BAaccEAGnHRABpx4BAacfAQG3 + HCABtx1AAbceIQG3HwIBtwwCARccMAEXHQEB + Fx5GARcfkAGXHFABlx2RAZcegQGXHwI= + + FuncGroup + 1 + LayoutID + 53 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC887-VD GA-Z97 HD3 ver2.1 by varrtix + CodecID + 283904135 + ConfigData + + IRccYCEXHQEhFx5DIRcfmSEnHPAhJx0AISce + ACEnH0AhRxyAIUcdQCFHHhEhRx8BIUcMAiFX + HIIhVx0QIVceASFXHwEhZxyBIWcdYCFnHgEh + Zx8BIXccgiF3HSAhdx4BIXcfASGHHHAhhx2Q + IYceoSGHHwEhlxxwIZcdkCGXHqEhlx8CIacc + ICGnHTAhpx6BIacfASG3HFAhtx1AIbceISG3 + HwIhtwwCIccc8CHHHQAhxx4AIccfQCHXHPAh + 1x0AIdceACHXH0Ah5xzwIecdACHnHgAh5x9A + Ifcc8CH3HQAh9x4AIfcfQA== + + FuncGroup + 1 + LayoutID + 87 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom Realtek ALC887-VD by Constanta + CodecID + 283904135 + ConfigData + + IUccECFHHUAhRx4RIUcfASGHHFAhhx2QIYce + oCGHH5AhlxxgIZcdkCGXHoEhlx8CIacccCGn + HTAhpx6BIacfASG3HIAhtx1AIbceISG3HwIh + 5xyQIecdYCHnHkUh5x8B + + FuncGroup + 1 + LayoutID + 99 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904136 + Comment + toleda ALC888 + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 1 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904136 + Comment + toleda ALC888 + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHPAhVx0AIVce + ACFXH0AhZxzwIWcdACFnHgAhZx9AIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx1gIYceASGHHwEh + lxxgIZcdkCGXHqAhlx+QIaccUCGnHRAhpx4B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 2 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904136 + Comment + toleda ALC888 + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC888 for Laptop + CodecID + 283904136 + ConfigData + + ASccEAEnHQABJx6gAScfmQFHHCABRx1AAUce + IQFHHwEBtxwwAbcdAQG3HhMBtx+ZAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYcegQGHHwEB + pxxgAacdMAGnHoEBpx8BAecccAHnHUAB5x5F + AecfAQFHDAI= + + FuncGroup + 1 + LayoutID + 4 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC888 3 ports (Pink, Green, Blue) + CodecID + 283904136 + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC888 5/6 ports (Gray, Black, Orange, Pink, Green, Blue) + CodecID + 283904136 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC888S-VD Version1 for MedionP9614 by MacPeet + CodecID + 283904136 + ConfigData + + AUccEAFHHRABRx4hAUcfAQFHDAIBhxwwAYcd + EAGHHqEBhx8BASccQAEnHQABJx6jAScfkAF3 + HFABdx0AAXceEwF3H5ABpxxgAacdEAGnHoEB + px8BAecccAHnHRAB5x5FAecfAQ== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC888 for Acer Aspire 7738G by MacPeet + CodecID + 283904136 + ConfigData + + AUccEAFHHQABRx4TAUcfkAFHDAIBJxxAAScd + AAEnHqMBJx+QAVccUAFXHRABVx4hAVcfAAFX + DAIBpxxgAacdMAGnHoEBpx8AAecccAHnHRAB + 5x5FAecfAA== + + FuncGroup + 1 + LayoutID + 27 + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC888S-VD Version2 for MedionE7216 by MacPeet + CodecID + 283904136 + ConfigData + + AUccEAFHHQABRx4TAUcfkAFHDAIBdxwgAXcd + AAF3HhMBdx+QAeccMAHnHRAB5x5EAecfAAGH + HEABhx0QAYceoQGHHwABJxxQAScdAAEnHqMB + Jx+QAaccYAGnHRABpx6BAacfAAG3HHABtx0Q + AbceIQG3HwA= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC888S-VD Version3 for MedionP8610 by MacPeet + CodecID + 283904136 + ConfigData + + AUccEAFHHQABRx4TAUcfkAFHDAIBdxwgAXcd + EAF3HhMBdx+QAeccMAHnHRAB5x5FAecfAAGX + HEABlx0AAZceowGXH5ABhxxQAYcdEAGHHoEB + hx8AAVccYAFXHRABVx4hAVcfAAFXDAI= + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904137 + Comment + ALC889, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 1 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904137 + Comment + ALC889, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 2 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904137 + Comment + ALC889, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3 + ASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3 + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904137 + Comment + MacPeet ALC889 Medion P4020 D + ConfigData + + AUccEAFHHUABRx4hAUcfAQFHDAIBtxwgAbcd + AAG3HhMBtx+QAeccMAHnHWAB5x5EAecfAQGX + HFABlx0AAZceowGXH5ABpxxgAacdMAGnHoEB + px8B + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904137 + Comment + alc889, Custom by Sergey_Galan + ConfigData + + IRcc8CEXHQAhFx4AIRcfQCEnHPAhJx0AISce + ACEnH0AhRxwwIUcdQSFHHhEhRx8BIVcc8CFX + HQAhVx4AIVcfQCFnHPAhZx0AIWceACFnH0Ah + dxzwIXcdACF3HgAhdx9AIYccECGHHZEhhx6g + IYcfkCGXHCAhlx2QIZcegSGXHwEhpxzwIacd + ACGnHgAhpx9AIbccgCG3HUAhtx4hIbcfASHH + HPAhxx0AIcceACHHH0Ah1xzwIdcdACHXHgAh + 1x9AIecckCHnHSEh5x5LIecfASH3HPAh9x0A + IfceACH3H0A= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - ALC891 for HP Pavilion Power 580-030ng + CodecID + 283904103 + ConfigData + + AXccIAF3HRABdx4hAXcfAgGHHDABhx2QAYce + gQGHHwEBtxxAAbcdMAG3HoEBtx8BAhccYAIX + HQACFx4RAhcfAAIXDAI= + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC891 + CodecID + 283904103 + ConfigData + + AXccEAF3HUABdx4hAXcfAQFnHDABZx0wAWce + gQFnHwEBhxxAAYcdkAGHHqEBhx+RAaccYAGn + HZABpx6BAacfAgHnHHAB5x0AAeceRgHnH5AC + FxyAAhcdQAIXHhECFx8B + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcd + ECFXHgEhVx8BIWccMCFnHWAhZx4BIWcfASF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAh + hx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0w + IacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxzwIVcd + ACFXHgAhVx9AIWcc8CFnHQAhZx4AIWcfQCF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdYCGHHgEh + hx8BIZccYCGXHZAhlx6gIZcfkCGnHFAhpx0Q + IaceASGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcd + ECFXHgEhVx9AIWcc8CFnHQAhZx4AIWcfQCF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAh + hx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0w + IacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC892 for Laptop + CodecID + 283904146 + ConfigData + + ASccEAEnHZABJx6gAScfmQFHHCABRx1AAUce + IQFHHwEBdxwwAXcdEAF3HgEBdx8BAYccQAGH + HZABhx6BAYcfAQGnHFABpx0wAacegQGnHwEB + txxgAbcdQAG3HhMBtx+ZAecccAHnHWAB5x5F + AecfAQG3DAI= + + FuncGroup + 1 + LayoutID + 4 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892, Mirone + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892, Mirone + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + MSI GP70/CR70 by Slava77 + ConfigData + + AbceEQGXHqABlx+RAYcegQFHDAI= + + FuncGroup + 1 + LayoutID + 12 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + MacPeet - alc892 for MSi Z97S SLI Krait Edition + ConfigData + + AUccEAFHHUABRx4RAUcfkQG3HCABRwwCAbcd + QAG3HiEBtx8CAbcMAgGHHDABhx2QAYceoQGH + H5EBVxxQAVcdEAFXHgEBVx8BAWccYAFnHWAB + Zx4BAWcfAQF3HHABdx0gAXceAQF3HwEBlxyA + AZcdkAGXHoEBlx8CAacckAGnHTABpx6BAacf + AQ== + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + MacPeet - alc892 for MSI GL73-8RD + ConfigData + + AUccIAFHHXABRx4hAUcfAAFHDAIBVxwwAVcd + AAFXHhcBVx+QAeccQAHnHXAB5x5FAecfAAEn + HFABJx0AAScepgEnH5ABhxxgAYcdcAGHHoEB + hx8AAXcccAF3HQABdx4XAXcfkA== + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + MacPeet - alc892 for MSI B150M MORTAR - SwitchMode + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgFXHDABVx0QAVceAQFX + HwEBlxxQAZcdkAGXHoEBlx8CAWcccAFnHWAB + Zx4BAWcfAQGHHIABhx2QAYceoAGHH5ABpxyQ + AacdMAGnHoEBpx8BAeccsAHnHRAB5x5FAecf + AQ== + + FuncGroup + 1 + LayoutID + 17 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + MacPeet - alc892 for MSI B150M MORTAR - ManualMode + ConfigData + + AUccEAFHHUABRx4BAUcfAQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgFXHDABVx0QAVceAQFX + HwEBlxxQAZcdkAGXHoEBlx8CAWcccAFnHWAB + Zx4BAWcfAQGHHIABhx2QAYceoAGHH5ABpxyQ + AacdMAGnHoEBpx8BAeccsAHnHRAB5x5FAecf + AQ== + + FuncGroup + 1 + LayoutID + 18 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + Custom ALC892 for GIGABYTE Z390M GAMING - Manual - by Bokey + ConfigData + + AUccEAFHHUABRx4RAUcfAQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgFnHDABZx1gAWceAQFn + HwEBVxxAAVcdEAFXHgEBVx8BAXccUAF3HSAB + dx4BAXcfAQGHHHABhx2QAYceoQGHH5ABlxyA + AZcdkAGXHoEBlx8CARcckAEXHQABFx5DARcf + kAGnHGABpx0wAacegQGnHwEB1xzwAdcdAAHX + HgAB1x9AAScc8AEnHQABJx4AAScfQA== + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ASRock Z390m-ITX/ac by imEgo + ConfigData + + ARcc8AEXHQABFx4AARcfQAEnHPABJx0AASce + AAEnH0ABRxwQAUcdQAFHHhABRx+QAUcMAgFX + HPABVx0AAVceAAFXH0ABZxzwAWcdAAFnHgAB + Zx9AAXcc8AF3HQABdx4AAXcfQAGHHDABhx2Q + AYceoAGHH5ABlxxAAZcdkAGXHoEBlx8CAacc + UAGnHTABpx6BAacfAQG3HCABtx1AAbceIQG3 + HwIBtwwCAccc8AHHHQABxx4AAccfQAHXHPAB + 1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9A + Afcc8AH3HQAB9x4AAfcfQA== + + FuncGroup + 1 + LayoutID + 22 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892 for Clevo P751DMG by Cryse Hillmes + ConfigData + + ASccEAEnHQEBJx6mAScfkAFHHEABRx0BAUce + FwFHH5ABdxxgAXcdEAF3HgEBdx8BAYccgAGH + HRABhx6BAYcfAQGnHCABpx0QAacegQGnHwEB + txxQAbcdEAG3HiEBtx8BAecccAHnHRAB5x5F + AecfAQFHDAI= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892 for Clevo P65xSE/SA by Derek Zhu + ConfigData + + ASccEAEnHZEBJx6mAScfkAGHHCABhx1gAYce + gQGHHwEBRxwwAUcdAQFHHhcBRx+QAbccQAG3 + HTABtx4hAbcfAQF3HFABdx1AAXceAQF3HwEB + 5xxgAecdYQHnHkUB5x8BALcccAC3HREAtx4W + ALcfkAFXHPABVx0AAVceAAFXHwQBZxzwAWcd + AAFnHgABZx8EAZcc8AGXHQABlx4AAZcfBAGn + HPABpx0AAaceAAGnHwQBxxzwAccdAAHHHgAB + xx8EAdcc8AHXHQAB1x4AAdcfBAH3HPAB9x0A + AfceAAH3HwQBRwwCAbcMAg== + + FuncGroup + 1 + LayoutID + 31 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + Custom ALC892 for GIGABYTE B360 M AORUS PRO + ConfigData + + ARccMAEXHQEBFx5DARcfmQEnHPABJx0AASce + AAEnH0ABRxxAAUcdQQFHHhEBRx+RAUcMAgFX + HPABVx0AAVceAAFXH0ABZxzwAWcdAAFnHgAB + Zx9AAXccgAF3HSABdx4BAXcfAQGHHBABhx2R + AYceoQGHH5EBlxxyAZcdEAGXHqEBlx8CAacc + 8AGnHQABpx4AAacfQAG3HFIBtx0QAbceIQG3 + HwIBtwwCAccc8AHHHQABxx4AAccfQAHXHPAB + 1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9A + Afcc8AH3HQAB9x4AAfcfQA== + + FuncGroup + 1 + LayoutID + 90 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + Custom ALC892 for GA-Z87-HD3 by BIM167 + ConfigData + + IRccUCEXHXEhFx5EIRcfASEnHPAhJx0AISce + ACEnH0AhRxwQIUcdQCFHHhEhRx+QIVccICFX + HRAhVx4BIVcfASFnHDAhZx1gIWceASFnHwEh + dxzwIXcdACF3HgAhdx9AIYccYCGHHZAhhx6g + IYcfkCGXHIAhlx2QIZcegSGXHwIhpxxwIacd + MCGnHoEhpx8BIbccQCG3HUAhtx4hIbcfAiHH + HPAhxx0AIcceACHHH0Ah5xzwIecdACHnHgAh + 5x9AIfcckCH3HXEh9x7EIfcfAQ== + + FuncGroup + 1 + LayoutID + 92 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + Custom ALC892 for HASEE K770e i7 D1 by gitawake + ConfigData + + ARcc8AEXHQABFx4AARcfQAEnHFABJx0BASce + pgEnH5ABRxwQAUcdAQFHHhcBRx+QAUcMAgFX + HPABVx0AAVceAAFXH0ABZxzwAWcdAAFnHgAB + Zx9AAXccIAF3HRABdx4BAXcfAQGHHGABhx0Q + AYcegQGHHwEBlxzwAZcdAAGXHgABlx9AAacc + UAGnHRABpx6BAacfAQG3HDABtx0QAbceIQG3 + HwEBtwwCAccc8AHHHQABxx4AAccfQAHXHPAB + 1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9A + Afcc8AH3HQAB9x4AAfcfQA== + + FuncGroup + 1 + LayoutID + 97 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + ALC892 with working SPDIF + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 98 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904146 + Comment + Custom ALC892 DNS P150EM by Constanta + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHHABhx2QAYce + gQGHHwEBlxxgAZcdAQGXHqABlx+QAaccgAGn + HTABpx6BAacfAQG3HCABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8B + + FuncGroup + 1 + LayoutID + 99 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904153 + Comment + ALC898, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcd + ECFXHgEhVx8BIWccMCFnHWAhZx4BIWcfASF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAh + hx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0w + IacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 1 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904153 + Comment + ALC898, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFHDAIhVxzwIVcd + ACFXHgAhVx9AIWcc8CFnHQAhZx4AIWcfQCF3 + HPAhdx0AIXceACF3H0AhhxxAIYcdYCGHHgEh + hx8BIZccYCGXHZAhlx6gIZcfkCGnHFAhpx0Q + IaceASGnHwEhtxxwIbcdQCG3HiEhtx8CIbcM + AiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3 + HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== + + FuncGroup + 1 + LayoutID + 2 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904153 + Comment + ALC898, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC898 + CodecID + 283904153 + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC898 + CodecID + 283904153 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 7 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904153 + Comment + Custom ALC898 by Irving23 for MSI GT72S 6QF-065CN + ConfigData + + ARcc8AEXHQABFx4AARcfQAEnHBABJx0BASce + oAEnH5ABRxzwAUcdAAFHHgABRx9AAVcc8AFX + HQABVx4AAVcfQAFnHPABZx0AAWceAAFnH0AB + dxxgAXcdEAF3HgEBdx8BAYccEAGHHRABhx6h + AYcfAQGXHEABlx0BAZceFwGXH5ABpxwgAacd + EAGnHoEBpx8BAbccQAG3HQEBtx4XAbcfkAHH + HPABxx0AAcceAAHHH0AB1xzwAdcdAAHXHgAB + 1x9AAecccAHnHREB5x5FAecfAQH3HPAB9x0A + AfceAAH3H0ABRwwC + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Realtek ALC898 for MSI GS40 + CodecID + 283904153 + ConfigData + + AaccEAGnHQABpx4XAacfkAHnHCAB5x0QAece + RgHnHwEBhxwwAYcdEAGHHoEBhx8BASccQAEn + HQABJx6gAScfkA== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904153 + Comment + ALC898, Toleda + ConfigData + + IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVce + ASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3 + HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5Ah + lxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6B + IacfASG3HHAhtx1AIbceISG3HwIh5xyQIecd + YSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEX + HPAhFx0AIRceACEXH0A= + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC898 for CLEVO P65xRS(-G) by datasone + CodecID + 283904153 + ConfigData + + ARcc8AEXHQABFx4AARcfQAEnHFABJx0BASce + pgEnH5ABRxwQAUcdAQFHHhcBRx+QAXccIAF3 + HRABdx4BAXcfAQGHHEABhx0QAYcegQGHHwEB + 1xzwAdcdAAHXHgAB1x9AAeccMAHnHREB5x5E + AecfAQFHDAI= + + FuncGroup + 1 + LayoutID + 65 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC898 for Clevo P750DM2-G + CodecID + 283904153 + ConfigData + + ARcc8AEXHQABFx4AARcfQAEnHFABJx0BASce + pgEnH5ABRxwQAUcdAQFHHhcBRx+QAXccIAF3 + HRABdx4BAXcfAQGHHEABhx0QAYcegQGHHwEB + pxxgAacdEAGnHoEBpx8BAdcc8AHXHQAB1x4A + AdcfQAHnHDAB5x0RAeceRAHnHwEBRwwC + + FuncGroup + 1 + LayoutID + 66 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC898 for MSI GE62 7RE Apache Pro by spectra + CodecID + 283904153 + ConfigData + + ASccEAEnHQEBJx6gAScfmQGHHCABhx0QAYce + gQGHHwIBVxwwAVcdAQFXHhMBVx+ZAaccMQGn + HQEBpx4TAacfmQG3HDIBtx0BAbceEwG3H5kB + twwCAUccQAFHHRABRx4hAUcfAgFHDAIB5xxQ + AecdEQHnHkUB5x8C + + FuncGroup + 1 + LayoutID + 98 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Realtek ALC898 for MSI GP62-6QG Leopard Pro + CodecID + 283904153 + ConfigData + + ARcc8AEXHQABFx4AARcfQAEnHBABJx0BASce + oAEnH5ABRxxQAUcdQAFHHiEBRx8BAUcMAgFX + HEABVx0BAVceEAFXH5ABZxzwAWcdAAFnHgAB + Zx9AAXcc8AF3HQABdx4AAXcfQAGHHCABhx2Q + AYcegQGHHwEBlxzwAZcdAAGXHgABlx9AAacc + 8AGnHQABpx4AAacfQAG3HPABtx0AAbceAAG3 + H0ABxxzwAccdAAHHHgABxx9AAdcc8AHXHQAB + 1x4AAdcfQAHnHHAB5x1BAeceRQHnHwEB9xzw + AfcdAAH3HgAB9x9A + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904153 + Comment + ALC898, 4 Line Out by Andrey1970 + ConfigData + + AUccAAFHHUABRx4RAUcfkAFXHBABVx0QAVce + AQFXHwEBZxwgAWcdYAFnHgEBZx8BAYccMAGH + HZABhx6gAYcfkAGnHEABpx0wAacegQGnHwEB + lxxQAZcdkAGXHoEBlx8CAbccYAG3HUABtx4h + AbcfAgHnHHAB5x1hAeceSwHnHwEBdxyAAXcd + IAF3HgEBdx8BAfcc8AH3HQAB9x4AAfcfSQEX + HPABFx0AARceAAEXH0k= + + FuncGroup + 1 + LayoutID + 101 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904256 + Comment + toleda - ALC1150 + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcd + EAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904256 + Comment + toleda - ALC1150 + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcd + AAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdYAGHHgEB + hx8BAZccYAGXHZABlx6gAZcfkAGnHFABpx0Q + AaceAQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904256 + Comment + toleda - ALC1150 + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcd + AAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC1150 + CodecID + 283904256 + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC1150 + CodecID + 283904256 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 7 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Realtek ALC1150 (mic boost) + CodecID + 283904256 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283904256 + Comment + ALC1150 for Gigabyte GA-Z97X-UD5H by DalianSky + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcd + EAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Toleda - Realtek ALC1220 + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcd + EAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwE= + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Toleda - Realtek ALC1220 + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcd + AAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdYAGHHgEB + hx8BAZccYAGXHZABlx6gAZcfkAGnHFABpx0Q + AaceAQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwE= + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Toleda - Realtek ALC1220 + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcd + AAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Mirone - Realtek ALC1220 + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Mirone - Realtek ALC1220 + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 7 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Custom Realtek ALC1220 by truesoldier + ConfigData + + AUccEAFHHUABRx4RAUcfkAG3HCABtx1AAbce + IQG3HwIB5xwwAecdIAHnHksB5x8BAYccQAGH + HZABhx6gAYcfkAGXHFABlx2QAZcegQGXHwIB + VxxwAVcdEAFXHgEBVx8BAWccgAFnHWABZx4B + AWcfAQGnHKABpx0wAacegQGnHwE= + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + MacPeet - ALC1220 for Clevo P950HR + ConfigData + + AUccEAFHHRABRx4hAUcfAQFHDAIBJxwwAScd + AAEnHqYBJx+ZAYccQAGHHRABhx6BAYcfAQG3 + HGABtx0AAbceFwG3H5kBtwwCAecccAHnHRAB + 5x5EAecfAQ== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + fleaplus - ALC1220 for MSI WT75 + ConfigData + + AbccIAG3HQEBtx4XAbcfkAG3DAIBhxxAAYcd + EAGHHqEBhx8BAZccQQGXHRQBlx6BAZcfAQGn + HE8Bpx0QAacegQGnHwEBJxxQAScdAQEnHmAB + Jx+Q + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + MacPeet - ALC1220 for Gigabyte Z390 + ConfigData + + AeccMAHnHSAB5x5FAecfAQGHHEABhx2QAYce + oQGHH5EBlxxQAZcdkAGXHoEBlx8CAUccYAFH + HUABRx4hAUcfAgFHDAIBVxxwAVcdEAFXHgEB + Vx8BAWccgAFnHWABZx4BAWcfAQGnHJABpx0w + AacegQGnHwEBtxygAbcdQAG3HhEBtx+RAbcM + Ag== + + FuncGroup + 1 + LayoutID + 16 + WakeConfigData + + AbcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + ALC1220 for MSI GE63 Raider RGB 8RF + ConfigData + + AUccEAFHHUABRx4RAUcfAQEnHCABJx0BASce + oAEnH5ABlxwwAZcdEAGXHoEBlx8CAbccgAG3 + HUABtx4hAbcfAQHnHJAB5x3gAeceRQHnHwEB + RwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + lostwolf - ALC1220 for Gigabyte Z370-HD3P + ConfigData + + AScc8AEnHQABJx4AAScfQAFHHBABRx1AAUce + EQFHHwEBRwwCAVccIAFXHRABVx4BAVcfAQFn + HDABZx1gAWceAQFnHwEBdxxAAXcdIAF3HgEB + dx8BAYccUAGHHZABhx6gAYcfkQGXHGABlx2Q + AZcegAGXHwIBpxxwAacdMAGnHoEBpx8BAbcc + gAG3HUABtx4hAbcfAgG3DAIB1xzwAdcdAAHX + HgAB1x9AAecckAHnHQAB5x5DAecfmQ== + + FuncGroup + 1 + LayoutID + 27 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + MacPeet- ALC1220 for Z390 Aorus Ultra - Output SP/HP Manualmode + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcd + EAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwE= + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + MacPeet- ALC1220 for Z390 Aorus Ultra - Output SP/HP SwitchMode + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcd + EAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwE= + + FuncGroup + 1 + LayoutID + 29 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + MacPeet- ALC1220 for Z370 AORUS Gaming 7 - Output SP/HP SwitchMode + ConfigData + + AeccMAHnHSAB5x5FAecfAQGHHEABhx2QAYce + oQGHH5ABlxxQAZcdkAGXHoEBlx8CAUccYAFH + HUABRx4hAUcfAgFHDAIBVxxwAVcdEAFXHgEB + Vx8BAWccgAFnHWABZx4BAWcfAQGnHJABpx0w + AacegQGnHwEBtxygAbcdQAG3HhEBtx+QAbcM + Ag== + + FuncGroup + 1 + LayoutID + 30 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + Custom ALC1220 for MSI P65 Creator by CleverCoder + ConfigData + + AUccEAFHHRABRx4RAUcfAAFHDAIBtxwgAbcd + AAG3HhcBtx+QAbcMAgGXHDABlx0QAZcegQGX + HwABJxxAAScdAAEnHqYBJx+Q + + FuncGroup + 1 + LayoutID + 34 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906592 + CodecName + MiBook 2019 by Dynamix1997 + ConfigData + + AaccEAGnHQEBpx4QAacfkAFHHCABRx0QAUce + IQFHHwMBRwwCASccMAEnHQEBJx6mAScfkAGH + HEABhx0QAYcegQGHHwM= + + FuncGroup + 1 + LayoutID + 99 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + toleda - Realtek ALCS1200A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXcc8AF3 + HQABdx4AAXcfQAGHHEABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6B + AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd + YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + toleda - Realtek ALCS1200A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFXHPABVx0AAVce + AAFXH0ABZxzwAWcdAAFnHgABZx9AAXcc8AF3 + HQABdx4AAXcfQAGHHEABhx1gAYceAQGHHwEB + lxxgAZcdkAGXHqABlx+QAaccUAGnHRABpx4B + AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd + YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + toleda - Realtek ALCS1200A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFXHPABVx0AAVce + AAFXH0ABZxzwAWcdAAFnHgABZx9AAXcc8AF3 + HQABdx4AAXcfQAGHHEABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6B + AacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecd + YQHnHksB5x8BARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + owen0o0 - Realtek ALCS1200A + ConfigData + + AUccQAFHHVABRx4RAUcfkAFHDAIBZxxhAWcd + EAFnHgEBZx8BAVccYgFXHRABVx4BAVcfAQG3 + HFABtx1AAbceIQG3HwIBtwwCAecccAHnHREB + 5x5FAecfAQGHHBABhx0QAYceoQGHH5ABpxwg + AacdEAGnHoEBpx8BAZccgAGXHZABlx6hAZcf + AgF3HPABdx0AAXceAAF3H0ABFxzwARcdAAEX + HgABFx9A + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + VictorXu - Realtek ALCS1200A for Asrock Z490M-ITX + ConfigData + + AUccEAFHHUABRx4RAUcfkQFHDAIBtxwgAbcd + QAG3HiEBtx8CAbcMAgGHHDABhx2QAYceoQGH + H5EBpxw/AacdMAGnHoEBpx8BAZccQAGXHZAB + lx6BAZcfAg== + + FuncGroup + 1 + LayoutID + 49 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + CodecID + 283904768 + CodecName + VictorXu - Realtek ALCS1200A for Gigabyte B460M Aorus Pro + ConfigData + + AUccEAFHHUABRx4RAUcfkQFHDAIBZxwRAWcd + YAFnHgEBZx8BAVccEgFXHRABVx4BAVcfAQF3 + HBQBdx0gAXceAQF3HwEBtxwgAbcdQAG3HiEB + tx8CAbcMAgGHHEABhx2QAYceoQGHH5EBpxxP + AacdMAGnHoEBpx8BAZccUAGXHZABlx6BAZcf + Ag== + + FuncGroup + 1 + LayoutID + 50 + WakeConfigData + + AUcMAgG3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Toleda - Realtek ALC S1220A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcd + EAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 1 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Toleda - Realtek ALC S1220A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcd + AAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdYAGHHgEB + hx8BAZccYAGXHZABlx6gAZcfkAGnHFABpx0Q + AaceAQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 2 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Toleda - Realtek ALC S1220A + ConfigData + + AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcd + AAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3 + HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqAB + hx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0w + AacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcM + AgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3 + HgAB9x9AARcc8AEXHQABFx4AARcfQA== + + FuncGroup + 1 + LayoutID + 3 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Mirone - Realtek ALC S1220A + ConfigData + + AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYce + oAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGn + HTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB + 5xyQAecd4AHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 5 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Mirone - Realtek ALC S1220A + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHCABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAXccQAF3 + HSABdx4BAXcfAQGHHFABhx2QAYceoAGHH5AB + lxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6B + AacfAQG3HIABtx1AAbceIQG3HwIB5xyQAecd + YAHnHkUB5x8BAUcMAg== + + FuncGroup + 1 + LayoutID + 7 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Realtek ALC S1220A Kushamot for Asus Z270G mb (based on Mirone's layout 7) + ConfigData + + AUccEAFHHUABRx4RAUcfAQFXHFABVx0QAVce + AQFXHwEBZxwwAWcdYAFnHgEBZx8BAYccYAGH + HZABhx6gAYcfkAGXHHABlx2QAZcegQGXHwEB + txwgAbcdQAG3HiEBtx8BAUcMAg== + + FuncGroup + 1 + LayoutID + 11 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Realtek ALC S1220A RodionS, Nacho 2.0 outputs(green), 2 inputs (blue)+front panel (mic fr.panel), mic (pink), headphones(lime), SPDIF/Optical + ConfigData + + AUceEAGHHqABhx+RAZcegQFHDAI= + + FuncGroup + 1 + LayoutID + 20 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 283906408 + CodecName + Realtek ALC S1220A RodionS, Nacho 5.1 outputs(green, black, orange), 2 inputs (blue)+front panel (mic fr.panel), mic (pink), headphones(lime), SPDIF/Optical + ConfigData + + AUceEAGHHqABhx+RAZcegQFHDAI= + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX8050 + CodecID + 351346546 + ConfigData + + AXccEAF3HQABdx4XAXcfkAGnHCABpx0AAace + oAGnH5ABlxwwAZcdEAGXHosBlx8BAWccQAFn + HRABZx4rAWcfAQF3DAIBZwwCAZcHJA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Conexant CX8050 for ASUS S410U/X411U by cowpod + CodecID + 351346546 + ConfigData + + AXccEAF3HQABdx4XAXcfkAGnHCABpx0AAace + oAGnH5ABlxwwAZcdEAGXHosBlx8BAWccQAFn + HRABZx4rAWcfAQF3DAIBZwwCAZcHJAGnByQ= + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AXcMAgFnDAIBlwckAacHJA== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Conexant CX8070 (CX11880) for Lenovo ThinkPad E590 + CodecID + 351346566 + ConfigData + + AXccEAF3HQABdx4XAXcfkQF3DAIBpxwgAacd + AAGnHqYBpx+QAZccMAGXHRABlx6BAZcfAAFn + HEABZx0QAWceIQFnHwABZwwC + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AXcMAgFnDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Asus VivoBook Pro 15 CX8150 by Andres ZeroCross + CodecID + 351346646 + ConfigData + + AWccQAFnHRABZx4hAWcfBAGXHDABlx0QAZce + gQGXHwQBpxwgAacdAQGnHqABpx+QAdccEAHX + HQEB1x4XAdcfkAFnDAIB1wwC + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + ASUS VivoBook S405UA-EB906T - CX8150 by Andres ZeroCross + CodecID + 351346646 + ConfigData + + AWccQAFnHRABZx4hAWcfBAGXHDABlx0QAZce + gQGXHwQBpxwgAacdAQGnHqABpx+QAXccEAF3 + HQEBdx4XAXcfkAFnDAIBdwwC + + FuncGroup + 1 + LayoutID + 22 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX8200 + CodecID + 351346696 + ConfigData + + AXccEAF3HQABdx4XAXcfkAGnHCABpx0AAace + oAGnH5ABlxwwAZcdEAGXHosBlx8BAdccQAHX + HRAB1x4rAdcfAQF3DAIB1wwC + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - Conexant CX8200 for HP ZbooK 15UG4 + CodecID + 351346696 + ConfigData + + AXccEAF3HQABdx4XAXcfkAF3DAIBpxwgAacd + AAGnHqYBpx+QAZccMAGXHRABlx6BAZcfAAHX + HEAB1x0QAdceIQHXHwAB1wwC + + FuncGroup + 1 + LayoutID + 15 + WakeConfigData + + AXcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - HP Spectre 13-V130NG + CodecID + 351346696 + ConfigData + + AXccIAF3HQEBdx4XAXcfkAGXHDABlx0QAZce + gQGXHwEBpxxAAacdAQGnHqABpx+QAWccEAFn + HRABZx4hAWcfAQFnDAIBdwwC + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AWcMAgF3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + frankiezdh - Conexant CX8200 for HP Probook 440 G5 + CodecID + 351346696 + ConfigData + + AWccUAFnHRABZx4hAWcfAQFnDAIBdxxAAXcd + AQF3HhcBdx+RAXcMAgGXHHABlx0QAZcegQGX + HwEBpxwQAacdAQGnHqYBpx+R + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AWcMAgF3DAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Conexant CX8400 + CodecID + 351346896 + ConfigData + + AWccEAFnHRABZx4hAWcfBAF3HPABdx0AAXce + AAF3H0ABhxzwAYcdAAGHHgABhx9AAZccIAGX + HRABlx6BAZcfBAGnHDABpx0BAacepgGnH5AB + 1xxAAdcdAQHXHhcB1x+ZAecc8AHnHQAB5x4A + AecfQAH3HPAB9x0AAfceAAH3H0ACFxzwAhcd + AAIXHgACFx9AAmcc8AJnHQACZx4AAmcfQAJ3 + HPACdx0AAnceAAJ3H0ABZwwCAdcMAg== + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Conexant CX20561 + CodecID + 351359057 + ConfigData + + AWccQAFnHUABZx4hAWcfAQF3HPABdx0AAXce + AAF3H0ABhxwwAYcdMAGHHoEBhx8BAZcc8AGX + HQABlx4AAZcfQAGnHBABpx0BAaceFwGnH5AB + txzwAbcdAAG3HgABtx9AAccc8AHHHQABxx4A + AccfQAHXHCAB1x0BAdceoAHXH5A= + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20583 + CodecID + 351359079 + ConfigData + + AZcc8AGXHUABlx4hAZcfBAGnHPABpx2QAace + oQGnHwQBtxzwAbcdAQG3HgABtx9AAccc8AHH + HQEBxx4AAccfQAHXHPAB1x0BAdceAAHXH0AB + 5xzwAecdAQHnHqcB5x+VAfcc8AH3HQEB9x4X + AfcfkgIHHPACBx0RAgceRQIHHwQCJxzwAicd + AQInHgACJx9AAjcc8AI3HQECNx4AAjcfQA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20585 + CodecID + 351359081 + ConfigData + + AZccEAGXHRABlx4gAZcfAAGnHCABpx0AAace + AAGnH0ABtxwwAbcdEAG3HoABtx8AAcccUAHH + HQABxx4AAccfQAHXHGAB1x0AAdceAAHXH0AB + 5xxgAecdAAHnHgAB5x9AAfcccAH3HQAB9x4Q + AfcfkAIHHIACBx0AAgceAAIHH0ACJxyAAicd + AAInHgACJx9AAjcckAI3HQACNx6gAjcfkA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Constanta custom for Toshiba L755-16R - Conexant CX20585 + CodecID + 351359081 + ConfigData + + AZccEAGXHRABlx4gAZcfAAGnHCABpx0wAace + gQGnHwEBtxwwAbcdAAG3HgABtx9AAcccUAHH + HQABxx4AAccfQAHXHGAB1x0AAdceAAHXH0AB + 5xxgAecdAAHnHgAB5x9AAfcccAH3HQAB9x4Q + AfcfkAIHHIACBx0AAgceAAIHH0ACJxyAAicd + AAInHgACJx9AAjcckAI3HQECNx6gAjcfkA== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20588 + CodecID + 351359084 + ConfigData + + AZccQAGXHRABlx4hAZcfAgG3HDABtx0QAbce + owG3H5kCNxxQAjcdAQI3HqECNx+SAfccEAH3 + HQEB9x4TAfcfmQ== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20590 + CodecID + 351359086 + ConfigData + + AZccQAGXHRABlx4hAZcfAAGnHDABpx0QAace + gQGnHwABtxwgAbcdAAG3HqcBtx+QAfccEAH3 + HQAB9x4XAfcfkQ== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359086 + Comment + CX20590 Custom for Lenovo Yoga 13 by usr-sse2 + ConfigData + + AZccMAGXHUABlx4rAZcfDgH3HCAB9x0BAfce + EAH3H5ACNxwQAjcdAQI3HqACNx+QAaccQAGn + HRABpx6BAacfAQG3HPABtx0AAbceAAG3H0AB + xxzwAccdAAHHHgABxx9AAdcc8AHXHQAB1x4A + AdcfQAHnHPAB5x0AAeceAAHnH0ACBxzwAgcd + AAIHHgACBx9AAicc8AInHQACJx4AAicfQA== + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359086 + Comment + CX20590 for Lenovo T420 by tluck (Additional ports for use with a Docking Station) + ConfigData + + AFccAABXHQAAVx5WAFcfGABnHBAAZx0AAGce + VgBnHxgAdxwgAHcdAAB3HlYAdx8YAZccMAGX + HRABlx4hAZcfBAGnHEABpx2QAaceoQGnH2EB + txxQAbcdEAG3HoEBtx8BAcccYAHHHUABxx4h + AccfYQH3HHAB9x0BAfceFwH3H5kCNxyAAjcd + AQI3HqYCNx+ZAbcMAg== + + FuncGroup + 1 + LayoutID + 13 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359086 + Comment + CX20590 for Lenovo T420 by tluck (Standard Laptop) + ConfigData + + AFccAABXHQAAVx5WAFcfGABnHBAAZx0AAGce + VgBnHxgAdxwgAHcdAAB3HlYAdx8YAZccMAGX + HRABlx4hAZcfBAGnHEABpx2QAaceoQGnH2EB + txxQAbcdEAG3HoEBtx8BAcccYAHHHUABxx4h + AccfYQH3HHAB9x0BAfceFwH3H5kCNxyAAjcd + AQI3HqYCNx+ZAbcMAg== + + FuncGroup + 1 + LayoutID + 14 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359137 + Comment + CX20641 - MacPeet - Dell OptiPlex 3010 - ManualMode + ConfigData + + IcccECHHHUAhxx4BIccfASGnHCAhpx2QIace + gSGnHwIhtxwwIbcdMCG3HoEhtx8BIZccQCGX + HUAhlx4hIZcfAg== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359137 + Comment + CX20641 - MacPeet - Dell OptiPlex 3010 - SwitchMode + ConfigData + + IcccECHHHUAhxx4RIccfkCGnHCAhpx2QIace + gSGnHwIhtxwwIbcdMCG3HoEhtx8BIZccQCGX + HUAhlx4hIZcfAg== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359138 + Comment + CX20642 - MacPeet - Fujitsu ESPRIMO E910 E90+ Desktop - ManualMode + ConfigData + + IcccECHHHUAhxx4BIccfASGnHCAhpx0QIace + gSGnHwIhlxxAIZcdECGXHiEhlx8CIdccUCHX + HTAh1x6BIdcfAQ== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359138 + Comment + CX20642 - MacPeet - Fujitsu ESPRIMO E910 E90+ Desktop - SwitchMode + ConfigData + + IcccECHHHUAhxx4RIccfkCGnHCAhpx0QIace + oSGnH5IhlxxAIZcdECGXHiEhlx8CIdccUCHX + HTAh1x6BIdcfAQ== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + CodecID + 351359086 + Comment + Custom for Dell Vostro 3x60 by vusun123 + ConfigData + + AfccEAH3HQAB9x4XAfcfkQGnHDABpx0QAace + gQGnHwkBlxxAAZcdEAGXHiEBlx8AAjccIAI3 + HQECNx6nAjcfkAG3DAIB1wwC + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20722 + CodecID + 351359218 + ConfigData + + AXccEAF3HQABdx4WAXcfkQGnHCABpx0AAace + pgGnH5ABlxwwAZcdEAGXHoEBlx8CAWccQAFn + HRABZx4hAWcfAg== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20724 + CodecID + 351359220 + ConfigData + + AWccEAFnHRABZx4hAWcfAgF3HCABdx0AAXce + FwF3H5EBlxwwAZcdEAGXHoEBlx8CAaccQAGn + HQABpx6mAacfkA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Conexant CX20724 + CodecID + 351359220 + ConfigData + + AXccEAF3HQEBdx4XAXcfkQGnHCABpx0BAace + oAGnH5UBlxwwAZcdEAGXHosBlx8EAdccQAHX + HRAB1x4rAdcfBA== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20752 + CodecID + 351359247 + ConfigData + + AWccEAFnHUABZx4hAWcfAQF3HCABdx0AAXce + FwF3H5ABhxwwAYcdkAGHHoEBhx8BAaccQAGn + HQABpx6gAacfkA== + + FuncGroup + 1 + LayoutID + 3 + + + Codec + Andres ZeroCross - Asus A455LF - WX039D + CodecID + 351359247 + ConfigData + + AZcHJAGnByQBZxxAAWcdEAFnHiEBZx8EAXcc + EAF3HQEBdx4XAXcfkAGXHDABlx0QAZcegQGX + HwQBpxwgAacdAQGnHqABpx+Q + + FuncGroup + 1 + LayoutID + 21 + WakeConfigData + + AZcHJAGnByQ= + + WakeVerbReinit + + + + Codec + Conexant - CX20751/2 by RehabMan + CodecID + 351359247 + ConfigData + + AWccQAFnHRABZx4hAWcfBAF3HBABdx0BAXce + FwF3H5ABlxwwAZcdEAGXHoEBlx8EAZcHJAGn + HCABpx0BAaceoAGnH5ABpwck + + FuncGroup + 1 + LayoutID + 28 + WakeConfigData + + AZcHJAGnByQ= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20753/4 + CodecID + 351359249 + ConfigData + + AWccEAFnHUABZx4hAWcfAgF3HCABdx0AAXce + FwF3H5ABlxwwAZcdkAGXHoEBlx8CAaccQAGn + HQABpx6gAacfkA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Conexant CX20753/4 + CodecID + 351359249 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAFnHBMBZx0QAWce + IQFnHwMBlxwwAZcdEAGXHoEBlx8DAaccQAGn + HQEBpx6gAacfkA== + + FuncGroup + 1 + LayoutID + 14 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - CX20753/4 for Lenovo Thinkpad E580 + CodecID + 351359249 + ConfigData + + AXccEAF3HQABdx4XAXcfkAGnHCABpx0AAace + pgGnH5ABlxwwAZcdEAGXHoEBlx8AAWccQAFn + HRABZx4hAWcfAA== + + FuncGroup + 1 + LayoutID + 15 + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - LG gram 15ZD960-GX5BK + CodecID + 351359249 + ConfigData + + AXccIAF3HQEBdx4XAXcfkAGXHDABlx0QAZce + gQGXHwMBpxxAAacdAQGnHqABpx+QAdccEAHX + HRAB1x4hAdcfAw== + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - Conexant CX20755 + CodecID + 351359251 + ConfigData + + AXccEAF3HQABdx4XAXcfkAGnHCABpx0AAace + pgGnH5UBhxwwAYcdkAGHHosBhx8CAWccQAFn + HUABZx4rAWcfAg== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AQAAAA== + + Codec + Mirone - Conexant CX20756 + CodecID + 351359252 + ConfigData + + AWccEAFnHUABZx4hAWcfAQF3HCABdx0AAXce + EwF3H5ABhxwwAYcdkAGHHqEBhx8CAaccQAGn + HQABpx6mAacfkA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - Conexant CX20756 + CodecID + 351359252 + ConfigData + + AXccEAF3HQEBdx4XAXcfkAGnHCABpx0BAace + oAGnH5ABlxwwAZcdEAGXHosBlx8CAWccQAFn + HRABZx4rAWcfAgGHHPABhx0AAYceAAGHH0A= + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AQAAAA== + + Codec + Mirone - Conexant CX20757 + CodecID + 351359253 + ConfigData + + AWccEAFnHQABZx4hAWcfAQF3HCABdx0AAXce + EwF3H5ABhxwwAYcdAAGHHoEBhx8CAaccUAGn + HQABpx6gAacfkA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT 92HD87B1/3 by RehabMan + CodecID + 287143633 + ConfigData + + AMcegQDHHwM= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + InsanelyDeepak - IDT92HD87B1/3 + CodecID + 287143633 + ConfigData + + ANccAADXHQAA1x4XANcfmQEXHCABFx0AARce + oAEXH5kAtxwwALcdQAC3HiEAtx8BAMccQADH + HRAAxx6AAMcfAQ== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT92HD87B2/4 by RehabMan + CodecID + 287143641 + ConfigData + + AMcegQDHHwMBFx6gARcfkA== + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT92HD95 by RehabMan + CodecID + 287143573 + ConfigData + + AKccEACnHRAApx4hAKcfAgCnDAIAtxwgALcd + EAC3HqEAtx8CALcMAgDXHDAA1x0BANceFwDX + H5AA1wwCAOccQADnHQEA5x6gAOcfkA== + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD66C3/65 + CodecID + 287143667 + ConfigData + + AKccEACnHUAApx4hAKcfAgC3HCAAtx1AALce + EwC3H5AAxxwwAMcdkADHHoEAxx8CAOccQADn + HZAA5x6gAOcfkA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD71B7X + CodecID + 287143602 + ConfigData + + AKccEACnHRAApx4hAKcfAAC3HCAAtx0QALce + gQC3HwIAxxwwAMcdAADHHvAAxx9AANccQADX + HQAA1x4XANcfkADnHFAA5x0QAOceoQDnHyAB + RxxgAUcdAAFHHvABRx9AAYcccAGHHQABhx6g + AYcfkAGXHIABlx0AAZce8AGXH0AB5xyQAecd + EAHnHkYB5x8BAfccoAH3HQAB9x7wAfcfQAIH + HLACBx0AAgce8AIHH0ACdxzAAncdAAJ3HvAC + dx9A + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Dell Studio 1535 - IDT 92HD73C1X5 by chunnann + CodecID + 287143541 + ConfigData + + AKccEACnHRAApx4hAKcfAwDXHCAA1x0BANce + FwDXH5AA5xwwAOcdEADnHoEA5x8DAPccQAD3 + HRAA9x4BAPcfAwE3HFABNx0BATceoAE3H5A= + + FuncGroup + 1 + LayoutID + 19 + + + AFGLowPowerState + + AwAAAA== + + Codec + Andres ZeroCross - IDT 92HD73C1X5 for Alienware M17X R2 + CodecID + 287143541 + ConfigData + + AKccEACnHRAApx4hAKcfBADHHCAAxx0QAMce + gQDHHwQA5xwwAOcdAQDnHhcA5x+QATccQAE3 + HQEBNx6gATcfkA== + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - IDT92HD73E1X5 for HP Envy h8 1425eg + CodecID + 287143542 + ConfigData + + AMccEADHHUAAxx4RAMcfkQCnHCAApx1AAKce + IQCnHwIA5xwwAOcdkADnHqEA5x+RALccQAC3 + HZAAtx6BALcfAgDXHFAA1x0wANcegQDXHwEA + 9xxgAPcdEAD3HgEA9x8BAQcccAEHHWABBx4B + AQcfAQEXHIABFx0gARceAQEXHwECJxygAicd + EAInHkUCJx8B + + FuncGroup + 1 + LayoutID + 15 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD81B1C5 + CodecID + 287143637 + ConfigData + + AKccIACnHRAApx6BAKcfAgC3HDAAtx0QALce + IQC3HwIA1xxAANcdAADXHhcA1x+QARccUAEX + HQABFx6gARcfkA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Goldfish64 - IDT 92HD81B1C5 for Dell Latitude E6410 + CodecID + 287143637 + ConfigData + + AKccIACnHRAApx6BAKcfBACnDAIAtxwwALcd + EAC3HiEAtx8EALcMAgDHHPAAxx0AAMceAADH + H0AA1xxAANcdAQDXHhcA1x+QANcMAgDnHPAA + 5x0AAOceAADnH0AA9xzwAPcdAAD3HgAA9x9A + AQcc8AEHHQABBx4AAQcfQAEXHFABFx0BARce + oAEXH5AB9xzwAfcdAAH3HgAB9x9AAgcc8AIH + HQACBx4AAgcfQA== + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD81B1X5 + CodecID + 287143429 + ConfigData + + AKccIACnHRAApx6hAKcfAQC3HBAAtx0QALce + IQC3HwEA1xwwANcdAADXHhcA1x+QAOcc8ADn + HQAA5x4AAOcfQAD3HEAA9x0AAPceAAD3H0AB + BxxQAQcdAAEHHgABBx9AARccYAEXHQABFx6j + ARcf0AH3HHAB9x0AAfceAAH3H0ACBxyAAgcd + AAIHHgACBx9A + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT 92HD81B1X5 by Andres ZeroCross + CodecID + 283902515 + ConfigData + + ASccEAEnHRABJx6BAScfBAFHHCABRx0BAUce + FwFHH5ABRwwCAXcc8AF3HQABdx4AAXcfQAGH + HPABhx0AAYceAAGHH0ABlxzwAZcdAAGXHgAB + lx9AAacc8AGnHQABpx4AAacfQAG3HDABtx0B + AbceoAG3H5AB1xzwAdcdAAHXHgAB1x9AAecc + 8AHnHQAB5x4AAecfQAIXHEACFx0QAhceIQIX + HwMCFwwC + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + RehabMan - IDT 92HD81B1X5 + CodecID + 287143429 + ConfigData + + AMcegQDHHwMBFx6gARcfkA== + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT 92HD81B1X5 by Sergey_Galan for HP ProBook 4520s + CodecID + 287143429 + ConfigData + + AKccIACnHRAApx6BAKcfAQC3HFAAtx0QALce + IQC3HwEA1xwwANcdAQDXHhAA1x+QAOcc8ADn + HQAA5x4AAOcfQAD3HPAA9x0AAPceAAD3H0AB + BxzwAQcdAAEHHgABBx9AARccEAEXHQEBFx6g + ARcfkAH3HPAB9x0AAfceAAH3H0ACBxzwAgcd + AAIHHgACBx9AAMcc8ADHHQAAxx4AAMcfQA== + + FuncGroup + 1 + LayoutID + 20 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT 92HD81B1X5 by Sergey_Galan for HP DV6-6169er + CodecID + 287143429 + ConfigData + + AMccIADHHRAAxx6BAMcfAQC3HFAAtx0QALce + IQC3HwEA9xwwAPcdAQD3HhAA9x+QAOcc8ADn + HQAA5x4AAOcfQADXHPAA1x0AANceAADXH0AB + BxzwAQcdAAEHHgABBx9AARccEAEXHQEBFx6g + ARcfkAH3HPAB9x0AAfceAAH3H0ACBxzwAgcd + AAIHHgACBx9AAKcc8ACnHQAApx4AAKcfQA== + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom IDT 92HD81B1X5 by Gujiangjiang for HP Pavilion g4 1000 series + CodecID + 287143429 + ConfigData + + ARccAAEXHQEBFx6jARcfmQDHHBAAxx0QAMce + gQDHHwEA1xwgANcdAQDXHhMA1x+ZALccMAC3 + HRAAtx4hALcfAQFHDAI= + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD75B2X5 + CodecID + 287143432 + ConfigData + + AKccEACnHRAApx4hAKcfAQC3HCAAtx0QALce + gQC3HwEAxxwwAMcdEADHHqAAxx+QANccQADX + HQAA1x4RANcfkADnHFAA5x0AAOce8ADnH0AB + RxxgAUcdAAFHHvABRx9AAYcccAGHHQABhx7w + AYcfQAHnHIAB5x0AAece8AHnH0AB9xyQAfcd + AAH3HvAB9x9AAgccoAIHHQACBx7wAgcfQA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD75B3X5 + CodecID + 287143427 + ConfigData + + ALccEAC3HRAAtx6gALcfkADXHCAA1x0AANce + FwDXH5AA9xwwAPcdQAD3HiEA9x8BAYccQAGH + HZABhx6BAYcfAQ== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD75B3X5 + CodecID + 287143427 + ConfigData + + ALccAAC3HQAAtx6nALcfmQDXHBAA1x0AANce + FwDXH5kA9xwgAPcdQAD3HiEA9x8B + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD90BXX + CodecID + 287143655 + ConfigData + + ALccEAC3HRAAtx4hALcfAACnHCAApx0QAKce + gQCnHwABFxwwARcdkAEXHqABFx+QANccQADX + HQAA1x4XANcfkADnHFAA5x0QAOceAQDnHyAA + 9xxgAPcdEAD3HqEA9x8gAQcc8AEHHQABBx4A + AQcfQA== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + vusun123 - IDT 92HD90BXX + CodecID + 287143655 + ConfigData + + AKccIACnHRAApx6BAKcfAAC3HBAAtx0QALce + IQC3HwAA1xxAANcdAADXHhcA1x+QARccMAEX + HQABFx6gARcf0A== + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD91BXX + CodecID + 287143648 + ConfigData + + AKccAACnHRAApx6BAKcfAQC3HBAAtx0QALce + IQC3HwMAxxwgAMcdAADHHgAAxx9JARccMAEX + HQABFx6gARcfmQDXHEAA1x0BANceFwDXH5kA + 5xxQAOcdEADnHgEA5x8jAQccYAEHHQABBx4A + AQcfSQH3HHAB9x0AAfceAAH3H0kCBxyAAgcd + AAIHHgACBx9J + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + RehabMan - IDT 92HD91BXX for HP Envy + CodecID + 287143648 + ConfigData + + AKccAACnHRAApx6BAKcfAQC3HBAAtx0QALce + IQC3HwMAxxwgAMcdAADHHgAAxx9JARccMAEX + HQABFx6gARcfmQD3HEAA9x0BAPceFwD3H5kA + 5xxQAOcdEADnHgEA5x8jAQccYAEHHQABBx4A + AQcfSQH3HHAB9x0AAfceAAH3H0kCBxyAAgcd + AAIHHgACBx9J + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + MacPeet - IDT92HD91BXX for HP Envy 6 1171-SG + CodecID + 287143648 + ConfigData + + ALccEAC3HRAAtx4hALcfAAC3DAIAxxwgAMcd + EADHHoEAxx8AARccMAEXHQABFx6jARcfmQDX + HEAA1x0AANceEADXH5AA1wwC + + FuncGroup + 1 + LayoutID + 13 + + + AFGLowPowerState + + AwAAAA== + + Codec + jl4c - IDT 92HD91BXX for HP Envy + CodecID + 287143648 + ConfigData + + ALccIAC3HRAAtx4hALcfAwD3HDIA9x0BAPce + FwD3H5ABFxwQARcdAQEXHqYBFx+XANcc8ADX + HQAA1x4AANcfQAEHHPABBx0AAQceAAEHH0AA + pxzwAKcdAACnHgAApx9AAMcc8ADHHQAAxx4A + AMcfQADnHPAA5x0AAOceAADnH0AB9xzwAfcd + AAH3HgAB9x9AAgcc8AIHHQACBx4AAgcfQA== + + FuncGroup + 1 + LayoutID + 33 + + + AFGLowPowerState + + AwAAAA== + + Codec + macish - IDT 92HD91BXX for HP Elitebook G1 + CodecID + 287143648 + ConfigData + + AKccAACnHRAApx6BAKcfAQC3HBAAtx0QALce + IQC3HwMAxxwgAMcdAADHHgAAxx9JARccMAEX + HQABFx6gARcfmQD3HEAA9x0BAPceFwD3H5kA + 5xxQAOcdEADnHgEA5x8jAQccYAEHHQABBx4A + AQcfSQH3HHAB9x0AAfceAAH3H0kCBxyAAgcd + AAIHHgACBx9J + + FuncGroup + 1 + LayoutID + 84 + + + AFGLowPowerState + + AwAAAA== + + Codec + Custom - IDT 92HD93BXX Dell Latitude E6430 + CodecID + 287143647 + ConfigData + + AKccIACnHRAApx6BAKcfAACnDAIAtxwQALcd + EAC3HiEAtx8AALcMAgDXHEAA1x0BANceFwDX + H5AA1wwCAOccUADnHRAA5x4BAOcfIADnDAIA + 9xxgAPcdEAD3HoEA9x8gAQcc8AEHHQABBx4A + AQcfQAEXHDABFx0BARceoAEXH5A= + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD99BXX + CodecID + 287143653 + ConfigData + + AKccEACnHZAApx6BAKcfAgC3HCAAtx1AALce + IQC3HwIAxxwwAMcdAADHHvAAxx9AANccQADX + HQAA1x4TANcf0AD3HFAA9x0AAPce8AD3H0AB + FxxgARcdAAEXHqABFx+QANcMAg== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - IDT 92HD87B1 + CodecID + 287143429 + ConfigData + + AKccIACnHRAApx6hAKcfAQC3HBAAtx0QALce + IQC3HwEA1xwwANcdAADXHhcA1x+QAOcc8ADn + HQAA5x4AAOcfQAD3HEAA9x0AAPceAAD3H0AB + BxxQAQcdAAEHHgABBx9AARccYAEXHQABFx6j + ARcf0AH3HHAB9x0AAfceAAH3H0ACBxyAAgcd + AAIHHgACBx9A + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + Goldfish64 - STAC9200 for Dell Precision 390 + CodecID + 2206496400 + ConfigData + + AIcc8ACHHQAAhx4AAIcfQACXHPAAlx0AAJce + AACXH0AA1xwQANcdEADXHiEA1x8CAOccIADn + HQEA5x4QAOcfkAD3HDAA9x0BAPceoAD3H5AB + BxxAAQcdEAEHHoEBBx8CARcc8AEXHQABFx4A + ARcfQAEnHPABJx0AASceAAEnH0A= + + FuncGroup + 1 + LayoutID + 11 + + + AFGLowPowerState + + AwAAAA== + + Codec + STAC9872AK for Sony VGN-FZ11MR by ctich + CodecID + 2206496354 + ConfigData + + APccEAD3HQEA9x4XAPcfkACnHCAApx1AAKce + IQCnHwQBRxw+AUcdkAFHHqABRx+QARccQAEX + HREBFx5WARcfGA== + + FuncGroup + 1 + LayoutID + 12 + + + AFGLowPowerState + + AwAAAA== + + Codec + VIA VT1705 ECS H81H3-M4 (1.0A) by Andres ZeroCross + CodecID + 285624160 + ConfigData + + AkccEAJHHQACRx4AAkcfAQKHHCAChx1AAoce + IQKHHwICtxwwArcdkAK3HoECtx8BAwccQAMH + HQADBx6gAwcfkAJHDAI= + + FuncGroup + 1 + LayoutID + 21 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - VIA VT1802 + CodecID + 285639750 + ConfigData + + AkccEAJHHQACRx4TAkcfkAJXHCACVx1AAlce + IQJXHwEClxxAApcdAAKXHqAClx+QArccYAK3 + HZACtx6BArcfAgLXHHAC1x0QAtceRALXHwAC + RwwCAlcMAw== + + FuncGroup + 1 + LayoutID + 3 + + + AFGLowPowerState + + AwAAAA== + + Codec + VIA VT1802 for hasee k650d + CodecID + 285639750 + ConfigData + + AkccEAJHHQACRx4TAkcfkAJXHCACVx1AAlce + IQJXHwEClxxAApcdAAKXHqAClx+QArccYAK3 + HZACtx6BArcfAgLXHHAC1x0QAtceRALXHwAC + RwwCAlcMAw== + + FuncGroup + 1 + LayoutID + 65 + + + AFGLowPowerState + + AwAAAA== + + Codec + ChalesYu - VIA VT1802 + CodecID + 285639750 + ConfigData + + AkccQAJHHQACRx4XAkcfkAJHDAICVxxQAlcd + EAJXHiECVx8CAlcMAgMHHBADBx0AAwceoAMH + H5A= + + FuncGroup + 1 + LayoutID + 33 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - VIA VT2021 + CodecID + 285606977 + ConfigData + + IkccECJHHUAiRx4BIkcfASKHHCAihx1AIoce + ISKHHwEilxwwIpcdkCKXHqEilx8CIqccQCKn + HTAipx6BIqcfASK3HFAitx2QIrcegSK3HwEi + 5xxgIucdECLnHkUi5x8A + + FuncGroup + 1 + LayoutID + 5 + + + AFGLowPowerState + + AwAAAA== + + Codec + Mirone - VIA VT2021 + CodecID + 285606977 + ConfigData + + IkccECJHHUAiRx4RIkcfASJXHCAiVx0QIlce + ASJXHwEiZxwwImcdYCJnHgEiZx8BInccQCJ3 + HSAidx4BIncfASKHHFAihx1AIoceISKHHwEi + lxxgIpcdkCKXHqEilx8CIqcccCKnHTAipx6B + IqcfASK3HIAitx2QIrcegSK3HwEi5xygIucd + ECLnHkUi5x8A + + FuncGroup + 1 + LayoutID + 7 + + + AFGLowPowerState + + AwAAAA== + + Codec + SonicBSV - VIA VT2020/2021 + CodecID + 285606977 + ConfigData + + Ihcc8CIXHQAiFx4AIhcfQCJHHBAiRx1AIkce + ESJHHwEiRwwCIlcc8CJXHQAiVx4AIlcfQCJn + HPAiZx0AImceACJnH0AidxzwIncdACJ3HgAi + dx9AIoccICKHHUAihx4hIocfASKXHEAilx2Q + IpceoCKXH5AilwchIqccgCKnHTAipx6BIqcf + ASK3HPAitx0AIrceACK3H0AixxzwIscdACLH + HgAixx9AItcc8CLXHQAi1x4AItcfQCLnHJAi + 5x1hIuceSyLnHwEi9xzwIvcdACL3HgAi9x9A + + FuncGroup + 1 + LayoutID + 9 + + + AFGLowPowerState + + AQAAAA== + + Codec + Custom CX20757 Lenovo G510 by Z39 + CodecID + 351359253 + ConfigData + + AWccQAFnHRABZx4hAWcfAQF3HBABdx0BAXce + FwF3H5ABhxzwAYcdAAGHHgABhx9AAZccMAGX + HRABlx6BAZcfAQGnHCABpx0BAacepwGnH5A= + + FuncGroup + 1 + LayoutID + 28 + + + AFGLowPowerState + + AwAAAA== + + Codec + Z Realtek ALC285 for thinkpad p52 + CodecID + 283902597 + ConfigData + + AUccEAFHHQEBRx4XAUcfmQFHDAICFxwgAhcd + EAIXHiECFx8EAhcMAgEnHDABJx0BAScepgEn + H5kBlxxAAZcdEAGXHoEBlx8B + + FuncGroup + 1 + LayoutID + 52 + WakeConfigData + + AUcMAg== + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + Lancet-X—Realtek ALC295/ALC3254 for HP OMEN 15-AX000 + CodecID + 283902613 + ConfigData + + ASccEAEnHQEBJx6mAScfmQFHHEABRx0BAUce + FwFHH5kBlxwgAZcdEAGXHoEBlx8AAhccUAIX + HRACFx4hAhcfAAFHDAICFwwC + + FuncGroup + 1 + LayoutID + 23 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + AFGLowPowerState + + AwAAAA== + + Codec + ALC269 + CodecID + 283902569 + Comment + ALC269 for Thunderobot-G7000S-9300H by Phoenix-L + ConfigData + + AUccEAFHHUEBRx4XAUcfmQFHDAIBVxwgAVcd + QAFXHiEBVx8CAVcMAgGHHDABhx2QAYcegQGH + HwIBlxw/AZcdkAGXHoEBlx8CASccQAEnHZEB + Jx6mAScfmQ== + + FuncGroup + 1 + LayoutID + 77 + + + AFGLowPowerState + + AwAAAA== + + Codec + zty199 - ALC295 for HP Pavilion / OMEN-2 + CodecID + 283902613 + ConfigData + + ASccAAEnHQEBJx6mAScfmQFHHEABRx0BAUce + FwFHH5kBRwwCAZccgAGXHRABlx6LAZcfAAIX + HMACFx0QAhceKwIXHwACFwwC + + FuncGroup + 1 + LayoutID + 24 + WakeConfigData + + AUcMAgIXDAI= + + WakeVerbReinit + + + + IOClass + AppleHDAHardwareConfigDriver + IOMatchCategory + AppleHDAHardwareConfigDriver + IOProviderClass + AppleHDAHardwareConfigDriverLoader + + as.vit9696.AppleALC + + CFBundleIdentifier + as.vit9696.AppleALC + IOClass + AppleALC + IOMatchCategory + AppleALC + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + LSMinimumSystemVersion + 10.8 + NSHumanReadableCopyright + Copyright © 2017 vit9696. All rights reserved. + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.iokit.IOPCIFamily + 1.0.0b1 + com.apple.kpi.bsd + 12.0.0 + com.apple.kpi.dsep + 12.0.0 + com.apple.kpi.iokit + 12.0.0 + com.apple.kpi.libkern + 12.0.0 + com.apple.kpi.mach + 12.0.0 + com.apple.kpi.unsupported + 12.0.0 + + OSBundleRequired + Root + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/MacOS/AppleALC b/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/MacOS/AppleALC new file mode 100755 index 0000000..b0c34c6 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/MacOS/AppleALC differ diff --git a/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/_CodeSignature/CodeResources b/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/AppleALC.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/Lilu.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/Lilu.kext/Contents/Info.plist new file mode 100644 index 0000000..e7a34c5 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/Lilu.kext/Contents/Info.plist @@ -0,0 +1,85 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + Lilu + CFBundleIdentifier + as.vit9696.Lilu + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Lilu + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.4.9 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.4.9 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7209 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1200 + DTXcodeBuild + 12A7209 + IOKitPersonalities + + as.vit9696.Lilu + + CFBundleIdentifier + as.vit9696.Lilu + IOClass + Lilu + IOMatchCategory + Lilu + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + LSMinimumSystemVersion + 10.6 + NSHumanReadableCopyright + Copyright © 2016-2020 vit9696. All rights reserved. + OSBundleCompatibleVersion + 1.2.0 + OSBundleLibraries + + com.apple.kpi.bsd + 10.0.0 + com.apple.kpi.dsep + 10.0.0 + com.apple.kpi.iokit + 10.0.0 + com.apple.kpi.libkern + 10.0.0 + com.apple.kpi.mach + 10.0.0 + com.apple.kpi.unsupported + 10.0.0 + + OSBundleRequired + Root + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/Lilu.kext/Contents/MacOS/Lilu b/OpenCore-Catalina/EFI/OC/Kexts/Lilu.kext/Contents/MacOS/Lilu new file mode 100755 index 0000000..2ea4722 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Kexts/Lilu.kext/Contents/MacOS/Lilu differ diff --git a/OpenCore-Catalina/EFI/OC/Kexts/MCEReporterDisabler.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/MCEReporterDisabler.kext/Contents/Info.plist new file mode 100644 index 0000000..a8b1ccd --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/MCEReporterDisabler.kext/Contents/Info.plist @@ -0,0 +1,64 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleGetInfoString + MCEReporterDisabler 0.5, Copyright (GPLv2) © 2017 by RehabMan. All rights reserved. + CFBundleIdentifier + org.rehabman.disabler.MCEReporter + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + MCEReporterDisabler + CFBundlePackageType + KEXT + CFBundleVersion + 0.5 + IOKitPersonalities + + MCEInterruptControllerDisabler + + CFBundleIdentifier + com.apple.driver.AppleIntelMCEReporter + IOClass + IOService + IOMatchCategory + AppleIntelMCEInterruptController + IOProbeScore + 5000 + IOPropertyMatch + + + board-id + Mac-F60DEB81FF30ACF6 + + + board-id + Mac-7BA5B2D9E42DDD94 + + + board-id + Mac-27AD2F918AE68F61 + + + IOProviderClass + IOPlatformExpertDevice + + MCEReporterDisabler + + CFBundleIdentifier + com.apple.driver.AppleIntelMCEReporter + IOClass + IOService + IOMatchCategory + AppleIntelMCEReporter + IOProbeScore + 5000 + IOProviderClass + AppleIntelMCEInterruptNub + + + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/USBPorts.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/USBPorts.kext/Contents/Info.plist new file mode 100644 index 0000000..0d32a5d --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/USBPorts.kext/Contents/Info.plist @@ -0,0 +1,245 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleGetInfoString + 1.0 Copyright © 2018-2020 Headsoft. All rights reserved. + CFBundleIdentifier + com.Headsoft.USBPorts + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + USBPorts + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + IOKitPersonalities + + iMacPro1,1-EH01 + + CFBundleIdentifier + com.apple.driver.AppleUSBMergeNub + IOClass + AppleUSBMergeNub + IONameMatch + EH01 + IOPCIPrimaryMatch + 0x293a8086 + IOProbeScore + 5000 + IOProviderClass + AppleUSBEHCIPCI + IOProviderMergeProperties + + port-count + + BgAAAA== + + ports + + HS11 + + UsbConnector + 0 + port + + AQAAAA== + + + HS12 + + UsbConnector + 0 + port + + AgAAAA== + + + HS13 + + UsbConnector + 0 + port + + AwAAAA== + + + HS14 + + UsbConnector + 0 + port + + BAAAAA== + + + HS15 + + UsbConnector + 0 + port + + BQAAAA== + + + HS16 + + UsbConnector + 0 + port + + BgAAAA== + + + + + model + iMacPro1,1 + + iMacPro1,1-UHC1 + + CFBundleIdentifier + com.apple.driver.AppleUSBMergeNub + IOClass + AppleUSBMergeNub + IONameMatch + UHC1 + IOPCIPrimaryMatch + 0x29348086 + IOProbeScore + 5000 + IOProviderClass + AppleUSBUHCIPCI + IOProviderMergeProperties + + port-count + + AgAAAA== + + ports + + LS01 + + UsbConnector + 0 + port + + AQAAAA== + + + LS02 + + UsbConnector + 0 + port + + AgAAAA== + + + + + model + iMacPro1,1 + + iMacPro1,1-UHC2 + + CFBundleIdentifier + com.apple.driver.AppleUSBMergeNub + IOClass + AppleUSBMergeNub + IONameMatch + UHC2 + IOPCIPrimaryMatch + 0x29358086 + IOProbeScore + 5000 + IOProviderClass + AppleUSBUHCIPCI + IOProviderMergeProperties + + port-count + + AgAAAA== + + ports + + LS03 + + UsbConnector + 0 + port + + AQAAAA== + + + LS04 + + UsbConnector + 0 + port + + AgAAAA== + + + + + model + iMacPro1,1 + + iMacPro1,1-UHC3 + + CFBundleIdentifier + com.apple.driver.AppleUSBMergeNub + IOClass + AppleUSBMergeNub + IONameMatch + UHC3 + IOPCIPrimaryMatch + 0x29368086 + IOProbeScore + 5000 + IOProviderClass + AppleUSBUHCIPCI + IOProviderMergeProperties + + port-count + + AgAAAA== + + ports + + LS05 + + UsbConnector + 0 + port + + AQAAAA== + + + LS06 + + UsbConnector + 0 + port + + AgAAAA== + + + + + model + iMacPro1,1 + + + OSBundleRequired + Root + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/Info.plist new file mode 100644 index 0000000..daed9d2 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/Info.plist @@ -0,0 +1,414 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + VirtualSMC + CFBundleIdentifier + as.vit9696.VirtualSMC + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VirtualSMC + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.1.8 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.1.8 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7209 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1200 + DTXcodeBuild + 12A7209 + IOKitPersonalities + + as.vit9696.VirtualSMC + + CFBundleIdentifier + as.vit9696.VirtualSMC + IOClass + VirtualSMC + IODeviceMemory + + + + address + 768 + length + 32 + + + + + address + 4277141504 + length + 65536 + + + + IOInterruptControllers + + io-apic-0 + + IOInterruptSpecifiers + + + BgAAAAAAAAA= + + + IOMatchCategory + IOACPIPlatformDevice + IOName + SMC + IOProbeScore + 60000 + IOProviderClass + AppleACPIPlatformExpert + Keystore + + Generic + + + attr + + iA== + + comment + Total fan number, this should be put to a plugin + name + + Rk51bQ== + + type + + dWk4IA== + + value + + AA== + + + + attr + + gA== + + comment + CPU plimit + name + + TVNUYw== + + type + + dWk4IA== + + value + + AA== + + + + attr + + gA== + + comment + FAN plimit (supposedly) + name + + TVNUZg== + + type + + dWk4IA== + + value + + AA== + + + + attr + + gA== + + comment + Memory plimit + name + + TVNUbQ== + + type + + dWk4IA== + + value + + AA== + + + + attr + + gA== + + comment + This should be 1 on laptops, and is overriden by sensors + name + + QkFUUA== + + type + + ZmxhZw== + + value + + AA== + + + + attr + + gA== + + comment + Only MacPros have custom illumination controllers + name + + THNOTQ== + + type + + dWk4IA== + + value + + AA== + + + + GenericDesktopV1 + + GenericDesktopV2 + + GenericLaptopV1 + + GenericLaptopV2 + + GenericV1 + + + attr + + gA== + + comment + GPU plimit + name + + TVNUZw== + + type + + dWk4IA== + + value + + AA== + + + + GenericV2 + + + attr + + gA== + + comment + E plimit (???) + name + + TVNUZQ== + + type + + dWk4IA== + + value + + AA== + + + + attr + + gA== + + comment + I plimit (???) + name + + TVNUaQ== + + type + + dWk4IA== + + value + + AA== + + + + attr + + gA== + + comment + J plimit (???) + name + + TVNUag== + + type + + dWk4IA== + + value + + AA== + + + + + ModelInfo + + GenericV1 + + branch + + ajUyAAAAAAA= + + hwname + + c21jLXBpa2V0b24A + + platform + + ajUyAAAAAAA= + + rev + + AXQPAAAE + + revfb + + AXQPAAAE + + revfu + + AXQPAAAE + + + GenericV2 + + branch + + ajUyAAAAAAA= + + hwname + + c21jLWh1cm9ucml2ZXIA + + platform + + ajUyAAAAAAA= + + rev + + AigPAAAH + + revfb + + AigPAAAH + + revfu + + AigPAAAH + + + GenericV3 + + hwname + + c21jLWh1cm9ucml2ZXIA + + platform + + ajUyAAAAAAA= + + + + _STA + 11 + name + + QVBQMDAwMQA= + + + + LSMinimumSystemVersion + 10.6 + NSHumanReadableCopyright + Copyright © 2017 vit9696. All rights reserved. + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.iokit.IOACPIFamily + 1.0.0d1 + com.apple.kpi.bsd + 10.0.0 + com.apple.kpi.dsep + 10.0.0 + com.apple.kpi.iokit + 10.0.0 + com.apple.kpi.libkern + 10.0.0 + com.apple.kpi.mach + 10.0.0 + com.apple.kpi.unsupported + 10.0.0 + + OSBundleRequired + Root + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC b/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC new file mode 100755 index 0000000..970ad5f Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/MacOS/VirtualSMC differ diff --git a/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/_CodeSignature/CodeResources b/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/VirtualSMC.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/Info.plist new file mode 100644 index 0000000..d612189 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/Info.plist @@ -0,0 +1,149 @@ + + + + + BuildMachineOSBuild + 15G31 + CFBundleDevelopmentRegion + English + CFBundleExecutable + VoodooHDA + CFBundleIdentifier + org.voodoo.driver.VoodooHDA + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + VoodooHDA + CFBundlePackageType + KEXT + CFBundleShortVersionString + 2.9.2 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2.9.2 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 7D1014 + DTPlatformVersion + GM + DTSDKBuild + 15E60 + DTSDKName + macosx10.11 + DTXcode + 0731 + DTXcodeBuild + 7D1014 + IOKitPersonalities + + VoodooHDA + + AllowMSI + + Boost + 1 + CFBundleIdentifier + org.voodoo.driver.VoodooHDA + DisableInputMonitor + + IOClass + VoodooHDADevice + IOMatchCategory + VoodooHDADevice + IOPCIClassMatch + 0x04020000&0xfffe0000 + IOProviderClass + IOPCIDevice + IOUserClientClass + VoodooHDAUserClient + InhibitCache + + MixerValues + + PCM + 100 + Rec + 90 + iGain + 90 + iMix + 100 + + NodesToPatch + + + Caps + 0x373e + Codec + 4 + Comment + Example of possible values + Config + 0x90a70120 + Conns + 12,13,24 + Control + 20 + DAC + 2 + Enable + 1 + Node + 12 + Select + 13 + SwitchCh + 0 + Type + 4 + + + Codec + 2 + Comment + To disable back sound on ALC codec set enable=0 + Enable + 1 + Node + 11 + + + Noise + 0 + Vectorize + + VoodooHDAEnableHalfMicVolumeFix + + VoodooHDAEnableHalfVolumeFix + + VoodooHDAEnableMuteFix + + VoodooHDAEnableVolumeChangeFix + + VoodooHDAVerboseLevel + 0 + + + OSBundleLibraries + + com.apple.iokit.IOAudioFamily + 1.1fc9 + com.apple.iokit.IOPCIFamily + 2.1 + com.apple.kpi.iokit + 9.0.0 + com.apple.kpi.libkern + 9.0.0 + com.apple.kpi.mach + 9.0.0 + com.apple.kpi.unsupported + 9.0.0 + + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/MacOS/VoodooHDA b/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/MacOS/VoodooHDA new file mode 100755 index 0000000..354fbc7 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/MacOS/VoodooHDA differ diff --git a/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/_CodeSignature/CodeResources b/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..0710b40 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/VoodooHDA.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,105 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/Info.plist b/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/Info.plist new file mode 100644 index 0000000..fc80caf --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/Info.plist @@ -0,0 +1,106 @@ + + + + + BuildMachineOSBuild + 19H2 + CFBundleDevelopmentRegion + en + CFBundleExecutable + WhateverGreen + CFBundleIdentifier + as.vit9696.WhateverGreen + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + WhateverGreen + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.4.4 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.4.4 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 12A7209 + DTPlatformName + macosx + DTPlatformVersion + 10.15.6 + DTSDKBuild + 19G68 + DTSDKName + macosx10.15 + DTXcode + 1200 + DTXcodeBuild + 12A7209 + IOKitPersonalities + + NVHDAEnabler + + CFBundleIdentifier + as.vit9696.WhateverGreen + IOClass + NVHDAEnabler + IOMatchCategory + IOFramebuffer + IOPCIClassMatch + 0x03000000&0xff000000 + IOPCIMatch + 0x000010de&0x0000ffff + IOProbeScore + 300000 + IOProviderClass + IOPCIDevice + + as.vit9696.WhateverGreen + + CFBundleIdentifier + as.vit9696.WhateverGreen + IOClass + WhateverGreen + IOMatchCategory + WhateverGreen + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + LSMinimumSystemVersion + 10.8 + NSHumanReadableCopyright + Copyright © 2018 vit9696. All rights reserved. + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.iokit.IOPCIFamily + 1.0.0b1 + com.apple.kpi.bsd + 12.0.0 + com.apple.kpi.dsep + 12.0.0 + com.apple.kpi.iokit + 12.0.0 + com.apple.kpi.libkern + 12.0.0 + com.apple.kpi.mach + 12.0.0 + com.apple.kpi.unsupported + 12.0.0 + + OSBundleRequired + Root + + diff --git a/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen b/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen new file mode 100755 index 0000000..e674a4b Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/MacOS/WhateverGreen differ diff --git a/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/_CodeSignature/CodeResources b/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/_CodeSignature/CodeResources new file mode 100644 index 0000000..d5d0fd7 --- /dev/null +++ b/OpenCore-Catalina/EFI/OC/Kexts/WhateverGreen.kext/Contents/_CodeSignature/CodeResources @@ -0,0 +1,115 @@ + + + + + files + + files2 + + rules + + ^Resources/ + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^Resources/ + + weight + 20 + + ^Resources/.*\.lproj/ + + optional + + weight + 1000 + + ^Resources/.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Resources/Base\.lproj/ + + weight + 1010 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + + diff --git a/OpenCore-Catalina/EFI/OC/OpenCore.efi b/OpenCore-Catalina/EFI/OC/OpenCore.efi new file mode 100644 index 0000000..36d2a69 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/OpenCore.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/BootKicker.efi b/OpenCore-Catalina/EFI/OC/Tools/BootKicker.efi new file mode 100644 index 0000000..cae8a86 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/BootKicker.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/ChipTune.efi b/OpenCore-Catalina/EFI/OC/Tools/ChipTune.efi new file mode 100644 index 0000000..1f0cd24 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/ChipTune.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/CleanNvram.efi b/OpenCore-Catalina/EFI/OC/Tools/CleanNvram.efi new file mode 100644 index 0000000..75c9c90 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/CleanNvram.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/GopStop.efi b/OpenCore-Catalina/EFI/OC/Tools/GopStop.efi new file mode 100644 index 0000000..0dd74df Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/GopStop.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/KeyTester.efi b/OpenCore-Catalina/EFI/OC/Tools/KeyTester.efi new file mode 100644 index 0000000..d861d32 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/KeyTester.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/MmapDump.efi b/OpenCore-Catalina/EFI/OC/Tools/MmapDump.efi new file mode 100644 index 0000000..3eb603e Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/MmapDump.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/OpenControl.efi b/OpenCore-Catalina/EFI/OC/Tools/OpenControl.efi new file mode 100644 index 0000000..cd6c6c5 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/OpenControl.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/OpenShell.efi b/OpenCore-Catalina/EFI/OC/Tools/OpenShell.efi new file mode 100644 index 0000000..6824bac Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/OpenShell.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/ResetSystem.efi b/OpenCore-Catalina/EFI/OC/Tools/ResetSystem.efi new file mode 100644 index 0000000..788e796 Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/ResetSystem.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/RtcRw.efi b/OpenCore-Catalina/EFI/OC/Tools/RtcRw.efi new file mode 100644 index 0000000..eac290f Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/RtcRw.efi differ diff --git a/OpenCore-Catalina/EFI/OC/Tools/VerifyMsrE2.efi b/OpenCore-Catalina/EFI/OC/Tools/VerifyMsrE2.efi new file mode 100644 index 0000000..82a7abe Binary files /dev/null and b/OpenCore-Catalina/EFI/OC/Tools/VerifyMsrE2.efi differ diff --git a/OpenCore-Catalina/OpenCore-Passthrough.qcow2 b/OpenCore-Catalina/OpenCore-Passthrough.qcow2 new file mode 100644 index 0000000..079c71f Binary files /dev/null and b/OpenCore-Catalina/OpenCore-Passthrough.qcow2 differ diff --git a/OpenCore-Catalina/OpenCore-nopicker.qcow2 b/OpenCore-Catalina/OpenCore-nopicker.qcow2 new file mode 100644 index 0000000..fa8ed06 Binary files /dev/null and b/OpenCore-Catalina/OpenCore-nopicker.qcow2 differ diff --git a/OpenCore-Catalina/OpenCore.qcow2 b/OpenCore-Catalina/OpenCore.qcow2 new file mode 100644 index 0000000..b2adc1d Binary files /dev/null and b/OpenCore-Catalina/OpenCore.qcow2 differ diff --git a/OpenCore-Catalina/README.md b/OpenCore-Catalina/README.md new file mode 100644 index 0000000..b48f5a3 --- /dev/null +++ b/OpenCore-Catalina/README.md @@ -0,0 +1,50 @@ +### Notes + +Catalina installs the same way as Mojave. + +Tested with macOS Catalina 10.15.7 with OpenCore-0.6.7-RELEASE.zip release +(March, 2021). + +Note: Our `config.plist` is buggy and we need to fix it! + +Note: Use `create_iso_catalina.sh` for generating a macOS Catalina based "ISO" +(actually DMG) image. + +Attention: Use 64-bit Ubuntu 20.04 LTS as the host OS for "best" results. +Guestfish output results may vary across platforms. + +``` +git submodule init && git submodule update + +cp -a ../resources/OcBinaryData/Resources EFI/OC/Resources # symlink hacks don't work + +# Normal OpenCore Image +rm -f OpenCore.qcow2; sudo ./opencore-image-ng.sh --cfg config.plist --img OpenCore.qcow2 + +# OpenCore w/ ShowPicker Disabled +rm -f OpenCore-nopicker.qcow2; sudo ./opencore-image-ng.sh --cfg config-nopicker.plist --img OpenCore-nopicker.qcow2 + +# Passthrough Optimized OpenCore +rm -f OpenCore-Passthrough.qcow2; sudo ./opencore-image-ng.sh --cfg config-pt.plist --img OpenCore-Passthrough.qcow2 +``` + +Note: https://github.com/thenickdude/KVM-Opencore is one of the best resources +for customizing `OpenCore.qcow2`. Thanks Nick! :) + +### Links + +* https://github.com/acidanthera/OpenCorePkg/releases + +* https://github.com/williambj1/OpenCore-Factory/releases + +* https://opencore.slowgeek.com/ (neat!) + +* https://github.com/chris1111/USB-3.0-NEC/releases (thanks Chris!) + +* https://github.com/khronokernel/Opencore-Vanilla-Desktop-Guide/blob/master/clover-conversion/clover-efi.md + +* https://insanelymacdiscord.github.io/Getting-Started-With-OpenCore/ + +* https://dortania.github.io/Anti-Hackintosh-Buyers-Guide/ + +* https://dortania.github.io/OpenCore-Desktop-Guide/troubleshooting/debug.html diff --git a/OpenCore-Catalina/config-nopicker.plist b/OpenCore-Catalina/config-nopicker.plist new file mode 100644 index 0000000..de7edff --- /dev/null +++ b/OpenCore-Catalina/config-nopicker.plist @@ -0,0 +1,883 @@ + + + + + ACPI + + Add + + + Comment + add DTGP method + Enabled + + Path + SSDT-DTGP.aml + + + Comment + Fake EC and USBX Power + Enabled + + Path + SSDT-EC.aml + + + Comment + USB 2.0 Injection + Enabled + + Path + SSDT-EHCI.aml + + + Comment + CPU AGPM Plugin=1 + Enabled + + Path + SSDT-PLUG.aml + + + Delete + + + All + + Comment + Delete CpuPm + Enabled + + OemTableId + Q3B1UG0AAAA= + TableLength + 0 + TableSignature + U1NEVA== + + + All + + Comment + Delete Cpu0Ist + Enabled + + OemTableId + Q3B1MElzdAA= + TableLength + 0 + TableSignature + U1NEVA== + + + Patch + + + Comment + _Q11 to XQ11 + Count + 1 + Enabled + + Find + X1ExMQ== + Limit + 0 + Mask + + OemTableId + + Replace + WFExMQ== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Comment + _Q12 to XQ12 + Count + 1 + Enabled + + Find + X1ExMg== + Limit + 0 + Mask + + OemTableId + + Replace + WFExMg== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Quirks + + FadtEnableReset + + NormalizeHeaders + + RebaseRegions + + ResetHwSig + + ResetLogoStatus + + + + Booter + + MmioWhitelist + + Quirks + + AvoidRuntimeDefrag + + DevirtualiseMmio + + DisableSingleUser + + DisableVariableWrite + + DiscardHibernateMap + + EnableSafeModeSlide + + EnableWriteUnprotector + + ForceExitBootServices + + ProtectMemoryRegions + + ProtectSecureBoot + + ProtectUefiServices + + ProvideCustomSlide + + ProvideMaxSlide + 0 + RebuildAppleMemoryMap + + SetupVirtualMap + + SignalAppleOS + + SyncRuntimePermissions + + + + DeviceProperties + + Add + + PciRoot(0x1)/Pci(0x1F,0x0) + + compatible + pci8086,2916 + device-id + + FikA + + name + pci8086,2916 + + + Delete + + PciRoot(0x0)/Pci(0x1b,0x0) + + MaximumBootBeepVolume + + + + Kernel + + Add + + + Arch + Any + BundlePath + VoodooHDA.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/VoodooHDA + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + Lilu.kext + Comment + Patch engine + Enabled + + ExecutablePath + Contents/MacOS/Lilu + MaxKernel + + MinKernel + 12.0.0 + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + VirtualSMC.kext + Comment + SMC emulator + Enabled + + ExecutablePath + Contents/MacOS/VirtualSMC + MaxKernel + + MinKernel + 12.0.0 + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + WhateverGreen.kext + Comment + Video patches + Enabled + + ExecutablePath + Contents/MacOS/WhateverGreen + MaxKernel + + MinKernel + 12.0.0 + PlistPath + Contents/Info.plist + + + BundlePath + AGPMInjector.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + USBPorts.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + MCEReporterDisabler.kext + Comment + AppleMCEReporter disabler + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + 19.0.0 + PlistPath + Contents/Info.plist + + + Block + + + Arch + Any + Comment + + Enabled + + Identifier + com.apple.driver.AppleTyMCEDriver + MaxKernel + + MinKernel + + + + Emulate + + Cpuid1Data + + VAYFAAAAAAAAAAAAAAAAAA== + + Cpuid1Mask + + ////AAAAAAAAAAAAAAAAAA== + + + Force + + + Arch + Any + BundlePath + System/Library/Extensions/IONetworkingFamily.kext + Comment + Patch engine + Enabled + + Identifier + com.apple.iokit.IONetworkingFamily + ExecutablePath + Contents/MacOS/IONetworkingFamily + MaxKernel + 13.99.99 + MinKernel + + PlistPath + Contents/Info.plist + + + Patch + + + Base + _cpu_topology_sort + Comment + algrey - cpu_topology_sort -disable _x86_validate_topology + Count + 1 + Enabled + + Find + + 6AAA//8= + + Identifier + kernel + Limit + 0 + Mask + + /wAA//8= + + MaxKernel + 20.99.99 + MinKernel + 17.0.0 + Replace + + Dx9EAAA= + + ReplaceMask + + + Skip + 0 + + + Base + + Comment + algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN + Count + 1 + Enabled + + Find + + MduAPQAAAAAGdQA= + + Identifier + kernel + Limit + 0 + Mask + + /////wAAAP///wA= + + MaxKernel + 20.99.99 + MinKernel + 17.0.0 + Replace + + u7xP6njpXQAAAJA= + + ReplaceMask + + + Skip + 0 + + + Quirks + + AppleCpuPmCfgLock + + AppleXcpmCfgLock + + AppleXcpmExtraMsrs + + AppleXcpmForceBoost + + CustomSMBIOSGuid + + DisableIoMapper + + DisableLinkeditJettison + + DisableRtcChecksum + + DummyPowerManagement + + ExternalDiskIcons + + IncreasePciBarSize + + LapicKernelPanic + + PanicNoKextDump + + PowerTimeoutKernelPanic + + ThirdPartyDrives + + XhciPortLimit + + + Scheme + + FuzzyMatch + + KernelArch + x86_64 + KernelCache + Auto + + + Misc + + BlessOverride + + Boot + + ConsoleAttributes + 0 + HibernateMode + Auto + HideAuxiliary + + PickerAttributes + 1 + PickerAudioAssist + + PickerMode + External + PollAppleHotKeys + + ShowPicker + + TakeoffDelay + 0 + Timeout + 0 + + Debug + + AppleDebug + + ApplePanic + + DisableWatchDog + + DisplayDelay + 0 + DisplayLevel + 2147483650 + SerialInit + + SysReport + + Target + 3 + + Entries + + Security + + AllowNvramReset + + AllowSetDefault + + ApECID + 0 + AuthRestart + + BootProtect + None + DmgLoading + Signed + EnablePassword + + ExposeSensitiveData + 6 + HaltLevel + 2147483648 + PasswordHash + + PasswordSalt + + ScanPolicy + 0 + SecureBootModel + Disabled + Vault + Optional + + Tools + + + Arguments + + Auxiliary + + Comment + Not signed for security reasons + Enabled + + Name + UEFI Shell + Path + OpenShell.efi + + + Arguments + Shutdown + Auxiliary + + Comment + Perform shutdown + Enabled + + Name + Shutdown + Path + ResetSystem.efi + + + + NVRAM + + Add + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + DefaultBackgroundColor + AAAAAA== + UIScale + AQ== + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + SystemAudioVolume + Rg== + boot-args + -v keepsyms=1 tlbto_us=0 vti=9 + run-efi-updater + No + csr-active-config + ZwAAAA== + prev-lang:kbd + ZW4tVVM6MA== + + + Delete + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + UIScale + DefaultBackgroundColor + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + boot-args + + + LegacyEnable + + LegacyOverwrite + + LegacySchema + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + EFILoginHiDPI + EFIBluetoothDelay + LocationServicesEnabled + SystemAudioVolume + SystemAudioVolumeDB + SystemAudioVolumeSaved + bluetoothActiveControllerInfo + bluetoothInternalControllerInfo + flagstate + fmm-computer-name + nvda_drv + prev-lang:kbd + + 8BE4DF61-93CA-11D2-AA0D-00E098032B8C + + Boot0080 + Boot0081 + Boot0082 + BootNext + BootOrder + + + WriteFlash + + + PlatformInfo + + Automatic + + Generic + + AdviseWindows + + MLB + C02717306J9JG361M + ROM + + m7zhIYfl + + SpoofVendor + + SystemProductName + iMacPro1,1 + SystemSerialNumber + C02TM2ZBHX87 + SystemUUID + 007076A6-F2A2-4461-BBE5-BAD019F8025A + + UpdateDataHub + + UpdateNVRAM + + UpdateSMBIOS + + UpdateSMBIOSMode + Create + + UEFI + + APFS + + EnableJumpstart + + GlobalConnect + + HideVerbose + + JumpstartHotPlug + + MinDate + 0 + MinVersion + 0 + + Audio + + AudioCodec + 0 + AudioDevice + PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x1) + AudioOut + 0 + AudioSupport + + MinimumVolume + 20 + PlayChime + + VolumeAmplifier + 0 + + ConnectDrivers + + Drivers + + VBoxHfs.efi + OpenRuntime.efi + OpenCanopy.efi + #AudioDxe.efi + #OpenUsbKbDxe.efi + #UsbMouseDxe.efi + #Ps2KeyboardDxe.efi + #Ps2MouseDxe.efi + #HiiDatabase.efi + #NvmExpressDxe.efi + #XhciDxe.efi + #ExFatDxe.efi + #PartitionDxe.efi + #CrScreenshotDxe.efi + + Input + + KeyFiltering + + KeyForgetThreshold + 5 + KeyMergeThreshold + 2 + KeySupport + + KeySupportMode + Auto + KeySwap + + PointerSupport + + PointerSupportMode + ASUS + TimerResolution + 50000 + + Output + + ClearScreenOnModeSwitch + + ConsoleMode + + DirectGopRendering + + IgnoreTextInGraphics + + ProvideConsoleGop + + ReconnectOnResChange + + ReplaceTabWithSpace + + Resolution + 1920x1080@32 + SanitiseClearScreen + + TextRenderer + BuiltinGraphics + UgaPassThrough + + + ProtocolOverrides + + AppleAudio + + AppleBootPolicy + + AppleDebugLog + + AppleEvent + + AppleFramebufferInfo + + AppleImageConversion + + AppleImg4Verification + + AppleKeyMap + + AppleRtcRam + + AppleSecureBoot + + AppleSmcIo + + AppleUserInterfaceTheme + + DataHub + + DeviceProperties + + FirmwareVolume + + HashServices + + OSInfo + + UnicodeCollation + + + Quirks + + ExitBootServicesDelay + 0 + IgnoreInvalidFlexRatio + + ReleaseUsbOwnership + + RequestBootVarRouting + + TscSyncTimeout + 0 + UnblockFsConnect + + ConnectDrivers + + + + + diff --git a/OpenCore-Catalina/config-pt.plist b/OpenCore-Catalina/config-pt.plist new file mode 100644 index 0000000..984ea73 --- /dev/null +++ b/OpenCore-Catalina/config-pt.plist @@ -0,0 +1,886 @@ + + + + + ACPI + + Add + + + Comment + add DTGP method + Enabled + + Path + SSDT-DTGP.aml + + + Comment + Fake EC and USBX Power + Enabled + + Path + SSDT-EC.aml + + + Comment + USB 2.0 Injection + Enabled + + Path + SSDT-EHCI.aml + + + Comment + CPU AGPM Plugin=1 + Enabled + + Path + SSDT-PLUG.aml + + + Delete + + + All + + Comment + Delete CpuPm + Enabled + + OemTableId + Q3B1UG0AAAA= + TableLength + 0 + TableSignature + U1NEVA== + + + All + + Comment + Delete Cpu0Ist + Enabled + + OemTableId + Q3B1MElzdAA= + TableLength + 0 + TableSignature + U1NEVA== + + + Patch + + + Comment + _Q11 to XQ11 + Count + 1 + Enabled + + Find + X1ExMQ== + Limit + 0 + Mask + + OemTableId + + Replace + WFExMQ== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Comment + _Q12 to XQ12 + Count + 1 + Enabled + + Find + X1ExMg== + Limit + 0 + Mask + + OemTableId + + Replace + WFExMg== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Quirks + + FadtEnableReset + + NormalizeHeaders + + RebaseRegions + + ResetHwSig + + ResetLogoStatus + + + + Booter + + MmioWhitelist + + Quirks + + AvoidRuntimeDefrag + + DevirtualiseMmio + + DisableSingleUser + + DisableVariableWrite + + DiscardHibernateMap + + EnableSafeModeSlide + + EnableWriteUnprotector + + ForceExitBootServices + + ProtectMemoryRegions + + ProtectSecureBoot + + ProtectUefiServices + + ProvideCustomSlide + + ProvideMaxSlide + 0 + RebuildAppleMemoryMap + + SetupVirtualMap + + SignalAppleOS + + SyncRuntimePermissions + + + + DeviceProperties + + Add + + PciRoot(0x1)/Pci(0x1F,0x0) + + compatible + pci8086,2916 + device-id + + FikA + + name + pci8086,2916 + + + Delete + + PciRoot(0x0)/Pci(0x1b,0x0) + + MaximumBootBeepVolume + + + + Kernel + + Add + + + BundlePath + mXHCD.kext + Comment + Hello There + Enabled + + ExecutablePath + Contents/MacOS/mXHCD + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + Lilu.kext + Comment + Patch engine + Enabled + + ExecutablePath + Contents/MacOS/Lilu + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + VirtualSMC.kext + Comment + SMC emulator + Enabled + + ExecutablePath + Contents/MacOS/VirtualSMC + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + WhateverGreen.kext + Comment + Video patches + Enabled + + ExecutablePath + Contents/MacOS/WhateverGreen + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + AppleALC.kext + Comment + Audio patches + Enabled + + ExecutablePath + Contents/MacOS/AppleALC + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + AGPMInjector.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + USBPorts.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + MCEReporterDisabler.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Block + + + Comment + + Enabled + + Identifier + com.apple.driver.AppleTyMCEDriver + MaxKernel + + MinKernel + + + + Emulate + + Cpuid1Data + VwYFAAAAAAAAAAAAAAAAAA== + Cpuid1Mask + /////wAAAAAAAAAAAAAAAA== + + Patch + + + Base + + Comment + algrey - cpuid_set_generic_info - disable check to allow leaf7 + Count + 1 + Enabled + + Find + ADoPgg== + Identifier + kernel + Limit + 0 + Mask + + MaxKernel + 19.99.99 + MinKernel + 17.0.0 + Replace + AAAPgg== + ReplaceMask + + Skip + 0 + + + Base + _cpu_topology_sort + Comment + algrey - cpu_topology_sort -disable _x86_validate_topology + Count + 1 + Enabled + + Find + 6AAA//8= + Identifier + kernel + Limit + 0 + Mask + /wAA//8= + MaxKernel + 19.99.99 + MinKernel + 17.0.0 + Replace + Dx9EAAA= + ReplaceMask + + Skip + 0 + + + Base + + Comment + algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN + Count + 1 + Enabled + + Find + MduAPQAAAAAGdQA= + Identifier + kernel + Limit + 0 + Mask + /////wAAAP///wA= + MaxKernel + 19.99.99 + MinKernel + 17.0.0 + Replace + u7xP6njpXQAAAJA= + ReplaceMask + + Skip + 0 + + + Base + + Comment + algrey - - skip cpuid_cores_per_package test -10.15 + Count + 0 + Enabled + + Find + gz0AAAAAAA8AAAAAAItdvA== + Identifier + kernel + Limit + 0 + Mask + //8AAAD///8AAAAA/////w== + MaxKernel + 19.99.99 + MinKernel + 19.0.0 + Replace + AAAAAAAAAQAAAAAAAAAAAA== + ReplaceMask + AAAAAAAADwAAAAAAAAAAAA== + Skip + 0 + + + Base + + Comment + algrey - - skip cpuid_cores_per_package test + Count + 0 + Enabled + + Find + gz0AAAAAAHQAi128 + Identifier + kernel + Limit + 0 + Mask + //8AAAD///8A//// + MaxKernel + 18.99.99 + MinKernel + 17.0.0 + Replace + AAAAAAAAAQAAAAAA + ReplaceMask + AAAAAAAADwAAAAAA + Skip + 0 + + + Quirks + + AppleCpuPmCfgLock + + AppleXcpmCfgLock + + AppleXcpmExtraMsrs + + AppleXcpmForceBoost + + CustomSMBIOSGuid + + DisableIoMapper + + DisableRtcChecksum + + DummyPowerManagement + + ExternalDiskIcons + + IncreasePciBarSize + + LapicKernelPanic + + PanicNoKextDump + + PowerTimeoutKernelPanic + + ThirdPartyDrives + + XhciPortLimit + + + + Misc + + BlessOverride + + Boot + + ConsoleAttributes + 0 + HibernateMode + Auto + HideAuxiliary + + PickerAttributes + 1 + PickerAudioAssist + + PickerMode + External + PollAppleHotKeys + + ShowPicker + + TakeoffDelay + 0 + Timeout + 0 + + Debug + + AppleDebug + + ApplePanic + + DisableWatchDog + + DisplayDelay + 0 + DisplayLevel + 2147483650 + SysReport + + Target + 3 + + Entries + + Security + + AllowNvramReset + + AllowSetDefault + + AuthRestart + + BootProtect + None + ExposeSensitiveData + 6 + HaltLevel + 2147483648 + ScanPolicy + 0 + Vault + Optional + + Tools + + + Arguments + + Auxiliary + + Comment + Not signed for security reasons + Enabled + + Name + UEFI Shell + Path + OpenShell.efi + + + Arguments + Shutdown + Auxiliary + + Comment + Perform shutdown + Enabled + + Name + Shutdown + Path + ResetSystem.efi + + + + NVRAM + + Add + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + DefaultBackgroundColor + AAAAAA== + UIScale + AQ== + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + SystemAudioVolume + Rg== + boot-args + -v keepsyms=1 + run-efi-updater + No + csr-active-config + AAAAAA== + prev-lang:kbd + ZW4tVVM6MA== + + + Delete + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + UIScale + DefaultBackgroundColor + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + boot-args + + + LegacyEnable + + LegacyOverwrite + + LegacySchema + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + EFILoginHiDPI + EFIBluetoothDelay + LocationServicesEnabled + SystemAudioVolume + SystemAudioVolumeDB + SystemAudioVolumeSaved + bluetoothActiveControllerInfo + bluetoothInternalControllerInfo + flagstate + fmm-computer-name + nvda_drv + prev-lang:kbd + + 8BE4DF61-93CA-11D2-AA0D-00E098032B8C + + Boot0080 + Boot0081 + Boot0082 + BootNext + BootOrder + + + WriteFlash + + + PlatformInfo + + Automatic + + Generic + + AdviseWindows + + MLB + C02717306J9JG361M + ROM + + m7zhIYfl + + SpoofVendor + + SystemProductName + iMacPro1,1 + SystemSerialNumber + C02TM2ZBHX87 + SystemUUID + 007076A6-F2A2-4461-BBE5-BAD019F8025A + + UpdateDataHub + + UpdateNVRAM + + UpdateSMBIOS + + UpdateSMBIOSMode + Create + + UEFI + + APFS + + EnableJumpstart + + GlobalConnect + + HideVerbose + + JumpstartHotPlug + + MinDate + -1 + MinVersion + -1 + + Audio + + AudioCodec + 0 + AudioDevice + PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x1) + AudioOut + 0 + AudioSupport + + MinimumVolume + 20 + PlayChime + + VolumeAmplifier + 0 + + ConnectDrivers + + Drivers + + OpenRuntime.efi + VBoxHfs.efi + OpenCanopy.efi + + Input + + KeyFiltering + + KeyForgetThreshold + 5 + KeyMergeThreshold + 2 + KeySupport + + KeySupportMode + Auto + KeySwap + + PointerSupport + + PointerSupportMode + ASUS + TimerResolution + 50000 + + Output + + ClearScreenOnModeSwitch + + ConsoleMode + + DirectGopRendering + + IgnoreTextInGraphics + + ProvideConsoleGop + + ReconnectOnResChange + + ReplaceTabWithSpace + + Resolution + 1920x1080@32 + SanitiseClearScreen + + TextRenderer + BuiltinGraphics + + ProtocolOverrides + + AppleAudio + + AppleBootPolicy + + AppleDebugLog + + AppleEvent + + AppleImageConversion + + AppleKeyMap + + AppleRtcRam + + AppleSmcIo + + AppleUserInterfaceTheme + + DataHub + + DeviceProperties + + FirmwareVolume + + HashServices + + OSInfo + + UnicodeCollation + + + Quirks + + DeduplicateBootOrder + + ExitBootServicesDelay + 0 + IgnoreInvalidFlexRatio + + ReleaseUsbOwnership + + RequestBootVarRouting + + TscSyncTimeout + 0 + UnblockFsConnect + + + + + diff --git a/OpenCore-Catalina/config.plist b/OpenCore-Catalina/config.plist new file mode 100644 index 0000000..08210ae --- /dev/null +++ b/OpenCore-Catalina/config.plist @@ -0,0 +1,883 @@ + + + + + ACPI + + Add + + + Comment + add DTGP method + Enabled + + Path + SSDT-DTGP.aml + + + Comment + Fake EC and USBX Power + Enabled + + Path + SSDT-EC.aml + + + Comment + USB 2.0 Injection + Enabled + + Path + SSDT-EHCI.aml + + + Comment + CPU AGPM Plugin=1 + Enabled + + Path + SSDT-PLUG.aml + + + Delete + + + All + + Comment + Delete CpuPm + Enabled + + OemTableId + Q3B1UG0AAAA= + TableLength + 0 + TableSignature + U1NEVA== + + + All + + Comment + Delete Cpu0Ist + Enabled + + OemTableId + Q3B1MElzdAA= + TableLength + 0 + TableSignature + U1NEVA== + + + Patch + + + Comment + _Q11 to XQ11 + Count + 1 + Enabled + + Find + X1ExMQ== + Limit + 0 + Mask + + OemTableId + + Replace + WFExMQ== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Comment + _Q12 to XQ12 + Count + 1 + Enabled + + Find + X1ExMg== + Limit + 0 + Mask + + OemTableId + + Replace + WFExMg== + ReplaceMask + + Skip + 0 + TableLength + 0 + TableSignature + + + + Quirks + + FadtEnableReset + + NormalizeHeaders + + RebaseRegions + + ResetHwSig + + ResetLogoStatus + + + + Booter + + MmioWhitelist + + Quirks + + AvoidRuntimeDefrag + + DevirtualiseMmio + + DisableSingleUser + + DisableVariableWrite + + DiscardHibernateMap + + EnableSafeModeSlide + + EnableWriteUnprotector + + ForceExitBootServices + + ProtectMemoryRegions + + ProtectSecureBoot + + ProtectUefiServices + + ProvideCustomSlide + + ProvideMaxSlide + 0 + RebuildAppleMemoryMap + + SetupVirtualMap + + SignalAppleOS + + SyncRuntimePermissions + + + + DeviceProperties + + Add + + PciRoot(0x1)/Pci(0x1F,0x0) + + compatible + pci8086,2916 + device-id + + FikA + + name + pci8086,2916 + + + Delete + + PciRoot(0x0)/Pci(0x1b,0x0) + + MaximumBootBeepVolume + + + + Kernel + + Add + + + Arch + Any + BundlePath + VoodooHDA.kext + Comment + + Enabled + + ExecutablePath + Contents/MacOS/VoodooHDA + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + Lilu.kext + Comment + Patch engine + Enabled + + ExecutablePath + Contents/MacOS/Lilu + MaxKernel + + MinKernel + 12.0.0 + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + VirtualSMC.kext + Comment + SMC emulator + Enabled + + ExecutablePath + Contents/MacOS/VirtualSMC + MaxKernel + + MinKernel + 12.0.0 + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + WhateverGreen.kext + Comment + Video patches + Enabled + + ExecutablePath + Contents/MacOS/WhateverGreen + MaxKernel + + MinKernel + 12.0.0 + PlistPath + Contents/Info.plist + + + BundlePath + AGPMInjector.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + BundlePath + USBPorts.kext + Comment + + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + + PlistPath + Contents/Info.plist + + + Arch + x86_64 + BundlePath + MCEReporterDisabler.kext + Comment + AppleMCEReporter disabler + Enabled + + ExecutablePath + + MaxKernel + + MinKernel + 19.0.0 + PlistPath + Contents/Info.plist + + + Block + + + Arch + Any + Comment + + Enabled + + Identifier + com.apple.driver.AppleTyMCEDriver + MaxKernel + + MinKernel + + + + Emulate + + Cpuid1Data + + VAYFAAAAAAAAAAAAAAAAAA== + + Cpuid1Mask + + ////AAAAAAAAAAAAAAAAAA== + + + Force + + + Arch + Any + BundlePath + System/Library/Extensions/IONetworkingFamily.kext + Comment + Patch engine + Enabled + + Identifier + com.apple.iokit.IONetworkingFamily + ExecutablePath + Contents/MacOS/IONetworkingFamily + MaxKernel + 13.99.99 + MinKernel + + PlistPath + Contents/Info.plist + + + Patch + + + Base + _cpu_topology_sort + Comment + algrey - cpu_topology_sort -disable _x86_validate_topology + Count + 1 + Enabled + + Find + + 6AAA//8= + + Identifier + kernel + Limit + 0 + Mask + + /wAA//8= + + MaxKernel + 20.99.99 + MinKernel + 17.0.0 + Replace + + Dx9EAAA= + + ReplaceMask + + + Skip + 0 + + + Base + + Comment + algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN + Count + 1 + Enabled + + Find + + MduAPQAAAAAGdQA= + + Identifier + kernel + Limit + 0 + Mask + + /////wAAAP///wA= + + MaxKernel + 20.99.99 + MinKernel + 17.0.0 + Replace + + u7xP6njpXQAAAJA= + + ReplaceMask + + + Skip + 0 + + + Quirks + + AppleCpuPmCfgLock + + AppleXcpmCfgLock + + AppleXcpmExtraMsrs + + AppleXcpmForceBoost + + CustomSMBIOSGuid + + DisableIoMapper + + DisableLinkeditJettison + + DisableRtcChecksum + + DummyPowerManagement + + ExternalDiskIcons + + IncreasePciBarSize + + LapicKernelPanic + + PanicNoKextDump + + PowerTimeoutKernelPanic + + ThirdPartyDrives + + XhciPortLimit + + + Scheme + + FuzzyMatch + + KernelArch + x86_64 + KernelCache + Auto + + + Misc + + BlessOverride + + Boot + + ConsoleAttributes + 0 + HibernateMode + Auto + HideAuxiliary + + PickerAttributes + 1 + PickerAudioAssist + + PickerMode + External + PollAppleHotKeys + + ShowPicker + + TakeoffDelay + 0 + Timeout + 0 + + Debug + + AppleDebug + + ApplePanic + + DisableWatchDog + + DisplayDelay + 0 + DisplayLevel + 2147483650 + SerialInit + + SysReport + + Target + 3 + + Entries + + Security + + AllowNvramReset + + AllowSetDefault + + ApECID + 0 + AuthRestart + + BootProtect + None + DmgLoading + Signed + EnablePassword + + ExposeSensitiveData + 6 + HaltLevel + 2147483648 + PasswordHash + + PasswordSalt + + ScanPolicy + 0 + SecureBootModel + Disabled + Vault + Optional + + Tools + + + Arguments + + Auxiliary + + Comment + Not signed for security reasons + Enabled + + Name + UEFI Shell + Path + OpenShell.efi + + + Arguments + Shutdown + Auxiliary + + Comment + Perform shutdown + Enabled + + Name + Shutdown + Path + ResetSystem.efi + + + + NVRAM + + Add + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + DefaultBackgroundColor + AAAAAA== + UIScale + AQ== + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + SystemAudioVolume + Rg== + boot-args + -v keepsyms=1 tlbto_us=0 vti=9 + run-efi-updater + No + csr-active-config + ZwAAAA== + prev-lang:kbd + ZW4tVVM6MA== + + + Delete + + 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 + + UIScale + DefaultBackgroundColor + + 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 + + rtc-blacklist + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + boot-args + + + LegacyEnable + + LegacyOverwrite + + LegacySchema + + 7C436110-AB2A-4BBB-A880-FE41995C9F82 + + EFILoginHiDPI + EFIBluetoothDelay + LocationServicesEnabled + SystemAudioVolume + SystemAudioVolumeDB + SystemAudioVolumeSaved + bluetoothActiveControllerInfo + bluetoothInternalControllerInfo + flagstate + fmm-computer-name + nvda_drv + prev-lang:kbd + + 8BE4DF61-93CA-11D2-AA0D-00E098032B8C + + Boot0080 + Boot0081 + Boot0082 + BootNext + BootOrder + + + WriteFlash + + + PlatformInfo + + Automatic + + Generic + + AdviseWindows + + MLB + C02717306J9JG361M + ROM + + m7zhIYfl + + SpoofVendor + + SystemProductName + iMacPro1,1 + SystemSerialNumber + C02TM2ZBHX87 + SystemUUID + 007076A6-F2A2-4461-BBE5-BAD019F8025A + + UpdateDataHub + + UpdateNVRAM + + UpdateSMBIOS + + UpdateSMBIOSMode + Create + + UEFI + + APFS + + EnableJumpstart + + GlobalConnect + + HideVerbose + + JumpstartHotPlug + + MinDate + 0 + MinVersion + 0 + + Audio + + AudioCodec + 0 + AudioDevice + PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x1) + AudioOut + 0 + AudioSupport + + MinimumVolume + 20 + PlayChime + + VolumeAmplifier + 0 + + ConnectDrivers + + Drivers + + VBoxHfs.efi + OpenRuntime.efi + OpenCanopy.efi + #AudioDxe.efi + #OpenUsbKbDxe.efi + #UsbMouseDxe.efi + #Ps2KeyboardDxe.efi + #Ps2MouseDxe.efi + #HiiDatabase.efi + #NvmExpressDxe.efi + #XhciDxe.efi + #ExFatDxe.efi + #PartitionDxe.efi + #CrScreenshotDxe.efi + + Input + + KeyFiltering + + KeyForgetThreshold + 5 + KeyMergeThreshold + 2 + KeySupport + + KeySupportMode + Auto + KeySwap + + PointerSupport + + PointerSupportMode + ASUS + TimerResolution + 50000 + + Output + + ClearScreenOnModeSwitch + + ConsoleMode + + DirectGopRendering + + IgnoreTextInGraphics + + ProvideConsoleGop + + ReconnectOnResChange + + ReplaceTabWithSpace + + Resolution + 1920x1080@32 + SanitiseClearScreen + + TextRenderer + BuiltinGraphics + UgaPassThrough + + + ProtocolOverrides + + AppleAudio + + AppleBootPolicy + + AppleDebugLog + + AppleEvent + + AppleFramebufferInfo + + AppleImageConversion + + AppleImg4Verification + + AppleKeyMap + + AppleRtcRam + + AppleSecureBoot + + AppleSmcIo + + AppleUserInterfaceTheme + + DataHub + + DeviceProperties + + FirmwareVolume + + HashServices + + OSInfo + + UnicodeCollation + + + Quirks + + ExitBootServicesDelay + 0 + IgnoreInvalidFlexRatio + + ReleaseUsbOwnership + + RequestBootVarRouting + + TscSyncTimeout + 0 + UnblockFsConnect + + ConnectDrivers + + + + + diff --git a/OpenCore-Catalina/create_iso_catalina.sh b/OpenCore-Catalina/create_iso_catalina.sh new file mode 100755 index 0000000..4d79cb0 --- /dev/null +++ b/OpenCore-Catalina/create_iso_catalina.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Create a "ISO" (DMG) image for powering offline macOS installations + +# Bail at first ISO creation error +set -e + +display_help() { + echo "Usage: $(basename $0) [-h] [ ]" + exit 0 +} + +if [ "$1" == "-h" ] ; then + display_help +fi + +if [ "$#" -eq 2 ] +then + in_path=$1 + dmg_path=$2 +elif [ "$#" -eq 0 ] +then + in_path=/Applications/Install\ macOS\ Catalina.app + dmg_path=~/Desktop/Catalina.iso + echo "Using default paths:" + echo "Install app: $in_path" + echo "Output disk: $dmg_path" +else + display_help +fi + +# Borrrowed from multiple internet sources +hdiutil create -o "$dmg_path" -size 9g -layout GPTSPUD -fs HFS+J +hdiutil attach "$dmg_path" -noverify -mountpoint /Volumes/install_build +sudo "$in_path/Contents/Resources/createinstallmedia" --volume /Volumes/install_build --nointeraction + +# createinstallmedia may leave a bunch of subvolumes still mounted when it exits, so we need to use -force here. +hdiutil detach --force "/Volumes/Install macOS Catalina" diff --git a/OpenCore-Catalina/opencore-image-ng.sh b/OpenCore-Catalina/opencore-image-ng.sh new file mode 100755 index 0000000..aff7546 --- /dev/null +++ b/OpenCore-Catalina/opencore-image-ng.sh @@ -0,0 +1,163 @@ +#!/usr/bin/env bash + +# https://github.com/kraxel/imagefish + +###################################################################### +# defaults + +iso="" +img="" +cfg="" + +###################################################################### +# create work dir + +function msg() { + local txt="$1" + local bold="\x1b[1m" + local normal="\x1b[0m" + echo -e "${bold}### ${txt}${normal}" +} + +function do_cleanup() { + msg "cleaning up ..." + if test "$GUESTFISH_PID" != ""; then + guestfish --remote -- exit >/dev/null 2>&1 || true + fi + sudo rm -rf "$WORK" +} + +WORK="${TMPDIR-/var/tmp}/${0##*/}-$$" +mkdir "$WORK" || exit 1 +trap 'do_cleanup' EXIT + +BASE="$(dirname $0)" + +###################################################################### +# parse args + +function print_help() { +cat < + --img + --cfg +EOF +} + +while test "$1" != ""; do + case "$1" in + --iso) + iso="$2" + shift; shift + ;; + --img) + img="$2" + shift; shift + ;; + --cfg) + cfg="$2" + shift; shift + ;; + esac +done + +###################################################################### +# guestfish script helpers + +function fish() { + echo "#" "$@" + guestfish --remote -- "$@" || exit 1 +} + +function fish_init() { + local format + + case "$img" in + *.raw) format="raw" ;; + *) format="qcow2";; + esac + + msg "creating and adding disk image" + fish disk-create $img $format 384M + fish add $img + fish run +} + +function fish_fini() { + fish umount-all +} + +###################################################################### +# sanity checks + +if test ! -f "$cfg"; then + echo "ERROR: cfg not found: $cfg" + exit 1 +fi +if test -f "$img"; then + if test "$allow_override" = "yes"; then + rm -f "$img" + else + echo "ERROR: image exists: $img" + exit 1 + fi +fi + +###################################################################### +# go! + +msg "copy files from local folder" +BASE="$(dirname $0)" +cp -a $BASE/EFI $WORK +find "$WORK" + +#msg "[debug] list drivers in EFI/OC" +#(cd $WORK/EFI/OC; find driver* -print) + +export LIBGUESTFS_BACKEND=direct +eval $(guestfish --listen) +if test "$GUESTFISH_PID" = ""; then + echo "ERROR: starting guestfish failed" + exit 1 +fi + +fish_init + +msg "partition disk image" +fish part-init /dev/sda gpt +fish part-add /dev/sda p 2048 300000 +fish part-add /dev/sda p 302048 -2048 +fish part-set-gpt-type /dev/sda 1 C12A7328-F81F-11D2-BA4B-00A0C93EC93B +fish part-set-bootable /dev/sda 1 true +fish mkfs vfat /dev/sda1 label:EFI +fish mkfs vfat /dev/sda2 label:OpenCoreBoot +fish mount /dev/sda2 / +fish mkdir /ESP +fish mount /dev/sda1 /ESP + +msg "copy files to disk image" +cp -v "$cfg" $WORK/config.plist +fish mkdir /ESP/EFI +fish mkdir /ESP/EFI/OC +fish mkdir /ESP/EFI/OC/Kexts +fish mkdir /ESP/EFI/OC/ACPI +fish mkdir /ESP/EFI/OC/Resources +fish mkdir /ESP/EFI/OC/Tools +fish copy-in $WORK/EFI/BOOT /ESP/EFI +fish copy-in $WORK/EFI/OC/OpenCore.efi /ESP/EFI/OC +fish copy-in $WORK/EFI/OC/Drivers /ESP/EFI/OC/ +fish copy-in $WORK/EFI/OC/Kexts /ESP/EFI/OC/ +fish copy-in $WORK/EFI/OC/ACPI /ESP/EFI/OC/ +fish copy-in $WORK/EFI/OC/Resources /ESP/EFI/OC/ +fish copy-in $WORK/EFI/OC/Tools /ESP/EFI/OC/ + +# Note +fish copy-in startup.nsh / + +BASE="$(dirname $0)" +fish copy-in "$WORK/config.plist" /ESP/EFI/OC/ + +fish find /ESP/ +fish_fini diff --git a/OpenCore-Catalina/startup.nsh b/OpenCore-Catalina/startup.nsh new file mode 100755 index 0000000..521c59d --- /dev/null +++ b/OpenCore-Catalina/startup.nsh @@ -0,0 +1 @@ +fs0:\EFI\BOOT\BOOTx64.efi diff --git a/README.md b/README.md new file mode 100644 index 0000000..0d1ccf4 --- /dev/null +++ b/README.md @@ -0,0 +1,252 @@ +### Note + +This `README.md` documents the process of creating a `Virtual Hackintosh` +system. + +Note: All blobs and resources included in this repository are re-derivable (all +instructions are included!). + +:green_heart: Looking for **commercial** support with this stuff? I am [available +over email](mailto:dhiru.kholia@gmail.com?subject=[GitHub]%20OSX-KVM%20Commercial%20Support%20Request&body=Hi%20-%20We%20are%20interested%20in%20purchasing%20commercial%20support%20options%20for%20your%20project.) for a chat for **commercial support options only**. + +Working with `Proxmox` and macOS? See [Nick's blog for sure](https://www.nicksherlock.com/). + +Yes, we support offline macOS installations now 🎉 + + +### Contributing Back + +This project can always use your help, time and attention. I am looking for +help (pull-requests!) with the following work items: + +* Documentation around running macOS on popular cloud providers (Hetzner, GCP, + AWS). See the `Is This Legal?` section and associated references. + +* Document (share) how you use this project to build + test open-source + projects / get your stuff done. + +* Document how to use this project for XNU kernel debugging and development. + +* Document the process to create and reuse VM snapshots. Instantaneous macOS + boots would be nice this way. + +* Document the process to launch a bunch of headless macOS VMs (build farm). + +* Document usage of [munki](https://github.com/munki/munki) to deploy software + to such a `build farm`. + +* Enable VNC + SSH support out of the box or more easily. + +* Better support + docs for AMD Ryzen. + +* Robustness improvements are always welcome! + +* (Not so) crazy idea - automate the macOS installation via OpenCV. + + +### Requirements + +* A modern Linux distribution. E.g. Ubuntu 20.04 LTS 64-bit or later. + +* QEMU >= 4.2.0 + +* A CPU with Intel VT-x / AMD SVM support is required (`egrep '(vmx|svm)' /proc/cpuinfo`) + +* A CPU with SSE4.1 support is required for >= macOS Sierra + +* A CPU with AVX2 support is required for >= macOS Mojave + +Note: Older AMD CPU(s) are known to be problematic. AMD FX-8350 works but +Phenom II X3 720 does not. Ryzen processors work just fine. + + +### Installation Preparation + +* KVM may need the following tweak on the host machine to work. + + ``` + echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs + ``` + + To make this change permanent, you may use the following command. + + ``` + sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes + ``` + +* Install QEMU and other packages. + + ``` + sudo apt-get install qemu uml-utilities virt-manager git \ + wget libguestfs-tools p7zip-full -y + ``` + + This step may need to be adapted for your Linux distribution. + +* Clone this repository on your QEMU system. Files from this repository are + used in the following steps. + + ``` + cd ~ + + git clone --depth 1 https://github.com/kholia/OSX-KVM.git + + cd OSX-KVM + ``` + +* Fetch macOS installer. + + ``` + ./fetch-macOS-v2.py + ``` + + ATTENTION: Installing `Big Sur` is NOT recommended at this time, unless you + are a Hackintosh developer! Let the `Big Sur` setup sit at the `Country + Selection` screen and other similar places for a while ;) + + You can choose your desired macOS version here. After executing this step, + you should have the `BaseSystem.dmg` file in the current folder. + + Sample run: + + ``` + $ ./fetch-macOS-v2.py + 1. High Sierra (10.13) + 2. Mojave (10.14) + 3. Catalina (10.15) - RECOMMENDED + 4. Latest (Big Sur - 11) + + Choose a product to download (1-4): 3 + ``` + + Note: Modern NVIDIA GPUs are supported on HighSierra but not on later + versions. + +* Convert the downloaded `BaseSystem.dmg` file into the `BaseSystem.img` file. + + ``` + qemu-img convert BaseSystem.dmg -O raw BaseSystem.img + ``` + +* Create a virtual HDD image where macOS will be installed. If you change the + name of the disk image from `mac_hdd.img` to something else, the boot scripts + will need to be updated to point to the new image name. + + ``` + qemu-img create -f qcow2 mac_hdd_ng.img 128G + ``` + + NOTE: Create this HDD image file on a fast SSD/NVMe disk for best results. + +* Now you are ready to install macOS 🚀 + + +### Installation + +- CLI method (primary). Just run the `OpenCore-Boot.sh` script to start the + installation process. + + ``` + ./OpenCore-Boot.sh + ``` + + Note: This same script works for Big Sur, Catalina, Mojave, and High Sierra. + +- You are all set! 🙌 + +- (OPTIONAL) Use this macOS VM disk with libvirt (virt-manager / virsh stuff). + + - Edit `macOS-libvirt-Catalina.xml` file and change the various file paths (search + for `CHANGEME` strings in that file). The following command should do the + trick usually. + + ``` + sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml + + virt-xml-validate macOS.xml + ``` + + - Create a VM by running the following command. + + ```bash + virsh --connect qemu:///system define macOS.xml + ``` + + - Launch `virt-manager` and start the `macOS` virtual machine. + + Note: You may need to run `sudo ip link delete tap0` command before + `virt-manager` is able to start the `macOS` VM. + + +### Setting Expectations Right + +Nice job on setting up a `Virtual Hackintosh` system! Such a system can be used +for a variety of purposes (e.g. software builds, testing, reversing work), and +it may be all you need, along with some tweaks documented in this repository. + +However, such a system lacks graphical acceleration, a reliable sound sub-system, +USB (3) functionality and other similar things. To enable these things, take a +look at our [notes](notes.md). We would like to resume our testing and +documentation work around this area. Please [reach out to us](mailto:dhiru.kholia@gmail.com?subject=[GitHub]%20OSX-KVM%20Funding%20Support) +if you are able to fund this area of work. + +It is possible to have 'beyond-native-apple-hw' performance but it does require +work, patience, and a bit of luck (perhaps?). + + +### Post-Installation + +* See [networking notes](networking-qemu-kvm-howto.txt) to setup guest networking. + + I have the following commands present in `/etc/rc.local`. + + ``` + #!/usr/bin/env bash + + sudo ip tuntap add dev tap0 mode tap + sudo ip link set tap0 up promisc on + sudo ip link set dev virbr0 up + sudo ip link set dev tap0 master virbr0 + ``` + + This has been enough for me so far. + + Note: You may need to [enable the `rc.local` functionality manually on modern Ubuntu versions](https://linuxmedium.com/how-to-enable-etc-rc-local-with-systemd-on-ubuntu-20-04/). + +* To passthrough GPUs and other devices, see [these notes](notes.md). + +* Need a different resolution? Check out the [notes](notes.md) included in this repository. + +* To generate your own SMBIOS, use [GenSMBIOS](https://github.com/corpnewt/GenSMBIOS). + + +### Is This Legal? + +The "secret" Apple OSK string is widely available on the Internet. It is also included in a public court document [available here](http://www.rcfp.org/sites/default/files/docs/20120105_202426_apple_sealing.pdf). I am not a lawyer but it seems that Apple's attempt(s) to get the OSK string treated as a trade secret did not work out. Due to these reasons, the OSK string is freely included in this repository. + +Please review the ['Legality of Hackintoshing' documentation bits from Dortania's OpenCore Install Guide](https://dortania.github.io/OpenCore-Install-Guide/why-oc.html#legality-of-hackintoshing). + +Gabriel Somlo also has [some thoughts](http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/) on the legal aspects involved in running macOS under QEMU/KVM. + +You may also find [this 'Announcing Amazon EC2 Mac instances for macOS' article](https://aws.amazon.com/about-aws/whats-new/2020/11/announcing-amazon-ec2-mac-instances-for-macos/ +) interesting. + + +### Motivation + +My aim is to enable macOS based educational tasks, builds + testing, kernel +debugging, reversing, and macOS security research in an easy, reproducible +manner without getting 'invested' in Apple's closed ecosystem (too heavily). + +These `Virtual Hackintosh` systems are not intended to replace the genuine +physical macOS systems. + +Personally speaking, this repository has been a way for me to 'exit' the Apple +ecosystem. It has helped me to test and compare the interoperability of `Canon +CanoScan LiDE 120` scanner, and `Brother HL-2250DN` laser printer. And these +devices now work decently enough on modern versions of Ubuntu (Yay for free +software). Also, a long time back, I had to completely wipe my (then) brand new +`MacBook Pro (Retina, 15-inch, Late 2013)` and install Xubuntu on it - as the +`OS X` kernel kept crashing on it! + +Backstory: I was a (poor) student in Canada in a previous life and Apple made [my work on cracking Apple Keychains](https://github.com/openwall/john/blob/bleeding-jumbo/src/keychain_fmt_plug.c) a lot harder than it needed to be. This is how I got interested in Hackintosh systems. diff --git a/References.md b/References.md new file mode 100644 index 0000000..efb37d0 --- /dev/null +++ b/References.md @@ -0,0 +1,7 @@ +### References + +* http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/ + +* https://www.kraxel.org/blog/2017/09/running-macos-as-guest-in-kvm/ + +* https://github.com/foxlet/macOS-Simple-KVM diff --git a/UNRAID.md b/UNRAID.md new file mode 100644 index 0000000..f2487bc --- /dev/null +++ b/UNRAID.md @@ -0,0 +1,78 @@ +# Setting up OSX-KVM with UNRAID (Unraid OS) +Note: SpaceInvaderOne has a community app called `macinabox`, and it is a Docker container that can automate the entire process that creates the VM and disks. This guide aims to provide utility in choosing specific macOS versions or bootloaders, and understanding the process of how this repository's resources can be used in hypervisor types (UNRAID, ESXi, etc.). + +- [Setting up OSX-KVM with UNRAID](#setting-up-osx-kvm-with-unraid) + - [Motivation](#motivation) + - [Pre-Requisites](#pre-requisites) + - [Preparing the VM](#preparing-the-vm) + - [Starting the VM](#starting-the-vm) + - [Optional Notes](#optional-notes) + - [Misc](#misc) + - [Resources](#resources) + +## Motivation +This guide solely uses the files generated from this repository to construct a VM for use in UNRAID. This means updates to and features of this repository should be compatible with creating VMs in UNRAID. This type of setup also aims to utilize UNRAID's advantages to address items in the [Contributing Back](https://github.com/kholia/OSX-KVM#contributing-back) section of the main repository, including creating/re-using VM snapshots, build farms, VNC+SSH support, and capacity of delivering a bare-metal-like experience for development. Further customization in setting up Hackintosh on KVM is beyond the scope of this documentation, but feel free to provide relevant [supplemental resources](#resources). + +## Pre-Requisites +Follow the [Installation Preparation](https://github.com/kholia/OSX-KVM#installation-preparation) guide and have your disk image `mac_hdd_ng.img` and installation media `BaseSystem.dmg` ready. + +Ensure you have VM support and passthrough parameters prepared (VFIO devices, PCI controllers, VNC remote, etc.). You should also have a way of reading/writing to the appropriate locations in your UNRAID server (I use `Krusader`). + +## Preparing the VM +Below are sample instructions for setting up the VM. We will keep the necessary files in the same directory for simplicity. +* Place these 3 files `BaseSystem.img`, `mac_hdd_ng.img` and `OSX-KVM/OpenCore-Catalina/OpenCore.qcow2` into the directory of your VM + * ie: Into `/mnt/user/domains/BigSur`, where domains is the folder for your VMs +* Create a new VM and edit the XML. Use the OSX-KVM repository's `macOS-libvirt-Catalina.xml` as a guide + * ie: You also have the option to use the GUI to adjust the CPUs, RAM, setting the OS installation media and disk images, as well as the devices you wish to pass into the VM. However, each time the template is edited via the GUI, you must go in the XML editor and paste the qemu args at the bottom of the XML file. + * Note: The opencore qcow2 file should be prioritized first, it will contain the EFI boot partition that you can modify after installation using the OpenCore Configurator +* Check that the three files' primary vDisk bus is SATA, and verify types: + * OpenCore.qcow2 `` + * BaseSystem.img `` + * mac_hdd_ng.img `` +* After successful installation, the BaseSystem.img entry can be safely deleted from the XML + +## Starting the VM +* Initialize the VM, and select the macOS base system when OpenCore prompts +* Once the installer boots, go into disk utility and erase the qemu drive that relatively matches the space you've allocated in the qemu-img args + * ie: Erase the disk and use these params - APFS, GUID Partition Table +* After installation, you may need to change the NIC to `vmxnet3` or `e1000-82545em` to login with your Apple ID or install your apps from the AppStore (consult [Resources](#resources) for other network interface types) +* Download OpenCore Configurator and mount the EFI partition called `EFI o` (Tools > Mount EFI) +![OpenCore EFI Partitions](screenshots/unraid-oc-efi.png) +* Open the plist from Tools > Scan Configurations +![OpenCore plist](screenshots/unraid-oc-plist.png) +* Customize aml/kext/nvram/drivers and save + * Note: Making modifications here will write to the `OpenCore.qcow2` file copied from this repository. + +## Optional Notes +In no particular order, +* For the RX 5700XT, the boot-args `agdpmod=pikera` is necessary to successfully boot. Change in `NVRAM > UUID > boot-args (right-click) > WhateverGreen > agdpmod=pikera` + * Use VNC or another GPU until able to configure the EFI partition, or pre-configure the qcow2 file +* Simplify updates by creating another VM template that does not passthrough the GPU (noVNC) + * During OS updates, multiple restarts occur. If you use an AMD GPU that has the reset-bug, this process can be jarring + * Each restart there will be another boot option alongside your default one (from the update), choose that one until the update is complete +* For passing PCIe USB controllers. ensure they work with macOS and ensure its free by vfio-bind them on server boot + +When there is a home for this section, feel free to share optimizations and configurations that require modifications to the qemu args, XML, config plist, etc. + +## Misc + +qemu args +``` + + + + + + + + + + + +``` + +## Resources + +* [https://forums.unraid.net/topic/84430-hackintosh-tips-to-make-a-bare-metal-macos/](https://forums.unraid.net/topic/84430-hackintosh-tips-to-make-a-bare-metal-macos/) +* [SpaceInvaderOne: How to Easily Install macOS Catalina Mojave or HighSierra as a VM on Unraid](https://www.youtube.com/watch?v=g_jk9D2e5q0) +* [Macinabox GitHub Repository](https://github.com/SpaceinvaderOne/Macinabox) diff --git a/Xcode-Tutorial.md b/Xcode-Tutorial.md new file mode 100644 index 0000000..e282185 --- /dev/null +++ b/Xcode-Tutorial.md @@ -0,0 +1,71 @@ +### Developing on Virtualized macOS + +1. Install Xcode from the Apple App Store or from the [Apple developer website](https://developers.apple.com). + +2. Create an Xcode project as usual. + +3. Connect the `Apple Device` (called `iPhone` from now on) to the macOS VM. + This can be done in two ways: + + Method 1: Use USB passthrough technique to connect an entire USB controller + (to which `iPhone` is connected) to the macOS VM. This method is covered in + these [notes](notes.md#usb-passthrough-notes). + + If USB passthrough is not an option, use `Method 2`. + + Method 2. You can use the [USB Network Gate](https://www.eltima.com/products/usb-over-ethernet/) + software to pass USB devices to macOS VMs over the network (LAN / Wi-Fi). + + ![USB Network Gate - USB over Ethernet Sharing Software](https://www.eltima.com/imgnew/products/usb-over-ethernet/illustrationShare.png) + + This software comes with a free trial and supports a wide variety of + operating systems. If your operating system is not supported directly, you can + deploy this software on a Raspberry Pi. + + Once you have it installed on the host computer (the one with the USB device + that you will be sharing), you can install it on the macOS VM. Make sure to + allow the extension in `System Preferences > Security & Privacy` and reboot. + + Once that is finished, you can open up `USB Network Gate` on the client + (macOS VM) and click `Add Server` and type in the IP address of the Raspberry Pi + or other device (to which the `iPhone` is connected). Finally, you have to + trust the computer on your `iPhone`, and it should be completely set up! + + At this point, the `iPhone` should work as usual - showing up in + Finder, Xcode, etc. + +4. At this point, the macOS VM has an Xcode project and has access to the + `iPhone`. Continue using Xcode as usual to build, deploy, and test the Xcode + project. + + +### Setup USB Network Gate on Raspberry Pi + +These steps were tested on RPi 3B+ running `Raspberry Pi OS with desktop +(August 20th 2020)`. + +``` +sudo apt update +sudo apt upgrade -y + +sudo reboot + +sudo apt install raspberrypi-kernel-headers + +wget https://cdn.electronic.us/products/usb-over-ethernet/linux/download/eveusb_armv7l.deb + +sudo apt install ./eveusb_armv7l.deb +``` + +To get proper VNC resolution (for headless systems), insert the following lines +in `/boot/config.txt` on the RPi system. + +``` +dtparam=audio=on # note: existing line +hdmi_force_hotplug=1 +hdmi_group=2 +hdmi_mode=82 +``` + +Enable VNC on the RPi system using the `sudo raspi-config nonint do_vnc 0` +command. diff --git a/backups/fetch-macOS.py b/backups/fetch-macOS.py new file mode 100755 index 0000000..2a6f7f2 --- /dev/null +++ b/backups/fetch-macOS.py @@ -0,0 +1,453 @@ +#!/usr/bin/env python3 +# encoding: utf-8 +# +# https://github.com/munki/macadmin-scripts/blob/master/installinstallmacos.py +# +# Copyright 2017 Greg Neagle. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Thanks to Tim Sutton for ideas, suggestions, and sample code. +# +# Updated in May of 2019 by Dhiru Kholia. + +'''installinstallmacos.py +A tool to download the parts for an Install macOS app from Apple's +softwareupdate servers and install a functioning Install macOS app onto an +empty disk image''' + +# https://github.com/foxlet/macOS-Simple-KVM/blob/master/tools/FetchMacOS/fetch-macos.py +# is pretty similar. + + +# Bad hack +import warnings + +warnings.filterwarnings("ignore", category=DeprecationWarning) + +import os +import gzip +import argparse +import plistlib +import subprocess + +from xml.dom import minidom +from xml.parsers.expat import ExpatError + + +import sys + +if sys.version_info[0] < 3: + import urlparse as urlstuff +else: + import urllib.parse as urlstuff +# Quick fix for python 3.9 and above +if sys.version_info[0] == 3 and sys.version_info[1] >= 9: + from types import MethodType + + def readPlist(self,filepath): + with open(filepath, 'rb') as f: + p = plistlib._PlistParser(dict) + rootObject = p.parse(f) + return rootObject + # adding the method readPlist() to plistlib + plistlib.readPlist = MethodType(readPlist, plistlib) + +# https://github.com/foxlet/macOS-Simple-KVM/blob/master/tools/FetchMacOS/fetch-macos.py (unused) +# https://github.com/munki/macadmin-scripts +catalogs = { + "CustomerSeed": "https://swscan.apple.com/content/catalogs/others/index-10.16customerseed-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog", + "DeveloperSeed": "https://swscan.apple.com/content/catalogs/others/index-10.16seed-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog", + "PublicSeed": "https://swscan.apple.com/content/catalogs/others/index-10.16beta-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog", + "PublicRelease": "https://swscan.apple.com/content/catalogs/others/index-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog", + "20": "https://swscan.apple.com/content/catalogs/others/index-11-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog" +} + + +def get_default_catalog(): + '''Returns the default softwareupdate catalog for the current OS''' + return catalogs["20"] + # return catalogs["PublicRelease"] + # return catalogs["DeveloperSeed"] + + +class ReplicationError(Exception): + '''A custom error when replication fails''' + pass + + +def cmd_exists(cmd): + return subprocess.call("type " + cmd, shell=True, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0 + + +def replicate_url(full_url, + root_dir='/tmp', + show_progress=False, + ignore_cache=False, + attempt_resume=False, installer=False, product_title=""): + '''Downloads a URL and stores it in the same relative path on our + filesystem. Returns a path to the replicated file.''' + + # hack + print("[+] Fetching %s" % full_url) + if installer and "BaseSystem.dmg" not in full_url and "Big Sur" not in product_title: + return + if "Big Sur" in product_title and "InstallAssistant.pkg" not in full_url: + return + attempt_resume = True + # path = urllib.parse.urlsplit(full_url)[2] + path = urlstuff.urlsplit(full_url)[2] + relative_url = path.lstrip('/') + relative_url = os.path.normpath(relative_url) + # local_file_path = os.path.join(root_dir, relative_url) + local_file_path = relative_url + # print("Downloading %s..." % full_url) + + if cmd_exists('wget'): + if not installer: + download_cmd = ['wget', "-c", "--quiet", "-x", "-nH", full_url] + # this doesn't work as there are multiple metadata files with the same name! + # download_cmd = ['wget', "-c", "--quiet", full_url] + else: + download_cmd = ['wget', "-c", full_url] + else: + if not installer: + download_cmd = ['curl', "--silent", "--show-error", "-o", local_file_path, "--create-dirs", full_url] + else: + local_file_path = os.path.basename(local_file_path) + download_cmd = ['curl', "-o", local_file_path, full_url] + + try: + subprocess.check_call(download_cmd) + except subprocess.CalledProcessError as err: + raise ReplicationError(err) + return local_file_path + + +def parse_server_metadata(filename): + '''Parses a softwareupdate server metadata file, looking for information + of interest. + Returns a dictionary containing title, version, and description.''' + title = '' + vers = '' + try: + md_plist = plistlib.readPlist(filename) + except (OSError, IOError, ExpatError) as err: + print('Error reading %s: %s' % (filename, err), file=sys.stderr) + return {} + vers = md_plist.get('CFBundleShortVersionString', '') + localization = md_plist.get('localization', {}) + preferred_localization = (localization.get('English') or + localization.get('en')) + if preferred_localization: + title = preferred_localization.get('title', '') + + metadata = {} + metadata['title'] = title + metadata['version'] = vers + + """ + {'title': 'macOS Mojave', 'version': '10.14.5'} + {'title': 'macOS Mojave', 'version': '10.14.6'} + """ + return metadata + + +def get_server_metadata(catalog, product_key, workdir, ignore_cache=False): + '''Replicate ServerMetaData''' + try: + url = catalog['Products'][product_key]['ServerMetadataURL'] + try: + smd_path = replicate_url( + url, root_dir=workdir, ignore_cache=ignore_cache) + return smd_path + except ReplicationError as err: + print('Could not replicate %s: %s' % (url, err), file=sys.stderr) + return None + except KeyError: + # print('Malformed catalog.', file=sys.stderr) + return None + + +def parse_dist(filename): + '''Parses a softwareupdate dist file, returning a dict of info of + interest''' + dist_info = {} + try: + dom = minidom.parse(filename) + except ExpatError: + print('Invalid XML in %s' % filename, file=sys.stderr) + return dist_info + except IOError as err: + print('Error reading %s: %s' % (filename, err), file=sys.stderr) + return dist_info + + titles = dom.getElementsByTagName('title') + if titles: + dist_info['title_from_dist'] = titles[0].firstChild.wholeText + + auxinfos = dom.getElementsByTagName('auxinfo') + if not auxinfos: + return dist_info + auxinfo = auxinfos[0] + key = None + value = None + children = auxinfo.childNodes + # handle the possibility that keys from auxinfo may be nested + # within a 'dict' element + dict_nodes = [n for n in auxinfo.childNodes + if n.nodeType == n.ELEMENT_NODE and + n.tagName == 'dict'] + if dict_nodes: + children = dict_nodes[0].childNodes + for node in children: + if node.nodeType == node.ELEMENT_NODE and node.tagName == 'key': + key = node.firstChild.wholeText + if node.nodeType == node.ELEMENT_NODE and node.tagName == 'string': + value = node.firstChild.wholeText + if key and value: + dist_info[key] = value + key = None + value = None + return dist_info + + +def download_and_parse_sucatalog(sucatalog, workdir, ignore_cache=False): + '''Downloads and returns a parsed softwareupdate catalog''' + try: + localcatalogpath = replicate_url( + sucatalog, root_dir=workdir, ignore_cache=ignore_cache) + except ReplicationError as err: + print('Could not replicate %s: %s' % (sucatalog, err), file=sys.stderr) + exit(-1) + if os.path.splitext(localcatalogpath)[1] == '.gz': + with gzip.open(localcatalogpath) as the_file: + content = the_file.read() + try: + catalog = plistlib.readPlistFromString(content) + return catalog + except ExpatError as err: + print('Error reading %s: %s' % (localcatalogpath, err), file=sys.stderr) + exit(-1) + else: + try: + catalog = plistlib.readPlist(localcatalogpath) + return catalog + except (OSError, IOError, ExpatError) as err: + print('Error reading %s: %s' % (localcatalogpath, err), file=sys.stderr) + exit(-1) + + +def find_mac_os_installers(catalog): + '''Return a list of product identifiers for what appear to be macOS + installers''' + mac_os_installer_products = [] + if 'Products' in catalog: + for product_key in catalog['Products'].keys(): + product = catalog['Products'][product_key] + try: + if product['ExtendedMetaInfo'][ + 'InstallAssistantPackageIdentifiers']: + mac_os_installer_products.append(product_key) + except KeyError: + continue + + return mac_os_installer_products + + +def os_installer_product_info(catalog, workdir, ignore_cache=False): + '''Returns a dict of info about products that look like macOS installers''' + product_info = {} + installer_products = find_mac_os_installers(catalog) + for product_key in installer_products: + product_info[product_key] = {} + filename = get_server_metadata(catalog, product_key, workdir) + if filename: + product_info[product_key] = parse_server_metadata(filename) + else: + # print('No server metadata for %s' % product_key) + product_info[product_key]['title'] = None + product_info[product_key]['version'] = None + + product = catalog['Products'][product_key] + product_info[product_key]['PostDate'] = product['PostDate'] + distributions = product['Distributions'] + dist_url = distributions.get('English') or distributions.get('en') + try: + dist_path = replicate_url( + dist_url, root_dir=workdir, ignore_cache=ignore_cache) + except ReplicationError as err: + print('Could not replicate %s: %s' % (dist_url, err), + file=sys.stderr) + else: + dist_info = parse_dist(dist_path) + product_info[product_key]['DistributionPath'] = dist_path + product_info[product_key].update(dist_info) + if not product_info[product_key]['title']: + product_info[product_key]['title'] = dist_info.get('title_from_dist') + if not product_info[product_key]['version']: + product_info[product_key]['version'] = dist_info.get('VERSION') + + return product_info + + +def replicate_product(catalog, product_id, workdir, ignore_cache=False, product_title=""): + '''Downloads all the packages for a product''' + product = catalog['Products'][product_id] + for package in product.get('Packages', []): + # TO-DO: Check 'Size' attribute and make sure + # we have enough space on the target + # filesystem before attempting to download + if 'URL' in package: + try: + replicate_url( + package['URL'], root_dir=workdir, + show_progress=True, ignore_cache=ignore_cache, + attempt_resume=(not ignore_cache), installer=True, product_title=product_title) + except ReplicationError as err: + print('Could not replicate %s: %s' % (package['URL'], err), file=sys.stderr) + exit(-1) + if 'MetadataURL' in package: + try: + replicate_url(package['MetadataURL'], root_dir=workdir, + ignore_cache=ignore_cache, installer=True) + except ReplicationError as err: + print('Could not replicate %s: %s' % (package['MetadataURL'], err), file=sys.stderr) + exit(-1) + + +def find_installer_app(mountpoint): + '''Returns the path to the Install macOS app on the mountpoint''' + applications_dir = os.path.join(mountpoint, 'Applications') + for item in os.listdir(applications_dir): + if item.endswith('.app'): + return os.path.join(applications_dir, item) + return None + + +def determine_version(version, title, product_info): + if version: + if version == 'latest': + from distutils.version import StrictVersion + latest_version = StrictVersion('0.0.0') + for index, product_id in enumerate(product_info): + if not title or product_info[product_id]['title'] == title: + d = product_info[product_id]['version'] + if d > latest_version: + latest_version = d + + if latest_version == StrictVersion("0.0.0"): + print("Could not find latest version {}") + exit(1) + + version = str(latest_version) + + for index, product_id in enumerate(product_info): + v = product_info[product_id]['version'] + if v == version: + return product_id, product_info[product_id]['title'] + + print("Could not find version {}. Versions available are:".format(version)) + for _, pid in enumerate(product_info): + print("- {}".format(product_info[pid]['version'])) + + exit(1) + + # display a menu of choices (some seed catalogs have multiple installers) + print('%2s %12s %10s %11s %s' % ('#', 'ProductID', 'Version', + 'Post Date', 'Title')) + for index, product_id in enumerate(product_info): + print('%2s %12s %10s %11s %s' % ( + index + 1, + product_id, + product_info[product_id]['version'], + product_info[product_id]['PostDate'].strftime('%Y-%m-%d'), + product_info[product_id]['title'] + )) + + answer = input( + '\nChoose a product to download (1-%s): ' % len(product_info)) + try: + index = int(answer) - 1 + if index < 0: + raise ValueError + product_id = list(product_info.keys())[index] + return product_id, product_info[product_id]['title'] + except (ValueError, IndexError): + pass + + print('Invalid input provided.') + exit(0) + + +def main(): + '''Do the main thing here''' + """ + if os.getuid() != 0: + sys.exit('This command requires root (to install packages), so please ' + 'run again with sudo or as root.') + """ + parser = argparse.ArgumentParser() + parser.add_argument('--workdir', metavar='path_to_working_dir', + default='.', + help='Path to working directory on a volume with over ' + '10G of available space. Defaults to current working ' + 'directory.') + parser.add_argument('--version', metavar='version', + default=None, + help='The version to download in the format of ' + '"$major.$minor.$patch", e.g. "10.15.4". Can ' + 'be "latest" to download the latest version.') + parser.add_argument('--title', metavar='title', + default=None, + help='When using "--version latest", you can use ' + 'this to filter the search to only products with ' + 'this title') + parser.add_argument('--compress', action='store_true', + help='Output a read-only compressed disk image with ' + 'the Install macOS app at the root. This is now the ' + 'default. Use --raw to get a read-write sparse image ' + 'with the app in the Applications directory.') + parser.add_argument('--raw', action='store_true', + help='Output a read-write sparse image ' + 'with the app in the Applications directory. Requires ' + 'less available disk space and is faster.') + parser.add_argument('--ignore-cache', action='store_true', + help='Ignore any previously cached files.') + args = parser.parse_args() + + su_catalog_url = get_default_catalog() + if not su_catalog_url: + print('Could not find a default catalog url for this OS version.', file=sys.stderr) + exit(-1) + + # download sucatalog and look for products that are for macOS installers + catalog = download_and_parse_sucatalog( + su_catalog_url, args.workdir, ignore_cache=args.ignore_cache) + product_info = os_installer_product_info( + catalog, args.workdir, ignore_cache=args.ignore_cache) + + if not product_info: + print('No macOS installer products found in the sucatalog.', file=sys.stderr) + exit(-1) + + product_id, product_title = determine_version(args.version, args.title, product_info) + print(product_id, product_title) + + # download all the packages for the selected product + replicate_product(catalog, product_id, args.workdir, ignore_cache=args.ignore_cache, product_title=product_title) + + +if __name__ == '__main__': + main() diff --git a/boot-macOS-headless.sh b/boot-macOS-headless.sh new file mode 100755 index 0000000..167968a --- /dev/null +++ b/boot-macOS-headless.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +# Special thanks to: +# https://github.com/Leoyzen/KVM-Opencore +# https://github.com/thenickdude/KVM-Opencore/ +# https://github.com/qemu/qemu/blob/master/docs/usb2.txt +# +# qemu-img create -f qcow2 mac_hdd_ng.img 128G +# +# echo 1 | sudo tee -a /sys/module/kvm/parameters/ignore_msrs # this is required +# +# Usage: +# +# $ boot-macOS-headless.sh +# +# (qemu) change vnc password +# Password: ******** +# +# Note: Using RealVNC client, connect to ``. +# E.g. `vncviewer localhost:5901` +# +# Note: After installation, start using the `OpenCore-nopicker.qcow2` image. + +############################################################################ +# NOTE: Tweak the "MY_OPTIONS" line in case you are having booting problems! +############################################################################ + +# Changelog: +# - Add support for 'savevm' +# - Fix cpuid related warning on EPYC +# - Fix 'savevm' support + +MY_OPTIONS="+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" + +# This script works for Catalina as well as Mojave. Tested with macOS 10.14.6 and macOS 10.15.6. + +ALLOCATED_RAM="3072" # MiB +CPU_SOCKETS="1" +CPU_CORES="2" +CPU_THREADS="4" + +REPO_PATH="." +OVMF_DIR="." + +# for snapshots +export TMPDIR=$PWD + +# shellcheck disable=SC2054 +args=( + -enable-kvm -m "$ALLOCATED_RAM" -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$MY_OPTIONS" + -machine q35 + -usb -device usb-kbd -device usb-tablet + -smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS" + -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" + -drive if=pflash,format=raw,readonly,snapshot=off,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" + -drive if=pflash,format=raw,snapshot=on,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1024x768.fd" + -smbios type=2 + -device ich9-ahci,id=sata + # -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore-Catalina/OpenCore.qcow2" + -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore-Catalina/OpenCore-nopicker.qcow2" + -device ide-hd,bus=sata.2,drive=OpenCoreBoot + -device ide-hd,bus=sata.3,drive=InstallMedia + -drive id=InstallMedia,if=none,file="$REPO_PATH/BaseSystem.img",format=raw + # -drive id=MacHDD,if=none,snapshot=on,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 + -drive id=MacHDD,if=none,snapshot=off,file="$REPO_PATH/mac_hdd_ng.img",format=qcow2 + -device ide-hd,bus=sata.4,drive=MacHDD + -netdev user,id=net0 -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -monitor stdio + -vga vmware + -display none + -vnc 0.0.0.0:1,password -k en-us +) + +qemu-system-x86_64 "${args[@]}" diff --git a/boot-passthrough.sh b/boot-passthrough.sh new file mode 100755 index 0000000..7367974 --- /dev/null +++ b/boot-passthrough.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +# Special thanks to: +# https://github.com/Leoyzen/KVM-Opencore +# https://github.com/thenickdude/KVM-Opencore/ +# https://github.com/qemu/qemu/blob/master/docs/usb2.txt +# +# qemu-img create -f qcow2 mac_hdd_ng.img 128G +# +# echo 1 > /sys/module/kvm/parameters/ignore_msrs (this is required) + +############################################################################ +# NOTE: Tweak the "MY_OPTIONS" line in case you are having booting problems! +############################################################################ + +MY_OPTIONS="+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" + +# This script works for Big Sur, Catalina, Mojave, and High Sierra. Tested with +# macOS 10.15.6, macOS 10.14.6, and macOS 10.13.6 + +ALLOCATED_RAM="3072" # MiB +CPU_SOCKETS="1" +CPU_CORES="2" +CPU_THREADS="4" + +REPO_PATH="./" +OVMF_DIR="." + +# Note: This script assumes that you are doing CPU + GPU passthrough. This +# script will need to be modified for your specific needs! +# +# We recommend doing the initial macOS installation without using passthrough +# stuff. In other words, don't use this script for the initial macOS +# installation. + +# shellcheck disable=SC2054 +args=( + -enable-kvm -m "$ALLOCATED_RAM" -cpu host,vendor=GenuineIntel,kvm=on,vmware-cpuid-freq=on,+invtsc,+hypervisor + -machine pc-q35-2.9 + -smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS" + -vga none + -device pcie-root-port,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 + -device vfio-pci,host=01:00.0,bus=port.1,multifunction=on + -device vfio-pci,host=01:00.1,bus=port.1 + -usb -device usb-kbd -device usb-tablet + -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" + -drive if=pflash,format=raw,readonly,file="$REPO_PATH/$OVMF_DIR/OVMF_CODE.fd" + -drive if=pflash,format=raw,file="$REPO_PATH/$OVMF_DIR/OVMF_VARS-1024x768.fd" + -smbios type=2 + -drive id=MacHDD,if=none,file=./mac_hdd_ng.img + -device ide-drive,bus=sata.2,drive=MacHDD + -drive id=OpenCoreBoot,if=none,snapshot=on,format=qcow2,file="$REPO_PATH/OpenCore-Catalina/OpenCore-Passthrough.qcow2" + -device ide-hd,bus=sata.3,drive=OpenCoreBoot + -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 + -monitor stdio + -display none +) + +qemu-system-x86_64 "${args[@]}" diff --git a/bridge.conf b/bridge.conf new file mode 100644 index 0000000..a573665 --- /dev/null +++ b/bridge.conf @@ -0,0 +1 @@ +allow virbr0 diff --git a/fetch-macOS-v2.py b/fetch-macOS-v2.py new file mode 100755 index 0000000..b177b25 --- /dev/null +++ b/fetch-macOS-v2.py @@ -0,0 +1,491 @@ +#!/usr/bin/env python3 +# pylint: disable=C0301,C0116,C0103,R0903 + +""" +Gather recovery information for Macs. + +Copyright (c) 2019, vit9696 + +macrecovery is a tool that helps to automate recovery interaction. It can be +used to download diagnostics and recovery as well as analyse MLB. + +Requires python to run. Run with `-h` argument to see all available arguments. + +Upstream: https://github.com/acidanthera/OpenCorePkg/tree/master/Utilities/macrecovery +pylint -> Your code has been rated at -0.08/10 ;( +""" + +import os +import sys +import json +import random +import argparse + +try: + from urllib.request import Request, urlopen + from urllib.parse import urlparse +except ImportError: + from urllib2 import Request, urlopen + from urlparse import urlparse + +SELF_DIR = os.path.dirname(os.path.realpath(__file__)) + +RECENT_MAC = 'Mac-7BA5B2D9E42DDD94' +MLB_ZERO = '00000000000000000' +MLB_VALID = 'C02749200YGJ803AX' +MLB_PRODUCT = '00000000000J80300' + +TYPE_SID = 16 +TYPE_K = 64 +TYPE_FG = 64 + +INFO_PRODUCT = 'AP' +INFO_IMAGE_LINK = 'AU' +INFO_IMAGE_HASH = 'AH' +INFO_IMAGE_SESS = 'AT' +INFO_SIGN_LINK = 'CU' +INFO_SIGN_HASH = 'CH' +INFO_SIGN_SESS = 'CT' +INFO_REQURED = [INFO_PRODUCT, INFO_IMAGE_LINK, INFO_IMAGE_HASH, INFO_IMAGE_SESS, + INFO_SIGN_LINK, INFO_SIGN_HASH, INFO_SIGN_SESS] + + +def run_query(url, headers, post=None, raw=False): + if post is not None: + data = '\n'.join([entry + '=' + post[entry] for entry in post]) + if sys.version_info[0] >= 3: + data = data.encode('utf-8') + else: + data = None + + req = Request(url=url, headers=headers, data=data) + response = urlopen(req) + if raw: + return response + return dict(response.info()), response.read() + + +def generate_id(itype, nid=None): + valid_chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'] + if nid is None: + return ''.join(random.choice(valid_chars) for i in range(itype)) + return nid + + +def product_mlb(mlb): + return '00000000000' + mlb[11] + mlb[12] + mlb[13] + mlb[14] + '00' + + +def mlb_from_eeee(eeee): + if len(eeee) != 4: + print('ERROR: Invalid EEEE code length!') + sys.exit(1) + + return '00000000000' + eeee + '00' + +def get_session(args): + headers = { + 'Host': 'osrecovery.apple.com', + 'Connection': 'close', + 'User-Agent': 'InternetRecovery/1.0', + } + + headers, output = run_query('http://osrecovery.apple.com/', headers) + + if args.verbose: + print('Session headers:') + for header in headers: + print('{}: {}'.format(header, headers[header])) + + for header in headers: + if header.lower() == 'set-cookie': + cookies = headers[header].split('; ') + for cookie in cookies: + if cookie.startswith('session='): + return cookie + + raise RuntimeError('No session in headers ' + str(headers)) + + +def get_image_info(session, bid, mlb=MLB_ZERO, diag=False, os_type='default', cid=None): + headers = { + 'Host': 'osrecovery.apple.com', + 'Connection': 'close', + 'User-Agent': 'InternetRecovery/1.0', + 'Cookie': session, + 'Content-Type': 'text/plain', + } + + post = { + 'cid': generate_id(TYPE_SID, cid), + 'sn': mlb, + 'bid': bid, + 'k': generate_id(TYPE_K), + 'fg': generate_id(TYPE_FG) + } + + if diag: + url = 'http://osrecovery.apple.com/InstallationPayload/Diagnostics' + else: + url = 'http://osrecovery.apple.com/InstallationPayload/RecoveryImage' + post['os'] = os_type + + headers, output = run_query(url, headers, post) + + if sys.version_info[0] >= 3: + output = output.decode('utf-8') + + info = {} + for line in output.split('\n'): + try: + key, value = line.split(': ') + info[key] = value + except: + continue + + for k in INFO_REQURED: + if k not in info: + raise RuntimeError('Missing key ' + k) + + return info + + +def save_image(url, sess, filename='', directory=''): + purl = urlparse(url) + headers = { + 'Host': purl.hostname, + 'Connection': 'close', + 'User-Agent': 'InternetRecovery/1.0', + 'Cookie': '='.join(['AssetToken', sess]) + } + + if filename == '': + filename = os.path.basename(purl.path) + if filename.find('/') >= 0 or filename == '': + raise RuntimeError('Invalid save path ' + filename) + + print('Saving ' + url + ' to ' + filename + '...') + + with open(os.path.join(directory, filename), 'wb') as fhandle: + response = run_query(url, headers, raw=True) + + total_size = int(response.headers['content-length']) / float(2 ** 20) + # print(total_size) + if total_size < 1: + total_size = response.headers['content-length'] + print("Note: The total download size is %s bytes" % total_size) + else: + print("Note: The total download size is %0.2f MB" % total_size) + size = 0 + while True: + chunk = response.read(2 ** 20) + if not chunk: + break + fhandle.write(chunk) + size += len(chunk) + print('\r{} MBs downloaded...'.format(size / (2 ** 20)), end='') + sys.stdout.flush() + print('\rDownload complete!' + ' ' * 32) + + +def action_download(args): + """ + Reference information for queries: + + Recovery latest: + cid=3076CE439155BA14 + sn=... + bid=Mac-E43C1C25D4880AD6 + k=4BE523BB136EB12B1758C70DB43BDD485EBCB6A457854245F9E9FF0587FB790C + os=latest + fg=B2E6AA07DB9088BE5BDB38DB2EA824FDDFB6C3AC5272203B32D89F9D8E3528DC + + Recovery default: + cid=4A35CB95FF396EE7 + sn=... + bid=Mac-E43C1C25D4880AD6 + k=0A385E6FFC3DDD990A8A1F4EC8B98C92CA5E19C9FF1DD26508C54936D8523121 + os=default + fg=B2E6AA07DB9088BE5BDB38DB2EA824FDDFB6C3AC5272203B32D89F9D8E3528DC + + Diagnostics: + cid=050C59B51497CEC8 + sn=... + bid=Mac-E43C1C25D4880AD6 + k=37D42A8282FE04A12A7D946304F403E56A2155B9622B385F3EB959A2FBAB8C93 + fg=B2E6AA07DB9088BE5BDB38DB2EA824FDDFB6C3AC5272203B32D89F9D8E3528DC + """ + + session = get_session(args) + info = get_image_info(session, bid=args.board_id, mlb=args.mlb, + diag=args.diagnostics, os_type=args.os_type) + if args.verbose: + print(info) + print('Downloading ' + info[INFO_PRODUCT] + '...') + dmgname = '' if args.basename == '' else args.basename + '.dmg' + save_image(info[INFO_IMAGE_LINK], info[INFO_IMAGE_SESS], dmgname, args.outdir) + cnkname = '' if args.basename == '' else args.basename + '.chunklist' + save_image(info[INFO_SIGN_LINK], info[INFO_SIGN_SESS], cnkname, args.outdir) + return 0 + + +def action_selfcheck(args): + """ + Sanity check server logic for recovery: + + if not valid(bid): + return error() + ppp = get_ppp(sn) + if not valid(ppp): + return latest_recovery(bid = bid) # Returns newest for bid. + if valid(sn): + if os == 'default': + return default_recovery(sn = sn, ppp = ppp) # Returns oldest for sn. + else: + return latest_recovery(sn = sn, ppp = ppp) # Returns newest for sn. + return default_recovery(ppp = ppp) # Returns oldest. + """ + + session = get_session(args) + valid_default = get_image_info(session, bid=RECENT_MAC, mlb=MLB_VALID, + diag=False, os_type='default') + valid_latest = get_image_info(session, bid=RECENT_MAC, mlb=MLB_VALID, + diag=False, os_type='latest') + product_default = get_image_info(session, bid=RECENT_MAC, mlb=MLB_PRODUCT, + diag=False, os_type='default') + product_latest = get_image_info(session, bid=RECENT_MAC, mlb=MLB_PRODUCT, + diag=False, os_type='latest') + generic_default = get_image_info(session, bid=RECENT_MAC, mlb=MLB_ZERO, + diag=False, os_type='default') + generic_latest = get_image_info(session, bid=RECENT_MAC, mlb=MLB_ZERO, + diag=False, os_type='latest') + + if args.verbose: + print(valid_default) + print(valid_latest) + print(product_default) + print(product_latest) + print(generic_default) + print(generic_latest) + + if valid_default[INFO_PRODUCT] == valid_latest[INFO_PRODUCT]: + # Valid MLB must give different default and latest if this is not a too new product. + print('ERROR: Cannot determine any previous product, got {}'.format(valid_default[INFO_PRODUCT])) + return 1 + + if product_default[INFO_PRODUCT] != product_latest[INFO_PRODUCT]: + # Product-only MLB must give the same value for default and latest. + print('ERROR: Latest and default do not match for product MLB, got {} and {}'.format( + product_default[INFO_PRODUCT], product_latest[INFO_PRODUCT])) + return 1 + + if generic_default[INFO_PRODUCT] != generic_latest[INFO_PRODUCT]: + # Zero MLB always give the same value for default and latest. + print('ERROR: Generic MLB gives different product, got {} and {}'.format( + generic_default[INFO_PRODUCT], generic_latest[INFO_PRODUCT])) + return 1 + + if valid_latest[INFO_PRODUCT] != generic_latest[INFO_PRODUCT]: + # Valid MLB must always equal generic MLB. + print('ERROR: Cannot determine unified latest product, got {} and {}'.format( + valid_latest[INFO_PRODUCT], generic_latest[INFO_PRODUCT])) + return 1 + + if product_default[INFO_PRODUCT] != valid_default[INFO_PRODUCT]: + # Product-only MLB can give the same value with valid default MLB. + # This is not an error for all models, but for our chosen code it is. + print('ERROR: Valid and product MLB give mismatch, got {} and {}'.format( + product_default[INFO_PRODUCT], valid_default[INFO_PRODUCT])) + return 1 + + print('SUCCESS: Found no discrepancies with MLB validation algorithm!') + return 0 + + +def action_verify(args): + """ + Try to verify MLB serial number. + """ + session = get_session() + generic_latest = get_image_info(session, bid=RECENT_MAC, mlb=MLB_ZERO, + diag=False, os_type='latest') + uvalid_default = get_image_info(session, bid=args.board_id, mlb=args.mlb, + diag=False, os_type='default') + uvalid_latest = get_image_info(session, bid=args.board_id, mlb=args.mlb, + diag=False, os_type='latest') + uproduct_default = get_image_info(session, bid=args.board_id, mlb=product_mlb(args.mlb), + diag=False, os_type='default') + + if args.verbose: + print(generic_latest) + print(uvalid_default) + print(uvalid_latest) + print(uproduct_default) + + # Verify our MLB number. + if uvalid_default[INFO_PRODUCT] != uvalid_latest[INFO_PRODUCT]: + if uvalid_latest[INFO_PRODUCT] == generic_latest[INFO_PRODUCT]: + print('SUCCESS: {} MLB looks valid and supported!'.format(args.mlb)) + else: + print('SUCCESS: {} MLB looks valid, but probably unsupported!'.format(args.mlb)) + return 0 + + print('UNKNOWN: Run selfcheck, check your board-id, or try again later!') + + # Here we have matching default and latest products. This can only be true for very + # new models. These models get either latest or special builds. + if uvalid_default[INFO_PRODUCT] == generic_latest[INFO_PRODUCT]: + print('UNKNOWN: {} MLB can be valid if very new!'.format(args.mlb)) + return 0 + if uproduct_default[INFO_PRODUCT] != uvalid_default[INFO_PRODUCT]: + print('UNKNOWN: {} MLB looks invalid, other models use product {} instead of {}!'.format( + args.mlb, uproduct_default[INFO_PRODUCT], uvalid_default[INFO_PRODUCT])) + return 0 + print('UNKNOWN: {} MLB can be valid if very new and using special builds!'.format(args.mlb)) + return 0 + + +def action_guess(args): + """ + Attempt to guess which model does this MLB belong. + """ + + mlb = args.mlb + anon = mlb.startswith('000') + + with open(args.board_db, 'r') as fhandle: + db = json.load(fhandle) + + supported = {} + + session = get_session(args) + + generic_latest = get_image_info(session, bid=RECENT_MAC, mlb=MLB_ZERO, + diag=False, os_type='latest') + + for model in db: + try: + if anon: + # For anonymous lookup check when given model does not match latest. + model_latest = get_image_info(session, bid=model, mlb=MLB_ZERO, + diag=False, os_type='latest') + + if model_latest[INFO_PRODUCT] != generic_latest[INFO_PRODUCT]: + if db[model] == 'current': + print('WARN: Skipped {} due to using latest product {} instead of {}'.format( + model, model_latest[INFO_PRODUCT], generic_latest[INFO_PRODUCT])) + continue + + user_default = get_image_info(session, bid=model, mlb=mlb, + diag=False, os_type='default') + + if user_default[INFO_PRODUCT] != generic_latest[INFO_PRODUCT]: + supported[model] = [db[model], user_default[INFO_PRODUCT], generic_latest[INFO_PRODUCT]] + else: + # For normal lookup check when given model has mismatching normal and latest. + user_latest = get_image_info(session, bid=model, mlb=mlb, + diag=False, os_type='latest') + + user_default = get_image_info(session, bid=model, mlb=mlb, + diag=False, os_type='default') + + if user_latest[INFO_PRODUCT] != user_default[INFO_PRODUCT]: + supported[model] = [db[model], user_default[INFO_PRODUCT], user_latest[INFO_PRODUCT]] + + except Exception as e: + print('WARN: Failed to check {}, exception: {}'.format(model, str(e))) + + if len(supported) > 0: + print('SUCCESS: MLB {} looks supported for:'.format(mlb)) + for model in supported: + print('- {}, up to {}, default: {}, latest: {}'.format(model, supported[model][0], + supported[model][1], supported[model][2])) + return 0 + + print('UNKNOWN: Failed to determine supported models for MLB {}!'.format(mlb)) + + +# https://stackoverflow.com/questions/2280334/shortest-way-of-creating-an-object-with-arbitrary-attributes-in-python +class gdata: + """ + A string to make pylint happy ;) + """ + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + + +def main(): + parser = argparse.ArgumentParser(description='Gather recovery information for Macs') + parser.add_argument('--action', choices=['download', 'selfcheck', 'verify', 'guess'], default='', + help='Action to perform: "download" - performs recovery downloading,' + ' "selfcheck" checks whether MLB serial validation is possible, "verify" performs' + ' MLB serial verification, "guess" tries to find suitable mac model for MLB.') + parser.add_argument('-o', '--outdir', type=str, default=os.getcwd(), + help='customise output directory for downloading, defaults to current directory') + parser.add_argument('-n', '--basename', type=str, default='', + help='customise base name for downloading, defaults to remote name') + parser.add_argument('-b', '--board-id', type=str, default=RECENT_MAC, + help='use specified board identifier for downloading, defaults to ' + RECENT_MAC) + parser.add_argument('-m', '--mlb', type=str, default=MLB_ZERO, + help='use specified logic board serial for downloading, defaults to ' + MLB_ZERO) + parser.add_argument('-e', '--code', type=str, default='', + help='generate product logic board serial with specified product EEEE code') + parser.add_argument('-os', '--os-type', type=str, default='default', choices=['default', 'latest'], + help='use specified os type, defaults to default ' + MLB_ZERO) + parser.add_argument('-diag', '--diagnostics', action='store_true', help='download diagnostics image') + parser.add_argument('-v', '--verbose', action='store_true', help='print debug information') + parser.add_argument('-db', '--board-db', type=str, default=os.path.join(SELF_DIR, 'boards.json'), + help='use custom board list for checking, defaults to boards.json') + + args = parser.parse_args() + + if args.code != '': + args.mlb = mlb_from_eeee(args.code) + + if len(args.mlb) != 17: + print('ERROR: Cannot use MLBs in non 17 character format!') + sys.exit(1) + + if args.action == 'download': + return action_download(args) + if args.action == 'selfcheck': + return action_selfcheck(args) + if args.action == 'verify': + return action_verify(args) + if args.action == 'guess': + return action_guess(args) + + # No action specified, so present a download menu instead + products = [ + {"name": "High Sierra (10.13)", "b": "Mac-7BA5B2D9E42DDD94", "m": "00000000000J80300"}, + {"name": "Mojave (10.14)", "b": "Mac-7BA5B2DFE22DDD8C", "m": "00000000000KXPG00"}, + {"name": "Catalina (10.15) - RECOMMENDED", "b": "Mac-00BE6ED71E35EB86", "m": "00000000000000000"}, + # {"name": "Latest (Big Sur - 11)", "b": "Mac-E43C1C25D4880AD6", "m": "00000000000000000", "os_type": "latest"} + {"name": "Latest (Big Sur - 11)", "b": "Mac-E43C1C25D4880AD6", "m": "00000000000000000", "os_type": "default"} + ] + + for index, product in enumerate(products): + name = product["name"] + print('%s. %12s' % (index + 1, name)) + + answer = input('\nChoose a product to download (1-%s): ' % len(products)) + try: + index = int(answer) - 1 + if index < 0: + raise ValueError + except (ValueError, IndexError): + pass + + # action + product = products[index] + try: + os_type = product["os_type"] + except: + os_type = "default" + args = gdata(mlb = product["m"], board_id = product["b"], diagnostics = + False, os_type = os_type, verbose=False, basename="", outdir=".") + action_download(args) + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/kernel-debugging-notes.txt b/kernel-debugging-notes.txt new file mode 100644 index 0000000..265948d --- /dev/null +++ b/kernel-debugging-notes.txt @@ -0,0 +1,33 @@ +1. How do I symbolicate kernel panic traces? + +Just add keepsyms=1 to either the Kernel Flags setting in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist, +or to the boot-args NVRAM variable. Reboot, and any subsequent panics will be automatically symbolicated. You can run +mangled C++ symbols through the c++filt command line utility to get the proper C++ function signatures. + +$ sudo nvram boot-args="-v keepsyms=1" + +Thanks for Phil Dennis-Jordan for this great tip. + +2. Debugging a AVX related crash which occurs at bootup. + +$ nm /System/Library/Extensions/corecrypto.kext/Contents/MacOS/corecrypto | grep avx +0000000000001840 T _ccsha256_vng_intel_avx1_compress +0000000000036708 T _ccsha256_vng_intel_avx2_compress +0000000000026973 T _ccsha512_vng_intel_avx1_compress +00000000000327cb T _ccsha512_vng_intel_avx2_compress +000000000001d960 T _gcmDecrypt_avx1 +000000000001c980 T _gcmEncrypt_avx1 + +$ gdb /System/Library/Extensions/corecrypto.kext/Contents/MacOS/corecrypto +(gdb) x/16i 0x0000000000001840 + 0x1840: push %rbp + 0x1841: mov %rsp,%rbp + 0x1844: push %rbx + 0x1845: push %r12 + 0x1847: push %r13 + 0x1849: push %r14 + 0x184b: push %r15 + 0x184d: sub $0x168,%rsp + 0x1854: lea 0x60(%rsp),%rax + 0x1859: and $0xffffffffffffffe0,%rax + 0x185d: vmovdqa %ymm0,(%rax) <--- the crash occurs here due to lack of "xsave" support diff --git a/kvm.conf b/kvm.conf new file mode 100644 index 0000000..87a2e79 --- /dev/null +++ b/kvm.conf @@ -0,0 +1,3 @@ +options kvm_intel nested=1 +options kvm_intel emulate_invalid_guest_state=0 +options kvm ignore_msrs=1 report_ignored_msrs=0 diff --git a/macOS-Cloud.md b/macOS-Cloud.md new file mode 100644 index 0000000..b52def0 --- /dev/null +++ b/macOS-Cloud.md @@ -0,0 +1,4 @@ +Add notes from Constantin Jacob. + +Note: This pretty much violates everything hardware-wise in the macOS EULA that +one could violate. diff --git a/macOS-libvirt-Catalina.xml b/macOS-libvirt-Catalina.xml new file mode 100644 index 0000000..26646b2 --- /dev/null +++ b/macOS-libvirt-Catalina.xml @@ -0,0 +1,211 @@ + + + + macOS + 2aca0dd6-cec9-4717-9ab2-0b7b13d111c3 + macOS + 4194304 + 4194304 + 4 + + hvm + + /home/CHANGEME/OSX-KVM/OVMF_CODE.fd + /home/CHANGEME/OSX-KVM/OVMF_VARS-1024x768.fd + + + + + + + + + + + destroy + restart + restart + + /usr/bin/qemu-system-x86_64 + + + + + +
+ + + + + + +
+ + + + + + +
+ + +
+ + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + +
+ + +
+ + + +
+ + + +
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/networking-qemu-kvm-howto.txt b/networking-qemu-kvm-howto.txt new file mode 100644 index 0000000..affb1cd --- /dev/null +++ b/networking-qemu-kvm-howto.txt @@ -0,0 +1,98 @@ +There are two main ways to set up networking on OS X / macOS, as it does not +function with what QEMU defaults to for network settings: + +----------------------------------- +User Mode Networking (Easier Setup) +----------------------------------- + +By default, QEMU uses user mode networking (SLiRP). This networking mode is the +slowest and is not visible via the outside network, but requires no host-side +setup, so it's perfect if you just want internet but don't care about latency +or about connecting to the VM from an external source. + +In order to do this, change the line in your qemu-system-x86_64 command (found +in boot-macOS.sh) to the following: + +-netdev user,id=net0 -device network_adapter,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \ + +Once you set network_adapter to the preferred adapter, no further setup is required; your +internet should Just Werk™ in your virtual machine! + +For further information on detailed configuration options, see QEMU's +documentation on networking ( http://wiki.qemu.org/Documentation/Networking ) + +Here is the list of network adapters supported by macOS, + +e1000-82545em - The problem that we run into here is that OS X is nitpicky +about what emulated networking devices it is willing to accept. The +e1000-82545em is a known adapter that can be used on pretty much any version of +MacOS. + +To use this adapter, replace network_adapter with e1000-82545em + +vmxnet3 - An alternative solution to e1000 is to use vmxnet3 instead. Unlike +the e1000, vmxnet3 is a paravirtualized NIC, which can allow for better +performance (in theory). The only catch is that the you need to have a recent +version of MacOS (10.11 or later). + +To use this adapter, replace network_adapter with vmxnet3 + + +----------------------------------- +Tap Networking (Better Performance) +----------------------------------- + +Installing "virt-manager" automagically creates the "virbr0" local private bridge :-) + +sudo apt-get install uml-utilities virt-manager + +sudo ip tuntap add dev tap0 mode tap +sudo ip link set tap0 up promisc on +sudo brctl addif virbr0 tap0 + +sudo ip link set dev virbr0 up # as needed +sudo ip link set dev tap0 master virbr0 + +Note: If `virbr0` network interface is not present on your system, it may +have been deactivated. Try enabling it by using the following commands, + +virsh net-start default +virsh net-autostart default + +Add "-netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \" +to your qemu-system-x86_64 command. + +QEMU networking tip +------------------- + +# printf '52:54:00:AB:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256)) # generates QEMU compatible mac addresses! + + +------------------ +Bridged Networking +------------------ + +QEMU defaults to using NAT for its guests. It has a built-in DHCP server that +provides addresses from the 192.168.12x.0 subnet. However, this configuration +makes file sharing, printer sharing, and other common networking activities +harder to use in a home network. + +Bridged networking allows your QEMU guest to get an address on the same subnet +as the host computer. For example, many home networks let the wireless router +handle IP assignment via DHCP. Here are the steps for setting up the bridge. + +To setup bridged networking from the command line, refer to this documentation +at the Ubuntu website. https://help.ubuntu.com/community/KVM/Networking + +Ultimately, the script for booting the QEMU guest will need a line similar to +the following to enable bridged networking in the guest: + + -netdev bridge,id=net0,br=virbr0,"helper=/usr/lib/qemu/qemu-bridge-helper" + +On some systems the `qemu-bridge-helper` file has incorrect permissions. For it +to work, it needs to be setuid root. This can be accomplished with this command: + + $ sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper + +Note that this is sometimes viewed as a security hole. Be careful and understand +what you are doing before running this command. diff --git a/notes.md b/notes.md new file mode 100644 index 0000000..c1d8d5e --- /dev/null +++ b/notes.md @@ -0,0 +1,598 @@ +### App Store problems + +Do you see the "Your device or computer could not be verified" message when you +try to login to the App Store? If yes, here are the steps to fix it. + +* Make sure that your wired ethernet connection is called "en0" (and not "en1" or +something else). Use "ifconfig" command to verify this. + +* If the wired ethernet connection is not called "en0", then then go to Network +in System Preferences and delete all the devices, and apply the changes. Next, +go to the console and type in `sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist`. +Finally reboot, and then use the App Store without problems. + +This fix was found by `Glnk2012` of https://www.tonymacx86.com/ site. + +Also tweaking the `smbios.plist` file can help (?). + + +### Change resolution in OpenCore + +```diff +diff --git a/OpenCore-Catalina/config.plist b/OpenCore-Catalina/config.plist +index 4754e8c..489570f 100644 +--- a/OpenCore-Catalina/config.plist ++++ b/OpenCore-Catalina/config.plist +@@ -692,7 +692,7 @@ + ConsoleMode + + Resolution +- Max ++ 1920x1080 + ClearScreenOnModeSwitch + + IgnoreTextInGraphics +``` + +Ensure that the OVMF resolution is set equal to resolution set in your OpenCore +qcow2 file (default is 1024x768). This can be done via the OVMF menu, which you +can reach with a press of the ESC button during the OVMF boot logo (before +OpenCore boot screen appears). In the OVMF menu settings, set Device Manager -> +OVMF Platform Configuration -> Change Preferred Resolution for Next Boot to the +desired value (default is 1024x768). Commit changes and exit the OVMF menu. + +Note: The macOS VM's resolution can be changed via `Settings -> Displays` +option easily. + + +### GPU passthrough notes + +These steps will need to be adapted for your particular setup. A host machine +with IOMMU support is required. Consult the Arch Wiki article linked to at the +bottom of this file for exact requirements and other details. + +I am running Ubuntu 17.04 on Intel i5-6500 + ASUS Z170-AR motherboard + NVIDIA +1050 Ti. + +Tip: Use https://github.com/Benjamin-Dobell/nvidia-update to install nVidia +drivers on macOS. + +* Enable IOMMU support on the host machine. + + Append the given line to `GRUB_CMDLINE_LINUX_DEFAULT` in `/etc/default/grub`. + + ##### Intel Systems + + `iommu=pt intel_iommu=on rd.driver.pre=vfio-pci video=vesafb:off,efifb:off` + + ##### AMD Systems + + `iommu=pt amd_iommu=on rd.driver.pre=vfio-pci video=vesafb:off,efifb:off` + +* Uninstall NVIDIA drivers from the host machine and blacklist the required modules. + + ``` + $ cat /etc/modprobe.d/blacklist.conf + ... + + blacklist radeon + blacklist nouveau + blacklist nvidia + ``` + +* Enable the required kernel modules. + + ``` + # echo "vfio" >> /etc/modules + # echo "vfio_iommu_type1" >> /etc/modules + # echo "vfio_pci" >> /etc/modules + # echo "vfio_virqfd" >> /etc/modules + ``` + +* Isolate the passthrough PCIe devices with vfio-pci, with the help of `lspci + -nnk` command. Adapt these commands to suit your hardware setup. + + ``` + $ lspci -nn + ... + 01:00.0 ... NVIDIA Corporation [GeForce GTX 1050 Ti] [10de:1c82] + 01:00.1 Audio device: NVIDIA Corporation Device [10de:0fb9] + 03:00.0 USB controller: ASMedia ASM1142 USB 3.1 Host Controller [1b21:1242] + ``` + + ``` + # echo "options vfio-pci ids=10de:1c82,10de:0fb9 disable_vga=1" > /etc/modprobe.d/vfio.conf + ``` + +* Update initramfs, GRUB and then reboot. + + ``` + $ sudo update-grub2 + $ sudo update-initramfs -k all -u + ``` + +* Verify that the IOMMU is enabled, and vfio_pci is working as expected. + Consult Arch Wiki again for help on this. (Often running `lspci -vvv` and + verifying that the expected devices are using `vfio-pci` as their `Kernel driver in use` is sufficient) + +* On the macOS VM, install a NVIDIA Web Driver version which is appropriate for + the macOS version. Consult http://www.macvidcards.com/drivers.html for more + information. + + For example, macOS 10.12.5 requires version `378.05.05.15f01` whereas macOS + 10.12.6 requires version `378.05.05.25f01`. + +* Updating SMBIOS for the macOS to `iMac14,2` might be required. I did not do + so myself. + +* To reuse the keyboard and mouse devices from the host, setup "Automatic + login" in System Preferences in macOS and configure Synergy software. + +Note: Many AMD GPU devices (e.g. AMD RX 480 & RX 580) should be natively +supported in macOS High Sierra. + + +### USB passthrough notes + +These steps will need to be adapted for your particular setup. + +* Isolate the passthrough PCIe devices with vfio-pci, with the help of `lspci + -nnk` command. + + ``` + $ lspci -nn + ... + 01:00.0 ... NVIDIA Corporation [GeForce GTX 1050 Ti] [10de:1c82] + 01:00.1 Audio device: NVIDIA Corporation Device [10de:0fb9] + 03:00.0 USB controller: ASMedia ASM1142 USB 3.1 Host Controller [1b21:1242] + ``` + + Add `1b21:1242` to `/etc/modprobe.d/vfio.conf` file in the required format. + +* Update initramfs, and then reboot. + + ``` + $ sudo update-initramfs -k all -u + ``` + +* Use the helper scripts to isolate the USB controller. + + ``` + $ scripts/lsgroup.sh + ### Group 7 ### + 00:1c.0 PCI bridge: Intel Corporation Sunrise ... + ### Group 15 ### + 06:00.0 Audio device: Creative Labs Sound Core3D ... + ### Group 5 ### + 00:17.0 SATA controller: Intel Corporation Sunrise ... + ### Group 13 ### + 03:00.0 USB controller: ASMedia ASM1142 USB 3.1 Host Controller + ``` + + ``` + $ scripts/vfio-group.sh 13 + ``` + +* Add `-device vfio-pci,host=03:00.0,bus=pcie.0 \` line to `boot-passthrough.sh`. + +* Boot the VM, and devices attached to the ASMedia USB controller should just work under macOS. + + +### Synergy Notes + +* Get Synergy from https://sourceforge.net/projects/synergy-stable-builds. + + I installed "synergy-v1.8.8-stable-MacOSX-x86_64.dmg" on the macOS guest and + configured it as a client. + + For automatically starting Synergy on macOS, add Synergy to "Login Items", + System Preferences -> Users & Groups -> Select your user account -> Login Items + -> Add a login item + +* On the Linux host machine, install "synergy-v1.8.8-stable-Linux-x86_64.deb" + or newer, configure `~/.synergy.conf` and run `synergys` command. + +* The included `.synergy.conf` will need to be adapted according to your setup. + + +### Accelerated Graphics + +See `UEFI/README.md` for GPU passthrough notes. + +Note: There is no working QXL driver for macOS so far. + +Links: + +- https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/ +- https://www.kraxel.org/blog/2019/06/macos-qemu-guest/ + + +### Virtual Sound Device + +*Warning: The OpenCore distribution that comes with OSX-KVM already has +`VoodooHDA OC`. Do NOT mix VoodooHDA with AppleALC. You may want to consider +HDA passthrough if it is practical or use HDMI audio instead* + +Note: The emulated sound output can be choppy, and distorted. Use Sound Card / +USB Sound Card passthrough instead. + +Note: It seems that playback of Flash videos requires an audio device to be +present. + + +### Building QEMU from source + +See http://wiki.qemu-project.org/Hosts/Linux for help. + +``` +$ git clone https://github.com/qemu/qemu.git + +$ cd qemu + +$ mkdir build; cd build + +$ ../configure --prefix=/home/$(whoami)/QEMU --enable-trace-backend=simple \ + --enable-debug --target-list=x86_64-softmmu,aarch64-softmmu --audio-drv-list=pa + +$ make -j8; make install +``` + + +### Connect iPhone / iPad to macOS guest + +Please passthrough a PCIe USB card to the virtual machine to be able to connect +iDevices (iPhone / iPad) to it. + + +### Exposing AES-NI instructions to macOS + +Add `+aes` argument to the `-cpu` option in `boot-macOS.sh` file. + +``` diff +diff --git a/boot-macOS.sh b/boot-macOS.sh +index 5948b8a..3acc123 100755 +--- a/boot-macOS.sh ++++ b/boot-macOS.sh +@@ -18,7 +18,7 @@ + # Use "-device usb-tablet" instead of "-device usb-mouse" for better mouse + # behaviour. This requires QEMU >= 2.9.0. + +-qemu-system-x86_64 -enable-kvm -m 3072 -cpu Penryn,kvm=off,vendor=GenuineIntel \ ++qemu-system-x86_64 -enable-kvm -m 3072 -cpu Penryn,kvm=off,vendor=GenuineIntel,+aes \ + -machine pc-q35-2.4 \ + -smp 4,cores=2 \ + -usb -device usb-kbd -device usb-mouse \ +``` + +Other host CPU features can be similarly exposed to the macOS guest. + +The following command can be used on macOS to verify that AES-NI instructions are exposed, + +``` +sysctl -a | grep machdep.features +``` + +On machines with OpenSSL installed, the following two commands can be used to +check AES-NI performance, + +``` +openssl speed aes-128-cbc + +openssl speed -evp aes-128-cbc # uses AES-NI +``` + + +### Exposing AVX and AVX2 instructions to macOS + +Exposing AVX and AVX2 instructions to macOS requires support for these +instructions on the host CPU. + +The `boot-clover.sh` script already exposes AVX and AVX2 instructions to the +macOS guest by default. Modify or comment out the `MY_OPTIONS` line in +`boot-clover.sh` file in case you are having problems. + +To enable AVX2, do the following change, + +`Clover boot menu -> Options -> Binaries patching -> Fake CPUID -> 0x0306C0 # for Haswell` + +For details, see [this wiki](https://clover-wiki.zetam.org/Configuration/KernelAndKextPatches) page. + +Once enabled, the following commands can be used to confirm the presence of AVX +and AVX2 instructions on the macOS guest. + +``` +$ sysctl -a | grep avx +hw.optional.avx2_0: 1 +hw.optional.avx1_0: 1 + +$ sysctl -a | grep leaf7 +machdep.cpu.leaf7_features: SMEP BMI1 AVX2 BMI2 +machdep.cpu.leaf7_feature_bits: 424 +``` + + +### Enabling Hypervisor.Framework (Nested Virtualization / Docker for Mac / Android Emulator / etc) + +Docker for Mac, the Android Emulator and other virtualization products require +nested virtualization in the form of the `Hypervisor Framework` to work on +macOS. + +Use the `sysctl kern.hv_support` (output `1` is good) command to check if +`Hypervisor` is enabled within the macOS VM. + +If `Hypervisor` is not enabled, check that you have the required CPU features. +Run the `sysctl -a | grep machdep.cpu.features` command and look for the +presence of `VMX` flag. + +If the `VMX` flag is missing, use the following steps to enable it: + +- Make sure that `kvm_intel` module is loaded properly. This is documented in our + [main documentation](./README.md). + +- Make sure the VM is booted with VMX support passed through using one of the + two below strategies: + + - You may add `vmx,rdtscp` arguments to the `-cpu` option in `boot-macOS.sh` + file (easier option). + + - You may add `+vmx,` to the front of `MY_OPTIONS` in the boot script while + changing `-cpu Penryn` to `-cpu Skylake-Client` or [any other suitable supported CPU](https://manpages.ubuntu.com/manpages/disco/man7/qemu-cpu-models.7.html). + + Note: Host CPU passthrough is troublesome and not generally recommended. + +Note: You may need to `Reset NVRAM` on the next reboot, but after that you +should see a `1` when you re-check `sysctl kern.hv_support`. + + +### Using virtio-blk-pci with macOS + +Newer macOS (namely Mojave+) have support for some virtio drivers. + +This can be enabled by applying the following change to `boot-macOS-NG.sh` to +get some performance gain. + +```diff +- -device ide-hd,bus=sata.4,drive=MacHDD \ ++ -device virtio-blk-pci,drive=MacHDD \ +``` + + +### Permission problems with libvirt / qemu? + +``` +sudo setfacl -m u:libvirt-qemu:rx # fix virt-manager perm problems +``` + + +### Extract .pkg files + +* http://mackyle.github.io/xar/ is unmaintained and may fail for many `.pkg` files. + +* Use a modern version of `7-Zip` instead. + + ``` + 7z l example.pkg + + 7z x example.pkg + + gunzip -c .pkg/Payload | cpio -i + ``` + + +### QEMU quits with `gtk initialization failed` + +Append the `display=none` argument to your QEMU execution script (this has +already been done for `boot-passthrough.sh`) + + +### ISO/DMG (`createinstallmedia` generated) install medium not detected + +In OpenCore's `config.plist` and set `ScanPolicy` to `0` ([For more information, check the Dortania Troubleshooting Guide](https://dortania.github.io/OpenCore-Install-Guide/troubleshooting/troubleshooting.html#can-t-see-macos-partitions)) + + +### Attach physical drive to QEMU VM + +*Note: If using NVMe, passing the controller may be a better option then passing it as a block device* + +Run `ls -la /dev/disk/by-id/` to get the unique mapping for the device you want to attach to the VM (like `sda`, `sdb`, `nvme0n1`, while you can attach only a partition like `sda1`, this is not recommended) + +``` +$ ls -la /dev/disk/by-id +total 0 +drwxr-xr-x 2 root root 360 Jul 29 08:14 . +drwxr-xr-x 8 root root 160 Jul 29 08:14 .. +lrwxrwxrwx 1 root root 9 Jul 29 08:14 ata-ST2000FFFFF-FFFFFF_FFFFFFFF -> ../../sda +lrwxrwxrwx 1 root root 10 Jul 29 08:14 ata-ST2000FFFFF-FFFFFF_FFFFFFFF-part1 -> ../../sda1 +lrwxrwxrwx 1 root root 10 Jul 29 08:14 ata-ST2000FFFFF-FFFFFF_FFFFFFFF-part2 -> ../../sda2 +lrwxrwxrwx 1 root root 13 Jul 29 08:14 nvme-eui.ffffffffffffffff -> ../../nvme0n1 +lrwxrwxrwx 1 root root 15 Jul 29 08:14 nvme-eui.ffffffffffffffff-part1 -> ../../nvme0n1p1 +lrwxrwxrwx 1 root root 15 Jul 29 08:14 nvme-eui.ffffffffffffffff-part2 -> ../../nvme0n1p2 +lrwxrwxrwx 1 root root 13 Jul 29 08:14 nvme-Samsung_SSD_960_EVO_512GB_FFFFFFFFFFFFFFF -> ../../nvme0n1 +lrwxrwxrwx 1 root root 15 Jul 29 08:14 nvme-Samsung_SSD_960_EVO_512GB_FFFFFFFFFFFFFFF-part1 -> ../../nvme0n1p1 +lrwxrwxrwx 1 root root 15 Jul 29 08:14 nvme-Samsung_SSD_960_EVO_512GB_FFFFFFFFFFFFFFF-part2 -> ../../nvme0n1p2 +lrwxrwxrwx 1 root root 9 Jul 29 08:14 wwn-0xffffffffffffffff -> ../../sda +lrwxrwxrwx 1 root root 10 Jul 29 08:14 wwn-0xffffffffffffffff-part1 -> ../../sda1 +lrwxrwxrwx 1 root root 10 Jul 29 08:14 wwn-0xffffffffffffffff-part2 -> ../../sda2 +``` + +Then edit your QEMU launch script and add these lines (adapt to it your +hardware), then launch the script using `sudo` (because you cannot write to a +block device without `root` permissions) + +``` +-drive id=NVMeDrive,if=none,file=/dev/disk/by-id/nvme-Samsung_SSD_960_EVO_512GB_FFFFFFFFFFFFFFF,format=raw \ +-device ide-hd,bus=sata.4,drive=NVMeDrive \ +``` + + +### Run the Virtual Machine on Boot + +* Edit your QEMU launch script and set the absolute path of `OSX-KVM` as the + value of `REPO_PATH` + +* Edit `/etc/rc.local` and add the absolute path of the script (with or without + `sudo` depending on your needs) to the bottom of the script. + + +### Setup SSH for internal remote access + +Presuming your network interface has a statically defined internal IP (on Ubuntu). + +``` +$ sudo apt install openssh-server -y +$ sudo ufw allow ssh +$ sudo update-rc.d ssh defaults +$ sudo systemctl enable ssh +$ sudo systemctl enable ssh.socket +$ sudo systemctl enable ssh.service +``` + + +### AMD GPU Notes + +- https://www.nicksherlock.com/2020/11/working-around-the-amd-gpu-reset-bug-on-proxmox/ + +- Consider using CMMChris's [RadeonBoost.kext](https://forums.macrumors.com/threads/tired-of-low-geekbench-scores-use-radeonboost.2231366/) + for the RX480, RX580, RX590 and Radeon VII GPUs. + + +### USB passthrough notes + +#### USB 3.0 flash drive + +The following USB configuration works for usb passthrough of a USB 3.0 flash +drive to Fedora 25 guest. + + -device nec-usb-xhci,id=xhci \ + -device usb-host,bus=xhci.0,vendorid=0x0781,productid=0x5590 \ + -usb -device usb-mouse,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 \ + ... + +#### Moto G3 phone + +The following USB configuration works for usb passthrough of a Moto G3 phone to +Fedora 25 guest. + + -device usb-host,bus=usb-bus.0,vendorid=0x22b8,productid=0x002e \ + -usb -device usb-mouse,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 \ + ... + +#### CoolerMaster keyboard + +The following USB configuration works for usb passthrough of a CoolerMaster +keyboard to macOS Sierra guest! + + -device usb-host,bus=usb-bus.0,vendorid=0x2516,productid=0x0004 \ + -usb -device usb-tablet,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 \ + ... + + +#### Virtual USB disk + +The following USB configuration works for attaching a virtual USB disk to macOS +Sierra guest. Use "qemu-img" to create "disk.raw" virtual disk. + + -drive if=none,id=usbstick,file=disk.raw,format=raw \ + -device usb-storage,bus=usb-bus.0,drive=usbstick \ + ... + +However USB passthrough of EHCI, and XHCI (USB 3.0) devices does not work with +macOS Sierra. See https://bugs.launchpad.net/qemu/+bug/1509336 for +confirmation. According to this bug report, USB passthrough does not work with +versions >= Mac OS X El Capitan guests. + +It seems that this problem can be fixed by using OVMF + Clover. + +Update: OVMF + Clover doesn't help. It seems that macOS is missing the required +drivers for the EHCI, and XHCI controllers that are exposed by QEMU. + + +### Generate macOS Mojave / Catalina installation ISO. + + This step currently needs to be run on an existing macOS system. + + ``` + cd ~/OSX-KVM/scripts + + ./create_dmg_catalina.sh + ``` + + +### Tweaks for macOS + +1. Disable `Energy Saver` in `System Preferences`. + +2. Disable `Screen Saver` in `System Preferences -> Desktop & Screen Saver`. + +3. Turn off indexing using the following command. + + ``` + sudo mdutil -a -i off + ``` + +4. Enable `Remote Login` (aka SSH) via `System Preferences -> Sharing`. + + +### Snapshot Debugging Tips + +- Get `savevm` to work: + + ``` + (qemu) savevm + Error while writing VM state: No space left on device + ``` + + Ensure that you have plenty of free space in `/var/tmp` and `/`. + + + To use a separate storage location for storing snapshots, use the following + trick (from `zimbatm`): + + ``` + export TMPDIR=$PWD/tmp + ``` + + +### 'Fix' weird boot problems + +``` +cp OVMF_VARS-1024x768.fd.bak OVMF_VARS-1024x768.fd +``` + + +### 'Fix' time drift problems + +Run the following command periodically from root's crontab: + +``` +sntp -S pool.ntp.org +``` + + +### Pass through all CPU cores / threads + +macOS requires a core count that is a power of 2, but some modern CPUs have odd +counts - like 6 cores and 12 threads. + +So how can we harness the entire CPU in the VM? + +There are strategies that mix smp/sockets/cores/threads/maxcpu arguments and +use odd socket counts to arrive at even core counts, and even let you specify +that some of the cores are hyperthreaded. + +Specifically for the case of an Intel i7 processor with 6 cores and 12 total +threads, altering the boot script to contain these variables and the following +modified SMP line results in a full CPU core/thread pass through: + +``` +CPU_SOCKETS="3" +CPU_CORES="2" +CPU_THREADS="2" +CPU_TOTAL="12" +``` + +The `-smp line` should read something like the following: + +``` +-smp "$CPU_TOTAL",cores="$CPU_CORES",sockets="$CPU_SOCKETS",threads="$CPU_THREADS",maxcpus="$CPU_TOTAL" +``` diff --git a/resources/.synergy.conf b/resources/.synergy.conf new file mode 100644 index 0000000..ac441b6 --- /dev/null +++ b/resources/.synergy.conf @@ -0,0 +1,12 @@ +# Run "synergys" on Linux host + +section: screens + uber: + mac: +end +section: links + uber: + right = mac + mac: + left = uber +end diff --git a/resources/20120105_202426_apple_sealing.pdf b/resources/20120105_202426_apple_sealing.pdf new file mode 100644 index 0000000..a9b0b98 Binary files /dev/null and b/resources/20120105_202426_apple_sealing.pdf differ diff --git a/resources/OVMF_VARS.fd b/resources/OVMF_VARS.fd new file mode 100644 index 0000000..3b8bb9b Binary files /dev/null and b/resources/OVMF_VARS.fd differ diff --git a/resources/OcBinaryData b/resources/OcBinaryData new file mode 160000 index 0000000..9446405 --- /dev/null +++ b/resources/OcBinaryData @@ -0,0 +1 @@ +Subproject commit 9446405e44d7e17a84655c335ae5efe47d81608d diff --git a/resources/README.md b/resources/README.md new file mode 100644 index 0000000..01d3200 --- /dev/null +++ b/resources/README.md @@ -0,0 +1,8 @@ +Use `idadif.py` to apply the `kernel.dif` patch to the macOS `kernel` binary. + + +``` +$ sha256sum kernel* +be90edb9653be25e1747cefc1ec9fd452b90dd917ba9eb391a76f260f84cd9f0 kernel <-- patched 10.15.4 kernel +ac2fc51e53519a3147359e2b25dd8aa6b1fa79d41f92091cc058b2aab7e901d6 kernel.bak <-- original 10.15.4 kernel +``` diff --git a/resources/idadif.py b/resources/idadif.py new file mode 100644 index 0000000..ac85487 --- /dev/null +++ b/resources/idadif.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python + +# Small IDA .dif patcher - https://stalkr.net/files/ida/idadif.py + +import re +from sys import argv,exit + +def patch(file, dif, revert=False): + code = open(file,'rb').read() + dif = open(dif,'r').read() + m = re.findall('([0-9a-fA-F]+): ([0-9a-fA-F]+) ([0-9a-fA-F]+)', dif) + for offset,orig,new in m: + o, orig, new = int(offset,16), orig.decode('hex'), new.decode('hex') + if revert: + if code[o]==new: + code = code[:o]+orig+code[o+1:] + else: + raise Exception("patched byte at %s is not %02X" % (offset, ord(new))) + else: + if code[o]==orig: + code = code[:o]+new+code[o+1:] + else: + raise Exception("original byte at %s is not %02X" % (offset, ord(orig))) + open(file,'wb').write(code) + +def main(): + if len(argv)<3: + print("Usage: %s [revert]" % (argv[0])) + print("Applies given IDA .dif file to patch binary; use revert to revert patch.") + exit(0) + + file, dif, revert = argv[1], argv[2], False + if len(argv)>3: + revert = True + print("Reverting patch %r on file %r" % (dif, file)) + else: + print("Patching file %r with %r" % (file, dif)) + + try: + patch(file, dif, revert) + print("Done") + except Exception as e: + print("Error: %s" % str(e)) + exit(1) + +if __name__ == "__main__": + main() diff --git a/resources/kernel.dif b/resources/kernel.dif new file mode 100644 index 0000000..d5c343f --- /dev/null +++ b/resources/kernel.dif @@ -0,0 +1,8 @@ +This difference file was created by IDA + +kernel +0000000000787C73: E8 90 +0000000000787C74: 78 90 +0000000000787C75: E8 90 +0000000000787C76: AA 90 +0000000000787C77: FF 90 diff --git a/resources/kernel_autopatcher.py b/resources/kernel_autopatcher.py new file mode 100755 index 0000000..21f9fbc --- /dev/null +++ b/resources/kernel_autopatcher.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python +# +# NOTE -> https://github.com/kholia/OSX-KVM/blob/master/reversing-notes.md +# +# https://github.com/radareorg/radare2-r2pipe/blob/master/python/examples/libgraph.py +# https://github.com/radareorg/radare2-r2pipe/tree/master/python +# +# https://www.hex-rays.com/wp-content/uploads/2019/12/xnu_debugger_primer.pdf +# https://geosn0w.github.io/Debugging-macOS-Kernel-For-Fun/ +# +# sudo apt-get install radare2 # Ubuntu 20.04 LTS +# pip install r2pipe +# +# This software is Copyright (c) 2020, Dhiru Kholia. This program is provided +# for educational, research, and non-commercial personal use only. +# !!! ATTENTION !!! Any commercial usage against the Apple EULA is at your own +# risk! +# +# Note: Commercial usage and redistribution is forbidden (not allowed). +# +# THIS SOFTWARE IS PROVIDED BY 'AS IS' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# $ ./kernel_autopatcher.py kernel +# [+] Processing file... +# [+] Patching done! +# +# (Re)Tested against the default "kernel" from macOS Catalina 10.15.7 in +# October, 2020. +# +# Note: Disable SIP on the macOS VM (We do it via OpenCore's config.plist) +# `00000000` - SIP completely enabled +# `30000000` - Allow unsigned kexts and writing to protected fs locations +# `67000000` - SIP completely disabled +# +# Note: sudo mount -uw / +# +# Kernel location (Catalina): /System/Library/Kernels/kernel +# +# $ md5sum kernel* +# 3966d407c344708d599500c60c1194c0 kernel +# 8530d3422795652ed320293ecc127770 kernel.patched +# +# Test command -> sudo /usr/bin/AssetCacheManagerUtil activate + +import r2pipe + +import sys +import os + + +def patcher(fname): + target_symbol = "sym._cpuid_get_feature_names" + + # analysis code + # r2 = r2pipe.open(fname, ["-2"]) # -2 -> disable stderr messages + r2 = r2pipe.open(fname, ["-2", "-w"]) # -2 -> disable stderr messages + print("[+] Processing <%s> file..." % fname) + r2.cmd('aa') + # print(r2.cmd("pdf @ sym._cpuid_get_feature_names")) + result = r2.cmdj("axtj %s" % target_symbol) + if not result: + print("[!] Can't find xrefs to <%s>. Aborting!" % target_symbol) + sys.exit(2) + # print(result) + r2.cmd("s `axt sym._cpuid_get_feature_names~[1]`") # jump to the function call site + result = r2.cmdj("pdj 1") + if not result: + print("[!] Can't disassemble instruction at function call site. Aborting!") + sys.exit(3) + opcode_size = result[0]["size"] + assert (opcode_size == 5) # sanity check, call sym._cpuid_get_feature_name -> 5 bytes + + # patching code + # > pa nop + r2.cmd("\"wa nop;nop;nop;nop;nop\"") + r2.quit() + print("[+] Patching done!") + + +if __name__ == "__main__": + if len(sys.argv) > 1: + path = sys.argv[1] + patcher(path) + else: + print("Usage: %s [path-to-kernel-file]" % (sys.argv[0])) + sys.exit(1) diff --git a/reversing-notes.md b/reversing-notes.md new file mode 100644 index 0000000..09c0b9c --- /dev/null +++ b/reversing-notes.md @@ -0,0 +1,583 @@ +#### Problem + +On a macOS virtual machine, + +``` +$ sudo /usr/bin/AssetCacheManagerUtil activate +AssetCacheManagerUtil[] Failed to activate content caching: Error Domain=ACSMErrorDomain Code=5 "virtual machine"... +``` + +It seems that the `Content Caching` functionality is not available when macOS +is running in a virtual machine. How can we enable this feature on our macOS +VM? + + +#### April 2020 Update + +I was able to patch the Catalina 10.15.4 kernel to disable the VMM detection. + +Original function: + +![Original function](screenshots/macOS-kernel-patching-1.png) + +Patched function: + +![Patched function](screenshots/macOS-kernel-patching-2.png) + + +``` +static int +cpu_features SYSCTL_HANDLER_ARGS +{ + __unused struct sysctl_oid *unused_oidp = oidp; + __unused void *unused_arg1 = arg1; + __unused int unused_arg2 = arg2; + char buf[512]; + + buf[0] = '\0'; + // cpuid_get_feature_names(cpuid_features(), buf, sizeof(buf)); + cpuid_get_feature_names(cpuid_features(), buf, sizeof(buf)); // NOP this <-- NOTE! + + return SYSCTL_OUT(req, buf, strlen(buf) + 1); +} + +... +"bsd/dev/i386/sysctl.c" 980 lines --13%-- +``` + +See `bsd/dev/i386/sysctl.c 138: cpuid_get_feature_names(cpuid_features` too. + +Useful commands: + +``` +sudo mount -uw / + +sudo mv /System/Library/Kernels/kernel /System/Library/Kernels/kernel.bak + +sudo kextcache -i / +``` + +Update: Use `resources/kernel_autopatcher.py` to patch your kernels! :-) + + +#### March 2020 Update + +Update: This approach causes the macOS VM to consume multiple CPU(s) 100% on +the host! + +See `osfmk/i386/tsc.c 142: if (cpuid_vmm_present()) {` for details. + +Instead of trying to hack things from within the VM, we can turn off VMM +detection from the outside. + +See [boot-macOS-Catalina.sh](./boot-macOS-Catalina.sh) to see how it is done. +Essentially, we add `hypervisor=off,vmx=on,kvm=off` flags to the QEMU's CPU +configuration. + +Once this is done, + +``` +$ sysctl -a | grep VMM + + +$ sudo /usr/bin/AssetCacheManagerUtil activate +2020-03-14 19:05:21.416 AssetCacheManagerUtil[1313:53576] Content caching activated. +2020-03-14 19:05:21.417 AssetCacheManagerUtil[1313:53576] Restart devices to take advantage of content caching immediately + +$ sudo /usr/bin/AssetCacheManagerUtil status +2020-03-14 19:10:31.154 AssetCacheManagerUtil[1362:54464] Content caching status: { + Activated = 1; + Active = 1; + CacheDetails = { + }; + CacheFree = 119663451136; + CacheLimit = 0; + CacheStatus = OK; + CacheUsed = 0; + Parents = ( + ); + Peers = ( + ); + PersonalCacheFree = 119663451136; + PersonalCacheLimit = 0; + PersonalCacheUsed = 0; + Port = 49363; + PrivateAddresses = ( + "192.168.100.137" + ); + PublicAddress = "11.XX.YY.ZZ"; + RegistrationStatus = 1; + RestrictedMedia = 0; + ServerGUID = "XXX"; + StartupStatus = OK; + TotalBytesAreSince = "2020-03-15 02:05:06 +0000"; + TotalBytesDropped = 0; + TotalBytesImported = 0; + TotalBytesReturnedToChildren = 0; + TotalBytesReturnedToClients = 0; + TotalBytesReturnedToPeers = 0; + TotalBytesStoredFromOrigin = 0; + TotalBytesStoredFromParents = 0; + TotalBytesStoredFromPeers = 0; +} +``` + +w00t! + +I found this technique from [this article](https://superuser.com/questions/1387935/hiding-virtual-machine-status-from-guest-operating-system). Thanks! + +This was tested on macOS Mojave 10.14.6 and on macOS Catalina 10.15.3. + + +#### CPU flags + +``` +$ sysctl -a | grep VMM +machdep.cpu.features: FPU ... VMM PCID XSAVE OSXSAVE AVX1.0 +``` + +Turning off `kvm=on` flag doesn't help in hiding the `VMM` flag. + +https://github.com/hjuutilainen/adminscripts/blob/master/check-if-virtual-machine.py +uses the same trick to detect if macOS is running in a VM. + + +#### VM detection code in macOS + +This code was found in the `AssetCache` binary. + +```objective-c +char __cdecl -[ECConfig runningInVM](ECConfig *self, SEL a2) +{ + void *v2; // rax + void *v3; // r15 + __int64 v4; // r13 + size_t v5; // r12 + __int64 v6; // r13 + int *v7; // rax + char *v8; // rax + bool v9; // bl + __int64 v10; // r12 + __int64 v11; // r12 + int *v12; // rax + char *v13; // rax + __int64 v14; // rbx + size_t v15; // rcx + void *v16; // rax + void *v17; // r14 + char result; // al + __int64 *v19; // [rsp+0h] [rbp-40h] + size_t v20; // [rsp+8h] [rbp-38h] + __int64 v21; // [rsp+10h] [rbp-30h] + + v20 = 0LL; + *__error() = 0; + if ( sysctlbyname("machdep.cpu.features", 0LL, &v20, 0LL, 0LL) || v20 - 1 > 0xF423F ) + { + v10 = qword_100394620; + if ( (unsigned __int8)os_log_type_enabled(qword_100394620, 16LL) ) + { + v11 = objc_retain(v10); + v12 = __error(); + v13 = strerror(*v12); + *((_DWORD *)&v19 - 8) = 134218242; + *(__int64 **)((char *)&v19 - 28) = 0LL; + *((_WORD *)&v19 - 10) = 2080; + *(__int64 **)((char *)&v19 - 18) = (__int64 *)v13; + _os_log_error_impl(&_mh_execute_header, v11, 16LL, aSysctlMachdepC, &v19 - 4, 22LL); + objc_release(v11); + v9 = 0; + goto LABEL_21; + } +LABEL_12: + v9 = 0; + goto LABEL_21; + } + v2 = malloc(v20); + v3 = v2; + if ( !v2 ) + { + v14 = qword_100394620; + if ( (unsigned __int8)os_log_type_enabled(qword_100394620, 16LL) ) + { + v15 = v20; + *((_DWORD *)&v19 - 4) = 134217984; + *(__int64 **)((char *)&v19 - 12) = (__int64 *)v15; + _os_log_error_impl(&_mh_execute_header, v14, 16LL, aOutOfMemoryLd, &v19 - 2, 12LL); + v9 = 0; + goto LABEL_21; + } + goto LABEL_12; + } + if ( sysctlbyname("machdep.cpu.features", v2, &v20, 0LL, 0LL) ) + { + v4 = qword_100394620; + if ( (unsigned __int8)os_log_type_enabled(qword_100394620, 16LL) ) + { + v19 = (__int64 *)&v19; + v5 = v20; + v6 = objc_retain(v4); + v7 = __error(); + v8 = strerror(*v7); + *((_DWORD *)&v19 - 8) = 134218242; + *(__int64 **)((char *)&v19 - 28) = (__int64 *)v5; + *((_WORD *)&v19 - 10) = 2080; + *(__int64 **)((char *)&v19 - 18) = (__int64 *)v8; + _os_log_error_impl(&_mh_execute_header, v6, 16LL, aSysctlMachdepC, &v19 - 4, 22LL); + objc_release(v6); + } + v9 = 0; + } + else + { + v16 = objc_msgSend(&OBJC_CLASS___NSString, "stringWithUTF8String:", v3); + v17 = (void *)objc_retainAutoreleasedReturnValue(v16); + v9 = (unsigned __int8)objc_msgSend(v17, "isEqualToString:", CFSTR("VMM")) + || (unsigned __int8)objc_msgSend(v17, "hasPrefix:", CFSTR("VMM ")) + || (unsigned __int8)objc_msgSend(v17, "hasSuffix:", CFSTR(" VMM")) + || (unsigned __int8)objc_msgSend(v17, "containsString:", CFSTR(" VMM ")); + objc_release(v17); + } + free(v3); +LABEL_21: + result = __stack_chk_guard; + if ( __stack_chk_guard == v21 ) + result = v9; + return result; +} +``` + +The following code was found in `AssetCacheManagerService` binary, + +```objective-c +char __cdecl -[ACMSManager _canActivateWithReason:](ACMSManager *self, SEL a2, id *a3) +{ + __int64 v3; // rax + id *v4; // r14 + OS_os_log *v5; // rax + __int64 v6; // rbx + char v7; // bl + __int64 v8; // r15 + struct objc_object *v9; // rax + void *v10; // r12 + void *v11; // rax + OS_os_log *v12; // rax + __int64 v13; // rbx + char result; // al + __int64 v15; // [rsp+0h] [rbp-30h] + + v15 = v3; + v4 = a3; + if ( (unsigned __int8)-[ACMSManager runningInVM](self, "runningInVM", v3) ) + { + v5 = -[ACMSManager logHandle](self, "logHandle"); + v6 = objc_retainAutoreleasedReturnValue(v5); + if ( (unsigned __int8)os_log_type_enabled(v6, 0LL) ) + { + *((_WORD *)&v15 - 8) = 0; + _os_log_impl(&_mh_execute_header, v6, 0LL, aRunninginvm_2, &v15 - 2, 2LL); + } + objc_release(v6); + if ( v4 ) + { + objc_retainAutorelease(CFSTR("virtual machine")); + *v4 = (id)CFSTR("virtual machine"); + } + v7 = 0; + } + else + { + v8 = _kACSMSettingsDenyActivationKey; + v9 = -[ACMSManager _managedPrefSettingForKey:](self, "_managedPrefSettingForKey:", _kACSMSettingsDenyActivationKey); + v10 = (void *)objc_retainAutoreleasedReturnValue(v9); + v11 = objc_msgSend(&OBJC_CLASS___NSNumber, "class"); + if ( !(unsigned __int8)objc_msgSend(v10, "isKindOfClass:", v11) ) + { + objc_release(v10); + v10 = 0LL; + } + if ( (unsigned __int8)objc_msgSend(v10, "boolValue") == 1 ) + { + v12 = -[ACMSManager logHandle](self, "logHandle"); + v13 = objc_retainAutoreleasedReturnValue(v12); + if ( (unsigned __int8)os_log_type_enabled(v13, 0LL) ) + { + *((_DWORD *)&v15 - 4) = 138412290; + *(__int64 *)((char *)&v15 - 12) = v8; + _os_log_impl(&_mh_execute_header, v13, 0LL, asc_10000E438, &v15 - 2, 12LL); + } + objc_release(v13); + if ( v4 ) + { + objc_retainAutorelease(CFSTR("disabled by your system administrator")); + *v4 = (id)CFSTR("disabled by your system administrator"); + } + v7 = 0; + } + else + { + v7 = 1; + if ( v4 ) + *v4 = 0LL; + } + objc_release(v10); + } + result = __stack_chk_guard; + if ( __stack_chk_guard == v15 ) + result = v7; + return result; +} +``` + +```objective-c +ACMSManager *__cdecl -[ACMSManager init](ACMSManager *self, SEL a2) +{ +... + if ( sysctlbyname("machdep.cpu.features", 0LL, &v59, 0LL, 0LL) || v59 - 1 > 0xF423F ) + { + v33 = objc_msgSend(v26, "logHandle"); + v34 = objc_retainAutoreleasedReturnValue(v33); + if ( (unsigned __int8)os_log_type_enabled(v34, 0LL) ) + { + v35 = *__error(); + *((_DWORD *)&v45 - 8) = 134218240; + *(__int64 *)((char *)&v45 - 28) = 0LL; + *((_WORD *)&v45 - 10) = 1024; + *(_DWORD *)((char *)&v45 - 18) = v35; + _os_log_impl(&_mh_execute_header, v34, 0LL, aSysctlMachdepC, &v45 - 4, 18LL); + } + v36 = v34; + } + else + { + v27 = malloc(v59); + v28 = v27; + if ( v27 ) + { + if ( sysctlbyname("machdep.cpu.features", v27, &v59, 0LL, 0LL) ) + { + v29 = objc_msgSend(v26, "logHandle"); + v30 = objc_retainAutoreleasedReturnValue(v29); + if ( (unsigned __int8)os_log_type_enabled(v30, 0LL) ) + { + v58 = &v45; + v31 = v59; + v32 = *__error(); + *((_DWORD *)&v45 - 8) = 134218240; + *(__int64 *)((char *)&v45 - 28) = v31; + *((_WORD *)&v45 - 10) = 1024; + *(_DWORD *)((char *)&v45 - 18) = v32; + _os_log_impl(&_mh_execute_header, v30, 0LL, aSysctlMachdepC, &v45 - 4, 18LL); + } + objc_release(v30); + v2 = v60; + } + else + { + v40 = ((__int64 (__fastcall *)(void *, const char *, void *))objc_msgSend)( + &OBJC_CLASS___NSString, + "stringWithUTF8String:", + v28); + v41 = objc_retainAutoreleasedReturnValue(v40); + v42 = (void *)v41; + v43 = ((__int64 (__fastcall *)(__int64, const char *, const __CFString *))objc_msgSend)( + v41, + "isEqualToString:", + CFSTR("VMM")); + v2 = v60; + if ( v43 + || (unsigned __int8)objc_msgSend(v42, "hasPrefix:", CFSTR("VMM ")) + || (unsigned __int8)objc_msgSend(v42, "hasSuffix:", CFSTR(" VMM")) + || (unsigned __int8)objc_msgSend(v42, "containsString:", CFSTR(" VMM ")) ) + { + objc_msgSend(v26, "setRunningInVM:", 1LL); + } + objc_release(v42); + } + free(v28); + goto LABEL_23; + } + v37 = objc_msgSend(v26, "logHandle"); + v38 = objc_retainAutoreleasedReturnValue(v37); + if ( (unsigned __int8)os_log_type_enabled(v38, 0LL) ) + { + v39 = v59; + *((_DWORD *)&v45 - 4) = 134217984; + *(__int64 *)((char *)&v45 - 12) = v39; + _os_log_impl(&_mh_execute_header, v38, 0LL, aOutOfMemoryLd, &v45 - 2, 12LL); + } + v36 = v38; + } +``` + +The `AssetCacheManagerService` binary seems to be our target. + +I ran the following queries to spot these binaries, + +``` +$ find / -name "*AssetCache*" -exec grep -i "virtual machine" {} \; 2>/dev/null + +$ find / -exec grep -Hn "ACSMErrorDomain" {} \; 2>/dev/null +``` + +Running `http://newosxbook.com/tools/XPoCe2.html` indicates that +`/usr/bin/AssetCacheManagerUtil` talks with `AssetCacheManagerService`. + + +After attaching `lldb` to `AssetCacheManagerService`, + +``` +$ nm AssetCacheManagerService | grep VM +000000010000bb97 t -[ACMSManager runningInVM] +000000010000bbaa t -[ACMSManager setRunningInVM:] +0000000100012928 s _OBJC_IVAR_$_ACMSManager._runningInVM + +(lldb) break set --name '-[ACMSManager setRunningInVM:]' +Breakpoint 1: where = AssetCacheManagerService`-[ACMSManager setRunningInVM:], address = 0x0000000105bf5baa +(lldb) break set --name '-[ACMSManager _canActivateWithReason:]' +Breakpoint 2: where = AssetCacheManagerService`-[ACMSManager _canActivateWithReason:], address = 0x0000000105bf33f4 +(lldb) break set --name '-[ACMSManager runningInVM]' +Breakpoint 3: where = AssetCacheManagerService`-[ACMSManager runningInVM], address = 0x0000000105bf5b97 +Process 940 stopped +* thread #3, queue = 'com.apple.AssetCacheManagerService.ACMSManager.workQueue', stop reason = breakpoint 2.1 + frame #0: 0x0000000105bf33f4 AssetCacheManagerService`-[ACMSManager _canActivateWithReason:] +AssetCacheManagerService`-[ACMSManager _canActivateWithReason:]: +-> 0x105bf33f4 <+0>: pushq %rbp + 0x105bf33f5 <+1>: movq %rsp, %rbp + 0x105bf33f8 <+4>: pushq %r15 + 0x105bf33fa <+6>: pushq %r14 +Target 0: (AssetCacheManagerService) stopped. +``` + + +#### Fix ideas + +* Patch `AssetCacheManagerService` binary? + +* Kernel patching - change the way `sysctlbyname` behaves? + +* Manipulate function execution using Frida? + + +#### Patch #1 + +![Patching runningInVM method](screenshots/ida-patch.png?raw=true "Patching runningInVM()") + +After this binary patch is applied, `activation` seems to be working ;) + +``` +$ sudo /usr/bin/AssetCacheManagerUtil activate +... Failed to activate content caching: Error Domain=ACSMErrorDomain Code=3 "already activated"... +``` + +However, `sudo /usr/bin/AssetCacheManagerUtil status` fails to work just yet. + +``` +$ sudo /usr/bin/AssetCacheManagerUtil status +2018-11-10 19:29:24.051 AssetCacheManagerUtil[419:3473] Content caching status: { + Activated = 0; + Active = 0; + CacheDetails = { + }; + CacheFree = 2000000000; + CacheLimit = 2000000000; + CacheStatus = OK; + CacheUsed = 0; + Parents = ( + ); + Peers = ( + ); + PersonalCacheFree = 2000000000; + PersonalCacheLimit = 2000000000; + PersonalCacheUsed = 0; + Port = 0; + RegistrationError = "NOT_ACTIVATED"; + RegistrationResponseCode = 403; + RegistrationStatus = "-1"; + RestrictedMedia = 0; + ServerGUID = "XXX"; + StartupStatus = FAILED; + TotalBytesAreSince = "2018-11-11 03:27:25 +0000"; + TotalBytesDropped = 0; + TotalBytesImported = 0; + TotalBytesReturnedToChildren = 0; + TotalBytesReturnedToClients = 0; + TotalBytesReturnedToPeers = 0; + TotalBytesStoredFromOrigin = 0; + TotalBytesStoredFromParents = 0; + TotalBytesStoredFromPeers = 0; +} +``` + +It seems more patching of the involved binaries (`/usr/libexec/AssetCache/AssetCache`) is required? + +Note: The `AssetCacheManagerService.dif` included in this repository was +derived on a macOS 10.14.1 system. + + +#### Patch #2 + +Change the four `VMM` strings to `XXX` in the `/usr/libexec/AssetCache/AssetCache` binary. + +``` +$ pwd +/usr/libexec/AssetCache + +$ sudo codesign --remove-signature AssetCache + +$ sudo /usr/bin/AssetCacheManagerUtil status +2018-11-10 23:40:07.459 AssetCacheManagerUtil[973:21653] Content caching status: { + Activated = 1; + Active = 0; + CacheDetails = { + }; + CacheFree = 2000000000; + CacheLimit = 2000000000; + CacheStatus = OK; + CacheUsed = 0; + Parents = ( + ); + Peers = ( + ); + PersonalCacheFree = 2000000000; + PersonalCacheLimit = 2000000000; + PersonalCacheUsed = 0; + Port = 49181; + RegistrationStarted = "2018-11-11 07:38:48 +0000"; + RegistrationStatus = 0; + RestrictedMedia = 0; + ServerGUID = "XXX"; + StartupStatus = PENDING; + TotalBytesAreSince = "2018-11-11 07:38:48 +0000"; + TotalBytesDropped = 0; + TotalBytesImported = 0; + TotalBytesReturnedToChildren = 0; + TotalBytesReturnedToClients = 0; + TotalBytesReturnedToPeers = 0; + TotalBytesStoredFromOrigin = 0; + TotalBytesStoredFromParents = 0; + TotalBytesStoredFromPeers = 0; +} +``` + +A bit of progress I think ;) + +Note: However, it seems that more reversing and patching work is required. + + +#### Questions + +* I haven't been able to see this `sysctlbyname("machdep.cpu.features"...` call + being hit in `lldb`. + + Maybe this call is executed once at program startup? + +* Can we use DTrace on macOS to trace execution of this call in a system-wide + fashion? + + +### References + +* https://geosn0w.github.io/Debugging-macOS-Kernel-For-Fun/ + +* https://www.hex-rays.com/wp-content/uploads/2019/12/xnu_debugger_primer.pdf diff --git a/run-diagnostics.sh b/run-diagnostics.sh new file mode 100755 index 0000000..44d2c73 --- /dev/null +++ b/run-diagnostics.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +# run-diagnostics.sh: checks common virtualization programs, modules and +# options. Written by Foxlet . Modified by Dhiru for OSX-KVM +# project. +# +# Note: This script is borrowed from https://github.com/foxlet/macOS-Simple-KVM +# project. + +echo "== Distro Info ==" >&2 +lsb_release -a 2>/dev/null + +echo -e "\n== Loaded Modules ==" >&2 +lsmod | grep kvm +lsmod | grep amd_iommu +lsmod | grep intel_iommu +v=$(cat /sys/module/kvm/parameters/ignore_msrs) +if [ "$v" != "Y" ]; then + echo -e "\nATTENTION: /sys/module/kvm/parameters/ignore_msrs setting seems to be incorrect!" +fi + +echo -e "\n== Installed Binaries ==" >&2 +if [ -x "$(command -v qemu-system-x86_64)" ]; then + qemu-system-x86_64 --version +else + echo -e "qemu is not installed." >&2 +fi + +if [ -x "$(command -v virt-manager)" ]; then + echo -e "virt-manager version $(virt-manager --version)" +else + echo -e "virt-manager is not installed." >&2 +fi + +if [ -x "$(command -v python)" ]; then + python --version +else + echo -e "python is not installed." >&2 +fi + +echo -e "\n== Networking ==" >&2 +ip link show virbr0 >/dev/null 2>&1 +if [ "$?" != 0 ]; then + echo -e "Interface virbr0 doesn't seem to exist. Check your networking configuration." >&2 +else + echo -e "Found virbr0. Good." +fi diff --git a/screenshots/ida-patch.png b/screenshots/ida-patch.png new file mode 100644 index 0000000..d31a1b6 Binary files /dev/null and b/screenshots/ida-patch.png differ diff --git a/screenshots/macOS+QEMU+AVX.png b/screenshots/macOS+QEMU+AVX.png new file mode 100644 index 0000000..4f7d246 Binary files /dev/null and b/screenshots/macOS+QEMU+AVX.png differ diff --git a/screenshots/macOS-Sierra-KVM.png b/screenshots/macOS-Sierra-KVM.png new file mode 100644 index 0000000..30d8b11 Binary files /dev/null and b/screenshots/macOS-Sierra-KVM.png differ diff --git a/screenshots/macOS-expose-AVX2.png b/screenshots/macOS-expose-AVX2.png new file mode 100644 index 0000000..000ad35 Binary files /dev/null and b/screenshots/macOS-expose-AVX2.png differ diff --git a/screenshots/macOS-kernel-patching-1.png b/screenshots/macOS-kernel-patching-1.png new file mode 100644 index 0000000..7eacf3a Binary files /dev/null and b/screenshots/macOS-kernel-patching-1.png differ diff --git a/screenshots/macOS-kernel-patching-2.png b/screenshots/macOS-kernel-patching-2.png new file mode 100644 index 0000000..fbe2daf Binary files /dev/null and b/screenshots/macOS-kernel-patching-2.png differ diff --git a/screenshots/unraid-oc-efi.png b/screenshots/unraid-oc-efi.png new file mode 100644 index 0000000..f230d73 Binary files /dev/null and b/screenshots/unraid-oc-efi.png differ diff --git a/screenshots/unraid-oc-plist.png b/screenshots/unraid-oc-plist.png new file mode 100644 index 0000000..1023d40 Binary files /dev/null and b/screenshots/unraid-oc-plist.png differ diff --git a/scripts/bigsur/Makefile b/scripts/bigsur/Makefile new file mode 100644 index 0000000..30b4f99 --- /dev/null +++ b/scripts/bigsur/Makefile @@ -0,0 +1,65 @@ +# Builds either a recovery image (BigSur-recovery.img) or a full installer (BigSur-full.img) for Big Sur. + +# To build the full installer you must run this on macOS. +# The recovery can be built on either macOS or Linux. + +# For Ubuntu (or similar Linux distribution) you'll need to run this first to get the required packages: +# sudo apt install qemu-utils make + +# For macOS you'll probably need to run xcode-select --install to get the commandline tools + +BIG_SUR_APP=/Applications/Install\ macOS\ Big\ Sur.app + +LINUX_TOOLS = qemu-img + +OS := +UNAME_S := $(shell uname -s) + +ifeq ($(UNAME_S),Darwin) + OS = MACOS +endif + +# If this is Linux make sure we have all our build tools available: +ifeq ($(OS),) + K := $(foreach exec,$(LINUX_TOOLS),\ + $(if $(shell which $(exec)),some string,$(error "Missing required $(exec) tool for build"))) +endif + +all: BigSur-recovery.img + +%.img : %.dmg + ln $< $@ + +ifeq ($(OS),MACOS) +BigSur-full.dmg : $(BIG_SUR_APP) + hdiutil create -o "$@" -size 14g -layout GPTSPUD -fs HFS+J + hdiutil attach -noverify -mountpoint /Volumes/install_build "$@" + sudo "$ ]" + exit 0 +} + +if [ "$1" == "-h" ] ; then + display_help +fi + +if [ "$#" -eq 2 ] +then + in_path=$1 + dmg_path=$2 +elif [ "$#" -eq 0 ] +then + in_path=/Applications/Install\ macOS\ Big\ Sur.app + dmg_path=~/Desktop/BigSur.dmg + echo "Using default paths:" + echo "Install app: $in_path" + echo "Output disk: $dmg_path" +else + display_help +fi + +hdiutil create -o "$dmg_path" -size 14g -layout GPTSPUD -fs HFS+J +hdiutil attach "$dmg_path" -noverify -mountpoint /Volumes/install_build +sudo "$in_path/Contents/Resources/createinstallmedia" --volume /Volumes/install_build --nointeraction + +# createinstallmedia leaves a bunch of subvolumes still mounted when it exits, so we need to use -force here. +# This might be fixed in a later Beta release: +hdiutil detach -force "/Volumes/Install macOS Big Sur" diff --git a/scripts/create_dmg_catalina.sh b/scripts/create_dmg_catalina.sh new file mode 100755 index 0000000..802d3ce --- /dev/null +++ b/scripts/create_dmg_catalina.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# Bail at first DMG creation error +set -e + +display_help() { + echo "Usage: $(basename $0) [-h] [ ]" + exit 0 +} + +if [ "$1" == "-h" ] ; then + display_help +fi + +if [ "$#" -eq 2 ] +then + in_path=$1 + dmg_path=$2 +elif [ "$#" -eq 0 ] +then + in_path=/Applications/Install\ macOS\ Catalina.app + dmg_path=~/Desktop/Catalina.dmg + echo "Using default paths:" + echo "Install app: $in_path" + echo "Output disk: $dmg_path" +else + display_help +fi + +hdiutil create -o "$dmg_path" -size 9g -layout GPTSPUD -fs HFS+J +hdiutil attach "$dmg_path" -noverify -mountpoint /Volumes/install_build +sudo "$in_path/Contents/Resources/createinstallmedia" --volume /Volumes/install_build --nointeraction +hdiutil detach "/Volumes/Install macOS Catalina" diff --git a/scripts/create_dmg_highsierra.sh b/scripts/create_dmg_highsierra.sh new file mode 100755 index 0000000..50eba5c --- /dev/null +++ b/scripts/create_dmg_highsierra.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Create a "ISO" (DMG) image for powering offline macOS installations + +# Bail at first ISO creation error +set -e + +display_help() { + echo "Usage: $(basename $0) [-h] [ ]" + exit 0 +} + +if [ "$1" == "-h" ] ; then + display_help +fi + +if [ "$#" -eq 2 ] +then + in_path=$1 + dmg_path=$2 +elif [ "$#" -eq 0 ] +then + in_path=/Applications/Install\ macOS\ High\ Sierra.app + dmg_path=~/Desktop/HighSierra.dmg + echo "Using default paths:" + echo "Install app: $in_path" + echo "Output disk: $dmg_path" +else + display_help +fi + +# Borrrowed from multiple internet sources +hdiutil create -o "$dmg_path" -size 5600m -layout GPTSPUD -fs HFS+J +hdiutil attach "$dmg_path" -noverify -mountpoint /Volumes/install_build +sudo "$in_path/Contents/Resources/createinstallmedia" --volume /Volumes/install_build --nointeraction + +# createinstallmedia may leave a bunch of subvolumes still mounted when it exits, so we need to use -force here. +hdiutil detach -force "/Volumes/Install macOS High Sierra" diff --git a/scripts/create_dmg_mojave.sh b/scripts/create_dmg_mojave.sh new file mode 100755 index 0000000..a4d7402 --- /dev/null +++ b/scripts/create_dmg_mojave.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +# Create a "ISO" (DMG) image for powering offline macOS installations + +# Bail at first ISO creation error +set -e + +display_help() { + echo "Usage: $(basename $0) [-h] [ ]" + exit 0 +} + +if [ "$1" == "-h" ] ; then + display_help +fi + +if [ "$#" -eq 2 ] +then + in_path=$1 + dmg_path=$2 +elif [ "$#" -eq 0 ] +then + in_path=/Applications/Install\ macOS\ Mojave.app + dmg_path=~/Desktop/Mojave.dmg + echo "Using default paths:" + echo "Install app: $in_path" + echo "Output disk: $dmg_path" +else + display_help +fi + +# Borrrowed from multiple internet sources +hdiutil create -o "$dmg_path" -size 7g -layout GPTSPUD -fs HFS+J +hdiutil attach "$dmg_path" -noverify -mountpoint /Volumes/install_build +sudo "$in_path/Contents/Resources/createinstallmedia" --volume /Volumes/install_build --nointeraction + +# createinstallmedia may leave a bunch of subvolumes still mounted when it exits, so we need to use -force here. +hdiutil detach -force "/Volumes/Install macOS Mojave" diff --git a/scripts/lsgroup.sh b/scripts/lsgroup.sh new file mode 100755 index 0000000..a3259d5 --- /dev/null +++ b/scripts/lsgroup.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# mafferri (https://bbs.archlinux.org) + +BASE="/sys/kernel/iommu_groups" + +for i in $(find $BASE -maxdepth 1 -mindepth 1 -type d); do + GROUP=$(basename $i) + echo "### Group $GROUP ###" + for j in $(find $i/devices -type l); do + DEV=$(basename $j) + echo -n " " + lspci -s $DEV + done +done diff --git a/scripts/vfio-group.sh b/scripts/vfio-group.sh new file mode 100755 index 0000000..bd1c10e --- /dev/null +++ b/scripts/vfio-group.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +# mafferri (https://bbs.archlinux.org) + +if [ ! -e /sys/kernel/iommu_groups/$1 ]; then + echo "IOMMU group $1 not found" + exit 1 +fi + +if [ ! -e /sys/bus/pci/drivers/vfio-pci ]; then + sudo modprobe vfio-pci +fi + +for i in $(ls /sys/kernel/iommu_groups/$1/devices/); do + if [ -e /sys/kernel/iommu_groups/$1/devices/$i/driver ]; then + if [ "$(basename $(readlink -f \ + /sys/kernel/iommu_groups/$1/devices/$i/driver))" != \ + "pcieport" ]; then + echo $i | sudo tee \ + /sys/kernel/iommu_groups/$1/devices/$i/driver/unbind + fi + fi +done + +for i in $(ls /sys/kernel/iommu_groups/$1/devices/); do + if [ ! -e /sys/kernel/iommu_groups/$1/devices/$i/driver ]; then + VEN=$(cat /sys/kernel/iommu_groups/$1/devices/$i/vendor) + DEV=$(cat /sys/kernel/iommu_groups/$1/devices/$i/device) + echo $VEN $DEV | sudo tee \ + /sys/bus/pci/drivers/vfio-pci/new_id + fi +done diff --git a/scripts/vfio-ungroup.sh b/scripts/vfio-ungroup.sh new file mode 100755 index 0000000..f837aeb --- /dev/null +++ b/scripts/vfio-ungroup.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# mafferri (https://bbs.archlinux.org) + +if [ ! -e /sys/kernel/iommu_groups/$1 ]; then + echo "IOMMU group $1 not found" + exit 1 +fi + +for i in $(ls /sys/kernel/iommu_groups/$1/devices/); do + VEN=$(cat /sys/kernel/iommu_groups/$1/devices/$i/vendor) + DEV=$(cat /sys/kernel/iommu_groups/$1/devices/$i/device) + echo $VEN $DEV | sudo tee \ + /sys/bus/pci/drivers/vfio-pci/remove_id + echo $i | sudo tee \ + /sys/kernel/iommu_groups/$1/devices/$i/driver/unbind +done + +for i in $(ls /sys/kernel/iommu_groups/$1/devices/); do + echo $i | sudo tee /sys/bus/pci/drivers_probe +done