Jump to content

[Guida] Undervolt su Dell tramite EFI Shell


foskvs

Recommended Posts

  • Supervisor.

Premessa: modificare il Bios può causare gravi danni. Non mi assumo alcuna responsabilità. Fate un backup del vostro bios. In caso in cui il pc non si avvii, provare a fare un CMOS reset.

 

Il modo più sicuro per effettuare l'undervolt rimane quello da app, come Intel XTU, Throttlestop, eccetera...

Perché effettuare l'undervolt dal Bios, allora? Per prima cosa, non avremo bisogno di usare app all'avvio del sistema operativo. Inoltre, cosa più importante, l'undervolt funzionerà avviando anche altri sistemi (soprattutto macOS).

 

Requisiti:

  • Un PC Dell (la guida potrebbe funzionare anche su altri PC, ma non ho modo di provare).
  • Windows 10 installato (per configurare inizialmente i voltaggi e verificare se sono stabili) - è sufficiente anche una versione Trial non attivata.
  • Un'app per provare i voltaggi su Windows (ho usato XTU, ma potete usare altre app).
  • Delle app per controllare se le tensioni sono stabili (vanno bene app di benchmark o giochi).

 

Per prima cosa, installiamo XTU e modifichiamo Core Voltage Offset e Graphics Voltage Offset.

Modificare un valore per volta e non esagerare con l'undervolt. Testare i voltaggi con i benchmark ogni volta. Se vi compaiono schermate blu, significa che state esagerando con gli offset.

Segniamoci gli offset che ci soddisfano. Nel mio caso, -0.060 V sui Core e -0.040 V sulla IGPU.

A questo punto, possiamo disinstallare XTU.

 

Estrarre il Bios seguendo la guida: https://macos86.github.io/Estrazione-BIOS-da-exe/#/Estrazione_BIOS_Dell

 

Nel file di testo generato cerchiamo Overclocking Lock:

0x4A893 		One Of: Overclocking Lock, VarStoreInfo (VarOffset/VarName): 0x658, VarStore: 0x1, QuestionId: 0x378, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 A7 03 A8 03 78 03 01 00 58 06 10 10 00 01 00}
0x4A8A4 			One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 04 00 30 00 00}
0x4A8AB 			One Of Option: Enabled, Value (8 bit): 0x1 {09 07 03 00 00 00 01}
0x4A8B2 		End One Of {29 02}

Nel mio caso si trova immediatamente sotto a CFG Lock. Overclocking Lock deve essere disabilitato.

Nel mio caso, è già disabilitato, ma con le versioni recenti del Bios è stato abilitato per correggere la falla di sicurezza "Plundervolt" (INTEL-SA-00289).

Se Enabled fosse impostato come default, segniamoci l'offset della variabile (0x658).

 

Cerchiamo poi OverClocking Feature:

0x4D0A6 		One Of: OverClocking Feature, VarStoreInfo (VarOffset/VarName): 0x724, VarStore: 0x1, QuestionId: 0x487, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 6E 13 6F 13 87 04 01 00 24 07 10 10 00 01 00}
0x4D0B7 			One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 04 00 30 00 00}
0x4D0BE 			One Of Option: Enabled, Value (8 bit): 0x1 {09 07 03 00 00 00 01}
0x4D0C5 		End One Of {29 02}

Deve essere abilitato. Nel mio caso, non lo è, quindi mi segno l'offset (0x724).

Se rimanesse disabilitato, tutti i valori dei voltaggi non verrebbero usati.

 

Cerchiamo poi Core Voltage Offset:

0x4D273 		Numeric: Core Voltage Offset, VarStoreInfo (VarOffset/VarName): 0x72A, VarStore: 0x1, QuestionId: 0x495, Size: 2, Min: 0x0, Max 0x3E8, Step: 0x1 {07 94 84 13 85 13 95 04 01 00 2A 07 10 11 00 00 E8 03 01 00}
0x4D287 			Default: DefaultId: 0x0, Value (16 bit): 0x0 {5B 07 00 00 01 00 00}
0x4D28E 		End {29 02}
0x4D290 		One Of: Offset Prefix, VarStoreInfo (VarOffset/VarName): 0x72C, VarStore: 0x1, QuestionId: 0x496, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 9A 13 9E 13 96 04 01 00 2C 07 10 10 00 01 00}
0x4D2A1 			One Of Option: +, Value (8 bit): 0x0 (default) {09 07 46 03 30 00 00}
0x4D2A8 			One Of Option: -, Value (8 bit): 0x1 {09 07 47 03 00 00 01}
0x4D2AF 		End One Of {29 02}

Segniamoci i due offset (0x72A per il valore dell'offset e 0x72C per il segno).

 

Cerchiamo infine GT Voltage Offset:

0x4D48C 		Numeric: GT Voltage Offset, VarStoreInfo (VarOffset/VarName): 0x9A8, VarStore: 0x1, QuestionId: 0x49F, Size: 2, Min: 0x0, Max 0x3E8, Step: 0x1 {07 94 41 14 43 14 9F 04 01 00 A8 09 10 11 00 00 E8 03 01 00}
0x4D4A0 			Default: DefaultId: 0x0, Value (16 bit): 0x0 {5B 07 00 00 01 00 00}
0x4D4A7 		End {29 02}
0x4D4A9 		One Of: Offset Prefix, VarStoreInfo (VarOffset/VarName): 0x9AA, VarStore: 0x1, QuestionId: 0x4A0, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 9B 13 9E 13 A0 04 01 00 AA 09 10 10 00 01 00}
0x4D4BA 			One Of Option: +, Value (8 bit): 0x0 (default) {09 07 46 03 30 00 00}
0x4D4C1 			One Of Option: -, Value (8 bit): 0x1 {09 07 47 03 00 00 01}
0x4D4C8 		End One Of {29 02}

Segniamoci i due offset (0x9A8 per il valore dell'offset e 0x9AA per il segno).

 

Altri valori che possiamo modificare sono GTU Voltage Offset (parte Unslice della GPU integrata, dedicata ad alcune funzionalità multimediali come l'encoding H.264 in tempo reale) e Uncore Voltage Offset (System Agent).

 

Ora avviamo la shell come spiegato nella guida per l'estrazione del Bios. Scriviamo

  • Se Overclocking Lock è abilitato
  • setup_var 0x658 0x00

     

  • Se OverClocking Feature è disabilitato
  • setup_var 0x724 0x01

     

  • Se vogliamo fare undervolt ai core della CPU
  • setup_var 0x72C 0x01
    setup_var 0x72A 0x3C

     

  • Se vogliamo fare undervolt alla GPU integrata
  • setup_var 0x9AA 0x01
    setup_var 0x9A8 0x28

     

Negli ultimi due casi, la prima riga imposta il segno dell'offset come "-" (dopotutto vogliamo fare UNDERvolt...).

La seconda riga imposta il valore dell'offset.

Nel mio caso ho impostato -0.060V per la CPU, quindi 60 mV. Convertendo 60 in esadecimale si ottiene 0x3C.

Per la IGPU ho impostato -0.040V, quindi 40 mV. Convertendo 40 in esadecimale si ottiene 0x28.

 

Ricordate di usare i vostri valori di offset delle variabili, che probabilmente saranno diversi dai miei.

 

Ora non ci resta che riavviare la shell con il comando

reboot

 

Avviamo Windows e verifichiamo da un'app come HWMonitor che gli offset dei voltaggi siano stati salvati. Verifichiamo anche che i voltaggi siano diversi anche su altri sistemi operativi.

 

Nel mio caso, su macOS sono passato da circa di 0.710V a circa 0.650V sui core in idle.

 

 

 

  • Like 1
  • Thanks 3
Link to comment
Share on other sites

  • Gengik84 featured and pinned this topic
  • Supervisor.

Esatto, in questo modo non devo aprire delle app a ogni avvio e funziona anche su macOS.

Se fosse stato possibile, l'avrei fatto direttamente dal bios, ma sul mio le opzioni non sono visibili.

Link to comment
Share on other sites

  • Moderators

Ah no ecco dicevo perché non lo fai normalmente da BIOS, un alternativa, se interessano le prestazioni, aumentare la il clock fino a sfruttare il maggiore core che c'è di Default...

  • Like 1
Link to comment
Share on other sites

  • Supervisor.

Nel mio caso, la cpu del portatile non riesce a tenere la frequenza massima di turbo perché va in Power Throttling.

Per ora sono passato da 2.9 a 3.2 GHz su tutti i core, ma per arrivare ai 3.9 dichiarati ce n'è ancora di strada.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • There are no registered users currently online
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.