MaciASL – praktyka patchowania DSDT

Zestaw poradników który pomoże zacząć Ci z DSDT i SSDT.
Awatar użytkownika
Alpha01
Lokalizacja: Silesia
Posty: 1108
Rejestracja: 21 kwie 2019, 18:04

MaciASL – praktyka patchowania DSDT

02 cze 2019, 13:26

Po tym suchym i mało zrozumiałym tekście przejdźmy do konkretów, na podstawie realnego przykładu.
Komputer który będziemy patchować posiada płytę Gigabyte GA-Z97M-D3H i Intel i5-4690K.



1. Startujemy komputer. W Clover-menu naciskamy F4.
1.jpg
1.jpg (10.38 KiB) Przejrzano 555 razy
2. Przechodzimy do macOS i programem Clover Configurator montujemy EFI (mount EFI) z SSD/HDD startowego.
2.jpg
2.jpg (171.54 KiB) Przejrzano 555 razy
3. Kopiujemy folder origin na pulpit i otwieramy plik DSDT.aml
3.jpg
3.jpg (205.41 KiB) Przejrzano 555 razy
... programem MaciASL.
4.jpg
4.jpg (42.68 KiB) Przejrzano 555 razy
5.jpg
5.jpg (15.1 KiB) Przejrzano 555 razy
Jest dużo wersji tego programu. Jedne generują więcej inne mniej błędów. W tym momencie użyłem wersji nieco starszej 1.4

U góry mamy 2 klawisze: Compile i Patch. Klikniemy w Compile
pokażą się błędy, w tym wypadku mamy 2.
6.jpg
6.jpg (130.46 KiB) Przejrzano 555 razy
Tylko dwa błędy to naprawdę dobry wynik. Najmniejszą liczbę błędów uzyskamy przechodząc do preferencji i nastawiając ACPI Specification na odpowiednią wersję. Przykładowo ACPI Specification 4.0 generuje już 25 errors.
Ja nastawiłem na ACPI Specification 5.1, a przy okazji kliknąłem w Update iASL.
7.jpg
7.jpg (49.47 KiB) Przejrzano 555 razy
4. Pozbywamy się błędów.
W pierwszym przypadku mamy tu całą masę ZER. Program pokazuje jedynie pierwszą linię tych Zer. Więc naznaczamy wszystkie linie z Zero, to znaczy kompletnie naznaczamy, ostatnia linia także cała naznaczona, i kasujemy.
Rezultat sprawdzamy naciskając Compile. Mamy więc tylko jeden błąd.

8.jpg
8.jpg (51.16 KiB) Przejrzano 555 razy


Klikając w niego pokaże się problematyczna linia 14224.
10.jpg
10.jpg (23.33 KiB) Przejrzano 555 razy
W tym wypadku spróbujemy linię skomentować przy pomocy //
Linia zmienia kolor na zielony a po kompilacji nie mamy już błędów a jedynie ostrzeżenia. Możemy także tą linię skasować.
Ostrzeżenia możemy zignorować. Tu są 77.
11.jpg
11.jpg (509.13 KiB) Przejrzano 555 razy
5. Zapisujemy DSDT.

6. Patche. Skąd je bierzemy.
Naturalnie sami ich pisać nie będziemy. Tego by jeszcze brakowało, co?
Są to niejako biblioteki. By program miał do nich dostęp otwieramy preferencje i klikamy w fioletowy folder Sources. Ja tu mam już jakieś włożone, między innymi dla Gigabyte.

Wystarczy kliknąć + dodać nazwę i adres, dodajmy:

Sourceforge http://maciasl.sourceforge.net
Gigabyte http://maciasl.sourceforge.net/pjalm/gigabyte
ASUS http://maciasl.sourceforge.net/pjalm/asus
RehabMan Laptop http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
12.jpg
12.jpg (44.9 KiB) Przejrzano 555 razy
Zamykamy preferencje MaciASL.
UWAGA – Robimy kopię, poprzednio pozbawionej błędów, DSDT

7. Patschowanie
Klikamy na fioletowy folder „Patch“ u góry.
Otwiera się okno. Po lewej nazwy patchy. Ponieważ dla mojej płyty głównej nie ma dedykowanego patcha wybieram H97-D3H z foldera Gigabyte. Jeden klik i patch jest w głównym oknie po prawej. Nieco niżej pod „After“ pokazane jest co się zmieni. W tym wypadku jednym klikiem na Apply załatwiamy masę spraw.

UWAGA! Czasami pojawi się ostrzeżenie:
Compiler Version Rejected
The Patch has rejected the compiler version…

Ja miałem nastawioną wersję 5.1, i musiałem przestawić na 5.0A.


13.jpg
13.jpg (288.09 KiB) Przejrzano 555 razy
Klikamy na Apply. Zamykamy okno przyciskiem Close.
Zapisujemy DSDT.

8. Przenosimy poprawione DSDT do folderu /EFI/CLOVER/ACPI/patched.

9. Testujemy DSDT najlepiej startując z kopii EFI na sticku USB.
Gigabyte Z390 M Gaming, Core i7- 9700K, SAPPHIRE RX 570 NITRO+, 16GB Crucial Ballistix Sport 3000MHz
By Altemirabelle
Awatar użytkownika
DKnoto
Lokalizacja: Marki
Posty: 837
Rejestracja: 05 maja 2019, 21:01

Re: MaciASL – praktyka patchowania DSDT

02 cze 2019, 14:16

I tu jest super klarownie :-)

Rozważyłbym tylko zmianę „Robimy kopię poprzednio wyczyszczonej DSDT” na „Robimy kopię, poprzednio pozbawionej błędów, DSDT”. Bo sam się zacząłem zastanawiać jakie czyszczenie przeoczyłem ;-)
Laptop: Dell Precision 7730 | Intel Core i9 8950HK | Radeon Pro WX 7100 | 16GB RAM | Samsung SSD 1TB M.2 970 Pro + WD HDD 2TB | macOS Catalina 10.15 (19A602)
Awatar użytkownika
Alpha01
Lokalizacja: Silesia
Posty: 1108
Rejestracja: 21 kwie 2019, 18:04

Re: MaciASL – praktyka patchowania DSDT

02 cze 2019, 17:20

Otwórzmy teraz origin DSDT wersją 1.5.5 MaciASL:
Mamy nagle 3 błędy.

syntax error, unexpected PARSEOP_ZERO
syntax error, unexpected ’}’
syntax error, unexpected $end and premature End-Of-File

15.jpg
15.jpg (208.83 KiB) Przejrzano 523 razy
Otwórzmy teraz DSDT skorygowany wersją 1.4 w wersji 1.5.5 MaciASL:
Czyli starszym programem skorygowany DSDT otwieram nowszym-aktualnym programem 1.5.5 MaciASL.
14.jpg
14.jpg (362.17 KiB) Przejrzano 523 razy
Mamy mniej ostrzeżeń. :D
Ale żadnych błędów.

...
Gigabyte Z390 M Gaming, Core i7- 9700K, SAPPHIRE RX 570 NITRO+, 16GB Crucial Ballistix Sport 3000MHz
By Altemirabelle
selphy
Posty: 30
Rejestracja: 09 sie 2019, 17:22

Re: MaciASL – praktyka patchowania DSDT

09 sie 2019, 17:50

Jak to wygląda w kwestii płyt Z390 ? Nie ma w ogóle w patchach płyt 100,200,300 Coffee Lake

Edit: Już znalazłem odpowiedź. Można zrobić to w ten sposób, https://www.insanelymac.com/forum/topic ... ackintool/
Awatar użytkownika
Alpha01
Lokalizacja: Silesia
Posty: 1108
Rejestracja: 21 kwie 2019, 18:04

09 sie 2019, 18:57

Od generacji Skylake pojawiła się tendencja odejścia od patchowania DSDT. Ponieważ w zasadzie wszystko można zrobić w locie przy pomocy Clovera. Sam również niechętnie łatam DSDT.
Co nie znaczy że tego się nie robi. Wielu nadal stosuje tą metodę. Wiele patchów można jako uniwersalne ocenić. Natomiast nie ma paczek na płaty główne czy chipsety, jednym klikiem załatwiających całą masę spraw. Trzeba więc wiedzieć co się robi. Niestety trzeba sporo studiować ten temat.
Gigabyte Z390 M Gaming, Core i7- 9700K, SAPPHIRE RX 570 NITRO+, 16GB Crucial Ballistix Sport 3000MHz
By Altemirabelle
Awatar użytkownika
Alpha01
Lokalizacja: Silesia
Posty: 1108
Rejestracja: 21 kwie 2019, 18:04

09 sie 2019, 19:01

Ach o to ci chodziło. To było też opisane na naszym forum. Ale PDF został skasowany przez przypadek, przez brak miejsca.
Bardzo dobry poradnik.
Ja osobiście część informacji wywaliłem by nie zaśmiecać sobie i zostawiłam tylko istotne rzeczy:

pci.jpg
pci.jpg (75.59 KiB) Przejrzano 437 razy
Gigabyte Z390 M Gaming, Core i7- 9700K, SAPPHIRE RX 570 NITRO+, 16GB Crucial Ballistix Sport 3000MHz
By Altemirabelle
selphy
Posty: 30
Rejestracja: 09 sie 2019, 17:22

Re: MaciASL – praktyka patchowania DSDT

09 sie 2019, 21:59

Dzięki. Odpaliłem na yt film od al6042, ale jednak zabawa z DSDT i studiowanie tego to trochę za dużo ;)
A czy poza dodaniem tych pci przez hackintoola i przypisanie dodatkowo wszystkich usb coś jeszcze jest potrzebne, aby w pełni cieszyć się hackiem i był on stabilny ?
Awatar użytkownika
Alpha01
Lokalizacja: Silesia
Posty: 1108
Rejestracja: 21 kwie 2019, 18:04

09 sie 2019, 22:25

al6042 to stary wyga, mnie też kiedyś instruował :D , gościu chętnie pomaga.

A czy poza dodaniem tych pci przez hackintoola
>> naturałnie. Część jest w sekcji ACPI a część w KextsToPatch w Kernel and Kext Patches.
Wszystko zależy od sprzętu. Dla każdeko wygląda to nieco inaczej.
Gigabyte Z390 M Gaming, Core i7- 9700K, SAPPHIRE RX 570 NITRO+, 16GB Crucial Ballistix Sport 3000MHz
By Altemirabelle
Awatar użytkownika
mrhackintosh
Site Admin
Kontakt:
Lokalizacja: Lodz
Posty: 133
Rejestracja: 15 wrz 2018, 23:48

Re: MaciASL – praktyka patchowania DSDT

12 sie 2019, 13:49

Fajne :) Bardzo przydatny poradnik :) Wrzucę go dzisiaj na główną co by trochę podciągnąć :)

Wróć do „Poradniki”