Results 1 to 10 of 490

Thread: Asus Eee PC 1015PN - graphic cards: Optimus and ION

Threaded View

  1. #1
    Join Date
    Jan 2011
    Beans
    65

    Asus Eee PC 1015PN - graphic cards: Optimus and ION

    All scripts published and discussed in this thread
    will work for the Asus EeePC 1015 PN only !!!



    'See http://mtron.co.nr/projects/eee1015pn for up-to-date information'



    Alternative solution: (Updated: 2011-08-05)
    FOR VERSION 10.10 and Linux Mint 11.04 Katya. Should work also for Ubuntu 11.04 (not tested)
    1. Install your Ubuntu system
    2. Update the system (restricted nvidia drivers, etc.)
    3. Download the acpi_call module from here: https://github.com/mkottman/acpi_call
    4. ... and rebuild it for the current kernel:
    Code:
    cd path_to_acpi_call
    make clean
    make 
    sudo insmod acpi_call.ko
    Replace 'path_to_acpi_call' with the correct path (path to the file acpi_call.ko).
    5. Save the following script for switching to the intel card before a boot. (execute: sudo Switch_intel.sh)
    Code:
    #!/bin/bash
    # Enable intel glx on Asus EeePC 1015pn 
    
    # Check if we are root, else exit
    if [[ $EUID -ne 0 ]]; then
        echo "This script needs to be run as root"
        exit 1
    fi
    
    # is the acpi module loaded?
    if lsmod | grep -q acpi_call; then
        echo "ACPI does not need to be loaded."    
    else
        echo "ACPI needs to be loaded."    
        cd path_to_acpi_call
        insmod acpi_call.ko
        sleep 3
    fi
    
    # The call for the next time
    echo ""
    echo "Mode 1 is now set: After the next boot only the Intel chip is visible."
    echo "\OSGS 0x01" > /proc/acpi/call
    
    echo ""
    echo "The 'update-alternatives' has been set"
    update-alternatives --set gl_conf /usr/lib/mesa/ld.so.conf
    ldconfig
    
    # Very important: fiddle with glx and libgl
    if [ -f "/usr/lib/xorg/extra-modules/libglx.so" ] 
    then
            echo ""
        echo "The library 'libglx.so' has been deleted."
        sudo rm /usr/lib/xorg/extra-modules/libglx.so
    else
            echo ""
        echo "The library 'libglx.so' doesn't exist and must therefore not be deleted."
    fi
    
    echo ""
    echo "Finished! Push a button ..."
    read eingabe
    Replace 'path_to_acpi_call' with the correct path.


    6. Save the following script for switching to the nvidia card before a boot (execute: sudo Switch_nvidia.sh)
    Code:
    #!/bin/bash
    # Disabe Intel Chip and enable nvidia on Asus EeePC 1015pn
    
    # Check if we are root, else exit
    if [[ $EUID -ne 0 ]]; then
        echo "This script needs to be run as root"
        exit 1
    fi
    
    # is the acpi module loaded?
    if lsmod | grep -q acpi_call; then
        echo "ACPI does not need to be loaded."    
    else
        echo "ACPI needs to be loaded."    
        cd path_to_acpi_call
        insmod acpi_call.ko
        sleep 3
    fi
    
    # The system is prepared such that the nvidia card is onlt visible
    echo ""
    echo "Mode 2 is now set: After the next boot only the Nvidia chip is visible."
    echo "\OSGS 0x02" > /proc/acpi/call
    
    # Copy the libglx file into usr/lib/xorg/extra-modules/
    # Without doing this, compiz does not work properly (I have no idea why) 
    if ! [ -f "/usr/lib/xorg/extra-modules/libglx.so.260.19.06" ] 
    then
       cp /usr/lib/nvidia-current/xorg/libglx.so.260.19.06 /usr/lib/xorg/extra-modules/
       chmod 644 /usr/lib/xorg/extra-modules/libglx.so.260.19.06
       echo ""
       echo "The libglx has been copied"
    fi
    
    # Copy also the nvidia_drv.so file into usr/lib/xorg/extra-modules/
    # As above: compiz needs this (I have no idea why) 
    if ! [ -f "/usr/lib/xorg/extra-modules/nvidia_drv.so" ] 
    then
       cp /usr/lib/nvidia-current/xorg/nvidia_drv.so /usr/lib/xorg/extra-modules/
       chmod 644 /usr/lib/xorg/extra-modules/nvidia_drv.so
       echo ""
       echo "The nvidia_drv.so has been copied"
    fi
    
    update-alternatives --set gl_conf /usr/lib/nvidia-current/ld.so.conf
    ldconfig
    echo ""
    echo "update-alternatives ... and ... ldconfig"
    
    # Very important: The link 'libglx.so' needs to be created
    if ! [ -f "/usr/lib/xorg/extra-modules/libglx.so" ] 
    then
       ln -s /usr/lib/xorg/extra-modules/libglx.so.260.19.06 /usr/lib/xorg/extra-modules/libglx.so
       echo ""
       echo "The libglx link has been set"
    else
       echo ""
       echo "The libglx link already exists"   
    fi
    
    echo ""
    echo "Push a button ..."
    read eingabe
    You need to search the right name for the lib 'libglx.so...' and 'nvidia_drv.so' in the /usr/lib/nvidia-current/xorg/ directory.

    That's it!

    Notes
    0. When you start the laptop the first time, you probably get into the shell first because of an error (sorry, I cannot fix this). Execute either 'Switch_intel.sh' or 'Switch_intel.sh'. Reboot after, then everything should be fine.
    1. Note that you have to execute always the script 'Switch_intel.sh' whenever you want to boot and use the intel card. In the case of the nvidia card you must execute the script 'Switch_nvidia' only once for all other following 'future boots' with the nvida card.
    2. The scripts are written such you can call them from a starter of a panel. Don't forget to make the scripts executable.
    3. There is some output text, which comments all operations and which can be used to see what the system is doing.
    4. HDMI is perfectly working with Nvidia.

    I hope that all this helps.

















    ************************************************** ********
    First, original email (January 29th, 2011 &nbsp
    ************************************************** ********

    Hi all.

    I bought just recently an Asus Eee PC 1015PN. For those who have an interest in this netbook and who want to install Ubuntu 10.10 32bit on it: It works quite well, almost out of the box! This is somewhat a report, but I have also a question with respect to the switch of graphic cards (see below)

    - Wlan works (driver needs to be installed via LAN and additional hardware drivers)
    - Webcam works oob
    - Audio works oob (despite micro ... there is some installation to be done, see below)
    - Keyboard is very nice
    - Nvidia works (needs to be installed with additional hardware drivers)
    - With help of disper (http://willem.engen.nl/projects/disper/), the HDMI works perfectly!
    - USB is fast, three slots
    - Ubuntu can be installed just 'à coté' of Windows (pay attention with partitions though)
    - and so on ...

    Some advices for installing Ubuntu are described here:

    https://wiki.ubuntu.com/HardwareSupp...hines/Netbooks

    However, there is only one issue for me, which needs still some work: Switching between the graphic cards, nvidia and intel.


    On this site ...

    https://wiki.ubuntu.com/HardwareSupp...hines/Netbooks

    ... a small description is given about how to switch on the intel graphic card.

    Code:
     git clone http://github.com/mkottman/acpi_call.git
     cd acpi_call
     make
     sudo insmod acpi_call.ko
    
     echo "\OSGS 0x03" > /proc/acpi/call
    
     #Set the intel driver in xorg.conf
         ...
         Section "Device"
         Identifier "Device0"
         Driver "intel"
         VendorName "Intel GMA 3150"
         BusID "PCI:0:2:0"
         EndSection
         ...
    
     rm /usr/lib/xorg/extra-modules/libglx.so
     update-alternatives --set gl_conf /usr/lib/mesa/ld.so.conf
     ldconfig
    I followed all parts and rebooted the system. And indeed, I could boot into Ubuntu without no problems. The following commands output

    Code:
    > lsmod | grep videodev
    videodev               43098  1 uvcvideo
    v4l1_compat            13359  2 uvcvideo,videodev
    
    > lspci
    00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge (rev 02)
    00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
    00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
    00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
    00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
    00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
    00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 02)
    00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
    00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
    00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
    00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
    00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
    00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 02)
    00:1f.2 SATA controller: Intel Corporation N10/ICH7 Family SATA AHCI Controller (rev 02)
    01:00.0 Ethernet controller: Atheros Communications AR8132 Fast Ethernet (rev c0)
    02:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g LP-PHY (rev 01)
    04:00.0 VGA compatible controller: nVidia Corporation GT218 [ION] (rev a2)
    04:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)
    There is no Nvidia config panel and no visible 'signs' of the nvidia presence, althoug the chip is still visible (see list of lspci). The Optimus is also visible (lspci)

    Code:
    00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
    00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
    So then, on the site (https://wiki.ubuntu.com/HardwareSupp...hines/Netbooks) it is written that one has to input the following in order to switch off the nvidia graphic card:

    Code:
    sudo insmod acpi_call.ko
    echo "\_SB.PCI0.P0P4.DGPU.DOFF" > /proc/acpi/call
    I tried it out, and in the first seconds everything was fine. However, then the systems played nuts and got completely frozen so that I had to do a hard reset with a following loud klick of the hard disk. I tried the whole procedure two times but the system always freezes.

    Can somebody help me? If needed, I have also all data asked on this site here: http://linux-hybrid-graphics.blogspo...s-project.html

    Thanks a lot in advance!
    Last edited by nothingspecial; July 3rd, 2012 at 09:52 AM. Reason: Update

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •