Post  |  Commenti

Post Meta

10th
MAR

Hibernate, gentoo, nvidia e fbsplash

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted by deepred | Filed under Appunti, Laptop, Linux

Sono riuscito a far funzionare correttamente l’ibernazione sul mio portatile e, siccome non è stato semplicissimo, voglio condividere con gli interessati quali sono i passi che sono stati necessari

tuxsicle.jpg

Per far funzionare l’hibernate sulla mia macchina Asus, ho installato i sorgenti del kernel contententi sia le patch per Gentoo sia quelle per la sospensione, reperibili nel Portage come tuxonice-sources (in particolare al momento è presente la versione 2.6.23-r10).

Una ottima guida per la corretta configurazione del kernel e delle utility necessarie è quella fornita dal wiki di Gentoo. Tuttavia, nonostante sia molto ben fatta, ho trovato qualche problema, in particolare derivante dalla incompatibilità con i driver nvidia.

Tale incompatibilità è stato possibile risolverla attraverso questi semplici pochi passi:

  1. Commentata la linea relativa ad nvidia in /etc/hibernate/blacklisted-modules;
  2. In /etc/hibernate/common.conf decommentate le linee

    UnloadBlacklistedModules yes
    LoadModules auto
    GentooModulesAutoload yes

  3. In /etc/hibernate/suspend2.conf aggiunta la linea

    ProcSetting extra_pages_allowance 7500

    (NOTA: dovrebbe funzionare anche per valori più bassi, in particolare ho trovato forum in cui si consigliava di impostare questo parametro a 7200, ma non ho provato).

Dopo aver fatto funzionare correttamente il processo di ibernazione, il passo successivo è stato quello di configurarlo in modo da permettere di funzionare con uno splash di sfondo. Per questo ho eseguito i seguenti passi:

  1. In /etc/hibernate/suspend2.conf ho aggiunto la linea

    ProcSetting userui_program /sbin/tuxoniceui_fbsplash

  2. In /etc/hibernate/common.conf ho decommentato le linee:

    FBSplash on
    FBSplashTheme tuxonice
    SwitchToTextMode yes
    UseDummyXServer yes

  3. Inoltre ho modificato l’immagine initrd aggiungendogli l’applicativo tuxoniceui_fbsplash, attraverso questi passi:

    # mount /boot
    # mkdir ~/initrd.d
    # cp /boot/fbsplash-theme-1024×768 ~/initrd.d/
    # cd ~/initrd.d
    # gunzip -c fbsplash-theme-1024×768 | cpio -idm –quiet -H newc
    # rm fbsplash-theme-1024×768
    # cp /sbin/tuxoniceui_fbsplash sbin/
    # find . | cpio –quiet –dereference -o -H newc | gzip -9 > /boot/fbsplash-theme-1024×768

  4. Infine ho creato il symlink /etc/splash/tuxonice al tema che desideravo in /etc/splash

Questo sarebbe dovuto bastare, ma in realtà non è stato così. Infatti, l’esecuzione dell’hibernate restituiva il seguente errore:

Could not talk to splash daemon. fbsplash disabled.

Un po’ di ricerche sul web e nel mio filesystem, mi hanno permesso di individuare l’origine dell’errore nel fatto che il file /lib/splash/cache/.splash sarebbe dovuto essere una FIFO ed invece era un file regolare. Per ovviare a questo problema, mi è bastato semplicemente aggiungere in /etc/conf.d/local.start le seguenti linee:

if ! test -p /lib/splash/cache/.splash; then
rm /lib/splash/cache/.splash &>/dev/null
mkfifo /lib/splash/cache/.splash
fi

Dopodiché, al successivo riavvio, è stato possibile attivare l’ibernazione con splash grafico in modalità silent. Nel caso si desidera utilizzare la modalità verbose, la situazione invece si complica un pochino. Infatti la modalità testuale presente in TuxOnIce (attivabile mediante l’opzione ProcSetting userui_program /sbin/tuxoniceui_text) non mi è stato possibile riuscirla a far funzionare.

In alternativa ho provato ad editare lo script /usr/share/hibernate/scriptlets.d/fbsplash, sostituendo, ogni qual volta appariva set mode silent con set mode verbose: questa operazione funziona, ma produce una grafica pessima nelle fasi finali della sospensione (iniziali del resume).

Spero che questi miei tentativi possano essere utili a qualcuno e non appena ne saprò qualcosa in più ve ne renderò senza dubbio partecipi.

Tags: > > > > > > > >

Reader's Comments

  1. deepred |

    Allora interessanti novità per quanto riguarda il funzionamento del suspend.

    La modalità grafica funziona correttamente semplicemente disinstallando Kpowersave. Ricordo che numerose potenzialità di Kpowersave sono replicate in Klaptop.

    Inoltre ho notato una serie di piccoli inconvenienti:
    –Alcuni tasti funzione non andavano più dopo il resume: per ovviare a questo problema basta aggiungere in /etc/hibernate/common.conf la riga

    UnloadModules button (se non l’avete compilato come modulo vi conviene farlo)

    –Il touchpad synaptics lavora ma non è più configurabile tramite synclient: per risolvere questo problema basta semplicemente eliminare in /etc/hibernate/common.conf l’opzione

    UseDummyXServer yes

    Spero che queste novità possano esservi utili.

Leave a Reply

Il contenuto di questo Blog è rilasciato sotto Licenza Creative Commons (Leggi)