Skocz do zawartości

Uniwersalne Legacy AppleHDA dla ALC882 883 888 1200 892 1150 dla Yosemite 10.10 , El Capitan 10.11


Rekomendowane odpowiedzi

Przygotowałem nowy uniwersalny legacy Kext do uruchamiania audio w haMacach, dla układów ALC88x/89x/1150/1200. Nowa metoda pozwala uruchomić dźwięk bez konieczności modyfikacji jakiegokolwiek kextu systemowego - AppleHDA zostaje nietknięte, aktualizacje nie będą ubijać dźwięku, nie trzeba też stosować jakichkolwiek skryptów pilnujących czy AppleHDA nie jest modyfikowane przy aktualizacji.

 

Jak to działa, w skrócie, wrzuca się załączony AppleHDA_Uniwersal_ALC8xx.kext do /S/L/E, ustawia się stosowny inject Layout ID w cloverze (np Layout 10 dla ALC1150) oraz także do clovera dodaje jeden patch aby łatać AppleHDA automatycznie w locie i tyle... dźwięk powinien działać w każdym 10.8/10.9/10.10 i być odporny na aktualizacje. Nie trzeba stosować żadnych skryptów pilnujących czy AppleHDA się nie zmienia.

 

Na tę chwilę jeden uniersalny AppleHDA_Uniwersal_ALC8xx_v1.4.kext obsługujący:

ALC882 na Layout 1

ALC883 na Layout 2

ALC888/1200 na Layout 5

ALC892 na Layout 7

ALC1150 na Layout 10

 

Dalsze układy jak ALC885/898 będę dodawał sukcesywnie do w/w metody.

 

Szczegółowa instrukcja odpalenia.

 

Upewnij się że w /S/L/E masz oryginalne AppleHDA bez jakichkolwiek modyfikacji, usuń inne metody, VoodooHDA itp itd.

 

1. Skopiuj poniższy kext do /S/L/E

Dla Yosemite 10.10.5:
AppleHDA_Uniwersal_ALC8xx_v1.5.kext.zip
Dla El Capitan 10.11.0 - 10.11.3:
AppleHDA_Uniwersal_ALC8xx_v2.0.kext.zip

Dla El Capitan 10.11.4 - 10.11.x:

AppleHDA_Uniwersal_ALC8xx_v2.1.kext.zip

 

Nadaj uprawnienia oraz przebuduj cache (przebudowa zadziała tylko jak będzie ustawione hasło do konta)

sudo cp -R AppleHDA_Uniwersal_ALC8xx_v1.x.kext /System/Library/Extensions
sudo chown -R 0:0 /System/Library/Extensions/AppleHDA_Uniwersal_ALC8xx_v1.x.kext
sudo touch /System/Library/Extensions
sudo kextcache -update-volume /

2. Dodaj Inject do clovera, dla danego układu użyj odpowiedniego Layout, np aby uruchomić ALC1150 ustaw Layout na 10.

<key>Devices</key>
<dict>
  <key>Audio</key>
  <dict>
   <key>Inject</key>
   <string>10</string>
  </dict>
</dict>

UWAGA - dla układów jak ALC883, ALC888 np na P5Q czy P7P55 WS SC i ALC882 np na P5W DH Deluxe nie działa poprawnie inject w cloverze, dlatego stosuję stosowną tabelkę SSDT z metodą DTGP popychającą HDEF przez SSDT. Poniżej gotowiec (wzorzec) dla ALC888/1200 na płytach ASUSa z rodziny P5Q i P7P55 WS SC, oraz ALC882 na P5W DH Deluxe

SSDT_ASUS_ALC888-1200.aml.zip

ALC882_P5W_DH_Deluxe_SSDT.aml.zip

Lub zamiast w/w tabelki SSDT dodać taki FIX do sekcji ACPI Clovera:

<key>ACPI</key>
<dict>
  <key>DSDT</key>
  <dict>
   <key>Fixes</key>
   <dict>
    <key>AddDTGP_0001</key>
    <true/>
    <key>FixHDA_8000</key>
    <true/>
   </dict>
  </dict>
</dict>

3. Dodać Patch do Clovera, który będzie nanosił automatycznie binarną poprawkę na AppleHDA. Dla każdego modelu ALC jest inny patch, poniższy przykład dla ALC1150

<key>KernelAndKextPatches</key>
<dict>
  <key>KextsToPatch</key>
  <array>
   <dict>
    <key>Comment</key>
    <string>ALC1150 patch</string>
    <key>Find</key>
    <data>
    ixnUEQ==
    </data>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    AAnsEA==
    </data>
   </dict>
  </array>
</dict>

Każdy układ ALC ma inne ID i dlatego wartości klucza linii "Replace" należy ustawić w zależności od posiadanego układu:

ALC888/1200 - ma być to: iAjsEA==

ALC892: kgjsEA==

ALC1150: AAnsEA==

 

Wyjaśnienie krótkie po co i dlaczego robimy powyższy patch: 

Aby uruchomić układ z DeviceID innym niż czekuje tego AppleHDA musimy w nim wykonać patch albo ręcznie, albo ustawić automat w cloverze. Zasada jest prosta, musimy znaleźć ciąg binarny w AppleHDA odpowiadający takiemu identyfikatorowi: 11D4 198B i zamienić na nasz identyfikator układu, np 10EC 0888. W plikach binarnych szukamy takiego ciągu 8B19D411 i zamieniamy go na 8808EC10. Generalnie do do edycji polecam edytor pilnujący składni, np PlistEdit z XCode, lub komercyjny PlistEdit Pro, widać w nim co i jak się zmienia, przykład poniżej:

Zrzut ekranu 2014-10-28 o 00.24.17.png

 

 

El Capitan wymaga jeszcze dodatkowego patcha, jest ona wymagany przy wszystkich układach:

<dict>
    <key>Find</key>
    <data>gxnUEQ==</data>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>AAAAAA==</data>
</dict>

Patch dla ALC882 i ALC883 na P5W DH Deluxe, P5KC itp jest zupełnie inny, poniżej dokładna forma do wklejenia do Clovera:

Dla ALC882:

<dict>
    <key>Comment</key>
    <string>ALC882 patch #1</string>
    <key>Find</key>
    <data>
    hQjsEA==
    </data>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    ggjsEA==
    </data>
   </dict>
   <dict>
    <key>Comment</key>
    <string>ALC882 patch #2</string>
    <key>Find</key>
    <data>
    hAjsEA==
    </data>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    AAAAAA==
    </data>
   </dict>

Dla ALC883:

<dict>
    <key>Comment</key>
    <string>ALC883 patch #1</string>
    <key>Find</key>
    <data>
    hQjsEA==
    </data>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    gwjsEA==
    </data>
   </dict>
   <dict>
    <key>Comment</key>
    <string>ALC883 patch #2</string>
    <key>Find</key>
    <data>
    hAjsEA==
    </data>
    <key>Name</key>
    <string>AppleHDA</string>
    <key>Replace</key>
    <data>
    AAAAAA==
    </data>
   </dict>

4. Dla Yosemite 10.10 musimy dodać parametr startowy: kext-dev-mode=1 w innym wypadku Legacy nie zostanie załadowany.

<key>Boot</key>
<dict>
  <key>Arguments</key>
  <string>kext-dev-mode=1</string>
</dict>

5. Dla opornych układów na płytach z chipsetem Z97, EAPDFix.kext potrafi "ożywić" układ i sprawić, że dźwięk będzie z zielonego tylnego wyjścia oraz z słuchawkowego. Przeciwdziała też ubijaniu dźwięku po 30 sek od wybudzenia z sleep. poniższy EAPDFix.kext został przystosowany pod płytę ASUSa Z97-WS (na bazie oficjalnej wersji 2.0.1 - UWAGA nie kompatybilna z 10.11, dla 10.11 należy najlepiej użyć wersji 2.2), ale będzie działał na 99% innych konstrukcjach gdzie układ wyjść jest standardowy.

EAPDFix.kext.zip

Credits należy się EMlyDinEsH, źródło i szerszy opis w tym temacie: http://forum.osxlatitude.com/index.php?/topic/3084-eapdjack-sense-fix-no-audiojack-sense-issue-after-sleep/

 

Proszę o testy i szczegółowe informacje jaki układ, na jakiej płycie i na jakim systemie udało się uruchomić. Jeśli coś nie działa, to proszę o dokładny opis. Jeśli są pytania, to proszę pytać, śmiało, nawet jak są to pytania najbardziej podstawowe, chce stworzyć kompletny poradnik, aby w przyszłości wszyscy mogli z niego skorzystać.

 

Historia zmian:

Wersja 1.5/2.1:

1. Wersja 2.1 zaktualizowana do wymagań El Capitan 10.11.4 i zapewne wyższych.

Wersja 1.5/2.0:

1. Wersja 1.5 zaktualizowana do wymagań Yosemite 10.10.5

2. Wersja 2.0 zaktualizowana do wymagań El Capitan 10.11.0 do 10.10.3.

3. Wyeliminowanie występujących czasami KP w wersji 1.4 i niższych przy komputerach z kartami nvidia. 

Wersja 1.4b:

1. Dodany EAPDFix.kext na bazie oficjalnej 2.0.1. z ustawieniami pod Z97-WS - popycha audio na wielu opornych płytach Z97

Wersja 1.4a:

1. Poprawki patchy, powinno być patchowane AppleHDA - wypatrzył oswaldini

Wersja 1.4:

1. Dodano obsługę ALC883 - Layout 2

Wersja 1.3:

1. Powinien działać już poprawnie z HDMIAudio.

2. Dodanie ALC882.

3. Poprawki dla ALC1150/892 - usunięcie AFGLowpowerstate - przez co powinien dźwięk być po sleep - ale na Z97 prawdopodobnie ubije go całkowicie. :/

4. Inne drobiazgi.

 

Aktualne wersje:

Dla Yosemite 10.10.5: 

AppleHDA_Uniwersal_ALC8xx_v1.5.kext.zip

Dla El Capitan 10.11.x:

AppleHDA_Uniwersal_ALC8xx_v2.0.kext.zip

Dla El Capitan 10.11.4:

AppleHDA_Uniwersal_ALC8xx_v2.1.kext.zip

 

Poprzednie wersje:

AppleHDA_Uniwersal_ALC8xx_v1.4.kext.zip

AppleHDA_Uniwersal_ALC8xx_v1.3.kext.zip

AppleHDA_Uniwersal_ALC8xx_v1.1.kext.zip

 

EAPDFix - Oficjalne wersje z forum osxlatitude:

EAPDFix_v2.0.1.zip

EAPDFix_v2.1_Final.zip

EAPDFix_v2.2_Final.zip

Edytowane przez 314TeR
Nowe wersje 1.5 i 2.0.
Odnośnik do komentarza
Udostępnij na innych stronach

A co na layout 12? Trzeba zmienić na 5? AppleHDA_universal nie zadziała z Clovera? Jak tak, to mogę się pożegnać z dźwiękiem. Czyli wynika z tego że, podmiana zlibów jest niemożliwa z Clovera.

przeczytaj wyraznie , kext skopiuj do system do s/l/e w czym problem ? , ustaw layout stosowny dla twojego kodeka oraz patch kextu w locie.

 

Dziala tylko z cloverem , chameleon nie ma takiej mozliwosci jak paczowanie w locie kextow

Odnośnik do komentarza
Udostępnij na innych stronach

Widzę, że nastały czasy, że wszystko trzeba powtarzać dla pewności miliard razy. DummyHDA ma w sobie info.plist (jak dla LegacyHDA, info dla kexta AppleHDAHardwareConfigDriver) oraz pliki layout i platform. DummyHDA jest ładowany PRZED AppleHDA dlatego nie trzeba wgrywać plików layout i platform do AppleHDA przez co mamy czyste nie modyfikowane AppleHDA. Uzupełnienie to binpatch AppleHDA w Cloverze.

 

DummyHDA nie może być w Cloverze ponieważ pliki layout i platform są wczytywane nie z pamięci, a z dysku po załadowaniu systemu.

 

Onkow przestań demonizować. Trzeba się zapoznać ze strukturą i budową poszczególnych kextów i ich działaniem. Są pliki które mogą być w Cloverze/Extra a są takie co nie mogą być. Dzięki opcji ForceKextsToLoad liczba kextów nie ładowanych z Clovera zmalała radykalnie. Zostały tylko kexty, które ładują pliki resources z dysku - czyli np. wymieniony AppleHDA.

Odnośnik do komentarza
Udostępnij na innych stronach

314ter drobna poprawka 

 

iMac:~ Ariel$ touch /System/Library/Extensions

touch: /System/Library/Extensions: Permission denied

sudo cp -R AppleHDA_Uniwersal_ALC8xx_v1.1.kext /System/Library/Extensions
chown -R 0:0 /System/Library/Extensions/AppleHDA_Uniwersal_ALC8xx_v1.1.kext
sudo touch /System/Library/Extensions 

 

 

Aby zaladowalo AppleHDA_Uniwersal_ALC8xx_v1.1.kext wymagany argument w cloverze kext-dev-mode=1

 

Raport z Asus Z97-PRO (iMac 15,1) ALC1150, w informacjach systemowych karta dzwiekowa jest widoczna lecz nie mozna wybrac zadnego wejscia/wyjscia w preferencje systemowe > dzwiek

zrzut ekranu ponizej

1zouo2o.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Właśnie sprawdziłem i AppleHDA_Universal_ALC8xx_v1.1 się z S/L/E nie załadował... Oczywiście w 10.10. W logach nic nie ma.

 

Nie zobaczysz nic w logach, żadnego legacy nie znajdziesz w logach ani kextwizardzie ani w kextstats, ponieważ legacy "modyfikuje" jakby oryginalny kext, w tym wypadku AppleHDA. Efektem poprawnego działania Legacy jest działający tutaj dźwięk.

 

W 10.10 obowiązkowo do parametrów startowych trzeba dopisać kext-dev-mode=1 bez tego nie zostanie załadowany żaden kext bez cyfrowego podpisu Apple, nawet działające oficjalne sterowniki np do 10.8/10.9.

 

arielvanp - dzięki za zwrócenie uwagi... poprawki naniosłem.

Czy z Clovera usunąłeś stary legacy? hmmm.... to co pokazujesz jest dziwne, bo tak jakby częściowo się załadował, a przynajmniej pinconfig. Przebuduj jeszcze raz uprawnienia, cache... sprawdź czy na 100% masz dopisany kext-dev-mode=1 i czy w logach konsoli jest podany.

Odnośnik do komentarza
Udostępnij na innych stronach

314ter , nie testowalem zadnego innego kextu do audio na 10.10 , uzywalem FiiO e10 na usb  , uruchomilem dzis ALC1150 z ciekawosci sprawdzenia nowego rozwiazania

 

argument kext-dev-mode=1  jest w cloverze 

 

clover w najnowszej wersji 2976

 

naprawa uprawnien i przebudowa cache zrobiona kext wizardem i ruszylo ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Po instalacji AppleHDA_Universal, przestał mi się ładować oryginalny AppleHDA. Po usunięciu AppleHDA_Universal, nadal AppleHDA się nie ładuje!

jesli instalujesz to na plycie ze stopki to tam masz kodek ALC889 a ta metoda jest dla ALC888 1200 892 1150.

Odnośnik do komentarza
Udostępnij na innych stronach

arielvanp - to w takim razie po ostatnich poprawkach dla ALC1150 nie skopałem nic...

 

Teraz sprawdź go dokładnie jak możesz, bo ciekaw jestem czy ma te same błedy i problemy co u mnie:

1. Czy działa Spekaer - green line out analogowy

2. Czy działa HP (słuchawki) - czy po wpięciu ich wyciszony zostanie tylny line out - sprawdź też w preferencjach dźwięku czy po wpięciu słuchawek nie przerzuci Ci wyjścia np na cyfrowe, czy inny line out.

3. Jak działa cyfrowe wyjście z płyty, czy gra bez zacięć.

4. I jeszcze raz to samo co wyżej, ale po wybudzeniu ze sleep...

 

Celowo nie opisuje problemów aby nic nie sugerować...

Odnośnik do komentarza
Udostępnij na innych stronach

Na tę chwilę jest obsługa trzech kodeków wymienionych w pierwszym poście... ALC888/1200, ALC892 i ALC1150. Następne układy wkrótce jak tylko znajdę czas, ale wpierw muszę mieć informację czy już zaimplementowane kodeki działają i czy nie ma problemów. Łatwiej dla mnie nanieść poprawki na 3 układy, niż potem poprawiać 7.

Odnośnik do komentarza
Udostępnij na innych stronach

WItam

 

Mam podoby problem co kolega @arielvanp

 

W informacjach systemowych karta dźwiękowa (alc888/888t)jest widoczna lecz nie można wybrać żadnego wejścia/wyjścia w preferencje systemowe > dźwięk. Naprawa kext wizardem też nic nie pomaga.

 

post-2919-0-71331600-1414521642_thumb.jpg

 

 

Konfig clovera. Może coś przeoczyłem. 

config.plist.zip

Odnośnik do komentarza
Udostępnij na innych stronach

1. Trzask, o którym pisałem przy 10.9 dalej występuje - http://hamac.pl/topic/9887-piekne-trzaski-podczas-resamplingu-i-downsampling-na-alc892/

 

 

2. Podpięcie słuchawek od frontu - przełączyć... przełącza wejście ale gdy nic nie gra na digitalu.

Tylko że nie ma żadnego dźwięku.

Mikrofon działa

Zrzut_ekranu_2014_10_28_o_20_28_31.png

 

3. Tył

Podpięcie - efekt

 

Zielone - Line IN - NIC

Niebieskie - Line OUT - NIC

Czerwone - Line OUT - Działa

Pomarańcz - CSUB - NIC

Czarne - Rear - NIC

Odnośnik do komentarza
Udostępnij na innych stronach

arielvanp - to w takim razie po ostatnich poprawkach dla ALC1150 nie skopałem nic...

 

Teraz sprawdź go dokładnie jak możesz, bo ciekaw jestem czy ma te same błedy i problemy co u mnie:

1. Czy działa Spekaer - green line out analogowy

2. Czy działa HP (słuchawki) - czy po wpięciu ich wyciszony zostanie tylny line out - sprawdź też w preferencjach dźwięku czy po wpięciu słuchawek nie przerzuci Ci wyjścia np na cyfrowe, czy inny line out.

3. Jak działa cyfrowe wyjście z płyty, czy gra bez zacięć.

4. I jeszcze raz to samo co wyżej, ale po wybudzeniu ze sleep...

 

Celowo nie opisuje problemów aby nic nie sugerować...

1.Green line out dziala

2. Po wpieciu sluchawek do panelu przedniego obudowy , przelacza na wyjscie cyfrowe 

3. Aktualnie nie mam jak sprawdzic amplituner w salonie , przeniose komputer w wolnym czasie i sprawdze .

 

 

po wybudzeniu ze sleepu cisza w sluchawkach i glosnikach.

Odnośnik do komentarza
Udostępnij na innych stronach

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.