Jump to content

[Aiuto] Installazione ML su Optiplex 9010

- - - - -

  • Please log in to reply
59 replies to this topic

#41
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,703 posts
  • Gender:Male
  • Location:Canary Islands

EDIT: ho provato a bootare dalla HD4000 con HD4K-ig=5 e mi da il problema che citavo qualche post fa, con HD4K-ig=9 invece sembra andare senza problemi. Potrebbe essere questo il FB corretto.


La parte di codice che devi modificare se pensi che l'ig 5 sia quello corretto è
da

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"device-id",
Buffer (0x04)
{
0x66, 0x01, 0x00, 0x00
},

"AAPL,ig-platform-id",
Buffer (0x04)
{
0x0A, 0x00, 0x66, 0x01
},

"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

a

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"device-id",
Buffer (0x04)
{
0x62, 0x01, 0x00, 0x00
},

"AAPL,ig-platform-id",
Buffer (0x04)
{
0x05, 0x00, 0x62, 0x01
},

"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

Se hai le iniezioni nel DSDT è altamente consigliato disabilitare le flag grafiche dall'o.c.B.p

Fabio

#42
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy
In realtà penso che il 9 sia corretto. Dopo provo, se funziona a quel punto rimane da attaccare il FB della ATI.

#43
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy
Eccomi. Ho alterato il DSDT.dsl fornito da Fabio in modo che rispecchi l'ig-platform-id numero 9:

	 Method (_DSM, 4, NotSerialized)
			 {
				 Store (Package (0x06)
					 {
						 "device-id",
						 Buffer (0x04)
						 {
								 0x66, 0x01, 0x00, 0x00
						 },
						 "AAPL,ig-platform-id",
						 Buffer (0x04)
						 {
								 0x09, 0x00, 0x66, 0x01
						 },
						 "hda-gfx",
						 Buffer (0x0A)
						 {
							 "onboard-1"
						 }
					 }, Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				 Return (Local0)
			 }
		 }


Ho compilato con iasl. A meno di qualche warning:

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20110623-64 [Sep 7 2011]
Copyright (c) 2000 - 2011 Intel Corporation

DSDT-injectHD4000-ig9.dsl 3629:						 Acquire (MUT0, 0x0FFF)
Warning 1105 - Result is not used, possible operator timeout will be missed ^

DSDT-injectHD4000-ig9.dsl 3948:					 Method (SDMA, 2, NotSerialized)
Warning 1088 -			 Not all control paths return a value ^ (SDMA)

DSDT-injectHD4000-ig9.dsl 8391:				 Method (_DSM, 4, NotSerialized)
Warning 1100 -					 Statement is unreachable ^

DSDT-injectHD4000-ig9.dsl 10969:			 Store (STDG (Local1, Arg1, Arg2), Arg2)
Remark 5074 -				 Recursive method call ^ (STDG)

ASL Input: DSDT-injectHD4000-ig9.dsl - 11493 lines, 347431 bytes, 4319 keywords
AML Output: DSDT.aml - 39014 bytes, 1244 named objects, 3075 executable opcodes

Compilation complete. 0 Errors, 3 Warnings, 1 Remarks, 72 Optimizations

Ho ottenuto DSDT.aml. Domani proverò a bootare con GraphicsEnabler=No e monitor attaccato alla HD4000. Devo esplicitamente dire EnableDualLink=No, lo lasci a Yes od ometto il flag? A IntelFrameBufferCapri.kext va fatto qualcosa?

Grazie

#44
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,703 posts
  • Gender:Male
  • Location:Canary Islands

Devo esplicitamente dire EnableDualLink=No, lo lasci a Yes od ometto il flag? A IntelFrameBufferCapri.kext va fatto qualcosa?

la funzione che aggiunge l'EnableDualLink è contenuta nei sorgenti della ATi nvidia e della Intel(gma)
quindi se esplicitamente dai GraphicsEnabler=No (Oppure non metti proprio la chiave)
essendo la flag una sottofunzione del GraphicsEnabler non viene "elaborata", ossia... con GE diverso da si le opzioni "figlie" sono inibite.

Fabio

#45
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy
Allora. Sfortunatamente la HD4000 non mi sta funzionando tramite injection nel DSDT e GraphicsEnabler=No. Ho provato:
  • Test 1: ig 01660009 (corrispondente a HD4K-ig=9), ovvero 0x66 0x01 0x00 0x00 e 0x09 0x00 0x66 0x01 nel DSDT
  • Test 2: Notando che da System profiler la scheda viene identificata con ID: 0x0162 0x0009 ho provato a inniettare anche l'ig 01620009 (nessun HD4K-ig corrispondente) ovvero 0x62 0x01 0x00 0x00 e 0x09 0x00 0x062 0x01 nel DSDT
Almeno nel caso di Test1 la modifica dovrebbe coincidere con HD4K-ig=9, c'è qualche altra operazione che il bootloader fa che ho dimenticato di eseguire manualmente? allego il DSDT da me modificato.

Grazie.

Attached Files



#46
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 6,851 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana

Allora. Sfortunatamente la HD4000 non mi sta funzionando tramite injection nel DSDT e GraphicsEnabler=No. Ho provato:

  • Test 1: ig 01660009 (corrispondente a HD4K-ig=9), ovvero 0x66 0x01 0x00 0x00 e 0x09 0x00 0x66 0x01 nel DSDT
  • Test 2: Notando che da System profiler la scheda viene identificata con ID: 0x0162 0x0009 ho provato a inniettare anche l'ig 01620009 (nessun HD4K-ig corrispondente) ovvero 0x62 0x01 0x00 0x00 e 0x09 0x00 0x062 0x01 nel DSDT
Almeno nel caso di Test1 la modifica dovrebbe coincidere con HD4K-ig=9, c'è qualche altra operazione che il bootloader fa che ho dimenticato di eseguire manualmente? allego il DSDT da me modificato.

Grazie.


Ciao cili0,
hai il mio stesso processore, identificato allo stesso modo in sysprof; nel mio caso ero riuscito inizialmente a far riconoscere la HD4000 iniettando un device-properties in chameleon, poi ho iniettato nel DSDT la stringa del post #41 senza modifiche, ma ho dovuto forzare la risoluzione in chameleon altrimenti mi trovavo una ventina di desktop stretchati uno sopra l'altro (vedi foto).
Attached File  Risoluzione .png   1.54MB   1 downloads
Avrei potuto accontentarmi di questo, purtroppo così non funziona più lo STOP, pertanto circa 2 mesi fa ho lasciato perdere ed uso la sola GTX650.
Per lo speedstep ho creato un SSDT (in realtà sono 2) col quale ho 5 step; senza SSDT ho soltanto 2 steps. Se servono te li passo

#47
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,703 posts
  • Gender:Male
  • Location:Canary Islands

Ciao cili0,
hai il mio stesso processore, identificato allo stesso modo in sysprof; nel mio caso ero riuscito inizialmente a far riconoscere la HD4000 iniettando un device-properties in chameleon, poi ho iniettato nel DSDT la stringa del post #41 senza modifiche, ma ho dovuto forzare la risoluzione in chameleon altrimenti mi trovavo una ventina di desktop stretchati uno sopra l'altro (vedi foto).
Avrei potuto accontentarmi di questo, purtroppo così non funziona più lo STOP, pertanto circa 2 mesi fa ho lasciato perdere ed uso la sola GTX650.
Per lo speedstep ho creato un SSDT (in realtà sono 2) col quale ho 5 step; senza SSDT ho soltanto 2 steps. Se servono te li passo


Bene carbo.
Potresi generare le due ssdt per la CPU...

Ho modificato nuovamente il DSDT (nuovamente ci sono le due versioni compilata e dsl)

Attached File  Archivio.zip   41.66KB   3 downloads

Fabio

PS per il FB della HD4000 come è impostato ora ha 3 display-port...(01620005) che sarebbe l'unico FB utilizzabile per il desktop(?)...
Potresti chiedere a Michele se ti aiuta a patcharlo e modificarlo per avere ad esempio...(2 Display Port e 1 HDMI).
Questo il topic in questione. http://www.insanelym...-hd4000-mobile/

#48
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy

Ciao cili0,
hai il mio stesso processore, identificato allo stesso modo in sysprof; nel mio caso ero riuscito inizialmente a far riconoscere la HD4000 iniettando un device-properties in chameleon, poi ho iniettato nel DSDT la stringa del post #41 senza modifiche, ma ho dovuto forzare la risoluzione in chameleon altrimenti mi trovavo una ventina di desktop stretchati uno sopra l'altro (vedi foto).
Attached File  Risoluzione .png   1.54MB   1 downloads
Avrei potuto accontentarmi di questo, purtroppo così non funziona più lo STOP, pertanto circa 2 mesi fa ho lasciato perdere ed uso la sola GTX650.
Per lo speedstep ho creato un SSDT (in realtà sono 2) col quale ho 5 step; senza SSDT ho soltanto 2 steps. Se servono te li passo


Ciao carbo. Io ho un fenomeno simile al tuo quando innieto l'ig-platform-id numero 5. L'unico modo per far riprendere la risoluzione è attaccare e staccare il cavo dalla scheda. Se invece lascio decidere a Enoch funziona al primo colpo.

Bene carbo.
Potresi generare le due ssdt per la CPU...

Ho modificato nuovamente il DSDT (nuovamente ci sono le due versioni compilata e dsl)

Fabio

PS per il FB della HD4000 come è impostato ora ha 3 display-port...(01620005) che sarebbe l'unico FB utilizzabile per il desktop(?)...
Potresti chiedere a Michele se ti aiuta a patcharlo e modificarlo per avere ad esempio...(2 Display Port e 1 HDMI).
Questo il topic in questione. http://www.insanelym...-hd4000-mobile/


Ciao Fabio. Proverò domani il tuo DSDT. Proprio perchè il 5 era l'unico indicato per i desktop è stata la mia prima scelta già in fase d'installazione. Mentre però bootando da chiavetta USB con FB numero 5 va tutto liscio, quando lo uso per lanciare il sistema installato molte volte ottengo un fenomeno simile a quello di carbo, e mi vedo costretto a staccare e riattaccare il cavo così da riottenere il deskto funzionante.

Per quando riguarda binpatchare i binari, nel caso l'inniezione DSDT funzionasse posso provare a chiedere a Micky di darmi una mano con la presa VGA, abbiamo un vecchio monitor in giro per l'ufficio che potremmo riutilizzare a quel punto :)

Grazie.

#49
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 6,851 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
A questo punto mi metterei in lista per i test...
@ cili0: In allegato ho messo SSDT, solo da compilare, se vuoi provarli... li uso correntemente e sono stati gentilmente ottimizzati da k3nny

Attached Files



#50
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy

A questo punto mi metterei in lista per i test...@ cili0: In allegato ho messo SSDT, solo da compilare, se vuoi provarli... li uso correntemente e sono stati gentilmente ottimizzati da k3nny

Le due SSDT le carico con quale flag del bootloader? scusa se faccio il niubbo ma lavoro su questa macchina nei ritagli del tempo durante il lavoro e tento di essere il più rapido possibile.

Bene carbo.Potresi generare le due ssdt per la CPU...Ho modificato nuovamente il DSDT (nuovamente ci sono le due versioni compilata e dsl)Attached File  Archivio.zip   41.66KB   3 downloadsFabioPS per il FB della HD4000 come è impostato ora ha 3 display-port...(01620005) che sarebbe l'unico FB utilizzabile per il desktop(?)...Potresti chiedere a Michele se ti aiuta a patcharlo e modificarlo per avere ad esempio...(2 Display Port e 1 HDMI).Questo il topic in questione. http://www.insanelym...-hd4000-mobile/

Allora. Con quel DSDT e GraphcisEnabler=No il boot si incarta nel punto mostrato nello screenshot allegato. Quindi per ora sembra che l'unico modo per bootare ed avere la HD4000 funzionante sia lasciar fare al bootloader. Una questione a latere, ho notato che la HD7470 viene identificata sullo slot PCIe numero 1, questo vuol dire che dovrei bootare con PCIRootUID=1 ?Grazie.

Attached Files

  • Attached File  foto.JPG   167.58KB   4 downloads


#51
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 6,851 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
SSDT basta piazzarli in Extra, ci pensa il bootloader a caricarseli; il DSDT anche a me fa lo stesso scherzo, ma avevo notato che (importata sul mio la parte di codice per la HD4000) mi dava un warning strano che non sono riuscito a risolvere.
Per la flag PCIRoot non so dirti, la devo usare obbligatoriamente se uso GE=Yes altrimenti non arrivo al desktop... non ti resta che provare.
EDIT: potresti postare il tuo DSDT vergine e ocbp che ti dà la risoluzione OK?

#52
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy

SSDT basta piazzarli in Extra, ci pensa il bootloader a caricarseli; il DSDT anche a me fa lo stesso scherzo, ma avevo notato che (importata sul mio la parte di codice per la HD4000) mi dava un warning strano che non sono riuscito a risolvere.
Per la flag PCIRoot non so dirti, la devo usare obbligatoriamente se uso GE=Yes altrimenti non arrivo al desktop... non ti resta che provare.
EDIT: potresti postare il tuo DSDT vergine e ocbp che ti dà la risoluzione OK?


Domani provo a mettere le tue SSDT in /E/ e vediamo se boota :)
Per il DSDT faccio un ragionamento abbastanza pragmatico. Immagino che il bootloader autopatchi il DSDT per far funzionare la scheda. Ragione per cui mi chiedo se non potessi avere un approccio di ingegneria inversa: avvio con GraphicsEnabler=Yes e senza DSDT.aml così che la scheda funzioni; a quel punto estraggo il DSDT così da capire cosa ha iniettato. Questo DSDT.aml si potrebbe poi usare come base per far funzionare la ATI. Può andare?

#53
carbo178

carbo178

    InsanelyMac V.I.P.

  • Local Moderators
  • 6,851 posts
  • Gender:Male
  • Location:Dalle paludi della Pianura Padana
Mah, forse si vede una differenza estraendo ioreg in 2 momenti diversi, con e senza GE; non credo che Enoch vada ad agire sul DSDT (o sbaglio?).
Questa è una domanda per Fabio

#54
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,703 posts
  • Gender:Male
  • Location:Canary Islands
Enoch (come il papà Chameleon)
al momento le uniche modifiche a livello di codice aml vengono fatte come patch per gli alias delle CPU,
ho da tempo implementato e ampliato i metodi di creazione di varianti, ma sono momentaneamente tutti privi di funzionalità (è uno dei tanti TODO che devo completare)

Ritornando alla domanda di cili0, purtroppo non vedresti differenze estarendo il DSDT...
quello del GraphicsEnabler e le relative sottofunzioni sono l'equivalente delle EFI string (oppure Device-properties nel o.c.B.p)

cili0 potresti anche puntare ad una soluzione "ibrida" ad esempio (è un esempio) lasciare ad Enoch la parte della HD4000 (togliendola dal DSDT)
e attivare "l'attivabile" della ATi tramite DSDT...

Cosa che sconsiglio è avere la grafica iniettata nel DSDT e avere il GraphicsEnabler attivo... (poi ognuno ha la sua opinione...)

Fabio (ErmaC)

#55
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy
Grazie per la spiegazione. Credevo che l'approccio fosse alla Clover, dove da quanto ho capito per molte cose si va a patchare automaticamente il DSDT. Manco purtroppo dei fondamenti teorici delle stringhe EFI. Come dice carbo ero a conoscenza del fatto che la stringa inniettata sia estraibile con ioreg, ma non ho i dettagli. Penso che estrarla possa comunque darci qualche indicazione, quale stringa cerco in IORegistryExplorer? Una curiosità, vedo che Apple pubblica i sorgenti di IORegistryExplorer ma non un binario...devo compilarmelo da solo?

Mi pare di capire che il consiglio sia di togliere da un DSDT.aml il toto la parte relativa alla HD4000 (la parte Method, DSM etc..) e iniziare a vedere se così boota con GraphicsEnabler=Yes.

Grazie.

#56
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,703 posts
  • Gender:Male
  • Location:Canary Islands

Una curiosità, vedo che Apple pubblica i sorgenti di IORegistryExplorer ma non un binario...devo compilarmelo da solo?

Mi pare di capire che il consiglio sia di togliere da un DSDT.aml il toto la parte relativa alla HD4000 (la parte Method, DSM etc..) e iniziare a vedere se così boota con GraphicsEnabler=Yes.


IORegistryExplorer in formato applicazione ompilata l trovi in bundle con Xcode (se non erro)

Ti posto il solito DSDT al quale ho commentato la parte relativa all'HD4000, quindi puoi usare il bootloader con la chiave per l'ig che preferisci, ho lasciato la ATi,
perchè onestamente non so come gestire la cosa, quindi GraphicsEnabler=Yes HD4K-ig= "un valore", SkipAtiGfx=Yes (Quest'ultimo proprio per il fatto che resta l'iniezione nel DSDT della ATi.

Attached File  Archive.zip   41.58KB   1 downloads

Fabio

#57
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy
Grazie Fabio, gentilissimo. Ho XCode installato su tutte le macchine, ma qui sul fisso non trovo IORegistryExplorer. Non l'ho cercato molto, al massimo lo compilo ;)

Domani provo con tutti i valori e vediamo cosa succede :D

EDIT: oggi "purtroppo" la macchina stava eseguendo una simulazione sotto Windows. Appena si libera faccio una prova

#58
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy
Eccomi. Allora le cose sono andate per le lunghe (quei due test non finivano più). Anticipo un nulla di fatto. Domani dal lavoro posto degli screenshot.

ciao!

#59
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy

Ecco le schermate.

 

 

Attached Files



#60
cili0

cili0

    InsanelyMacaholic

  • Retired
  • 3,008 posts
  • Gender:Male
  • Location:Italy

Allora. Oggi ho aperto system profiler e ho notato che la scheda era vista come una Radeon HD 6xxx (non ricordo purtroppo la sigla esatta). A fronte di un riavvio non partiva più l'ambiente grafico. Il monitor è sempre stato attaccato alla HD4000. Ho notato da -v il seguente:

 

 


AMDCaicosGraphicsAccelerator: ** Device in slot: SLOT--1 **

 

Da quanto ho visto in giro questo vuol dire che il dispositivo nella porta PCIe in questione non è riconosciuto. Ciò mi ha portato a pensare che l'injection che è stata fatta in AMDRadeonAccelerator.kext fosse improvvisamente stata riconosciuta (non ho spiegazioni plausibili sul perchè prima la modifica non avesse sortito effetto).

 

Effettivamente ad ogni reboot, per un attimo partiva la schermata bianca e poi si tornava in verbose, come se un tentativo di avvio dell'ambiente grafico fosse stato immediatamente abortito. Il che fa pensare che il driver di OS X per la serie ATI 6000 non fosse in grado di pilotare correttamente la Radeon HD7450.

 

Per risolvere ho staccato fisicamente la scheda, ho bootato con la HD4000 e aggiornato a 10.8.4, sovrascrivendo così i vecchi driver (e conseguentemente rimuovendo l'injection). Ho aggiornato Chameleon alla 2.2 rev 2240 (apparentemente non c'è un modo di switchare sul branch di Enoch). Ora la scheda è vista come Radeon HD 7450 (così come specificato da ati.c), e nessun driver di accelerazione è caricato:

 

 

$ kextstat | grep -i AMD

   89    0 0xffffff7f819f6000 0x67000    0x67000    com.apple.kext.AMDSupport (8.1.2) <65 10 9 7 5 4 3 1>

 

Credo però che (non so per quale strano motivo) siamo andati vicini a far riconoscere correttamente la scheda. La HD7450 è infatti un rebrand della HD6450. Qualche idea?

 

Grazie.







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy