NicoMetal ha scritto:Ho notato che quando avvio il pc con bumblebee all'avvio, il pc parte poco dopo che bumblebee parte comincia far girare leventole fortissimo e a gettare fuori aria fredda.
E invece quando s'avvia senza bumblebee le ventole vanno piano e gettano fuori un sacco di calore. COme mai questa cosa? E non c'è un modo per rallentarle che sono rumorosissime?
Io ho un Asus X53S, processore i5, Nvidia GT 540M con 2GB di VRAM. Per disabilitare la scheda Nvidia devo passare una chiamata a /proc/acpi/call come la tua, ovvero '\_SB.PCI0.PEGR.GFX0._OFF', ma se passo solo questa chiamata ho lo stesso tuo problema, ovvero parte la ventola alla massima velocità e non c'è verso di fermarla. La soluzione che ho trovato è quella di passare un'altra chiamata prima di quella che serve per non avere quel problema con la ventola. Questa chiamata è: '\_SB.PCI0.LPCB.EC0.TSDS'
Da notare che dopo questa chiamata la ventola mi funziona regolarmente quando serve, non è che viene disabilitata.
Questa chiamata deve essere passata una sola volta per sessione, poi si può attivare o disattivare la scheda tutte le volte che si vuole.
Per questo si può mettere la chiamata in /etc/rc.c/rc.local in modo che sia lanciata una sola volta all'avvio. Tanto basta.
Prima però di metterla in uno script di avvio, ti consiglierei di verificare se funziona.
Se poi funziona, io ho inserito il caricamento del modulo acpi_call in /etc/rc.d/rc.modules. In questo caso occhio che è un link a /etc/rc.d/rc.modules-versione_kernel, perciò se si dovesse cambiare il kernel andrebbe reinserito, mentre effettivamente mettendolo in /etc/rc.d/rc.local rimarrebbe sempre (a meno che non si sia un upgrade di questo file).
Comunque, al di là di come si decide di far caricare questo modulo, ho aggiunto "blacklist nvidia" in /etc/modprobe.d/blacklist.conf, in modo da non far caricare questo modulo all'avvio, e infine ho aggiunto le seguenti righe in /etc/rc.d/rc.local:
Codice: Seleziona tutto
if [ -f /proc/acpi/call ]; then
echo '\_SB.PCI0.LPCB.EC0.TSDS' > /proc/acpi/call
if [ "$?" -eq 0 ]; then
echo "Launching acpi call \_SB.PCI0.LPCB.EC0.TSDS"
fi
unalias grep >/dev/null 2>&1
lsmod | grep -v grep | grep nvidia >/dev/null 2>&1
if [ "$?" -ne 0 ]; then
echo '\_SB.PCI0.PEGR.GFX0._OFF' > /proc/acpi/call
if [ "$?" -eq 0 ]; then
echo "Launching acpi call \_SB.PCI0.PEGR.GFX0._OFF"
fi
fi
fi
Un'altra cosa. Nel mio portatile ho scoperto che se lo mando in sospensione su RAM (l'ibernazione non saprei dire perchè pur funzionando non la uso mai), quando esce dalla sospensione, per qualche motivo che non ho ancora capito, pur rimanendo la scheda ancora spenta il consumo non è come se fosse accesa, ma è più alto di quanto dovrebbe essere se fosse spenta. Questa cosa l'ho scoperta con powertop. Con la scheda spenta sono sui 12W e più di 5 ore di autonomia, cosa che mi va più che bene. Con la scheda accesa sono sui 20W, ma nel caso che ho citato rimane su una via di mezzo.
Cercare negli script di pm-utils è molto complesso, ma ho visto che riaccendendola e rispegnendola i consumi tornano come devono essere.
Per questo ho aggiunto il file /etc/pm/sleep.d/99reset-nvidia-card-off il cui contenuto è:
Codice: Seleziona tutto
case "$1" in
resume|thaw)
if [ -f /proc/acpi/call ]; then
lsmod | grep -v grep | grep nvidia >/dev/null 2>&1
if [ "$?" -ne 0 ]; then
echo '\_SB.PCI0.PEGR.GFX0._ON' > /proc/acpi/call
echo '\_SB.PCI0.PEGR.GFX0._OFF' > /proc/acpi/call
fi
fi
;;
esac
Quanto ho scritto sino ad ora è più finalizzato al risparmio energetico, prossimamente conto di implementare anch'io come si deve bumblebee, che ho già installato e provato, ma devo sistemare alcune cose.
Spero di esserti stato utile.