Skocz do zawartości

GMA950 10.5.6 Dell D620


dee
 Udostępnij

Rekomendowane odpowiedzi

Witam,

mam szybkie pytanie bo spedzam juz drugi dzien na szukaniu skutecznego rozwiazania z przycinaniem myszki i pojawiajacymi sie artefaktami na GMA950 pod 10.5.6 na Dell Latitude D620 (wiem ze nie jest to kozak)

 

cwiczylem juz roznych kombinacji i nie wiem czy to taki juz jej urok czy cos omijam ...

 

Instalacja:

Retail 10.5.6

 

probowalem z EFI stringiem dla GMA950 laptop i bez EFI nie wiem czy ma to jakiekolwiek znaczenie

 

udalo sie tez QE/QI i rozdzielczosci mam jak trzeba (podmiana AppleIntelIntegratedFramebuffer bo nie dzialal display w lapie, reszta Retail'owa)

 

slyszalem ze mozna odpalic je z modyfikacja DSDT z wpisem dla GMA950 ale znalazlem tylko wersje desktopowa i nie wiem czy jest sens walczyc przy laptopie z tym wpisem ...

 

jezeli ktos jest w stanie jakos mi pomoc to bede wdzieczny... czytam jak ludzie post'uja jakies paczki z extra dopracowanymi kextami dla GMA i ze nie ma zadnych artefaktow i przycinania myszy ale jak instaluje owe czary mary u siebie to niestety nic z tego nie wychodzi ...

Odnośnik do komentarza
Udostępnij na innych stronach

Ten link pewnie sprawdzałeś?

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

Jeśli przestraszyłeś się info "desktop-owej" - to spokojnie, zobacz że niżej masz DSDT z patchami do dell mini 9 i msi wind, a to netbooki.

 

PS Kiedyś był taki instalator do dell'i, szukałeś go, może ona ma skuteczne rozwiązanie.

Odnośnik do komentarza
Udostępnij na innych stronach

wystarczy na wstrzykniecie samej tej sekcji od PCI0 czy tylko sama sekcje GFX0 ?

 

        Device (PCI0) 
       { 
           Name (_HID, EisaId ("PNP0A08")) 
           Name (_ADR, Zero) 
           Device (PEGP) 
           { 
               Name (_ADR, 0x00020000) 
               Device (GFX0) 
               { 
                   Name (_ADR, Zero) 
                   Method (_DSM, 4, NotSerialized) 
                   { 
                       Store (Package (0x1A) 
                           { 
                               "device_type", 
                               Buffer (0x08) 
                               { 
                                   "display" 
                               }, 

                               "model", 
                               Buffer (0x07) 
                               { 
                                   "GMA950" 
                               }, 

                               "built-in", 
                               Buffer (One) 
                               { 
                                   0x01
                               } 
                           }, Local0) 
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                       Return (Local0) 
                   } 
               } 
           } 

           Method (^BN00, 0, NotSerialized) 
           { 
               Return (Zero) 
           } 

           Method (_BBN, 0, NotSerialized) 
           { 
               Return (BN00 ()) 
           } 

           Name (_UID, Zero) 
           Method (_PRT, 0, NotSerialized) 
           { 
               If (PICM) 
               { 
                   Return (AR00) 
               } 

               Return (PR00) 
           } 

           Method (USXD, 0, NotSerialized) 
           { 
               If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) 
               { 
                   Return (0x02) 
               } 
               Else
               { 
                   Return (0x03) 
               } 
           }

Odnośnik do komentarza
Udostępnij na innych stronach

lekko sie zmieszalem bo nie wiem czy miejsce wstrzykniecie w DSDT ma znaczenie bo dogrzebalem sie ze potrzebne sa 2 sekcje w DSDT do wstrzykniecie w odpowiednich miejscach i tu jest akcja bo nie mam u siebie omawianej sekcji

 

pierwsza czesc kodu dla GMA950 powinna znalezc sie niby nad Scope (_SI)

 

        Notify (\_SB.PCI0.USB2, Zero) 
        Notify (\_SB.PCI0.USB3, Zero) 
   } 

   Method (DTGP, 5, NotSerialized) 
   { 
       If (LEqual (Arg0, Buffer (0x10) 
               { 
                   /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                   /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
               })) 
       { 
           If (LEqual (Arg1, One)) 
           { 
               If (LEqual (Arg2, Zero)) 
               { 
                   Store (Buffer (One) 
                       { 
                           0x03
                       }, Arg4) 
                   Return (One) 
               } 

               If (LEqual (Arg2, One)) 
               { 
                   Return (One) 
               } 
           } 
       } 

       Store (Buffer (One) 
           { 
               0x00
           }, Arg4) 
       Return (Zero) 
   } 

   Scope (_SI) 
   { 

 

a druga sekcja w miejsu Device (PCI0)

 

Device (PCI0) 
       { 
           Name (_HID, EisaId ("PNP0A03")) 
           Name (_ADR, Zero) 
           Name (_UID, One) 
           Name (_BBN, Zero) 
           Device (PEGP) 
           { 
               Name (_ADR, 0x00020000) 
               Device (GFX0) 
               { 
                   Name (_ADR, Zero) 
                   Method (_DSM, 4, NotSerialized) 
                   { 
                       Store (Package (0x1A) 
                           { 
                               "device_type", 
                               Buffer (0x08) 
                               { 
                                   "display" 
                               }, 

                               "model", 
                               Buffer (0x07) 
                               { 
                                   "GMA950" 
                               }, 

                               "built-in", 
                               Buffer (One) 
                               { 
                                   0x01
                               } 
                           }, Local0) 
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                       Return (Local0) 
                   } 
               } 
           } 

           Method (_S3D, 0, NotSerialized) 
           { 
               If (LEqual (OSFL, 0x02)) 

 

save DSDT.dsl i kompilacja do .aml i lekko jestem zmieszany ;) bo nie wiem gdzie je wstrzyknac jak nie mam Scope (_SI)

Odnośnik do komentarza
Udostępnij na innych stronach

pierwsza czesc kodu dla GMA950 powinna znalezc sie niby nad Scope (_SI)

źle napisali...

To co używasz to metoda DTGP - generalnie ona może być w dowolnym miejscu dsdt... ja zwyczajnie wklejam ją na samym początku zaraz po pierwszym nawiasie otwierającym kod dsdt {

tu masz przykład, zobacz pkt 2. i zrób identycznie:

http://hamac.pl/topics27/fixy-dsdt-dla- ... -vt857.htm

a druga sekcja w miejsu Device (PCI0)

Tam gdzie fizycznie jest podłączona GMA - sprawdź w ioregexplorerze w jakiej gałęzi jest GMA950 - znajdziesz wyżej nazwę urządzenia (np nazwę portu PCI - PCI0, PCI1, PXE40, P0P7 itp) - odnajdź identyczną nazwę u siebie w DSDT i wiesz już gdzie dostawić wpis.

Z tego powyższego sam fix - to:

                    Method (_DSM, 4, NotSerialized) 
                   { 
                       Store (Package (0x1A) 
                           { 
                               "device_type",
                               Buffer (0x08) 
                               { 
                                   "display" 
                               },

                               "model",
                               Buffer (0x07) 
                               { 
                                   "GMA950" 
                               },

                               "built-in",
                               Buffer (One) 
                               { 
                                   0x01
                               } 
                           }, Local0) 
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                       Return (Local0) 
                   } 

Reszta to otoczka oryginalnego kodu, u Ciebie może być inna.

Odnośnik do komentarza
Udostępnij na innych stronach

Powinno być prosto... acz to dsdt jest jakieś chyba uniwersalne... bo i też znajdują się tu odwołania do portów AGP - a przecież ich nie masz... chyba... :roll::?:

 

VGA jest u ciebie pod urządzeniem "Device (VID)" adres 0x00020000, Odszukaj taką sekcję w dsdt - uważaj bo są dwie - znajdź tę z właściwym adresem:

            Device (VID) 
           { 
               Name (_ADR, 0x00020000) 
               Method (_DOS, 1, NotSerialized) 
               { 
                   Store (Arg0, MIS4) 
                   SMI (0x9E, MIS4) 
               }

i spróbuj wstawić tam kod od karty - w ten sposób:

            Device (VID) 
           { 
               Name (_ADR, 0x00020000) 
               Device (GFX0) 
               { 
                   Name (_ADR, Zero) 
                   Method (_DSM, 4, NotSerialized) 
                   { 
                       Store (Package (0x1A) 
                           { 
                               "device_type",
                               Buffer (0x08) 
                               { 
                                   "display" 
                               },

                               "model",
                               Buffer (0x07) 
                               { 
                                   "GMA950" 
                               },

                               "built-in",
                               Buffer (One) 
                               { 
                                   0x01
                               } 
                           }, Local0) 
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                       Return (Local0) 
                   } 
               } 

               Method (_DOS, 1, NotSerialized) 
               { 
                   Store (Arg0, MIS4) 
                   SMI (0x9E, MIS4) 
               }

Oczywiście metoda DTGP na sam początek...

 

Powyższe dla potomności, a w załączniku DSDT już z wstawionymi sekcjami oraz poprawką uniemożliwiającą skompilowanie DSDT

Compilation complete. 0 Errors, 9 Warnings, 8 Remarks, 676 Optimizations

- w tej wersji zero innych poprawek jak dla HPET, RTC, PIC, MUTE, itp itd...

DSDT Dell D620 - 314TeR mod 1.0.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Nowa wersja z poprawkami dla HPET, RTC i TMR...

 

Możesz próbować odpalić speedsteep, tym bardziej że widziałem w ioreg'u że załadował Ci LPC.

 

dzieki za DSDT jednak akcja jest taka ze przy ladowniu AppleIntelCPUPowerManagement kernel panikuje z informacja o HPET.

wczesniej mialem zaladowany HPETdevice od netkasa i bez DSDT (nie uzywalem) ladowalo mi bez panikowania... po wyladowaniu tego kexta i zaladowaniu DSDT jest jak wyzej - panikuje...

 

Grafika laduje sie z retailowymi kextami ze wszystkimi feature'sami (rozdzielczosc...QI/QE..rotation.) tyle ze jest maly problem - z retailowym AppleIntelIntegratedFramebuffer laduje mi na external display podlaczony do lapa ... nie wyswietla na LCD

:shock:

Odnośnik do komentarza
Udostępnij na innych stronach

dzieki za DSDT jednak akcja jest taka ze przy ladowniu AppleIntelCPUPowerManagement kernel panikuje z informacja o HPET.

A to ciekawe... sekcja jest na 100% poprawna :-? Muszę przyjrzeć się jeszcze raz... być może są jeszcze warunki zwrotu wartości HPET w zalezności od rozpoznanego systemu... widywałem już takie kwiatki i wtedy trzeba dołożyć rozpoznawanie Darwina do OSI.

Grafika laduje sie z retailowymi kextami ze wszystkimi feature'sami (rozdzielczosc...QI/QE..rotation.) tyle ze jest maly problem - z retailowym AppleIntelIntegratedFramebuffer laduje mi na external display podlaczony do lapa ... nie wyswietla na LCD

No tu nie mam pojęcia :/ nie znam się aż tak... to co zrobiłem powyżej to trochę "na czuja" na podstawie tego co już wiem. Trzeba porównać kod DSDT z MacBook'ów z GMA950 i tymi netbookami, może tam będą jakieś wskazówki.

Odnośnik do komentarza
Udostępnij na innych stronach

hmmm... przepatrzylem DSDT od Dell'a M9 i znalazlem w sekcji GFX dodatkowe partie moze to cie zainteresuje

 

          Device (GFX0) 
           { 
               Name (_ADR, 0x00020000) 
               Method (_DOS, 1, NotSerialized) 
               { 
                   Store (And (Arg0, 0x03), DSEN) 
               } 

               Method (_DOD, 0, NotSerialized) 
               { 
                   Return (Package (0x03) 
                   { 
                       0x80010400, 
                       0x80010200, 
                       0x80010300
                   }) 
               } 

               Method (DSS, 1, NotSerialized) 
               { 
                   If (LEqual (And (Arg0, 0xC0000000), 0x80000000)) 
                   { 
                       If (And (NSTE, 0x03)) 
                       { 
                           And (0xFFFD, NSTE, NSTE) 
                       } 

                       If (And (NSTE, One)) 
                       { 
                           Store (One, GP22) 
                       } 
                       Else
                       { 
                           Store (Zero, GP22) 
                       } 

                       Store (NSTE, CSTE) 
                   } 
               } 

               Device (LCD) 
               { 
                   Method (_ADR, 0, Serialized) 
                   { 
                       Return (0x0400) 
                   } 

                   Method (_DCS, 0, NotSerialized) 
                   { 
                       Return (0x1F) 
                   } 

                   Method (_DGS, 0, NotSerialized) 
                   { 
                       Return (One) 
                   } 
               } 

               Device (VGA) 
               { 
                   Method (_ADR, 0, Serialized) 
                   { 
                       Return (0x0300) 
                   } 

                   Method (_DCS, 0, NotSerialized) 
                   { 
                       If (And (CSTE, One)) 
                       { 
                           Return (0x1F) 
                       } 

                       Return (0x1D) 
                   } 

                   Method (_DGS, 0, NotSerialized) 
                   { 
                       If (And (NSTE, One)) 
                       { 
                           Return (One) 
                       } 

                       Return (Zero) 
                   } 

                   Method (_DSS, 1, NotSerialized) 
                   { 
                       If (And (Arg0, One)) 
                       { 
                           Or (One, NSTE, NSTE) 
                       } 
                       Else
                       { 
                           And (0xFFFE, NSTE, NSTE) 
                       } 

                       DSS (Arg0) 
                   } 
               } 

               Device (TV) 
               { 
                   Method (_ADR, 0, Serialized) 
                   { 
                       Return (0x0200) 
                   } 

                   Method (_DCS, 0, NotSerialized) 
                   { 
                       If (And (CSTE, 0x02)) 
                       { 
                           Return (0x1F) 
                       } 

                       Return (0x1D) 
                   } 

                   Method (_DGS, 0, NotSerialized) 
                   { 
                       If (And (NSTE, 0x02)) 
                       { 
                           Return (One) 
                       } 

                       Return (Zero) 
                   } 

                   Method (_DSS, 1, NotSerialized) 
                   { 
                       If (And (Arg0, One)) 
                       { 
                           Or (0x02, NSTE, NSTE) 
                       } 
                       Else
                       { 
                           And (0xFFFD, NSTE, NSTE) 
                       } 

                       DSS (Arg0) 
                   } 
               } 
           } 

 

Są dodane device'y LCD/VGA/TV moze to ma jakis zwiazek z tym o czym rozmawiamy ?

 

kod DSDT od MSI Wind:

 

     Device (PCI0) 
       { 
           Name (_HID, EisaId ("PNP0A08")) 
           Name (_ADR, Zero) 
           Device (PEGP) 
           { 
               Name (_ADR, 0x00020000) 
               Device (GFX0) 
               { 
                   Name (_ADR, Zero) 
                   Method (_DSM, 4, NotSerialized) 
                   { 
                       Store (Package (0x1A) 
                           { 
                               "device_type", 
                               Buffer (0x08) 
                               { 
                                   "display" 
                               }, 

                               "model", 
                               Buffer (0x07) 
                               { 
                                   "GMA950" 
                               }, 

                               "built-in", 
                               Buffer (One) 
                               { 
                                   0x01
                               } 
                           }, Local0) 
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                       Return (Local0) 
                   } 
               } 
           } 

           Method (^BN00, 0, NotSerialized) 
           { 
               Return (Zero) 
           } 

           Method (_BBN, 0, NotSerialized) 
           { 
               Return (BN00 ()) 
           } 

           Name (_UID, Zero) 
           Method (_PRT, 0, NotSerialized) 
           { 
               If (PICM) 
               { 
                   Return (AR00) 
               } 

               Return (PR00) 
           } 

           Method (USXD, 0, NotSerialized) 
           { 
               If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) 
               { 
                   Return (0x02) 
               } 
               Else
               { 
                   Return (0x03) 
               } 
           } 

           Name (_CID, EisaId ("PNP0A03")) 

 

ja poszukam jeszcze oryginalnego DSDT z macbook2,1 bo chyba te mialy GMA950.

New_Dell_M9.zip

Wind.zip

Odnośnik do komentarza
Udostępnij na innych stronach

W dell'u nie ma w ogóle metody DTGP... a w Wind znów jest to samo co wstawiłem w Twoje DSDT. BTW u Ciebie w oryginalne też są sekcje LCD/TV/CRT itp...

Niestety na teraz nie mam pomysłów na zmuszenie do wyświetlania obrazu na LCD, poza zworą w gnieździe VGA... ale to takie nieeleganckie :-/

Odnośnik do komentarza
Udostępnij na innych stronach

sprawa z Grafika rozwiazana ..dziala poprawnie bez zarzutu full support bez artefaktow i lagow na myszce ... (co prawda na moddowanym bufferze, ale to akurat juz nie przeszkadza)

 

solution: w biosie od Dell'a ustawilem single core na CPU (zasugerowalem sie jednordzeniowymi netbookami - skoro u nich dziala :) )

 

Dzieki za pomoc :)

 

edit:

 

jest jedna rzecz... wiem ze nie za mocno pasuje do tematu ale przy okazji calej tej historii z DSDT mam pytanie czy dopisywales wpis dla LPC w DSDT ? bo w logach widze ze

 

kernel ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized

 

pisales ze w ioreg widac ze jest zaladowany ale nie moge go odszukac :shock:

Odnośnik do komentarza
Udostępnij na innych stronach

jest jedna rzecz... wiem ze nie za mocno pasuje do tematu ale przy okazji calej tej historii z DSDT mam pytanie czy dopisywales wpis dla LPC w DSDT ? bo w logach widze ze

Nie nie dopisywałem... Jak masz ICH8-M do deviceID LPC zgadza się z oryginalnym Apple'a i pewnie dla tego ładuje Ci LPC do systemu.

pisales ze w ioreg widac ze jest zaladowany ale nie moge go odszukac :shock:

Wpisz w wyszukiwanie LPC a zobaczysz sam... a że masz błąd... to oznacza że nie masz pewnie stanów CST w tabelach SSDT.

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.