Источник.

Оставил только то, что действительно заработало. И еще, чтобы не забыть: при первых попытках появлялась ошибка

Cannot access secondary GPU - 
error: [XORG] (EE) Failed to load module "mouse" 
(module does not exist, 0)

Проблема решилась удалением лишних конфигов из папки /etc/X11/xorg.conf.d

Вторая проблема - при попытке выполнить dkms add acpi-handle-hack/0.0.1 - писало, что уже есть (осталось от предыдущих попыток). Для исправления нужно выполнить: dkms remove acpi-handle-hack/0.0.1 --all

Ниже часть оригинала статьи:

 

 

In fact in a Linux OS the Nvidia Optimus is NOT working on Lenovo Ideapad Y470 Y570 due to a wrong call in the notebook BIOS, and you will end using always the Intel HD 3000 Integrated GPU and the Nvidia discrete graphic card will be always ON and in use generating heat and reducing your battery life.

Other symptoms include problems when installing official Linux Nvidia drivers with impossibility to start your desktop manager and eventually you will be stuck on linux command line if you try to run nvidia-xconfig to generate a proper Xorg.conf file. To get back to your visual desktop just type in the console

sudo rm /etc/X11/xorg.conf

to remove the bad Xorg.conf file, then restart your desktop manager or reboot.

I assembled a little tutorial guide to get Nvidia Optimus working on Lenovo Ideapad Y470 and Y570 on Linux Debian with Bumblebee and updated Nvidia drivers.

  1. Uninstall or remove completely your Linux Nvidia drivers if you installed them, you can do this by using your package manager. Also remove your Xorg.conf file if you have one.
  2. You need to download a Bumblebee prerequisite program , bbswitch, to manage you discrete card activation especially modified to solve the Lenovo Ideapad Y470 Y570 wrong dsm call, and enable it in your Linux installation. At this time this modification is an “hack” that bypass the problem rather than solve it.  To download bbswitch with lenovo hack type in your console with administrator rights :
    git clone git://github.com/Bumblebee-Project/bbswitch.git -b hack-lenovo
    cd bbswitch
    mkdir /usr/src/acpi-handle-hack-0.0.1
    cp Makefile acpi-handle-hack.c /usr/src/acpi-handle-hack-0.0.1
    cp dkms/acpi-handle-hack.conf /usr/src/acpi-handle-hack-0.0.1/dkms.conf
    dkms add acpi-handle-hack/0.0.1
    dkms build acpi-handle-hack/0.0.1
    dkms install acpi-handle-hack/0.0.1
  3. If you are on a Debian based linux distro ( Like Ubuntu or Crunchbang, that was my case) you need to have the acpi-handle-hack module loaded at startup :
    echo acpi-handle-hack | sudo tee -a /etc/modules
    sudo update-initramfs -u
  4. Now you need to install Bumblebee that will manage your discrete card activation-deactivation and will take care to install the proper nvidia drivers. Refere to the Bumbleebee installation page for help. You can also quickly install Bumblebee by adding a third party repository, check http://suwako.nomanga.net/for further informations. Run as root :
    wget -O - http://suwako.nomanga.net/suwako.asc | apt-key add -
    deb http://suwako.nomanga.net/debian sid main contrib
    deb-src http://suwako.nomanga.net/debian sid main
    apt-get update
    apt-get install bumblebee bumblebee-nvidia
    adduser $USER bumblebee
  5. Now you are done ! To check if things work ok you can run a simple benchmark like glxgears with the Intel HD 3000 card :
    glxgears

    And now run the same benchmark with the discrete nvidia GPU :

    optirun glxgears
  6. Now thanks to bbswitch you can switch on and off your discrete VGA by using the following commands as root :
    #Get the status:
    cat /proc/acpi/bbswitch
    0000:01:00.0 ON
    
    #Turn the card off, respectively on:
    tee /proc/acpi/bbswitch <<<OFF
    tee /proc/acpi/bbswitch <<<ON
    

I hope that with this tutorial you can get Nvidia Optimus working on Lenovo Ideapad Y470 Y570 on Linux Debian with Bumblebee, to make sure i used the Unigine Heaven benchmark, here my results for my Lenovo Ideapad Y470 with Debian based Crunchbang linux distribution with my I3′s Intel HD 3000 GPU and with my discrete Nvidia GT550 GPU.

blog comments powered by Disqus