Skocz do zawartości

AppleHDA i ALC882/888/889/1200 by 314TeR


314TeR
 Udostępnij

Rekomendowane odpowiedzi

Wersja:

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.

 

:arrow: Informacje wstępne

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:

Audio-1-Speaker.png

 

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

Audio-2-HP.png

 

Preferencje systemu - Wejścia:

Audio-3-Mic.png

 

Informacje z Profilu Systemu (System Profile):

Audio-4-Profil.png

 

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

Audio-5-MIDI-Dig.png

 

:arrow: Instalacja

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.

Audio-HDA-Wizard-1.png

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/AppleHDA

dla ALC888/1200:

sudo perl -pi -e 's|\x85\x08\xec\x10|\x88\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

dla 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

Audio-HDA-Wizard-2.png

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, 0x00 

Layout 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.

 

:arrow: Konfiguracja analogowego dźwięku 5.1

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:

Audio-6-MIDI-5.1-a.png

1. Dodajemy urządzenie zespolone

2. Wybieramy wyjścia z których je zbudujemy

3. Przechodzimy do konfiguracji głośników:

Audio-7-MIDI-5.1-2.png

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.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

Uwagi mam tylko kosmetyczne:

 

1. Pobrać i zainstalować stosowną wersję LegacyHDA

(...)

2. Dodać procedurę wykrycia karty dźwiękowej poprzez system

Rozumiem, że to następstwo "wykonać poniższe kroki", ale chyba lepiej wyglądają "normalne" zdania:

1. Pobieramy i instalujemy...

2. Dodajemy...

 

lub dopisać sekcję do DSDT i pozbyć się niepotrzebnego kext'a.

Tutaj chyba "pozbyć" nie jest właściwym określeniem - tzn. w tym momencie się tego kexta nie instaluje, więc i się go nie pozbywa. Więc takie określenie może kogoś zmylić. Tak mi się przynajmniej wydaje.

 

Aha - i te linijki zaczynające się od UWAGA dałbym na czerwono i dwa razy większe ;)

 

Po "Stream" na końcu brakuje kropki.

A tak to wszystko jest czytelne i dobrze wytłumaczone.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Jeśli już jesteśmy przy refleksjach to przydałoby się "wsparcie" dla ALC887. Ostatnio Asus/ASRock montują nową wersje tego układu w w płytkach pod SB. Osobiście znalazłem działające legacy jak coś to mógłbyś spojrzeć na niego, poprawić i dołączyć :)

Odnośnik do komentarza
Udostępnij na innych stronach

Wszystko pięknie... ale jak nie mam dostępu do danego układu fizycznie, to bardzo ciężko się robi LegacyALC pod taki układ... Mogę oczywiście obejrzeć dump'y z takiego układu i jeśli dam radę i znajdę czas to przygotuje takowy. Załóż stosowny wątek + zrób pełne dumpy tym skryptem:

http://hamac.pl/topics27/czesc-1-wydoby ... .htm#28665

Odnośnik do komentarza
Udostępnij na innych stronach

witam, mam problem i nie wiem jak się z nim uporać. postawiłem hackintosha (os 10.6.7) na płycie gigabyte x58a-ud3r czyli układ audio realtek alc889. nie mam jednak dźwięku. skorzystałem z powyższych instrukcji i wejścia mi wykrywa. natomiast po wrzuceniu HDAEnabler otrzymuję informację, że "nie można użyć rozszerzenia systemowego", bo rozszerzenie AppleHDA zostało zainstalowane nieprawidłowo i nie nadaje się do użycia.

robiłem wiele różnorakich prób także nie wiem czy AppleHDA mam oryginalne jak po instalacji (raczej nie). bardzo proszę o możliwie jak najszybszą pomoc, bo dźwięk potrzebny mi do pracy

Odnośnik do komentarza
Udostępnij na innych stronach

postawiłem hackintosha (os 10.6.7) na płycie gigabyte x58a-ud3r czyli układ audio realtek alc889.

Masz 889 czy 889a...

 

Moje kexty są przygotowane pod ASUSY/MSI i najczęściej na gigafail'u nie działają. Tu masz wątek z kextami do gigabyte:

http://www.insanelymac.com/forum/index.php?showtopic=140941

Sprawdź, powinny zadziałać u Ciebie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 7 miesięcy temu...
  • 2 miesiące temu...
  • 1 miesiąc temu...
  • 5 lat później...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie
 Udostępnij

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystanie z tej witryny, wymaga zakceptowanie naszych warunków Warunki użytkowania.