Jump to content

fluid | fixed

[Guida] Modifica del DSDT - Le basi e le fix più comuni


  • Please log in to reply
41 replies to this topic

#1
thefoul

thefoul

    InsanelyMac Protégé

  • Members
  • PipPip
  • 83 posts
  • Gender:Male
  • Location:Rome, Italy
Per concessione dell'EvOSX86 Team a cui vanno i miei più sentiti ringraziamenti.

Le seguenti Guide sono state tradotte/riadattate dallo Spagnolo.
Per il materiale in lingua originale potete andare su:
http://www.osx86.es/?page_id=288

Guida alla modifica del DSDT - 1a parte - Le Basi
Attached File  Guida_alla_modifica_del_DSDT___1a_parte___Le_Basi.pdf.zip   1.07MB   1562 downloads

Guida alla modifica del DSDT - 2a parte - TM fix
Attached File  Guida_alla_modifica_del_DSDT___2a_parte___TM_fix.pdf.zip   387.87K   865 downloads

Guida alla modifica del DSDT - 3a parte - aggiunta di codice per le schede video
Attached File  Guida_alla_modifica_del_DSDT___3a_parte___aggiungere_codice_per_le_schede_video.pdf.zip   1.27MB   994 downloads

Guida alla modifica del DSDT - 4a parte - speedstep nativo mediante DSDT
Attached File  Guida_alla_modifica_del_DSDT___4a_parte___speedstep_nativo_mediante_DSDT.pdf.zip   440.63K   861 downloads

*********** Disclaimer ****************
Queste guide non vi renderanno dei maghi: molte cose sono purtroppo date per scontate.

Io stesso devo ancora ri-studiarle e compendiarle con moltissime altre info provenienti da questo forum (ad es. dal topic "DSDT a pezzi" rispetto al quale questo è propedeutico).
*************************************

Nella speranza che questi file possano aiutarvi a capire un pò di più.

P.S.: Rilancio la mia proposta ai vari scrax, smith@@, rasone, etc. e agli altri utenti in possesso di nozioni avanzate sul DSDT.
Sarebbe bello compendiare quanto trovato da loro sull'argomento con materiale più basilare come questo a vantaggio di tutti gli utenti.

E' mia convinzione che più si allarga la base più la gente diventa man mano autonoma, sfoltendo così tanti post inutili ed alleggerendo il compito di chi aiuta.

#2
Giorgio_multi

Giorgio_multi

    InsanelyMac V.I.P.

  • Gurus
  • 9,514 posts
  • Gender:Male
  • Location:Ferrara, Italy
  • Interests:Elettronica in genere, informatica e Sistemi Operativi in particolare. Cani da slitta e Sleddog....
Ottimo lavoro, inoltre mi sembra un promettente inizio per uno sviluppo ulteriore.

Complimenti mi sembra un'eccellente idea.

Giorgio

#3
falcopellegrino

falcopellegrino

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 237 posts
Premetto che anch'io vorrei sistemarmi il mio DSDT e ottimizzarlo ad-hoc.
C'è da dire che non è una cosa alla portata di tutti gli utenti e chiedo a questo punto lumi a chi è più esperto quali effettivi vantaggi porta un DSDT ottimizzato su un sistema già perfettamente stabile di suo.
Il mio ad esempio boota in circa 40 secondi(dalla comparsa di chamaleon),la parte del DSDT che ho modificato riguarda solo RTC che nel mio caso è d'obbligo avendo una gigabyte altrimenti mi si resetterebbe il bios ogni volta.
Per il resto uso solo 4 kext in croce nella cartella extra di chamaleon e nessun kext aggiuntivo nella root exstension di snowLeopard.
Nel mio caso,avendo un sistema perfettamente stabile,a cosa potrebbe servire ottimizzare ulteriormente il DSDT?

infine...leggo di gente che con il DSDT ottimizzato ha un OSX che parte in addirittura in 20 sec.!
Fatemi capire ma il calcolo del tempo quando deve partire?
Dalla comparsa del Chamaleon?
20 sec. mi sembrano davvero pochissimi e framcamente neanche un MAC Book originale impiega così poco tempo ad essere operativo(provato questa mattina in un media world). ;)

#4
thefoul

thefoul

    InsanelyMac Protégé

  • Members
  • PipPip
  • 83 posts
  • Gender:Male
  • Location:Rome, Italy

View PostGiorgio_multi, on Feb 17 2010, 11:32 PM, said:

Ottimo lavoro, inoltre mi sembra un promettente inizio per uno sviluppo ulteriore.

Se mi mandi la tua email in PM ti posso inviare i file .rtfd editabili cosi magari iniziamo a fare una guida totalmente made in Italy con tutte le procedure per le soluzioni testate e funzionanti.

L'esempio che mi viene di corsa in mente e' la panoramica delle varie sezioni del DSDT ...e pure la sezione su come razionalizzare il codice (che ne presuppone a sua volta una sulla sintassi).

Per ora studio e cerco di prendere dimestichezza...poi si vedra'.

#5
Giorgio_multi

Giorgio_multi

    InsanelyMac V.I.P.

  • Gurus
  • 9,514 posts
  • Gender:Male
  • Location:Ferrara, Italy
  • Interests:Elettronica in genere, informatica e Sistemi Operativi in particolare. Cani da slitta e Sleddog....

View Postthefoul, on Feb 17 2010, 11:48 PM, said:

Se mi mandi la tua email in PM ti posso inviare i file .rtfd editabili cosi magari iniziamo a fare una guida totalmente made in Italy con tutte le procedure per le soluzioni testate e funzionanti.

L'esempio che mi viene di corsa in mente e' la panoramica delle varie sezioni del DSDT ...e pure la sezione su come razionalizzare il codice (che ne presuppone a sua volta una sulla sintassi).

Per ora studio e cerco di prendere dimestichezza...poi si vedra'.

Per quanto riguarda il DSDT sono solo un principiante, mi sembra che Scrax, Smith@@ e Barbonenet siano gli amici più ferrati in questo aspetto (importante) del nostro Hackintosh.

Giorgio

#6
thefoul

thefoul

    InsanelyMac Protégé

  • Members
  • PipPip
  • 83 posts
  • Gender:Male
  • Location:Rome, Italy

View Postfalcopellegrino, on Feb 17 2010, 11:35 PM, said:

Premetto che anch'io vorrei sistemarmi il mio DSDT e ottimizzarlo ad-hoc.
C'è da dire che non è una cosa alla portata di tutti gli utenti e chiedo a questo punto lumi a chi è più esperto quali effettivi vantaggi porta un DSDT ottimizzato su un sistema già perfettamente stabile di suo.
....
Nel mio caso,avendo un sistema perfettamente stabile,a cosa potrebbe servire ottimizzare ulteriormente il DSDT?

Guarda....il mio punto di vista è questo.
Nel tuo caso (fortunato) il sistema è gia' quasi a posto di suo.
Probabilmente l'utilizzo di un DSDT con codice piu' razionale si ridurrebbe forse ad un mero esercizio stilistico per abbassare il boot di qualche secondo.

In molti altri casi (vedi il mio: ho un DSDT con 7 errori e una caterva di warning) l'editing del DSDT e' l'unico modo per sopperire alle carenze dei BIOS fatti con i piedi: il BIOS del portatile in firma non mi permette di spegnere HT ne' TurboBoost.

Ergo o me la vedo col caro DSDT oppure mi tengo 1 solo core attivo su 8 a disposizione.

Questo e' un singolo esempio...ma vuoi mettere avere le chiavi per far funzionare tutto l'hardware che serve?

#7
Giorgio_multi

Giorgio_multi

    InsanelyMac V.I.P.

  • Gurus
  • 9,514 posts
  • Gender:Male
  • Location:Ferrara, Italy
  • Interests:Elettronica in genere, informatica e Sistemi Operativi in particolare. Cani da slitta e Sleddog....
OT: Solo una precisazione: il bios dei portatili non è fatto con i piedi, semplicemente non è fatto per mac osx, per quello per cui è progettato (windows) fa il suo dovere.

Giorgio

#8
FaSan

FaSan

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
Molto interessante !


Grazie,
FaSan

#9
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male

View Postthefoul, on Feb 17 2010, 10:54 PM, said:

P.S.: Rilancio la mia proposta ai vari scrax, smith@@, rasone, etc. e agli altri utenti in possesso di nozioni avanzate sul DSDT.
Sarebbe bello compendiare quanto trovato da loro sull'argomento con materiale più basilare come questo a vantaggio di tutti gli utenti.
Bella cosa, ho aggiunto i link ai miei post sul dsdt, con il ink a questo post, per chi vuole iniziare col dsdt, le guide in spagnolo mi eran servite anche a me all'inizio...

#10
BarboneNet

BarboneNet

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,414 posts
  • Gender:Male
  • Location:Italy - Parma
ottimo;) grazie

#11
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,203 posts
  • Gender:Male
  • Location:Canary Islands
Buon lavoro!

Anche io li trovai molto utili quei pdf "iberici" quando iniziai a ritoccare il DSDT

Fabio

#12
Guest: James.1979_*

Guest: James.1979_*
  • Guests
Beato voi che trovato tutto stò tempo per mettervi con comodo e smanettare sul DSDT..
Mannaggia e chi non ha il tempo?

Io ad esempio, ho problemi con la scheda video su snow.. riconosciuta con efi o con injector ma lag del mouse pazzesco.. ho provato ad estrarrere il DSDT da mac con DSDTPatcher messo in extra, ma a nulla è servito.. immagino che andrebbe ottimizzato modificato e molto probabilmente si risolverà finalmente il mio problema, ma aihmè per uno che è a zero con il DSDT e per di più con pochissimo tempo a disposizione?! Chisà che magari tra di voi c'è qualche anima pia che mi aiuterebbe.. riconoscerei la cosa. In che modo lo scoprirete solo vivendo :unsure:-_-

Se qualcuno vuole aiutarmi me lo dica che posto il DSDT con i relativi ID e qual che vi serve insomma.

Un sentito grazieeeeeeeee!

#13
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male

View PostJames.1979, on Mar 9 2010, 05:08 PM, said:

Beato voi che trovato tutto stò tempo per mettervi con comodo e smanettare sul DSDT..
Mannaggia e chi non ha il tempo?

Io ad esempio, ho problemi con la scheda video su snow.. riconosciuta con efi o con injector ma lag del mouse pazzesco.. ho provato ad estrarrere il DSDT da mac con DSDTPatcher messo in extra, ma a nulla è servito.. immagino che andrebbe ottimizzato modificato e molto probabilmente si risolverà finalmente il mio problema, ma aihmè per uno che è a zero con il DSDT e per di più con pochissimo tempo a disposizione?! Chisà che magari tra di voi c'è qualche anima pia che mi aiuterebbe.. riconoscerei la cosa. In che modo lo scoprirete solo vivendo :unsure:-_-

Se qualcuno vuole aiutarmi me lo dica che posto il DSDT con i relativi ID e qual che vi serve insomma.

Un sentito grazieeeeeeeee!

DSDTpatcher corregge solo HPET e poche altre cose, per questo non è servito per il tuo problema.

prova a rimuovere /System/Library/Extensions/AppleUpstreamUserClient.kext

#14
Guest: James.1979_*

Guest: James.1979_*
  • Guests

View Postscrax, on Mar 9 2010, 05:17 PM, said:

DSDTpatcher corregge solo HPET e poche altre cose, per questo non è servito per il tuo problema.

prova a rimuovere /System/Library/Extensions/AppleUpstreamUserClient.kext

Grazie scrax per la risposta, ho già eliminato AppleUpstreamUserClient.kext , ho anche installato il disabler.kext ma a nulla è servito.. eppure la scheda con ideneb 10.5.8 selezionando NVEnabler funziona benissimo ..grafica fluida e nessun lag del mouse..

ascolta se vuoi darmi una mano (te ne sarei molto grato) visto che tu sei un guru sul DSDT ti pregherei di intervenire qui onde evitare di finire OT.

Grazie mille scrax

#15
geminimac

geminimac

    Italian Staff Squad

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,408 posts
  • Gender:Male
  • Location:Baggiovara (Mo)
ciao thefoul,

seguendo la guida e cercando nel mio caso display@0 non lo trova!
sai dirmi perchè?






saluti

#16
ErmaC

ErmaC

    127.0.0.1

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

View Postgeminimac, on Apr 23 2010, 01:12 AM, said:

ciao thefoul,

seguendo la guida e cercando nel mio caso display@0 non lo trova!
sai dirmi perchè?

saluti

Ciao geminimac...
quello che interessa a te per estrarre/crearti la iniezione via DSDT si trova nel nodo giusto sopra...
ovvero proprio nel "display@0"

EDIT: Io faccio riferimento alla foto presente nel tuo post...
In caso di dubbi posta il tuo IOREG che gli diamo una occhiata...

Fabio

#17
geminimac

geminimac

    Italian Staff Squad

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,408 posts
  • Gender:Male
  • Location:Baggiovara (Mo)
ciao Fabio,

grazie mille per avermi risposto...

facendo riferimento alla schermata postata cosa devo prendere in considerazione?

cerco POP1@1? è quello il nodo giusto?

saluti

#18
ErmaC

ErmaC

    127.0.0.1

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

View Postgeminimac, on Apr 25 2010, 12:23 AM, said:

ciao Fabio,

grazie mille per avermi risposto...

facendo riferimento alla schermata postata cosa devo prendere in considerazione?

cerco POP1@1? è quello il nodo giusto?

saluti

Ciao geminimac
Si da quello che vedo nel tuo shot la scheda grafica e' all'interno del device P0P1
quindi i dati che ti servono sono dentro display@0, ti faccio un esempio il mio...

dal mio IOREG
io ho il Device PEG3 (il mio DSDT e' molto editato ;))
all'interno del quale ho creato un sotto-device che ho chiamato GFX3 che nel tuo caso sarebbe display@0 (che non esiste all'interno del DSDT ma puo' essere creato e nominato a piacere)
Posted Image
e questo e' quello che vedo in GFX3 (dove attengo il NVcap e registro e memoria ecc...
Posted Image
e questo e' quello che ho estratto editato e aggiunto nella tabella DSDT
(Sono anche presenti aggiunte estetiche come lo slot)
[size=1]			Device (PEG3)
			{
				Name (_ADR, 0x00030000)
				Device (GFX3)
				{
					Name (_ADR, 0x02000000)
					Method (_DSM, 4, NotSerialized)
					{
						Store (Package (0x1C)
							{
								"AAPL,slot-name", 
								Buffer (0x0A)
								{
									"PCI-E 16x"
								}, 

								"@0,compatible", 
								Buffer (0x0B)
								{
									"NVDA,NVMac"
								}, 

								"@0,device_type", 
								Buffer (0x08)
								{
									"display"
								}, 

								"@0,name", 
								Buffer (0x0F)
								{
									"NVDA,Display-A"
								}, 

								"@1,compatible", 
								Buffer (0x0B)
								{
									"NVDA,NVMac"
								}, 

								"@1,device_type", 
								Buffer (0x08)
								{
									"display"
								}, 

								"@1,name", 
								Buffer (0x0F)
								{
									"NVDA,Display-B"
								}, 

								"NVCAP", 
								Buffer (0x18)
								{
									/* 0000 */	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
									/* 0008 */	0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
									/* 0010 */	0x00, 0x00, 0x00, 0x00
								}, 

								"NVPM", 
								Buffer (0x1C)
								{
									/* 0000 */	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0008 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0010 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0018 */	0x00, 0x00, 0x00, 0x00
								}, 

								"VRAM,totalsize", 
								Buffer (0x04)
								{
									0x00, 0x00, 0x00, 0x60
								}, 

								"device_type", 
								Buffer (0x0C)
								{
									"NVDA,Parent"
								}, 

								"model", 
								Buffer (0x1C)
								{
									"Nvidia Quadro FX 5600 [G80]"
								}, 

								"rom-revision", 
								Buffer (0x09)
								{
									"DSDT ROM"
								}, 

								"reg", 
								Buffer (0x78)
								{
									/* 0000 */	0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0008 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0010 */	0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x02, 
									/* 0018 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0020 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
									/* 0028 */	0x14, 0x00, 0x02, 0x42, 0x00, 0x00, 0x00, 0x00, 
									/* 0030 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0038 */	0x00, 0x00, 0x00, 0x20, 0x1C, 0x00, 0x02, 0x02, 
									/* 0040 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0048 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 
									/* 0050 */	0x24, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 
									/* 0058 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0060 */	0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x02, 
									/* 0068 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
									/* 0070 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
								}
							}, Local0)
						MCDP (Arg2, RefOf (Local0))
						Return (Local0)
					}
				}

				Method (_PRW, 0, NotSerialized)
				{
					Return (GPRW (0x09, 0x04))
				}

				Method (_PRT, 0, NotSerialized)
				{
					If (PICM)
					{
						Return (AR13)
					}

					Return (PR13)
				}
			}
[/size]

e questo e' quello che vedo in System Profiler
Posted Image
Buon divertimento
Fabio

#19
geminimac

geminimac

    Italian Staff Squad

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,408 posts
  • Gender:Male
  • Location:Baggiovara (Mo)
allora provo a seguire le tue dritte...

se non ci riesco fatti vivo in questi giorni che mi aiuti un pò...

grazie ancora! ;)

saluti

#20
ErmaC

ErmaC

    127.0.0.1

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

View Postgeminimac, on Apr 25 2010, 01:18 AM, said:

allora provo a seguire le tue dritte...

se non ci riesco fatti vivo in questi giorni che mi aiuti un pò...

grazie ancora! ;)

saluti
:D

Ti dico solo che magari la parte del reg (che dovrai fare a manina) e' un po noiosa e complicata...
piccolo esempio... Dal mio IOREG--> PEG3--->GFX3.. seleziono NVCAP, copio e trasformo da cosi':
<04 00 00 00 00 00 03 00 0c 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 00>
a cosi'
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00

...

E' una operazione noiosa ed e' facile commettere errori... (ma essenzialmente basta aggiungere 0x e la virgola a parte l'ultimo "blocco")

Fabio





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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