condivido la guida per le doppie schede grafiche:

Diversi computer di nuova generazione nel settore portatili sono equipaggiati da sistemi grafici hardware studiati per consumare meno energia e far durare piu' a lungo la batteria. Questo accade sia per quanto riguarda la ATI che la NVIDIA, infatti i produttori di tale macchine  le equipaggiano pure con batterie a 9 celle ( di solito lo facevano con 6) ma processori  e schede grafiche di nuova generazione viste le alte prestazioni fanno avere alle suddette una durata risibile.
Nascono cosi' sistemi grafici hardware ibridi, cioe' macchine che per l'uso normale adoperano una pseudo scheda grafica (intel) presente all' interno stesso del chip del processore ( in genere i5 e i7 ), mentre per i "lavori pesanti" usano la scheda grafica vera e propria, come ad esempio per programmi di grafica 3D, giochi, ma anche ad esempio lo stesso googleearth.
La situazione dal lato Windows vede tale macchine con 2 driver (intel+ATI/NVIDIA) che non lavorano in parallelo e automaticamente, bensi' nella interfaccia del driver della vera scheda grafica esiste la possibilita' di elencare manualmente quali programmi installati devono essere eseguiti con la stessa.
Dal lato Linux invece i produttori dei driver non hanno fatto niente per abilitare tale funzione. Risultato che chi usa tali computer usa la scheda intel ma  non la ATI/NVIDIA, se solo si prova a installare i driver per queste schede....schermo nero e buonanotte!

La soluzione e' doppia e si chiamano Bumblebee e Ironhide, https://launchpad.net/~bumblebee/+archive/stable, il primo e' piu' stabile ma ha bisogno di modificare i lanciatori dei programmi interessati, il secondo e' meno stabile ma installa una comoda intefaccia sulla barra dove gestire l'avvio degli stessi.

-----------------------------------------------------------------------------------------------------------------------------------------------------

BUMBLEBEE

Io consiglio di usare i ppa per installare quello che serve, nel caso di Bumblebee sara':

sudo bumblebee-uninstall                                                                        (per togliere bumblebee installato manualmente)
sudo apt-get install ppa-purge                                                                          (per rimuovere i ppa che vanno in constrasto con bumblebee)
sudo ppa-purge ppa:ubuntu-x-swat/x-updates
sudo ppa-purge ppa:xorg-edgers/ppa
sudo  ppa-purge ppa:mj-casalogic/bumblebee                                        (rimuovere vecchi repo ufficiali del progetto)
sudo apt-add-repository ppa:bumblebee/stable                                       (Installa nuovi repo ufficiali del progetto)
sudo apt-get update
sudo apt-get install bumblebee

dopodiche' dovrete da terminale fare anche:

sudo usermod -a -G bumblebee TUONOME

dove TUONOME e' il vostro login

una volta resettato provate a digitare sul teminale:

optirun glxgears

o

optirun64 glxgears

per i sistemi a 64bit,

e vedrete le classiche ruzzoline andare mooolto piu' veloci rispetto al classico glxgears.

Per abilitare i lanciatori a a utilizzare le scheda grafica "vera" io uso il comando alacarte, nella gestione del menu' aggiungo al comando delle icone:

sh -c "optirun IL COMANDO GIA ESISTENTE"

ad esempio: sh -c "optirun googleearth %f"
oppure
sh -c "optirun64 googleearth %f"

-pro: e' stabile

-contro: NON ESISTE NESSUN RISPARMIO ENERGETICO DI TALI COMPUTER CON BUMBLEBEE
Infatti a oggi nemmeno il kernel di linux ha trovato una soluzione a questa cosa, le 2 schede gireranno assieme e l'unica differenza che possiamo tastare con mano e' che mentre useremo la ATI/NVIDIA sentiremo la ventola di raffreddamento aumentare di velocita' e rumorosita'.
-----------------------------------------------------------------------------------------------------------------------------------------------------
IRONHIDE         


Per prima cosa se in precedenza abbiamo provato bumblebee merita fare pulizia:

sudo bumblebee-uninstall                                                                        (per togliere bumblebee installato manualmente)
sudo apt-get install ppa-purge                                                                          (per rimuovere i ppa che vanno in constrasto con bumblebee)
sudo ppa-purge ppa:ubuntu-x-swat/x-updates
sudo ppa-purge ppa:xorg-edgers/ppa
sudo  ppa-purge ppa:mj-casalogic/bumblebee                                        (rimuovere vecchi repo ufficiali del progetto)

poi:
1- Rimuovere i driver nouveau per le Nvidia

sudo apt-get --purge remove xserver-xorg-video-nouveau

2- installazione

sudo add-apt-repository ppa:mj-casalogic/ironhide && sudo apt-get update && sudo apt-get install ironhide ironhide-ui

3- si aprira' nel terminale delle finestre, rispondete alle domande poste, si arriva a delle configurazioni fatte da utenti e sviluppatori, scegliete fra quelle piu' confermate come buone dagli utenti, e cmq potete provarle anche successivamente come vedremo.

ora va modificato delle configurazioni in un paio di file:

sudo gedit /usr/share/ironhide-ui/app/Config.py

e sostituite la stringa:   user_relative_desktop_file_directory = '/ '       con:

user_relative_desktop_file_directory = '/.local/share/applications/'

ugualmente fate con:

sudo gedit /usr/bin/ironhide-indicator

e sostituite tutto il testo con:

#!/usr/bin/python
# -*- coding: utf-8 -*-
### BEGIN LICENSE
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <davy.renaud@laposte.net> wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return Davy Renaud (glyptostroboides)
# ----------------------------------------------------------------------------
#

#    This file is part of ironhide-ui.
#
#    ironhide-ui is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    ironhide-ui is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with ironhide-ui.  If not, see <http://www.gnu.org/licenses/>.
#
### END LICENSE

#UI MODULE
import pygtk
pygtk.require('2.0')
import gtk
import gobject
import appindicator
import pynotify

#SYSTEM MODULE
import os
import subprocess

###ORIGINAL CLASS
import app.Config
from app.AppSettings import Applications_settings, IconSet
from app.DesktopFile import DesktopFile, DesktopFileSet

class IronhideIndicator():
#TODO There must be a better way to get the icon than
    def notify_state(self,title,msg,icon_name):    #Altered by icb410
        self.notification= pynotify.Notification(title, msg, IconSet().get_uri(icon_name,48))  #fixed tab indentation to space
        self.notification.set_urgency(pynotify.URGENCY_CRITICAL)
            #self.notification.set_timeout(pynotify.EXPIRES_NEVER) ######   NICE TO SHOW A MESSAGE SIMPLY
        #FIXME The notification is to slow and this doesn't work
            #self.notification.set_timeout(1000)
        self.notification.show()

###INITIALIZATION OF INDICATOR AND MENU
    def __init__(self):
        #TODO Choose the best category for the indicator : appindicator.CATEGORY_APPLICATION_STATUS or appindicator.CATEGORY_SYSTEM_SERVICES
        self.ind = appindicator.Indicator ("ironhide-indicator", "ironhide-indicator", appindicator.CATEGORY_HARDWARE)
        self.ind.set_status (appindicator.STATUS_ACTIVE)
        self.ind.set_icon_theme_path(app.Config.icon_file_directory)
        #TODO The icons style and accesibility must be enhanced : see icons/test directory
        self.ind.set_icon(app.Config.icon_file_directory + "ironhide-indicator.svg",'Ironhide is unactive')
        self.ind.set_attention_icon (app.Config.icon_file_directory + "ironhide-indicator-active.svg",'Ironhide is active')
        self.card_state=False
        self.build_menu()
        self.menu.show()
        self.ind.set_menu(self.menu)
        pynotify.init("ironhide_indicator")  #Added to avoid crash by icb410
    def quit(self, widget, data=None):
        gtk.main_quit()

    def build_menu(self):
        self.menu = gtk.Menu()
        self.switch = gtk.CheckMenuItem()
        self.initial_state_checker()
        self.switch.set_sensitive(False)
        self.menu.append(self.switch)

        self.build_menu_separator()

        self.prefered_app_submenu = gtk.MenuItem("Preferred Apps")
        self.update_menu()
        self.prefered_app_submenu.connect('activate', self.update_menu)
        self.menu.append(self.prefered_app_submenu)

        item2 = gtk.MenuItem("Configure Apps")
        item2.connect("activate", self.app_configure)
        self.menu.append(item2)

    #TODO An UI to configure Ironhide would be nice

         #item3 = gtk.MenuItem("Configure Ironhide")
        #item3.show()
        #self.menu.append(item3)

        self.build_menu_separator()

        quit = gtk.ImageMenuItem(gtk.STOCK_QUIT)
        quit.connect("activate", self.quit)
        self.menu.append(quit)

        self.menu.show_all()

    def build_menu_separator(self):
        separator = gtk.SeparatorMenuItem()
        separator.show()
        self.menu.append(separator)

#FUNCTION TO GET THE MENU FROM THE CONFIG FILE
    def update_menu(self, widget=None):   
        self.pref_menu=gtk.Menu()
        subitem = gtk.MenuItem("Glxgears")
        subitem.connect("activate", self.call_app, ['optirun', 'glxgears'])
        subitem.show()
        self.pref_menu.append(subitem)
        file_set.get_configured_from_cfg()
        for file_name in file_set.configured_set:
            [Name, File_name, Categorie, Icon_name]  = DesktopFile(file_name).get_app_info()
            subitem = gtk.MenuItem(label=Name)
            #TODO : Discuss about style : is an icon needed for this simple shortcut
            #subitem = gtk.ImageMenuItem()
            #subitem.set_image(gtk.image_new_from_pixbuf(IconSet().get_pixbuf(Icon_name,icon_size=gtk.ICON_SIZE_MENU)))
            #subitem.set_label(Name)
            subitem.connect("activate", self.call_app, DesktopFile(file_name).get_exec_list())
            subitem.show()
            self.pref_menu.append(subitem)
        self.pref_menu.show()
        self.prefered_app_submenu.set_submenu(self.pref_menu)


    def initial_state_checker(self):
        if self.attention_state_condition(): self.set_attention_state(notify=False)
        else : self.set_active_state(notify=False)

    def state_checker(self):
        if self.attention_state_condition():
            if self.card_state == False : self.set_attention_state()
        elif self.card_state == True: self.set_active_state()   
        return True

    def attention_state_condition(self):
        stdout_handle = os.popen("cat /etc/default/ironhide |grep VGL_DISPLAY |cut -f2 -d:", "r")
        vgl_display = stdout_handle.read().rstrip("\n")
        vgl_display = "/tmp/.X%s-lock" % vgl_display
        if  os.path.exists(vgl_display): return True
        else: return False

    def set_attention_state(self, notify=True):
        self.ind.set_status(appindicator.STATUS_ATTENTION)
        self.card_state = True
        if notify == True: self.notify_state("Discrete card : ON", "Discrete graphic card is powered on", "ironhide-indicator-active")
        self.switch.set_label("Discrete card : ON")
        self.switch.set_active(True)

    def set_active_state(self, notify=True):
        self.ind.set_status(appindicator.STATUS_ACTIVE)
        self.card_state = False
        if notify == True: self.notify_state("Discrete card : OFF", "Discrete graphic card is powered off", "ironhide-indicator")
        self.switch.set_label("Discrete card : OFF")
        self.switch.set_active(False)

    def app_configure(self,widget):
        Applications_settings(file_set=file_set)

    def call_app(self, widget, app_exec):
    #FIXME There is a problem when closing the launched app and when the indicator has been closed: the indicator is still running : What a daemon!!
        subprocess.Popen(app_exec,shell=False)

    def about_box(self, widget, data=None):
        dialog = gtk.MessageDialog(None, type=gtk.MESSAGE_INFO,buttons=gtk.BUTTONS_NONE,message_format="Preferences/About")
        dialog.format_secondary_text("This is Optimus by mrs_sheep. \n It is based on ironhide by MrMEEE. \n The configuration can (by now) only be set thorugh the config file!")
        dialog.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE)
        dialog.run()
        dialog.destroy()


    def main(self):
        self.state_checker()
        #FIXME It would be nice to avoid this loop : Maybe by using a signal emitted by the system
        #gtk.timeout_add(1000,self.state_checker)
        gobject.timeout_add_seconds(2, self.state_checker)
        gtk.main()

if __name__ == "__main__":

    file_set=DesktopFileSet()
    indicator = IronhideIndicator()
    indicator.main()


ora aggiungete ironhide-indicator nelle applicazioni di avvio e resettate
Troverete un icona nella barra per usare i programmi e la loro configurazione. La prima prova sara' di far partire il glxgears.
ATTENZIONE: di solito non parte quindi effettuate la riconfigurazione con il comando:

sudo ironhide-configuration

sempre in questa fase potete provare la configurazione che piu' troverete funzionale al vostro computer.
Quando gireranno le ruzzoline di glxgears e verranno i messaggi che la scheda grafica e' ON e alla chiusura delle stesse va in OFF sarete OK, con il Configure Apps aggiungete i programmi che vorrete usare con questo sistema grafico e lo troverete nella lista Preferred Apps

-pro: disabilita e abilita la scheda grafica e quindi si ha un certo risparmio energetico.

-contro: e' piu' instabile rispetto a Bumblebee. ( a dir la verita' lo sto usando da un paio di giorni e non mi ha dato alcun problema)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

nel sito sopra elencato c'e scritto anche le procedure per altri sistemi operativi e su quali computer funziona.
Io per la stabilita' preferisco Bumblebee, ma ho un uso prevalentemente da scrivania, quindi attaccato alla rete elettrica.
Come detto sopra adesso sto usando la nuova versione di Ironhide e funziona bene se installato come ho descritto sopra
Quando ho comprato il mio Dell xps 17 ho maledetto tale acquisto, ma dopo mille ricerche adesso posso dire di essere soddisfatto, certo che tornando indietro non comprerei computer con tale tecnologia, certo che se i produttori di schede/driver e quelli che fanno i kernel si dessero una mossa sicuramente tali macchine sono molto economiche di energia ma anche performanti quando serve.
E' tutto, spero di essere stato di aiuto  :)

***News***
il bravo 94-psy ha prodotto un programmino per l'installazione dei 2 sistemi di utilizzo di tali schede , trovate il tutto nel nuovo sito di Gnomind;
http://gnomind.jimdo.com/supporto/
grazie 94-psy, sei un grande :)
cerca su google: (sqrt(cos(x))*cos(200 x)+sqrt(abs(x))-0.7)*(4-x*x)^0.01, sqrt(9-x^2), -sqrt(9-x^2) from -4.5 to 4.5

disegnati questo:
x^2+(y-x^(2/3))^2=1

Il mitico bumblebee :asdrule:

Hanno eliminato l'epico commit :o :o :o :o

Citazione di: AirPort il 11 Marzo 2012, 22:58:50
Il mitico bumblebee :asdrule:

Hanno eliminato l'epico commit :o :o :o :o
cos'era? perchè se è possibile recuperarlo, lo aggiungiamo alla guida e allo script in mc  :D
cerca su google: (sqrt(cos(x))*cos(200 x)+sqrt(abs(x))-0.7)*(4-x*x)^0.01, sqrt(9-x^2), -sqrt(9-x^2) from -4.5 to 4.5

disegnati questo:
x^2+(y-x^(2/3))^2=1

Citazione di: psycho@#! il 11 Marzo 2012, 23:02:36
Citazione di: AirPort il 11 Marzo 2012, 22:58:50
Il mitico bumblebee :asdrule:

Hanno eliminato l'epico commit :o :o :o :o
cos'era? perchè se è possibile recuperarlo, lo aggiungiamo alla guida e allo script in mc  :D

Dubito, a meno che non ti interessi eliminare la /usr degli utenti :asd:

Citazione di: AirPort il 11 Marzo 2012, 22:58:50
Il mitico bumblebee :asdrule:

Hanno eliminato l'epico commit :o :o :o :o
Peccato :lolcry:
Il bere trionfa sempre sul male


Citazione di: AirPort il 11 Marzo 2012, 23:03:30
Citazione di: psycho@#! il 11 Marzo 2012, 23:02:36
Citazione di: AirPort il 11 Marzo 2012, 22:58:50
Il mitico bumblebee :asdrule:

Hanno eliminato l'epico commit :o :o :o :o
cos'era? perchè se è possibile recuperarlo, lo aggiungiamo alla guida e allo script in mc  :D

Dubito, a meno che non ti interessi eliminare la /usr degli utenti :asd:

beh, meglio di no :asd:
cerca su google: (sqrt(cos(x))*cos(200 x)+sqrt(abs(x))-0.7)*(4-x*x)^0.01, sqrt(9-x^2), -sqrt(9-x^2) from -4.5 to 4.5

disegnati questo:
x^2+(y-x^(2/3))^2=1

Citazione di: AirPort il 11 Marzo 2012, 23:05:53
Citazione di: MadnessMike il 11 Marzo 2012, 23:05:06
Citazione di: AirPort il 11 Marzo 2012, 22:58:50
Il mitico bumblebee :asdrule:

Hanno eliminato l'epico commit :o :o :o :o
Peccato :lolcry:

Quel giorno stavo soffocando dalle risate :lolcry:

quello in cui brasava /usr? :asd:
スニャブロ ufficiale del forum
pulsantoni pulsantosi per greasemonkey: http://bubs.altervista.org/index.php?topic=4.msg183#msg183
script greasemonkey anti-ads: http://bubs.altervista.org/index.php?topic=6.msg2581#msg2581

I miei vaneggi pseudodisegnosi: http://sgnafp.deviantart.com/

"Speed never killed anyone, suddenly becoming stationary, that's what gets you."

Citazione di: sgnablo il 11 Marzo 2012, 23:06:49
Citazione di: AirPort il 11 Marzo 2012, 23:05:53
Citazione di: MadnessMike il 11 Marzo 2012, 23:05:06
Citazione di: AirPort il 11 Marzo 2012, 22:58:50
Il mitico bumblebee :asdrule:

Hanno eliminato l'epico commit :o :o :o :o
Peccato :lolcry:

Quel giorno stavo soffocando dalle risate :lolcry:

non so di che parlate :O

:cereal:

Non ci credo, ti starai sbagliando di sicuro... Era quel bug che alla disinstallazione di bumblebee dava rm -rf /usr. Il web si era scatenato :asd:

si mi è venuto in mente dopo e ho corretto :asd:

aveva messo uno spazio di troppo, se non ricordo male
una roba tipo /usr /folder/di/bumblebee
スニャブロ ufficiale del forum
pulsantoni pulsantosi per greasemonkey: http://bubs.altervista.org/index.php?topic=4.msg183#msg183
script greasemonkey anti-ads: http://bubs.altervista.org/index.php?topic=6.msg2581#msg2581

I miei vaneggi pseudodisegnosi: http://sgnafp.deviantart.com/

"Speed never killed anyone, suddenly becoming stationary, that's what gets you."


Tanto per ricordare... :ueue:




Il bere trionfa sempre sul male



lol XD

fortunatamente, io per rimuovere bumblebee, discostandomi dalla guida, ho dato un remove o un purge, ora non ricordo  :asd:
cerca su google: (sqrt(cos(x))*cos(200 x)+sqrt(abs(x))-0.7)*(4-x*x)^0.01, sqrt(9-x^2), -sqrt(9-x^2) from -4.5 to 4.5

disegnati questo:
x^2+(y-x^(2/3))^2=1



e io vi ho lavorato, sperando che qualcuno ne avesse un aiuto...
cerca su google: (sqrt(cos(x))*cos(200 x)+sqrt(abs(x))-0.7)*(4-x*x)^0.01, sqrt(9-x^2), -sqrt(9-x^2) from -4.5 to 4.5

disegnati questo:
x^2+(y-x^(2/3))^2=1