1.0 - 2011.04.12 - Pierwsza publikacja.
1.0.1 - 2011.05.04 - Drobne poprawki w tekście.
2.0 - 2012.02.17 - Aktualizacja uwzględniające zmiany od wersji 10.6.8 Snow Leoparda.

Postanowiłem zebrać w jednym miejscu komplet informacji oraz rozwiązań dla następujących układów dźwiękowych z rodziny Realtek'a:
ALC882 - np obecny na ASUS P5W DH Deluxe
ALC888/1200 - obecny na wielu płytach ASUS'a z rodziny P5Q oraz P7P55 WS SuperComputer
ALC889 - płyty MSI, ASUS z gniazdem 1155
Przygotowane LegacyHDA są pod komputery stacjonarne, a w szczególności układy na płytach ASUS'a i MSI pod procesory intela, ale to nie wyklucza działania ich na innych komputerach. Natomiast na laptopach raczej nie będzie działać, lub mogą pojawić się nieprzewidziane problemy, podobnie jak na płytach pod procesory AMD, ponieważ najczęściej mają inne schematy połączeń.
Jak dowiedzieć jaki mamy kodek, można przeczytać: Jak zrobić listę konfiguracji sprzętu
Apple fabrycznie montuje u siebie dwa układy Realtek'a ALC262 i ALC885. Dzięki uniwersalnej konstrukcji kextów można uruchomić też inne układy z tej serii a w szczególności ALC88x/89x/1200. Trochę zamieszania spowodował sam Realtek różnie oznaczając niektóre swoje układy, mimo że są to dokładnie te same kości, a czasami nazwa sugeruje zupełnie co innego i tak: ALC889 i ALC889a to dwa różne układy, tak naprawdę układ ALC889a to dokładnie to samo co ALC885, a ALC1200 to dokładnie ALC888. Najczęściej popełnianym błędem jest mylenie ALC889 i ALC889a, co ma wpływ na późniejsze uruchomienie (patrz niżej patchowanie AppleHDA).
Wszystkie przygotowane przeze mnie LegacyHDA obsługują następujący zestaw funkcji i złączy audio:
Co działa:
Line Out - Green - pracuje jako głośnik
Line Out - Orange
Line Out - Black
HP Out - Green - wyjście słuchawkowe na panelu przednim, po wpięciu słuchawek w to gniazdo, automatycznie wyciszane jest wyjście line-out green
SPDIF combo - najczęściej Yellow - działa w trybie PCM 2.0, próbkowanie 44.1-96k 16-24bit do ustawienia w midi setup. Działa poprawnie DD i DTS passthru. *
Mic front - Pink** - przedni mikrofon w wersjach opisanych f.mic front_mic - obsługuje DSP (redukcję szumów otoczenia)
Mic back - Pink** - tylni mikrofon w wersjach opisanych b.mic, back_mic - obsługuje DSP- obsługuje DSP (redukcję szumów otoczenia)
Line-in - Blue
* Dźwięk w trybie 96k/24bit puszczony do głośników po cyfrowym złączu, po zmianie na ten tryb, jest zauważalne lepsze brzmienie niż na ustawieniach 44,1k/16bit lub 48k/16bit.
** Na raz działa tylko jedno wyjście Mic Frot lub Mic back w zależności jaka wersja LegacyHDA jest zainstalowana.
Nie działa lub nie uruchamiam z powodów ograniczeń AppleHDA:
Line-out Grey - AppleHDA umożliwia uruchomienie 4xWyjście, najbardziej optymalny jest układ 3xAnalog + 1xspdif. Układu 4xAnalog nie budują jako ekstremalnie rzadko używany.
Wspólnie Mic front i Mic rear - za wyjątkiem ALC888/1200 w którym w wersji f.mic, tylne wejście mic jest skonfigurowane jako Line-In ale działa z poziomami dopasowanymi do mikrofonu, przez co można używać obu wyjść zamiennie.
Tak wygląda poprawnie uruchomiony układ Audio:
Preferencje systemu - Wyjścia:

Preferencje systemu - Wyjścia po podłączeniu słuchawek - "Głośnik" zamienia się w "Słuchawki":

Preferencje systemu - Wejścia:

Informacje z Profilu Systemu (System Profile):

Konfigurator MIDI Audio - wyjście cyfrowe w trybie 96k/24bit:


Konstrukcja AppleHDA od wersji 10.6.8 i w górę uległa znacznym zmianą i żeby poprawnie uruchomić układ dźwiękowy, musimy wykonać parę kroków. Przed przystąpieniem do jakiegokolwiek działania przeczytaj całą procedurę instalacji, oraz uwagi na temat użycia HDA Wizarda. Błędne użycie będzie skutkować brakiem dźwięku i koniecznością przywracania AppleHDA lub naprawy systemu.
0. Zrobić kopię z AppleHDA.kext.
Przed wykonaniem instalacji zawsze zrób kopię AppleHDA.kext znajdującego się w /System/Library/Extensions/. Jeśli instalacja się nie powiedzie można będzie przywrócić oryginalną wersję i ponowić instalację.
1. Pobrać i zainstalować zestaw plików w odpowiednie miejsca.
Pobieramy wersję odpowiadającą posiadanemu układowi, oraz preferencjom co do aktywnego wejścia mikrofonu.
Każda paczka zawiera:
ALC***.mic.snow.10.6.8.kext - właściwy LegacyHDA z pinconfigami
layout***.xml - do instalacji wewnątrz AppleHDA.kext
Platforms.xml - do instalacji wewnątrz AppleHDA.kext
Instrukcja.txt - skrócona instrukcja instalacji
ALC***.kext należy zainstalować w przypadku Snow Leoparda w /E/E, /E/KS lub /S/L/E, w przypadku Lion'a polecam instalację wszystkich kextów tylko w /S/L/E, bo dzięki temu można prelinkować kernel i Lion wstaje wtedy zauważalnie szybciej. Do instalacji polecam Kext Wizard.
layout***.xml i Platforms.xml instalujemy wewnątrz AppleHDA.kext/Contents/Resources, poniżej przykładowe komendy:
sudo cp layout888.xml /System/Library/Extensions/AppleHDA.kext/Contents/Resources/ sudo cp Platforms.xml /System/Library/Extensions/AppleHDA.kext/Contents/Resources/Instalację Layout i Platforms najwygodniej wykonać za pomocą HDA Wizard.

W HDA Wizard wskazać pliki Layout i Platforms i dokonać instalacji (Patch).
ALC882:
Aktywny przedni mikrofon: ALC882v40-f.mic.snow.10.6.8.zip
Aktywny tylny mikrofon: ALC882v40-b.mic.snow.10.6.8.zip
ALC888/1200:
Aktywny przedni mikrofon: ALC1200-v.32-f.mic.snow.10.6.8.zip
Aktywny tylny mikrofon: ALC1200-v.32-b.mic.snow.10.6.8.zip
ALC889:
Aktywny przedni mikrofon: ALC889-v.7-f.mic.snow.10.6.8.zip
Aktywny tylny mikrofon: ALC889-v.7-b.mic.snow.10.6.8.zip
2. Wykonać binarny patch AppleHDA.kext
Oryginalne AppleHDA ma na sztywno wpisany DeviceID układu jaki występuje w Mac'ach. Aby AppleHDA poprawnie zaczął obsługiwać posiadany przez nasz układ musimy go zmodyfikować. W tym celu wpisujemy w terminal poniższą komendę, która wyszukuje identyfikator oryginalnie występującego układu ALC885 i następnie zastępuje go właściwym dla nas ALC882/888/889.
UWAGA tego kroku nie potrzebują układy ALC262, ALC885 oraz 889a, ponieważ ich identyfikator DeviceID jest już obecny w AppleHDA.
UWAGA aby komenda sudo zadziałała, musisz mieć zdefiniowane hasło do swojego konta w systemie (nie może być puste).
Wklej w terminalu następującą komendę,
dla ALC882:
sudo perl -pi -e 's|\x85\x08\xec\x10|\x82\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDAdla ALC888/1200:
sudo perl -pi -e 's|\x85\x08\xec\x10|\x88\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDAdla ALC889
sudo perl -pi -e 's|\x84\x19\xd4\x11|\x89\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA sudo perl -pi -e 's|\x83\x19\xd4\x11|\x00\x00\x00\x00|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA
Zamiast wykonywać patch w terminalu można użyć narzędzia HDA Wizard

Z listy rozwijanej wybieramy stosowny układ i wykonujemy Patch.
UWAGA!! w obecnej wersji HDA Wizard - jest wprowadzony nie w pełni działający binpatch dla ALC889 - należy go wykonać ręcznie z konsoli tak jak podane jest wyżej. Jeśli wykonamy go z poziomu HDA Wizard'a nie będzie działać nam Line-In, HP hotplug, i mogą pojawiać się nieprzyjemne szumy. janek202 obiecał poprawić patchowanie w najbliższym czasie dla ALC889, niestety wymaga ona rekompilacji HDA Wizarda. Natomiast dla ALC882/888/1200 można spokojnie wykonywać patchowanie.
3. Dodać procedurę wykrycia karty dźwiękowej poprzez system
Każdy z zestawów kextów używa unikalnego dla siebie Layout'u i tak:
AlC882 f i b mic używa - 882
AlC888/1200 f i b mic używa - 888
AlC889 f i b mic używa - 889
Układ można uruchomić na dwa sposoby, albo zainstalować stosowny HDAEnabler do /Extra lub /S/L/E, najwygodniej przy użyciu Kext Wizard:
HDAEnabler_Layout882.zip
HDAEnabler_Layout888.zip
HDAEnabler_Layout889.zip
Drugą metodą zamiast instalowania HDAEnablera, jest dopisania poniższej sekcji do DSDT
Szczegółowa procedura jak poprawnie dopisać audio do DSDT jest tu [Część 3] Sekcja audio w DSDT - proszę dokładnie zapoznać się z tamtym poradnikiem. Generalnie cała operacja ogranicza się do dodania metody DTGP, oraz dodania/modyfikacji Device HDEF aby mniej więcej wyglądała taj jak poniżej. To co musimy zmienić, to subsystem-id oraz subsystem-vendor-id, na właściwy dla naszego układu, a odczytamy je z dumpu codec'a lub z rozszerzonego wyniku komendy lspci, oraz ustawienia właściwego Layout:
Layout 882:
"layout-id", Buffer (0x04) { 0x72, 0x03, 0x00, 0x00 },Layout 888:
0x78, 0x03, 0x00, 0x00Layout 889:
0x79, 0x03, 0x00, 0x00
Przykładowa kompletna sekcja dla ALC888
Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x08) { "subsystem-id", Buffer (0x04) { 0xFE, 0x82, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x43, 0x10, 0x00, 0x00 }, "layout-id", Buffer (0x04) { 0x78, 0x03, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } }
4. Odświeżyć cache
Następnie należy odświeżyć systemowy cache i/lub /E.mkext, najwygodniej przy użyciu Kext Wizard.

Ponieważ Mac'i nie mają w ogóle wyjść analogowych 5.1 (jedynie jedno 2.0), Mac OS X nie obsługuje jako taki analogowego dźwięku wielokanałowego. Wielokanałowy dźwięk wypuszcza się z nich po złączach cyfrowych, ale miłośnicy wielokanałowego analogowego dźwięku, nie są skazani wyłącznie na porażkę. Mogą dzięki Audio Midi Setup połączyć 3 wyjścia analogowe w jedno "kombinowane" i zdefiniować je jako 5.1, ale tu jest haczyk, ponieważ tak stworzone wyjście potrafi obsłużyć niewiele aplikacji i do tych paru nielicznych wyjątków zalicza się VLC.
Uruchamiamy Konfigurator MIDI Audio:

1. Dodajemy urządzenie zespolone
2. Wybieramy wyjścia z których je zbudujemy
3. Przechodzimy do konfiguracji głośników:

A w nim zaznaczamy wszystkie "Stream"
Gdyby zaznaczony kanał nie odpowiadał właściwemu (np jak są zamienione np wyjścia Line-out orange i black) to tu można je tu przypisać wg własnych preferencji.