Jump to content

[AGPM] AppleGraphicsPowerManagement.kext e comportamenti vari


Mela quadrata
 Share

85 posts in this topic

Recommended Posts

Per la gestione della batteria utillizza ACPIBatteryManager : http://www.insanelymac.com/forum/files/file/92-acpibatterymanager/

Se non mi sbaglio quindi lasciando il kext originale

non è necessario il rollback dell'AppleACPIPlatform

non è necessario patchare AppleACPIPlatform

 

Fabio

 

 

Purtroppo quel kext lo avevo già provato a suo tempo (versione per mavericks)... Ora per sicurezza ho riprovato,

sia con quello per mav che quello per snow... Ma il risultato che ottengo è che, sì, la batteria viene vista, ma il suo stato di carica è sempre sconosciuto:

 

batteria.png

 

 

se invece metto il rollback con e applesmartbattery patchato, funziona al primo colpo, ma poi nascono i problemi espressi in questo tread

Link to comment
Share on other sites

ho provato a contattare RehabMan per chiedergli aiuto per la patch, ma mi ha semplicemente

rimandato ad una sua guida sull'innomiabile sito,  Forse vuole essere pagato per darmi una mano?!? :(

 

basta cercarla con motore di ricerca con questo titolo:

 

[GUIDE] How to patch DSDT for working battery status

 

 

 

purtroppo le mie conoscenze nella programmazione e nel patching del dsdt sono 0 e il mio inglese veramente elementare non mi permette di capirci molto....

 

 

 

Nel frattempo ho fatto un'altra prova... Ho scollegato fisicamente la batteria del portatile, ed ora anche coi kexts originali di Yosemite, la frequenza minima utilizzata è quella dei 400mhz e non più quella di 168  e 275 mhz, frequenze che tornano invece a funzionare in alimentazione 220 se semplicemente collego fisicamente la batteria...

 

Alla fine quindi mi viene da pensare che i rollback funzionassero correttamente quando in alimentazione continuavano ad utilizzare solo 2 delle 4 frequenze disponibili, ovvero 400mhz e la massima di 600mhz...

 

Che queste discrepanze anche coi kext originali di yosemite, dipendano anch'esse dalla mancanza della patch di RehabMan con il suo acpibatterymanager.kext?

Link to comment
Share on other sites

Si. serve la patch

Ho dato un'occhiata al pacchetto di RehabMan e c'è il modello Clevo ma non il tuo, prova a contattarlo.

Fabio

 

Ora la patch c'è... ^_^

 

Non dico che ho dovuto pregare in ginocchio sui ceci perchè RehabMan mi aiutasse, ma quasi... Non avrei saputo dove mettere le mani... :blush:

Link to comment
Share on other sites

Allora hai risolto il problema  :)  ottimo!

 

Fabio

 

Diciamo che il problema è risolto, ma con parsimonia... Nel senso che non mi è chiaro come Apple gestisca questi cavolo di pstates per le GPU...

 

Ora il ritorno dallo stop, funziona e la scheda video non va più a palla, anche perchè a palla potrebbe andarci anche come modalità normale...

 

Mi spiego meglio, ho verificato tre situazione principali:

 

1 se il notebook è collegato alla rete elettrica la frequenza minima della mia scheda si setta non al minimo di 168mhz ma a 400mhz...

   ora con la patch di RehabMan al risveglio non parte a 600mhz ma ritorna a 400mhz

 

2 se collego ad un monitor dvi che ho, in automatico la frequenza sarà fissa sempre e comunque a 600mhz

 

3 se faccio funzionare il portatile solo a batteria allora tutti i pstates (168/275/400/600mhz) funzioneranno....

 

Quindi alla fine visto che spesso tengo il portatile collegato al monitor esterno, la GPU va sempre fissa a 600mhz, senza risparmiare mai energia...

 

Credo quindi che ci sia qualche driver che a seconda delle risoluzioni  e non della vera e propria necessità richiesta dalle applicazioni, setti le frequenze in risparmio o meno... oppure c'è qualcosa che non va ancora bene nei pstates della mia GPU a seconda delle risoluzioni e situazioni in cui collego il portatile a monitor o corrente elettrica

 

 

praticamente la temperatura della gpu, se collegata a monitor esterno rimane ora fissa a non meno di 55°, quando invece potrebbe scendere sui 45/47° con i pstates attivi... Non vorrei che poi d'estate la temperatura salisse enormemente

Link to comment
Share on other sites

3 se faccio funzionare il portatile solo a batteria allora tutti i pstates (168/275/400/600mhz) funzioneranno

 

Questo lo intendo come risparmio di energia, visto che il portatile funziona a batteria

 

Credo quindi che ci sia qualche driver che a seconda delle risoluzioni  e non della vera e propria necessità richiesta dalle applicazioni, setti le frequenze in risparmio o meno...

 

Dalle prove che hai eseguito penso che sia come descritto

 

Fabio

Link to comment
Share on other sites

 

 

Dalle prove che hai eseguito penso che sia come descritto

 

Fabio

 

se fosse così mi piacerebbe sapere quali driver gestirebbero sta cosa per vedere se anche con corrente elettrica o meglio ancora con monitor esterno

non sia obbligato per forza a far scaldare GPU e portatile stesso più del necessario, se non sono richieste necessità particolari di computazioni grafiche... La GPU a 600mhz fissi anche se collegato a corrente elettrica non mi sembra una soluzione ottimale... consumi inutili e surriscaldamenti inutili di tutto il portatile...

 

Nuovo problema con il monitor dvi esterno... Il portatile non esce correttamente dallo sleep... rimangono i monitors neri mentre sento le ventole e il sistema che si riavviano e sono costretto a spegnere forzatamente dal pulsante di accensione

Link to comment
Share on other sites

Eccomi di nuovo qui dopo altre prove...

 

Ho voluto verificare con Windows 8.1 come funzionano i pstates della GPU:

 

speedstep_ITA.png

 

Tutti i pstates sopra visualizzati, con Windows, se il portatile è alimentato da alimentatore di corrente, funzionano comunque, a differenza di OS X invece che utilizza solo il livello 3 e 4 tranne in modalità batteria che torna ad utilizzarli tutti.

 

Poi ora ho fatto un altra prova... Ho cancellato completamente da s/l/e  l'AppleGraphicsPowerManager.kext  e ricostruito la cache dei kexts con kext utility... Al riavvio anche su OS X e con presa di corrente tutti i pstates della GPU funzionano...

 

Pare quindi che AGPM.kext sia solo d'intralcio per il comportamento ideale dei pstates della mia GPU... (conflitto con il mio dsdt.aml ? )

 

 


 

Altra prova con schermo esterno collegato via DVI, sia con Windows 8.1 che con OS X 10.10 senza AGPM.kext la frequenza  collegandoli in alimentazione corrente, rimane fisssa  a 600mhz, anche se sembra che con Windows le temperature rimangano qualche grado più basse...

 

Se l'AGPM.kext è solo da ostacolo al funzionamento ideale come cavolo fa invece una volta che lo uso a distinguere in modalità batteria che deve riattivare tutte le frequenze?!?

 

Quali altri kext potrebbero influenzare la gestione delle frequenze in base ai monitors collegati e relativi utilizzi o meno delle frequenze stesse?

 

(Se uso tutte le frequenze ho comunque un altro fastidioso problema, di cui al momento non è il caso diparlare prima di capire se va bene che utilizzo così senza agpm.kext il portatile)

 

EDIT: rettifico, senza AGPM.kext il risveglio dallo sleep sembra comunque far tornare solo attivo l'ultimo livello 4, come se fossi collegato anche al monitor esterno...

La stessa cosa avviene se utilizzo legacyAGPM.kext modificato con il mio device id e profilo del mio smbios: tutte le frequenze funzionanti ma ritorno dallo sleep a palla...cosa che in windows non succede

 

Qualcuno che si intende di dsdt potrebbe farmi la cortesia di controllare il mio nella parte della GPU per vedere se è tutto ok?

dsdtMQ.zip

Link to comment
Share on other sites

E che mi dite del IOPlatformPluginFamily.kext?

 

al suo interno

 

Contents/Plugins/ACPI_SMC.PlaformPlugin.kext

 

che contiene a sua volta Resources con:

 

 

Schermata_2014_11_12_alle_16_21_23.jpg

 

e allego il plist relativo al profilo da me utilizzato Macbookpro5,1...

 

se lo controllate ci sono info interessanti credo proprio sull'uso dei pstates della gpu

MacBookPro5_1.zip

Link to comment
Share on other sites

Ciao

anche io sono un po' nella stessa situazione, chissà che non possiamo scambiarci informazioni utili.

Intanto ho una G105M, che dovrebbe essere una 9300 o 9400.

La gpu funziona bene ed utilizza tutti gli stati da 160-168 Mhz a 640-499. Tuttavia al minimo di frequenza la grafica ha dei lag paurosi, quindi mi sono messo in cerca della soluzione, sebbene una semplice esiste e la conosco anche molto bene, casomai ne parlo solo alla fine.

Ho quindi scoperto che si deve intervenire sulle soglie del kext AGPM modificando anche i valori di Produttore e ID in accordo alla propria scheda ed al smbios usato.

I risultati sono questi,

MacbookPro 5,1 + Agpm in cui ho eliminato il profilo IGPU e rinominato GFX0 + soglie per eliminare lo stato G3 => ho due soli stati, quelli a frequenza più alta, qualunque siano i valori di soglia inseriti. Se stacco l'alimentatore gli stati sono 3, come desideravo, ma la commutazione non rispetta le soglie.

Con Macbook 5,1, nelle stesse condizioni, la frequenza è fissa al valore più alto.

Con Agpm originale e legacy agpm modificato secondo Vendor e Id, profilo MacBookPro 5,1 ho la stessa situazione descritta all'inizio. Anche in questo caso cambiare le soglie anche a valori estremi non cambia il comportamento.

Soluzione estrema, kext AGPM totalmente rimossa ... gli stati sono tutti funzionanti, purtroppo fino al meno performante.

Quindi ci deve essere qualcosa che imposta la gestione energetica a prescindere dalla kext Agpm.

Non capisco come mai, seppure caricata, non riconosce le soglie corrette e manca di qualche stato.

In tutto questo, solo nel caso in cui gli stati funzionano tutti, ho il tuo stesso problema quando lo schermo si addormenta, ovvero la frequenza si blocca al massimo.

Con la kext modificata questo non succede.

Ho letto il tuo intervento riguardo acpiplatform, mi è venuto il dubbio di non avere quella originale, potresti postarmela ?

Penso comunque che ci sia dell'altro, le due situazioni sono simili ma anche no ^_^  

Link to comment
Share on other sites

...

Ho letto il tuo intervento riguardo acpiplatform, mi è venuto il dubbio di non avere quella originale, potresti postarmela ?

Penso comunque che ci sia dell'altro, le due situazioni sono simili ma anche no ^_^  

 

Grazie per il tuo intervento, si in effetti per certi aspetti certi info servono ad entrambi, in realtà nel caso della mia scheda video 9800m (per portatili) non ho problemi di lag al variare dei pstates come invece tu e molti altri in passato ho letto avessero su certe schede...

 

Il mio problema di cui qui non avevo ancora parlato, invece che dei lag, è lo sfarfallio dello schermo integrato!

 

Fastidiosissimo quando di continuo la gpu passa dalla frequenza  minima alle massime e viceversa...

 

Non ne avevo ancora parlato qui perchè prima volevo capire che cosa potesse influenzarlo, e cosa come nel tuo caso fa si che al risveglio dallo stop, la frequenza si stabilizzi solo sulla massima...

 

Insomma sto cercando di capire come te, che cosa influenzi i pstates della scheda video per capire dove agire meglio... A quanto pare l'agpm.kext ne influenza una minima parte, forse proprio solo quella di un rinsveglio con non solo una frequenza (quella massima)

 

Secondo me ci sono diversi kext che a seconda di certi parametri modificano la situazione... Per il mio sfarfallio invece non ho ancora idea da cosa possa dipendere... forse da un kext che influenzi i voltaggi delle memorie della scheda video e non solo delle frequenze...

 

Per l'appleACPIplatform eccoti l'originale di Yosemite:

AppleACPIPlatform.kext.zip

Link to comment
Share on other sites

Ciao intanto grazie.

La cosa molto strana fra le altre, è che senza alimentatore, con la kext modificata, il comportamento è ottimo, non entra mai nello stato a più bassa frequenza e lo switch è molto rapido. Il problema che mi ha portato a dedicarmi a questo aspetto non sono i lag durante il cambio degli stati, ma è la lentezza grafica quando la frequenza è a 160-168Mhz.

Le animazioni sono molto lente, soprattutto nel launchpad. A te non capita ? La situazione diventa invece buona quando raggiunge lo stato a 275 Mhz, ed ottima negli altri due.

Invece non ho problemi di flickering.

Bisogna capire cosa gestisce la gpu senza agpm, sono i driver, sono altre kext? Boh ...

Link to comment
Share on other sites

Ciao intanto grazie.

La cosa molto strana fra le altre, è che senza alimentatore, con la kext modificata, il comportamento è ottimo, non entra mai nello stato a più bassa frequenza e lo switch è molto rapido. Il problema che mi ha portato a dedicarmi a questo aspetto non sono i lag durante il cambio degli stati, ma è la lentezza grafica quando la frequenza è a 160-168Mhz

 

 

 

Il comportamento non lo considero ottimale, se la GPU non utilizza uno dei pstates per cui è stata progettata, a meno che tu non voglia dire che necessita di un pstates più alto per le operazioni grafiche richieste, ma che nel caso di nessuna operazione utilizza anche il pstate più basso

 

 

Il problema che mi ha portato a dedicarmi a questo aspetto non sono i lag durante il cambio degli stati, ma è la lentezza grafica quando la frequenza è a 160-168Mhz.

Le animazioni sono molto lente, soprattutto nel launchpad. A te non capita ? La situazione diventa invece buona quando raggiunge lo stato a 275 Mhz, ed ottima negli altri due.

 

 

no a me non capita, launchpad senza problemi... Però è chiaro che ad ogni operazione della GUI o delle finestre i pstates cambiano come è giusto che sia, esattamente come fanno in Windows, ma con la differenza che su OSX  lo schermo sfarfalla, e facendo varie ricerche succedeva e succede anche in diversi macbook:

 

 

 

anche se non ho la controprova che sui macbook originali il flickering avvenga al cambio di pstate... ma guardando il video potrebbe essere, visto che al cambio di grafica (quando clicca sul web e carica grafiche nuove) parte lo sfarfallio...

 

Indi per cui mi vien da pensare che ci sia una male ottimizzazione di Apple a seconda delle configurazioni hardware su cui i suoi sistemi operino...

 

La domanda è però dove poi queste configurazioni e parametri si trovino per poter essere maneggiate...

 

Ripeto che io su Windows ho lo stesso comportamento delle frequenze che ho su OS X senza agpm.kext,   ma non ho lo sfarfallio...

 

Quello che non capisco è perchè poi però se  metto l'id device nell'appleGraphicsPowerManager.kext , o uso legacyAGPM.kext, la frequenza minima in alimentazione vada a 400mhz mentre su windows se non è necessario usi senza problemi anche le minime di 168mhz e 275mhz e relative frequenze delle memorie vram

Link to comment
Share on other sites

Anche a me, appena aggiungo l'id device in agpm, o nella legacy agpm, la frequenza minima con alimentatore sale a 500 mhz, e da lì va a salire verso i 640, ma non scende sotto i 500. Appena tolgo l'alimentazione invece scende subito a 275 e fa una commutazione molto veloce fra i 3 stati, come dovrebbe essere.

Ne perdo uno, quello a 100Mhz, ed è quello che devo evitare perchè mi rallenta le animazioni grafiche.

Bah, non capisco cosa cambi con alimentazione o meno, deve esserci qualche altre kext che gestisca il risparmio energetico.

Oltretutto, almeno per me, le soglie dell'agpm non hanno effetto.

Per il tuo problema invece, hai provato in qualche modo a bloccare i pstate e verificare che non fa flickering?

 

p.s mi sono dimenticato di dire come ho risolto, ovvero come ho eliminato l'ultimo stato e il blocco di frequenza dopo lo sleep.

Basta usare il bios del MacPro 3,1

Va più o meno bene, solo che tende a stare altino di frequenza, per questo volevo fare un po' di modifiche

Link to comment
Share on other sites

Anche a me, appena aggiungo l'id device in agpm, o nella legacy agpm, la frequenza minima con alimentatore sale a 500 mhz, e da lì va a salire verso i 640, ma non scende sotto i 500. Appena tolgo l'alimentazione invece scende subito a 275 e fa una commutazione molto veloce fra i 3 stati, come dovrebbe essere.

Ne perdo uno, quello a 100Mhz, ed è quello che devo evitare perchè mi rallenta le animazioni grafiche.

Bah, non capisco cosa cambi con alimentazione o meno, deve esserci qualche altre kext che gestisca il risparmio energetico.

Oltretutto, almeno per me, le soglie dell'agpm non hanno effetto.

Per il tuo problema invece, hai provato in qualche modo a bloccare i pstate e verificare che non fa flickering?

 

p.s mi sono dimenticato di dire come ho risolto, ovvero come ho eliminato l'ultimo stato e il blocco di frequenza dopo lo sleep.

Basta usare il bios del MacPro 3,1

Va più o meno bene, solo che tende a stare altino di frequenza, per questo volevo fare un po' di modifiche

 

 

esatto, succede come descrivi, ecco perchè come dici qualche altro kest dovrebbe gestire il tutto... Hai guardato ad esempio il kext che ho indicato più indietro?

 

IoPlatformPluginFamily.kext

 

all'interno in plugin contiene un kext interessante  (ACPI_SMC.PlaformPlugin.kext )coi parametri per tutti i mac, ma ci sono parametri che non so cosa tocchino...

 

Per il flickering, come già detto, se il pstates rimane stabile, non esiste... C'è solo esattamente quando si sposta da uno stato all'altro a secondo dell'uso... e quando muovi finestre, navighi e clicchi il cambio di frequenze grafiche può essere anche molto frequente e di conseguenza questo sfarfallio diventa veramente fastidioso... Io credo che si tratti di qualcosa riguardante i voltaggi alle varie frequenze ma non so dove possano essere impostati esattamente e come...

 

 

EDIT: ma in windows alla frequenza più bassa avevi rallentamenti come in os x?!?

Link to comment
Share on other sites

No, su windows nessun rallentamento alla frequenza minima, però windows non ha tutte le trasparenze e le animazioni del mac.

Mi incuriosisce il fatto che tu non li abbia, perchè da più parti ho letto che nello stato più conservativo la grafica presenta lag paurosi, anche su schede video recenti.

Del resto è anche strano questo flickering, non so cosa possa essere, hai notato qualcosa di strano nella console quando si verifica ?

Darò un'occhiata alla kext, chissà che non si scopra qualcosa.

Link to comment
Share on other sites

no nessun rallentamento strano...

Comunque al momento ho reinstallato LegacyAGPM.kext, e ne ho trovato uno con states che sembrano cambiare un po' meno frequentemente le frequenze rispetto al solito.... Questo però non vuole dire che ho risolto il problema, ma solo che ho diminuito il numero di sfarfallii rispetto a prima... praticamente rimane molto più fermo sulla frequenza minima se non c'è reale bisogno di richieste grafiche...

Il problema però poi è che se lo metto in stop, al ritorno la GPU usa solo esclusivamente la frequenza massima... e fine sfarfallio... non ci scappa...

 

Fatto sta che oggi mi sono installato Pro Evolution Soccer 2015 su OS X, ed anche giocando la frequenza della GPU non restava fissa al massimo, e in quei cambi di pstates anche in gioco si sfarfallava! :no:

Link to comment
Share on other sites

Per il problema dello sfarfallio (flickering) cercando mi sono imbattuto in una discussione in inglese:

 

 

fonte: http://www.hackintoshosx.com/topic/20867-intel-hd-4600-flickering/?do=findComment&comment=104037

 

If you have full QE/CI and everything seems to be working fine with your graphics other than the flickering, you may try EDID injection, sometimes it solves the problem... The first thing to do is dump the EDID being read by the Mac, then dump the EDID from another OS like Linux or Windows and compare them, if they're not equal then I'd definitely give the injection a try.

 

Essendo il mio inglese più che pessimo e visto che i traduttori online non è che mi abbiano chiarito bene, che cosa dovrei fare secondo quanto scritto sopra?

 

Qualcuno che capisce meglio di me l'inglese capisce cosa si dovrebbe provare?

 

 

Intanto guardate cosa aveva rilasciato Apple per i portatili macbookpro 5,1 con schermo da 15" (caratteristiche del tutto vicinissime al mio hack):

 

http://support.apple.com/kb/DL1502

 

l'efi firmware di apple si va ad installare nella cartella:

 

S/L/CoreService/Firware Updates/

 

potrebbe essere utile anche su hackintosh?!? Naturalmente non si autoinstalla su Yosemite, non essendo supportato, ma potrei estrarre la cartella con pacifist e mettercela a mano... che dite?

 

Verrebbe caricato dall'hachintosh, o è una cosa che viene caricata solo via bios EFI originale dei mac?!?

 

EFI_UPDATE.png

Link to comment
Share on other sites

 Share

×
×
  • Create New...