Skocz do zawartości

haMac.pl używa cookie. Przeczytaj Privacy Policy aby dowiedzieć się więcej. Aby usunąć tę wiadomość, proszę kliknąć w przycisk po prawej:    Akceptuję użycie cookie

Zdjęcie
- - - - -

Asus K73SV - doskonalenie instalacji


  • Zaloguj się, aby dodać odpowiedź
22 odpowiedzi w tym temacie

#21 314TeR

314TeR

    Administrator

  • Administrators
  • 17730 postów
  • LocationWarszawa

Napisano 15 luty 2018 - 13:49

Jest lepiej i inaczej, żeby nie powiedzieć "gorzej".
 
Pierwsza kwestia - rozejrzałem się na szybko w kodzie i HPET, RTC, TMR wg mnie nie potrzebują poprawek. Masz SandyBridge, a od tej platformy Apple przestało przenosić IRQ z TMR i RTC do HPET, więc te sekcje mniej więcej wyglądają i powinny zachowywać się tak jak na macu.
 
 

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (_UID, Zero)
                    Name (BUF0, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        If (LGreaterEqual (OSYS, 0x07D1))
                        {
                            If (HPAE)
                            {
                                Return (0x0F)
                            }
                        }
                        Else
                        {
                            If (HPAE)
                            {
                                Return (0x0B)
                            }
                        }
                        Return (Zero)
                    }

Jak widzisz masz w tej sekcji warunek:
 

If (LGreaterEqual (OSYS, 0x07D1))

W zależności jaką masz wartość w OSYS zwracana jest inna wartość, aczkolwiek "konstrukcja" sekcji jednej i drugiej jest kompatybilna macOS. Wartość OSYS już wiesz gdzie i jak ustawić:
 

                If (_OSI ("Darwin"))
                {
                    Store (0x07D9, OSYS)
                }

 
Natomiast to nie jest jedyne miejsce w kodzie DSDT zależne od wartości OSYS, masz jeszcze metodę GNOT:
 

                Method (GNOT, 2, NotSerialized)
                {
                    If (PDRD ())
                    {
                        Return (One)
                    }

                    Store (Arg0, CEVT)
                    Store (0x03, CSTS)
                    If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
                    {
                        If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
                        {
                            Notify (PCI0, Arg1)
                        }
                        Else
                        {
                            Notify (GFX0, Arg1)
                        }
                    }

                    If (CondRefOf (HNOT))
                    {
                        HNOT (Arg0)
                    }
                    Else
                    {
                        Notify (GFX0, 0x80)
                    }

                    Return (Zero)
                }

A w niej:
 

If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))

Łapiesz już? Tu akurat ma wpływ na PCI0 lub GFX0 - GFX pewnie dotyczy grafiki, trzeba by dokładnie dalej analizować.
 

Teraz musisz poszukać gdzie jest używana dalej:

                Method (GHDS, 1, NotSerialized)
                {
                    Store (Arg0, TIDX)
                    Return (GNOT (One, Zero))
                }

                Method (GLID, 1, NotSerialized)
                {
                    Store (Arg0, CLID)
                    Return (GNOT (0x02, Zero))
                }

                Method (GDCK, 1, NotSerialized)
                {
                    Store (Arg0, CDCK)
                    Return (GNOT (0x04, Zero))
                }

Jak zaczniesz iść po okruszkach, zobaczysz że połowa DSDT a co za tym idzie połowa sprzętu będzie zachowywać się inaczej w zależności od tego jaką wartość masz w OSYS.

 

Teraz nie tylko musisz dopisać rozpoznawanie Darwina do _OSI, ale też musisz przeanalizować kod i możesz poeksperymentować z różnymi wartościami w OSYS dla Darwin, może 0x07D9 po prostu nie jest prawidłowe.

 

Dlaczego zwracam uwagę na to? - Od poprawnego działania HPET zależy ogólne działanie macOS i czy np wszystkie porty USB, PM etc będzie działał prawidłowo. Ustabilizuj HPET tak aby zawsze był ładowany w systemie a będzie działać macOS przewidywalnie.

 

Łatka FixHPET z Clovera nie będzie u Ciebie działać prawidłowo. Jak widzisz w zależności od tego co masz w OSYS, HPET inaczej się zachowuje. Namieszasz tylko tą łatką w kodzie DSDT i rozwalasz ustawianie innych podzespołów. Wiem, że to jest posypane pieprzem, ale jeśli chcesz naprawdę skutecznie odpalić macOS, to musisz przysiąść i zwyczajnie przeanalizować kod. On jest prosty, a nazwy często sugerują co i do czego jest.

 

Moim zdaniem:

 

1. Poprawka Darwin do _OSI - przetestuj różne wartości.

2. Żadnych patchy do DSDT z covera.

3. Brak tabeli SSDT pike'a.

4. Włączone dropy tabel SSDT od PM w Cloverze.

5. Włączone generowanie tabel SSDT do PM w Cloverze.

 

Musisz wg mnie spełnić WSZYSTKIE 5 warunków, a nie tylko część aby odnieść sukces.


ASUS MAXIMUS VII IMPACT | Core i7-4790K | 16GB DDR3 2400 CL10 | GTX 980 Ti | FiiO E10 | OS X Retail via UniBootX Clover

ASUS Z87M-PLUS | Core i5-4590T | 8GB DDR3L 1333 | HD4600 | OS X Retail via UniBootX Cloverbyłe haMac'i: ASUS P5W DH DeluxeASUS P7P55 WS Supercomputer | ASUS P8Z68 Deluxe/GEN3 | ASUS P8Z77-V PRO THUNDERBOLTJak uruchomić na wypasie ALC 882/888/889/1200 | STOP Gigafail | P5W DH Deluxe - perfekcyjny hackintosh | Piszę poprawnie po polsku!

Co daje kalibracja monitora - zobacz jak można poprawić jakość obrazu.

 

Najszybszy hackintosh na świecie za procesorem 12C identyfikujący się jako Mac Pro (Late 2013) wg rankingu Geekbench: 37000 pkt

 

Pomogliśmy Tobie - pomóż nam - przekaż darowiznę na utrzymanie forum.

 


#22 kovisoy

kovisoy
  • Members
  • 25 postów

Napisano 25 luty 2018 - 14:33

witam

 

 path który u mnie wyłącza nvidia bez pracującego na full wentylatora i prawidowymi stanami pm - może na jego podstawie wstawisz właściwe wartości dot twojej specyfikacji 

Załączone pliki



#23 jaco1771

jaco1771
  • Members
  • 14 postów

Napisano 03 marzec 2018 - 12:52

Dzięki za patch. Przejrzałem go i widzę, że w przypadku mojego sprzętu jest niepotrzebny. Wystarczy dać odpowiednie rozpoznawanie Darwin w _OSI, które spowoduje, że ładowane będzie "PCI0", a nie "GFX0" i nVidia wyłączona.

Załączone pliki

  • Załączony plik  K73SV.zip   1,13 MB   10 Ilość pobrań





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych