Pagina 6 di 6

Re: Switch scheda grafica

Inviato: mer 11 gen 2012, 14:10
da NicoMetal
Ok modificando:

ENABLE_POWER_MANAGEMENT=Y
STOP_SERVICE_ON_EXIT=Y
Ora il comando optirun funziona senza problemi (mi ero dimenticato di farlo anche se non capisco perchè prima funzionava lo stesso).
Ho notato che però se do glxgears da solo mi ritorna lo stesso quel output:
Xlib: extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual

È normale?

Re: Switch scheda grafica

Inviato: sab 21 gen 2012, 2:15
da NicoMetal
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?

Re: Switch scheda grafica

Inviato: mar 24 gen 2012, 0:22
da wolf64
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. :)

Re: Switch scheda grafica

Inviato: sab 28 gen 2012, 17:49
da NicoMetal
MM ora sono in periodo di esami è hopoco tempo per smanettare e starci dietro in caso qualcosa non vada appena mi trovo 5 minuti seri, mi metto all'opera :)

Re: Switch scheda grafica

Inviato: gio 2 feb 2012, 12:14
da NicoMetal
Allora o delle novità:
dalle versione 3.0 di bumblebee basta installare:
libjpeg-turbo
VirtualGL
il modulo esterno bbswitch
e bumblebee e tutto va da dio, con anche sistema ventole sistemato (probabilmente era un bug del rpogramma).
Ps. Per uno switch non manuale non basterebbe creare un file che dia delle condizioni a optirun per cui deve partire con certi programmi lanciati?

Re: Switch scheda grafica

Inviato: gio 2 feb 2012, 15:32
da teox99
optirun serve a comunicare al demone bumblebeed di lanciare il programma nell'ambiente virtualizzato
puoi automatizzare la procedura indirettamente, creando un file di bash (es. in /usr/bin/bumble-gimp.sh ) che lancia l'eseguibile del programma (es. optirun gimp) con optirun,
oppure puoi impostare optirun direttamente nel percorso dell'eseguibile dell'icona (in KDE Menu editor) ecc...
logicamente il demone dovrà essere attivo o il programma non verrà eseguito.

il prob. delle ventole credo sia stato risolto dai nuovi driver nvidia 290.10

ho pacchettizzato i nuovi slackbuild puoi li metto online,
aggiornando la vecchia versione con upgradepkg tutto funziona bene.
l'implementazione di bbswitch provvede a spengere e accendere la gpu nvidia al momento del lancio di optirun ... fantastico!

Re: Switch scheda grafica

Inviato: gio 2 feb 2012, 20:06
da NicoMetal
teox99 ha scritto:optirun serve a comunicare al demone bumblebeed di lanciare il programma nell'ambiente virtualizzato
puoi automatizzare la procedura indirettamente, creando un file di bash (es. in /usr/bin/bumble-gimp.sh ) che lancia l'eseguibile del programma (es. optirun gimp) con optirun,
oppure puoi impostare optirun direttamente nel percorso dell'eseguibile dell'icona (in KDE Menu editor) ecc...
logicamente il demone dovrà essere attivo o il programma non verrà eseguito.

il prob. delle ventole credo sia stato risolto dai nuovi driver nvidia 290.10

ho pacchettizzato i nuovi slackbuild puoi li metto online,
aggiornando la vecchia versione con upgradepkg tutto funziona bene.
l'implementazione di bbswitch provvede a spengere e accendere la gpu nvidia al momento del lancio di optirun ... fantastico!
Non penso che sia una questione di driver in quanto anche prima usavo i 290.10... L'unica di diverso nei driver che ho rispetto a prima e che ho installato direttamente quelli dati da slackbuilds.org al posto di lanciare il file .run della nvidia.
La versione però rimane la stessa...Per questo penso che sia un bug della vecchia versione di bumblebbe...

Re: Switch scheda grafica

Inviato: ven 3 feb 2012, 23:55
da wolf64
Il problema della ventola è stato risolto dal fatto che mentre prima veniva usato il modulo acpi_call, adesso viene usato bbswitch, più facile da usare e che ha risolto quel problema con un approccio più efficiente. Con questo modulo basta "echo OFF > /proc/acpi/bbswitch" per spegnere la scheda e "echo ON > /proc/acpi/bbswitch" per accenderla, anzichè dover cercare le chiamate specifiche per il proprio computer. Con "cat /proc/acpi/bbswitch" si verifica lo stato (e la cosa ben si presta a programmi o scripting che hanno bisogno di questa verifica). Ci sono anche un paio di opzioni molto utili che permettono di spegnere, accendere o mantenere lo stato della scheda al caricamento o allo scaricamento del modulo. Ad esempio non devo più usare quello script in /etc/rc.d/rc.local che ho postato nel mio messaggio precedente, perchè mi basta passare una di queste opzioni con il giusto valore.
Devo dire che l'ho trovata una notevole evoluzione rispetto a acpi_call!

Mi è piaciuta anche l'evoluzione di Bumblebee, ho visto che adesso è tutto scritto in C anzichè in scripting. A dire la verità stavo valutando tra questo e Ironhide, ma vedendo questi cambiamenti rimango su Bumblebee!

Re: Switch scheda grafica

Inviato: sab 4 feb 2012, 1:33
da NicoMetal
si ora devo dire che tutto funziona egregiamente senza problemi ed è anche facile la verifica. Probabilmente se adesso si sistemasse la faccenda della doppia sessione di x aperta sarebbe perfetto...