Ed ecco la seconda ed ultima parte della guida per sistemare (non voglio ancora scrivere risolvere) il problema di Lucid con la temperatura, dovuto al driver ATI open source. Il grosso è stato fatto con la prima parte, ora daremo una sistemata allo scaling della CPU, installeremo una piccola applet che ci consentirà di monitorare in tempo reale la temperatura (per essere sicuri che tutto vada al meglio), e riconfigureremo Plymouth, il nuovo splashscreen di avvio e chiusura del sistema operativo, che con i driver proprietari non va daccordissimo..
Primo passo - Installare Powernowd
In realtà questo non c'entra nulla col comparto video, ma smanettando mi sono reso conto che sul mio notebook le applet di variazione della frequenza della CPU funzionavano regolarmente senza che fosse installato né Powernowd né Cpufreqd né Cpufrequtils.. Mah.. Misteri di Linux.. Cmq a scanso di equivoci ho provveduto ad installare Powernowd (Cpufreqd ancora non sono riuscito a configurarlo come si deve, quindi preferisco non usarlo), dando semplicemente:
sudo apt-get install powernowd
Secondo passo - Configurare i sensori di temperatura
Per prima cosa provvediamo ad installare il necessario per usare i sensori di temperatura probabilmente presenti sul nostro notebook:
sudo apt-get install lm-sensors sensors-applet
Poi, sempre da linea di comando, vediamo quali moduli dobbiamo caricare all'avvio:
sudo sensors-detect
A questo punto rispondete sempre yes alle varie domande che vi verrano poste e alla fine vi verranno indicati dei moduli da caricare all'avvio; inseriteli in /etc/modules
e riavviate, poi aggiungete al pannello l'applet Hardware Sensors Monitor e il gioco è fatto.. ;)
Ehm.. Quasi.. Perchè ad esempio il modulo relativo al sensore di temperatura del mio notebook, chiamato k10temp, non è incluso ancora nel kernel, lo sarà dalla versione 2.6.34, purtroppo però i driver ATI proprietari non sono ancora compatibili con tale kernel (cosa provata e riprovata, fidatevi), quindi è necessario provvedere a compilare questo benedetto modulo "a manina"..
ATTENZIONE!! Questa parte della guida è rivolta solo a coloro che non posso usare direttamente i sensori di temperatura, precisamente mi riferisco al seguente hardware indicato dal comando sensors-detect
, indicato anche qui, sulla pagina ufficiale del progetto:
Family 10h CPU, family 11h CPU
Bene, se avete questo sensore, scaricate i sorgenti del modulo da qui, decomprimeteli in una directory e poi, prima di passare alla compilazione vera e propria, installate i sorgenti del kernel:
sudo apt-get install linux-source
A questo punto entrate nella directory dove avete decompresso i sorgenti ed eseguite il make in questo modo:
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
Poi carichiamo temporaneamente il modulo, per testare se funziona:
sudo insmod k10temp.ko
Ed effettuiamo il test:
sensors
Se funziona vedremo visualizzate le informazioni sul/sui sensore/i, oltre ovviamente alle temperature, altrimenti possiamo cancellare tutto e fermarci, vuol dire che il sensore non è compatibile nemmeno con questo modulo. Se il sensore ora viene letto, possiamo aggiungere il modulo al sistema permanentemente e caricarlo all'avvio:
sudo cp k10temp.ko /lib/modules/$(uname -r)/kernel/drivers/hwmon
sudo depmod
sudo modprobe k10temp
echo 'k10temp' | sudo tee -a /etc/modules >/dev/null
E riavviamo.. A questo punto l'applet di cui parlavo prima dovrebbe funzionare correttamente.. ;)
Terzo passo - Riconfigurare Plymouth
Il problema è che Plymouth usa il KMS (Kernel Mode Settings, praticamente è il kernel ad adattare la risoluzione dello schermo), pienamente supportato dai driver open, ma non dai proprietari (che invece ricorrono a X.Org).. Procediamo installando per prima cosa hwinfo e v86d:
sudo apt-get hwinfo v86d
Diamo il comando:
sudo hwinfo --framebuffer
Otterremo una lista di linee tipo questa:
Mode 0x0323: 1024x768 (+4096), 24 bits
Scegliamo la risoluzione che vogliamo (io ho indicato quella che ho scelto) e prendiamone nota, poi dobbiamo fare lo stesso con il monitor:
xrandr
A questo punto abbiamo tutto, ovviamente scegliamo una risoluzione compatibile con quelle visualizzate prima. Supponiamo di usare la stessa che ho scelto io, dobbiamo riconfigurare Grub:
sudo gedit /etc/default/grub
Dovete modifica le due linee corrispondenti a GRUB_CMDLINE_LINUX_DEFAULT
e GRUB_GFXMODE
e modificatele in:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1024x768-24,mtrr=3,scroll=ywrap"
GRUB_GFXMODE=1024x768
Ovviamente se scegliete una risoluzione diversa dovete mettere quella.. Ora modifichiamo il seguente file:
sudo gedit /etc/initramfs-tools/modules
Aggiungendo alla fine la linea:
uvesafb mode_option=1024x768-24 mtrr=3 scroll=ywrap
Ovviamente anche qui se avete scelto una risoluzione diversa dovete indicare quella. Non ci resta che dare:
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
Abbiamo quasi finito, dobbiamo solo aggiornare i file di sistema:
sudo update-grub2
sudo update-initramfs -u
Ora possiamo riavviare e testare il corretto funzionamento di Plymouth.
Mi rendo conto che è una procedura molto lunga (spero che siate riusciti ad arrivare fino alla fine prima di addormentarvi), ma ho ritenuto di non spezzettare ulteriormente questa guida, in modo da avere un sistema che torni a funzionare correttamente (almeno spero!!) in un tempo ragionevole..
Alla prossima..