GPUL’arrivo del sole e della bella stagione porta un significativo aumento delle temperature. Durante le sessioni di gioco più estreme questo può portare le schede grafiche discrete a toccare temperature particolarmente elevate e/o a perdita di prestazioni. Vedremo quindi come gestire manualmente la velocità delle ventole di una schede grafica NVidia su Linux.

Questa è la configurazione hardware/software utilizzata per la guida:

  • NVidia GTX 770
  • Ubuntu 16.04 64 bit
  • Driver 367.57

Abilitare “Coolbits”

Per poter gestire in maniera manuale i parametri avanzati della scheda grafica è necessario abilitare l’opzione “Coolbits”. Questo parametro permette infatti di overclockare, modificare la tensione di alimentazione e variare la velocità delle ventole.

Per farlo nella maniera più semplice possibile è possibile creare un nuovo file di testo in /usr/share/X11/xorg.conf.d/52-nvidia.conf contenente le seguenti righe
Section    "Device"
Identifier "Device0"
Driver     "nvidia"
VendorName "NVIDIA Corporation"
Option     "Coolbits" "4"
EndSection

In base al valore assegnato alla riga “Coolbits” si avranno diverse possibilità:

  • 1 (bit 0) – Abilita l’overclock per vecchie schede videor (pre-Fermi)
  • 2 (bit 1) – Il driver proverà ad inizializzare lo SLI anche se si utilizzano GPU con un differente quantitativo di memoria
  • 4 (bit 2) – Abilita la gestione manuale delle ventole
  • 8 (bit 3) – Abilita l’overclock (Disponibile dalla versione 337.12 per le schede basate su architettura Fermi e successive)
  • 16 (bit 4) – Abilita l’overvoltage (Disponibile dalla versione 346.16 per le schede basate su architettura Fermi e successive)

Nel caso si volessero abilitare più opzioni in contemporanea, è sufficiente impostare un valore pari alla somma delle due opzioni. Ad esempio per abilitare overclock e controllo manuale delle ventole il valore di “Coolbits” dovrà essere 12 (4 + 8).

Gestire la velocità tramite script

Adesso che la funzionalità è stata sbloccata, il mio consiglio è quello di gestire il tutto tramite script. Si potrà avviare tale script manualmente all’occorrenza oppure lanciarlo automaticamente all’avvio del sistema.

Trovate un esempio nel mio repository github. La curva di esempio adottata al momento della stesura dell’articolo è la seguente:

NVIDIA fan curve

Sentitevi liberi di modificarla a vostro piacimento, prestando particolare attenzione ai valori impostati. Chi gradisce il silenzio potrebbe essere interessato a ridurre il numero di giri, ma un numero troppo basso porta a surriscaldamenti che potrebbero danneggiare l’hardware.