Adnarel... ich war immer der Meinung das die, die sich jetzt hier "rumtreiben" zähle mich auch dazu, (mit 63) nicht zur werktätigen Bevölkerung gezählt werden. SPASS !!!
AppleALC - der dynamische AppleHDA Patcher
-
-
Ne, werktätig bin ich nicht, nur selbst und ständig.
-
Jetzt habe ich erst mal alles überprüft, was ich letzte Nacht bis 3.20 Uhr geändert habe, nach den Anweisungen aus Insanelymac forum, auf Notwendigkeit.
Also die AppleIntelFrambufferAzul.kext braucht bei meinem MSI Z97 G43 und Clover 3320 NICHT gepatcht werden, eben probiert, geht auch ohne mit
orig. Datei in 10.10.5 Yosemite sowie unter EC 10.11.4 und 10.11.5 Beta 2Des weiteren habe ich erst mal in der config.plist alles überprüft (immer eines nach dem anderen auskommentiert mi # Zeichen -- also somit ist der Eintrag nicht wirksam)
dann mit HDMI Anschluss probiert ab wann was, dann nicht mehr geht.Fazit:
-Keine FIX brauche ich !! dank gutem MSI Motherboard
-keinen Eintrag in Devices <key>UseIntelHDMI</key> geht auch ohne dieses !
-und nur 1 Eintrag in KextstoPatch nämlich für <string>AppleIntelFramebufferAzul</string>
-nur eine ssdt.aml für HDMI-Sound und Speestep Haswell Prozessor
-keine dsdt.aml notwendigdann eben noch in den Ordern Clover/kext/10.10 und 10.11 die 2 kexte: HDMIAudio.kext und die AppleALC.kext - dank al6040 Hilfe !!
Ja so einfach gehts, wenn man sich intensiv damit beschäftigt, ein schönes MSI Z97 G43 Board mit HDMI Sound zu betreiben.
Da kein Interesse besteht an den config.plist und doch meine persönlichen sind, habe ich die gelöscht.
-
Hi, Leute hab das alles nach der Anleitung gemacht Funktioniert auch nur hör ich sound so abgehackt.
Layout ID ist 1 bei ALC1150.
Wenn ich Stereo höre dann ist der Sound gut aber wenn ich 5.1 Anmache dann kommt da kaum sound an und abgehackt.hat jemand ein Tipp ?
-
Teste mal Layout ID 2 und 3 durch
-
-
-
Gibt es eigentlich irgendwo ein nachvollziehbares HowTO wie man einen Codec zum Beispiel aus VoodooHDA extrahiert und in die AppleALC einbaut? Mir geht es hier insbesondere um den etwas betagten AD1984A Codec der in vielen Notebooks älterer Generation Verwendung findet...
@al6042 Solltest Du da näheres wissen funk mich mal an bitte
-
-
Das habe ich gelesen aber bin ehrlich gesagt zu dusselig dafür weil ich nicht weiß, wie ich den Codec ermitteln kann und an die nötigen Files komme oO
-
Wie hast du den AD1984A bisher installiert ?
-
Es geht (vermute ich doch mal stark) um ein T61. Dessen AD1984A läuft mit dem VoodooHDA recht passabel: El Capitan auf dem T61? Ja aber sicher doch!
-
Danke, Bruder-Bär, aber vermutlich ist mir nicht genug
-
Lass es mich so sagen: Ich hatte selbst zwei T61(p) und kenne daher den Audiochip noch - und ich weiß, dass @griven ein T61 als Arbeitstier einsetzt. Wenn ich mich recht an mathematische Beweise erinnere, wären das notwendige und hinreichende Bedingung
Oh, und dann war da noch: http://www.thinkwiki.org/wiki/AD1984
-
Soweit ich sehen kann arbeitet AppleALC ausschließlich mit AppleHDA. Es löscht auch keine Dateien, sondern kann nur welche zu/in AppleHDA einzufügen.
Toleda und Mirone passen dazu sehr gut, denn sie machen genau das. Sie sind keine eigenständigen Treiber auch RealtekALC ist kein Treiber, es sieht nur so aus.
Vermutlich wurde AppleALC als alternative "Installationsmethode" genau dieser Skripte konzipiert.VoodooHDA im Gegensatz ist ein echter Treiber und ersetzt AppleHDA und passt somit nicht zu AppleALC.
D.h. der AD1984 muss mit AppleHDA laufen damit man ihn in AppleALC einbinden kann.
-
ja das ist richtig AppleALC ist ein Injektor Kext um die AppleHDA zum Laufen zu bekommen
@griven schon mal den Sound mit dem AppleHDAPatcher probiert zum Sound zu überreden? -
-
Konnte man den codec nicht unter Linux extrahieren und dann für OSX übertragen?
-
Hallo Leutchens...
sorry für die Abwesenheit, aber die privaten und geschäftlichen Aufgaben haben sich in den letzten Tagen meiner bemächtigt.
Ein wichtiger Punkt im Vorgang der Erweiterung des AppleALC-Kextes ist die Tatsache, dass der AudioCodec auf eine andere Art und Weise mit der AppleHDA schon mal zum Fliegen gebracht werden muss.
Wenn das funktioniert, wird mit einem dedizierten Script namens "Codec-Info.command" der aktuelle Zustand der eingesetzten Layouts, Platforms, Patches und ggf. PinConfigs in einer Info.plist auf dem Desktop abgelegt.
Ausgabe des Scripts am Beispiel meiner Config ALC898 und HDMI der GTX770 vom großen Rechner:Code- HDEF@1B = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
- Layout, hex: 0x00000001 , dec: 1
- PinConfigurations:
- 40d507401040119020100101306001014090a090609081025030810170402102f011114101e6454090614b01
- Codecs Found: 2
- HDMI:
- 0 CodecAddress:0x0
- VendorID: 0x10de0040
- RevisionID: 0x100100
- CodecID: 282984512
- HDA:
- 1 CodecAddress:0x2
- VendorID: 0x10ec0899
- RevisionID: 0x100003
- CodecID: 283904153
- Revision(dec):=1048579
- Id=0x0899
- Id(dec)=2201
- Vendor=0x10ec
- Vendor(dec)=4332
- File Doesn't Exist, Will Create: /Volumes/Daten/Users/al6042/Desktop/Info.plist
- logout
- Saving session...
- ...copying shared history...
- ...saving history...truncating history files...
- ...completed.
Inhalt der erzeugten Info.plist vom Desktop:
XML- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- <key>Author</key>
- <string>al6042</string>
- <key>CodecID</key>
- <integer>2201</integer>
- <key>CodecName</key>
- <string>0x10ec0899 Rev:0x100003</string>
- <key>Files</key>
- <dict>
- <key>Layouts</key>
- <array>
- <dict>
- <key>Id</key>
- <integer>1</integer>
- <key>Path</key>
- <string>layout1.xml.zlib</string>
- </dict>
- </array>
- <key>Platforms</key>
- <array>
- <dict>
- <key>Id</key>
- <integer>1</integer>
- <key>Path</key>
- <string>Platforms.xml.zlib</string>
- </dict>
- </array>
- </dict>
- <key>Patches</key>
- <array>
- <dict>
- <key>Count</key>
- <integer>1</integer>
- <key>Find</key>
- <data>
- QcYGAEmLvCQ=
- </data>
- <key>MaxKernel</key>
- <integer>13</integer>
- <key>MinKernel</key>
- <integer>13</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>
- QcYGAUmLvCQ=
- </data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>1</integer>
- <key>Find</key>
- <data>
- QcYGAEiLu2g=
- </data>
- <key>MinKernel</key>
- <integer>14</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>
- QcYGAUiLu2g=
- </data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>1</integer>
- <key>Find</key>
- <data>
- QcaGQwEAAAA=
- </data>
- <key>MinKernel</key>
- <integer>13</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>
- QcaGQwEAAAE=
- </data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>2</integer>
- <key>Find</key>
- <data>
- ixnUEQ==
- </data>
- <key>MinKernel</key>
- <integer>13</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>
- mQjsEA==
- </data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>2</integer>
- <key>Find</key>
- <data>
- gxnUEQ==
- </data>
- <key>MinKernel</key>
- <integer>15</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>
- AAAAAA==
- </data>
- </dict>
- </array>
- <key>Revisions</key>
- <array>
- <integer>1048579</integer>
- </array>
- <key>Vendor</key>
- <string>Realtek</string>
- </dict>
- </plist>
Der spannende Part ist das Einfügen in den Quellcode des bestehenden AppleALC...
Man lädt sich das komplette Package von https://github.com/vit9696/AppleALC herunter und prüft in den folgenden Verzeichnissen die Einträge:
In meinem Beispiel /Resources/ALC898... in dem Ordner befinden sich die folgenden Dateien:
Info.plist
layout1.xml.zlib
layout2.xml.zlib
layout3.xml.zlib
PlatformsT.xml.zlib (das "T" bezieht sich auf den Ursprung aus Toledas Patches)In der info.plist werden zum einen die Kombinationen aus layout#.xml.zlib und Platforms#.xml.zlib dargestellt:
Code- <key>Files</key>
- <dict>
- <key>Layouts</key>
- <array>
- <dict>
- <key>Comment</key>
- <string>Toleda Resources by Andrey1970</string>
- <key>Id</key>
- <integer>1</integer>
- <key>Path</key>
- <string>layout1.xml.zlib</string>
- </dict>
- <dict>
- <key>Comment</key>
- <string>Toleda Resources by Andrey1970</string>
- <key>Id</key>
- <integer>2</integer>
- <key>Path</key>
- <string>layout2.xml.zlib</string>
- </dict>
- <dict>
- <key>Comment</key>
- <string>Toleda Resources by Andrey1970</string>
- <key>Id</key>
- <integer>3</integer>
- <key>Path</key>
- <string>layout3.xml.zlib</string>
- </dict>
- </array>
- <key>Platforms</key>
- <array>
- <dict>
- <key>Comment</key>
- <string>Toleda Resources by Andrey1970</string>
- <key>Id</key>
- <integer>1</integer>
- <key>Path</key>
- <string>PlatformsT.xml.zlib</string>
- </dict>
- <dict>
- <key>Comment</key>
- <string>Toleda Resources by Andrey1970</string>
- <key>Id</key>
- <integer>2</integer>
- <key>Path</key>
- <string>PlatformsT.xml.zlib</string>
- </dict>
- <dict>
- <key>Comment</key>
- <string>Toleda Resources by Andrey1970</string>
- <key>Id</key>
- <integer>3</integer>
- <key>Path</key>
- <string>PlatformsT.xml.zlib</string>
- </dict>
- </array>
- </dict>
und zum anderen die benötigten On-the-Fly KextPatches, so ähnlich wie man sie aus Clover kennt:
Code- <key>Patches</key>
- <array>
- <dict>
- <key>Count</key>
- <integer>1</integer>
- <key>Find</key>
- <data>QcYGAEmLvCQ=</data>
- <key>MaxKernel</key>
- <integer>13</integer>
- <key>MinKernel</key>
- <integer>13</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>QcYGAUmLvCQ=</data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>1</integer>
- <key>Find</key>
- <data>QcYGAEiLu2g=</data>
- <key>MinKernel</key>
- <integer>14</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>QcYGAUiLu2g=</data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>1</integer>
- <key>Find</key>
- <data>QcaGQwEAAAA=</data>
- <key>MinKernel</key>
- <integer>13</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>QcaGQwEAAAE=</data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>2</integer>
- <key>Find</key>
- <data>ixnUEQ==</data>
- <key>MinKernel</key>
- <integer>13</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>mQjsEA==</data>
- </dict>
- <dict>
- <key>Count</key>
- <integer>2</integer>
- <key>Find</key>
- <data>gxnUEQ==</data>
- <key>MinKernel</key>
- <integer>15</integer>
- <key>Name</key>
- <string>AppleHDA</string>
- <key>Replace</key>
- <data>AAAAAA==</data>
- </dict>
- </array>
Wenn man nun eigene layout#.xml.zlib, Platform#.xml.zlibs benötigt, wie im folgenden Bespiel meiner ALC269 vom Lenovo T530, dann kann man die als funktionierend bekannten zlibs in den Verzeichnissen mit eigenen Namen einbinden:
Info.plist PlatformsM2.xml.zlib layout1.xml.zlib layout3.xml.zlib
Platforms20.xml.zlib PlatformsM3.xml.zlib layout2.xml.zlib layout4.xml.zlib
Platforms27.xml.zlib PlatformsM4.xml.zlib layout20.xml.zlib layout5.xml.zlib
Platforms28.xml.zlib PlatformsM5.xml.zlib layout27.xml.zlib layout6.xml.zlib
Platforms29.xml.zlib PlatformsM6.xml.zlib layout28.xml.zlib layout7.xml.zlib
PlatformsAl6042.xml.zlib PlatformsM7.xml.zlib layout28Al6042.xml.zlib layout8.xml.zlib
PlatformsM1.xml.zlib PlatformsM8.xml.zlib layout29.xml.zlib
Innerhalb der Info.plist im Ordner /Resources/ALC269 gebe ich dann diese neuen Dateien zur Nutzung bekannt:
Im Bereich <key>Layouts</key>
Im Bereich <key>Platforms</key>Sollte das Ergebnis des oben erwähnten Command-Scripts noch zusätzliche Patches feststellen, die noch nicht in der Info-plist des Resource-Ordners bekannt sind, könnt ihr diese einfach mit einbinden.
Im Ergebnis des Command-Scripts kann auch einen Teil namens "PinConfigurations" ausgibt.
Diese werden in der Info.plist des Kextes /Resources/PinConfigs.kext eingefügt.
Zuerst prüft man natürlich, ob es einen Eintrag für die vorliegende CodecID schon gibt und ob darin nicht der gleiche ConfigData-String hinterlegt ist.
Hier wieder ein anders Beispiel für einen ALC293 Codec:Code- <dict>
- <key>AFGLowPowerState</key>
- <data>
- AwAAAA==
- </data>
- <key>Codec</key>
- <string>Al6042 - Realtek ALC293</string>
- <key>CodecID</key>
- <integer>283902611</integer>
- <key>ConfigData</key>
- <data>
- AScc8AEnHQABJx4AAScfQAE3HBABNx0BATce
- oAE3H5ABRxwwAUcdAQFHHhcBRx+QAUcMAgFX
- HEABVx1AAVceKwFXHwEBVwwCAWccUAFnHUAB
- Zx4BAWcfAQFnDAIBhxzwAYcdAAGHHgABhx9A
- AZcc8AGXHQABlx4AAZcfQAGnHCABpx0QAace
- iwGnHwEBtxzwAbcdAAG3HgABtx9AAdcc8AHX
- HQAB1x4AAdcfQAHnHPAB5x0AAeceAAHnH0AC
- BQBFAgTUKQAXIAAAFyFyABciawAXIxA=
- </data>
- <key>FuncGroup</key>
- <integer>1</integer>
- <key>LayoutID</key>
- <integer>1</integer>
- </dict>
Achtet darauf, dass die CodecID als Dezimal Wert eingetragen werden muss.Danach könnt ihr das XCode-Projekt in XCode laden und eine eigene Version des AppleALC-Kexts erstellen.
Was das Auslesen dieser Infos durch eine Linux-Distribution betrifft, bin ich selbst bisher nur auf die bekannten Geschichten wie hier
http://www.insanelymac.com/for…-applehda-for-your-codec/ gestoßen. -
Danke al6040.... Hast dir echt Mühe gegeben und dafür sollst du auch meine Anerkennung erhalten. Nun läuft zwar bei meinen 2 MSI Hackis mit ihren unterschiedlichen ALC892 zwar alles absolut korrekt, ist aber doch sehr interessant, was du rausgefunden hast.