Howtos‎ > ‎

Making ubuntu rock on the EeePC 1015PN

09.06.12: updated to precise 12.04
04.11.11: added more power-saving tweaks
12.10.11: updated to oneiric 11.10
07.06.11: updated to natty 11.04
16.03.11: Original Version for maverick 10.10

This site should hopefully help people to tweak ubuntu precise 12.04 for the Asus EeePC 1015pn. This Netbook has  a 10" screen and comes with a intel atom N550  or N570 dualcore cpu. The European version has 2 Gig Ram, Intel GMA 3150/ nVidia GT218 Dual GPU configuration (default vga mode is nvidia) and a pretty powerful 6 cell battery (nominal capacity: 5200 mAh) .  Other configurations of this Model might have different RAM, CPU and/or Battery sizes). The Hardware is fully supported by recent kernel versions (3.2+) (incl. a open source wlan driver)


A Little Background Info

What makes this Netbook better suited for Linux?

The reason this Netbook is interesting for Linux users is that Asus placed 2 GPU's (Intel GMA 3150 build into the N550 GPU & a dedicated Nvidia GT218 chip "Next Gen ION") in it and wires the nvidia gpu directly to the display device and HDMI port. 

But this Dual GPU stuff isn't new, so why to you make such a fuzz out of this?

True, this by itself is nothing special nowadays but most of this muxless dual GPU configurations are pretty bad supported on Linux because this offloading technique (Nvidia calls this "Optimus") is not supported by the available binary drivers and Xorg so Linux users have a useless Nvidia Chip that draws loads of power from the battery.

Ok, thanks for the fish... so what makes this Netbook different?

Asus did a nice thing when designing this Chipset and manufactured a hardware mix allowing the nvidia card to access the display device directly. Most other notebooks do not offer this option and need a intel framebuffer to draw to the screen. Unfortunately Xorg, the intel drivers and the nvidia binary drivers do not support this.

Although there is no switch in the BIOS  the 1015pn can be set into a specific VGA mode via sending a acpi_call. Acpi is a industry standard to control hardware devices and brings power management under the control of the operating system. This means we can set VGA Modes and Power states in software!

Um... Can you explain this in non-geek language please?

Sure :) You can decide what GPU Mode you want to use. If your focus is on long battery life, use the intel GMA 3150. If you want better performance for 3D gaming or Hardware Acceleration for HDTV video use the Nvidia GPU. There is also a Dual GPU Mode. This uses the intel gpu as default and you can start applications on the nvidia gpu. (you need to install bumblebee for this)

How much is the difference in battery life between the intel and the Nvidia GPU?

With the tweaks described here i managed to squeeze 6 hours of normal usage out of the 1015pn with a full battery load by using the Intel Chip. With the Nvidia chip max battery life is around 4  hours, so the difference is quite significant 

Sweet. How do i switch GPU's ?

You need to use a acpi_call to tell the system what gpu mode should be activated for the next boot. I prepared some helper scripts to make the switching as easy as possible. So all you need to do is select the desired gpu for the next boot via a simple gui, press "ok"  and reboot.

Rebooting sucks :( Can't we do it without a reboot?

Currently not. The bumblebee Project is working on a way to start applications using the nvidia gpu in its own X-Screen, but when i last tried it (04/05/2012) this approach  had some mayor shortcomings (no hdmi out because it is hard-wired to the nvidia gpu, no vdpau accel, ect.) and was under heavy development.

 Hopefully this will get fixed in upcoming releases but for now we need to reboot.

System Information

hardinfo report


Date            : 04/18/2011
Vendor          : American Megatrends Inc. (
Version         : 0701

Name            : 1015PN
Vendor          : ASUSTeK Computer INC.

Processor       : 4x Intel(R) Atom(TM) CPU N550 @ 1.50GHz
Memory          : 2056MB (1926MB used)

Resolution        : 1024x600 pixels
OpenGL Renderer   : ION/PCI/SSE2
X11 Vendor        : The X.Org Foundation

Audio Adapter        : HDA-Intel - HDA Intel
Audio Adapter        : HDA-Intel - HDA NVidia

-Input Devices-
⎡ Virtual core pointer                            id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                    id=13    [slave  pointer  (2)]
⎣ Virtual core keyboard                           id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ USB2.0 UVC VGA WebCam                       id=10    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                          id=11    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=12    [slave  keyboard (3)]

-SCSI Disks-

-Kernel Modules-
arc4                     : ARC4 Cipher Algorithm
brcm80211                : Broadcom 802.11n wireless LAN driver.
mac80211                 : IEEE 802.11 subsystem
cfg80211                 : wireless configuration support
parport_pc               : PC-style parallel port driver
dm_crypt                 : device-mapper target for transparent encryption / decryption
joydev                   : Joystick device interfaces
coretemp                 : Intel Core temperature monitor
snd_hda_codec_hdmi       : HDMI HD-audio codec
snd_hda_codec_realtek    : Realtek HD-audio codec
eeepc_wmi                : Eee PC WMI Hotkey Driver
snd_hda_intel            : Intel HDA driver
sparse_keymap            : Generic support for sparse keymaps    
snd_hda_codec            : HDA codec core
snd_hwdep                : Hardware dependent layer
snd_pcm                  : Midlevel PCM code for ALSA.
snd_seq_midi             : Advanced Linux Sound Architecture sequencer MIDI synth.
snd_rawmidi              : Midlevel RawMidi code for ALSA.
snd_seq_midi_event       : MIDI byte <-> sequencer event coder
snd_seq                  : Advanced Linux Sound Architecture sequencer.
snd_timer                : ALSA timer interface
snd_seq_device           : ALSA sequencer device management
psmouse                  : PS/2 mouse driver
uvcvideo                 : USB Video Class driver
snd                      : Advanced Linux Sound Architecture driver for soundcards.
videodev                 : Device registrar for Video4Linux drivers v2
serio_raw                : Raw serio driver
soundcore                : Core sound module
snd_page_alloc           : Memory allocator for ALSA system.
ahci                     : AHCI SATA low-level driver
libahci                  : Common AHCI SATA low-level routines
video                    : ACPI Video Driver
atl1c                    : Atheros 1000M Ethernet Network Driver

-PCI Devices-
Host bridge            : Intel Corporation N10 Family DMI Bridge (rev 02)
Audio device           : Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
VGA Controller         : Intel Corporation N10 Family Integrated Graphics Controller (rev 02)
PCI bridge             : Intel Corporation N10/ICH 7 Family PCI-E Port 1 (rev 02)
PCI bridge             : Intel Corporation N10/ICH 7 Family PCI-E Port 2 (rev 02)
PCI bridge             : Intel Corporation N10/ICH 7 Family PCI-E Port 4 (rev 02)
USB Controller         : Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
USB Controller         : Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
USB Controller         : Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
USB Controller         : Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
USB Controller         : Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
PCI bridge             : Intel Corporation 82801 Mobile PCI Bridge (rev e2)
ISA bridge             : Intel Corporation NM10 Family LPC Controller (rev 02)
SATA controller        : Intel Corporation N10/ICH7 Family SATA AHCI Controller (rev 02)
Ethernet controller    : Atheros Communications AR8132 Fast Ethernet (rev c0)
Network controller     : Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)
VGA controller         : nVidia Corporation GT218 [ION] (rev a2)
Audio device           : nVidia Corporation High Definition Audio Controller (rev a1)

-Battery: BAT0-
State               : charging (load: 644 mA)
Capacity            : 3836 mAh / 5200 mAh
Battery Technology  : rechargeable (LION)
Model Number        : 1015PN

Install Ubuntu

Get the ubuntu Desktop installation Disk from here: . Since the EeePC has no CD drive you need to transfer the installation Image to a USB stick. You can do this either via 'Unetbootin' from Windows or if you already have a Ubuntu installation on a desktop Computer use the App 'usb-creator-gtk' via the 'System => Administration => Startup Disk Creator' Menu item.

Now plug the Stick into the USB Port of your EeePC and power it on. You do not need to change anything in the Bios, just press 'Esc' and a Boot up menu Option will appear allowing you to select the primary boot device (either the WD Harddrive or your USB stick) . Choose your USB stick and press Enter.

Now the default ubuntu install will start and ask you some questions. I suggest to keep the Laptop disconnected from the Intiernet during the main install because this might slow down the install drastically. About 15 minutes later the install is done.

Choose faster Repository Mirrors

First choose faster repository mirrors:

gksudo gedit /etc/apt/sources.list

Remove all country code Prefixes from the URL's and delete the # before the 'Canocial Partner' Repository.


## main archives
deb precise main restricted universe multiverse
# deb-src precise main restricted universe multiverse

## bug fix updates
deb precise-updates main restricted universe multiverse
# deb-src precise-updates main restricted universe multiverse

## backports
# deb precise-backports main restricted universe multiverse
# deb-src precise-backports main restricted universe multiverse

## security
deb precise-security main restricted universe multiverse
# deb-src precise-security main restricted universe multiverse

## Canonical partner
deb precise partner
# deb-src precise partner

## Ubuntu extras
deb precise main
# deb-src precise main

## getdeb mirror
deb precise-getdeb apps
deb precise-getdeb games

 Now save this file and update your system:

sudo apt-get update && sudo apt-get dist-upgrade

This will install all updates since the initial release date and might install also a new kernel. If so reboot after the update completed.

Stop apt from installing "Recommended Packages"

Recommended Packages were never intended to get installed automatically, but ubuntu devs decided to do this anyway which is just annoying. Reverse this with:

gksudo gedit /etc/apt/apt.conf.d/02recommends

paste this line into the editor window

APT::Install-Recommends "0";


  • Wlan: The Broadcom BCM4313 Chip is now supported via a Open Source driver  shipped with the Kernel (brcmsmac), so you DO NOT need to install the proprietary "Broadcom STA wireless driver" offered via the ubuntu Restricted drivers manager!

Some People reported that the brcmsmac driver shipped with the kernel has serious problems with Wlan N networks. I can't comment on this because i only own a b/g router. If you got hit by bis bug set your router to only use Wlan b/g/ networks or use the closed source wl driver by Broadcom

gksudo gedit /etc/modprobe.d/blacklist.conf
Add these lines at the end of the file to prevent the kernel drivers from loading
blacklist bcma
blacklist brcmsmac
blacklist brcmutil
Now install the proprietary driver via the "Restricted Drivers manager" or from the terminal 
sudo apt-get install bcmwl-kernel-source
and reload the wlan drivers or reboot.    


  • Update Bios to latest Version (0701) 2 : Get the BIOS zip file from Asus Support Site and flash it either via Win7 or unzip and rename the bios image file to 1015PN.ROM and put it on a freshly FAT16-formatted USB stick, then boot and press alt+f2. Note that it can take 10+ minutes on the "programming" stage so be patient and don't interrupt the update! To check your currently installed BIOS Version:
sudo dmidecode -s bios-version
  • Correct display resolution: If you can't set the 1024x600 Resolution in Gnome's Display Settings open a terminal and type 

This should output something like: (Note the Name of your Laptops Display Device. In this example it's LVDS1)

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 4096 x 4096
LVDS1 connected (normal left inverted right x axis y axis) 
   800x600        60.3     56.2  
   640x480        59.9 

to get the supported modeline type:
cvt 1024 600

# 1024x600 59.85 Hz (CVT) hsync: 37.35 kHz; pclk: 49.00 MHz
Modeline "1024x600_60.00"   49.00  1024 1072 1168 1312  600 603 613 624 -hsync +vsync"

with this Info we can now add a new modeline to xrandr:

xrandr --newmode "1024x600_60.00" 49.00 1024 1072 1168 1312 600 603 613 624 -hsync +vsync xrandr --addmode LVDS1 1024x600_60.00 xrandr auto

  • Fix numerous spin-downs of the Western Digital hard drive: 4
gksudo gedit /etc/hdparm.conf
Add the following at the end of the conf file
/dev/sda {
        apm = 254
        apm_battery = 254

  • Multitouch: Is disabled by default. Turn it on in gnome:
    Mouse and Touchpad - Touchpad Tab - Enable Two-finger scrolling 

General Tweaks

Auto adjust screen brightness on AC Power or Battery

Since Gnome 3 there is no GUI way to specify a different backlight level for battery and AC but you can use the following script from askubuntu user chris to set screen brightness via dbus on a power managment event.

gksudo gedit /etc/pm/power.d/00-brightness

Paste the following in the editor window and replace user=chris with user=<your username>

export DISPLAY=:0

. /home/$user/.dbus/session-bus/*

case $1 in
    echo "Enable screen power saving"
sudo -u $user -g $user dbus-send --session --print-reply  --dest="org.gnome.SettingsDaemon" \
    /org/gnome/SettingsDaemon/Power org.gnome.SettingsDaemon.Power.Screen.SetPercentage uint32:$bat_bright
    echo "Disable screen power saving"
sudo -u $user -g $user dbus-send --session --print-reply  --dest="org.gnome.SettingsDaemon" \
    /org/gnome/SettingsDaemon/Power org.gnome.SettingsDaemon.Power.Screen.SetPercentage uint32:$ac_bright

Save the file, close the editor window and make it executeable
sudo chmod 755 /etc/pm/power.d/00-brightness

Enable Hibernation (Suspend to disk)

Hibernation (also called 'Deep Sleep' or 'Suspend to Disk') has been disabled by default in Ubuntu 12.04 because it did not work on all models. Our Eee PC's can hibernate without a problem, so you can safely re-enable it with:
gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

add the following to the file:
[Re-enable hibernate by default]

After the next Login, "Hibernate" should show up in the power menu.

Adjust plymouth (bootsplash) theme:

gksudo gedit /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.script

set a black background by adjusting these 2 lines to:
Window.SetBackgroundTopColor (0.0, 0.00, 0.0);     # Nice colour on top of the screen fading to
Window.SetBackgroundBottomColor (0.0, 0.00, 0.0);  # an equally nice colour on the bottom

Power Management  & Hotkeys Support

The great Application Jupiter provides Power Management  (Asus 'Super Hybrid Engine') and maps the EeePC's Hotkeys to Functions. A must - have! 7

sudo add-apt-repository ppa:webupd8team/jupiter
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install jupiter jupiter-support-eee

Editable Autostart-Applications

According to this bugreport the ubuntu devs think it's a good idea to hide the Startup Applications from the Users. Well, I don't.  To re-populate gnome-session-properties run:

cd /etc/xdg/autostart/
sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop

Reduce Swap Usage

The 'swappiness' parameter (scale goes from 0 = don't swap at all  to 100 = aggressively swap) controls the tendency of the kernel to move processes out of physical memory and onto the swap disk. 9 If you own the 2 Gig RAM Model you can safely reduce the swappiness to get better response times.

gksudo gedit /etc/sysctl.conf

add the line 


Set Gdebi as default file handler for debian packages

If you prefer a simpler & faster gui way to install deb packages give gdebi a try

sudo apt-get install gdebi
gedit ~/.local/share/applications/mimeapps.list

If the file mimeapps.list does not exist, set a custom open with application for a filetype of your choice. This will populate the mimeapps.list file. Now open it and add / edit the line "application/x-deb" in the [Default Applications] section to


Make applications Autostart only in the selected Desktop Enviroment

Autostart Applications place a .desktop file in ~/.config/autostart or in /etc/xdg/autostart. If an application should only start in Gnome, open the correspondig .desktop file and add

to make the Application start in Gnome & Unity:

to make the application start on Gnome-Fallback only add:
AutostartCondition=GNOME3 if-session gnome-fallback

NOTE: This also works for Launcher on the Desktop. If you want a custom Application Launcher to show in Unity only, add the 'OnlyShowIn' line to the corresponding .desktop file

Nautilus Image Converter Script

sudo apt-get install nautilus-image-converter imagemagick

Optional: Move your logs and temporary files to RAM

NOTE: This tweak is only useful if you own the 2 Gig RAM model of the EeePC 1015PN and you system runs good. DO NOT USE IT with  1 GB RAM! 

The following tweak will help to save some energy by writing temporary & log files to RAM and reducing disk writes  6 

sudo -s
service rsyslog stop
echo "tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0" >>/etc/fstab
echo "tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0" >>/etc/fstab
mv /tmp /tmp2
mkdir /tmp
mv /var/log /var/log2
mkdir /var/log
mount -a
rsync -av /tmp2/ /tmp
rsync -av /var/log2/ /var/log
rm -rf /tmp2
rm -rf /var/log2
service rsyslog start

What those commands do

First we stop the syslog daemon, then we edit FSTAB and add the new mountpoints. Next we move the /tmp & /var/log folders to a new temporary location and create new folders. Now we apply the changes to fstab, move the old files to their new locations and clean the temp folders. Finally we restart the syslog service.  

NOTE: Please bear in mind that moving those logs and temp directories to memory will cause the contents to be lost when you restart. You can still manually copy them to another directory before reboot with

rsync -av /var/log/* ~/saved_logfiles

Tweak Firefox

To change the FF cache directory open Firefox, and in the address bar type 'about:config'.  Click through the warning message.  Now Right click anywhere in the parameter listing and select New -> String.  Set the preference name to 'browser.cache.disk.parent_directory' (without the ticks) and set the value to '/tmp/ff-cache' (again without the ticks).

Tweak Chromium

Chromium has command-line options to control memory management. Available options are --memory-model=<high| medium|low> Setting it to high makes chromium never release memory. Medium makes it reduce its working set of the memory when switching tabs, and low makes it reduce its working set when switching tabs and when the browser is not actively being used. In my experience, running chromium with --memory-model=low can improve performance.

Another useful command line switch is --disk-cache-dir. If you have moved your /tmp to Ram, set chromium to use this Location for Cache.

Add your desired Chromium statup option to the /etc/chromium-browser/default file:

gksu gedit /etc/chromium-browser/default

Change the line after ' # Options to pass to chromium-browser ' to read:
CHROMIUM_FLAGS="--memory-model=low --disk-cache-dir=/tmp"

Tweak Google Chrome:

Add your desired Chrome statup option to the /opt/google/chrome/google-chrome.dektop file:

gksu gedit /opt/google/chrome/google-chrome.desktop

Replace the Exec Line with:
Exec=/opt/google/chrome/google-chrome --memory-model=low --disk-cache-dir=/tmp %U

Advanced Power Saving Tips

Only use these if you know what you are doing  ;)

  • Activate wireless power saving mode with 500ms (broadcom proprietary wlan driver only)
sudo iwconfig wlan0 power timeout 500ms

  • Reduce wireless adapter power to 5 (broadcom proprietary wlan driver only)
sudo iwconfig wlan0 txpower 5

  • Power saving options for intel sound module
sudo sh -c 'echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller'
sudo sh -c 'echo 1 > /sys/module/snd_hda_intel/parameters/power_save'

  • USB auto power/suspend
sudo sh -c 'for i in /sys/bus/usb/devices/*/power/level; do echo auto > $i; done'
sudo sh -c 'for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done'

  • PCI auto power/suspend
sudo sh -c 'for i in /sys/bus/pci/devices/*/power/control; do echo auto > $i; done'

  • Set SATA link Power management to min_power
sudo sh -c 'for i in /sys/class/scsi_host/host*/link_power_management_policy; do echo min_power > $i; done'

Unity Tweaks

How can I configure Unity?

see here:
A tweak tool for unity that allows you to export and import a set of settings for Unity is unsettings

sudo add-apt-repository ppa:diesch/testing
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unsettings

I have adjusted the unity configuration to fit our 1024x600 screen. If you want to use my config download the netbook.unsettings file to your Computer.

Open Unsettings, click on the "Load Settings from File" button, select netbook.unsettings you downloaded and click on the "Apply Settings" button.

How can I reset the unity configuration?

To remove any launchers you've added  run:

unity --reset-icons

To reset all of the launcher options run:

unity --reset

Unity Dodge autohide  & minimize window on click

This is a customized unity build that auto-hides the left application launcher panel if an application is on fullscreen. On our small Laptop screen we need every mm so this is perfect for our devices.  Also a click on the panel icon of a running app will minimize the window.

sudo add-apt-repository ppa:ikarosdev/unity-revamped
sudo apt-get update && sudo apt-get dist-upgrade

to set the dodge windows behaviour install ccsm:

sudo apt-get install compizconfig-settings-manager

Then open CCSM and set it to your favorite behavior!

Select the 'Ubuntu Unity Plugin' and set the "Reveal Trigger" value on the Behavior Tab to "Dodge Windows"

Unity's keyboard shortcuts

see here:

Allow panel Indicator applets in unity

gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"

Useful indicator applets

sudo add-apt-repository ppa:tsbarnes/indicator-keylock
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install indicator-keylock indicator-keylock-ubuntu-mono

Once installed, start it by pressing Alt + F2 and then enter: "indicator-keylock"

TODO: no precise build
syspeek system monitor applet

Oneiric build [all arch]
sudo gdebi 
sudo add-apt-repository ppa:vicox/syspeek
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install syspeek

Once installed, start it by pressing Alt + F2 and then enter: "syspeek"

- My Weather Indicator, Touchpad Indicator  and Cryptkeeper by Lorenzo Carbonell

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install calendar-indicator cryptfolder-indicator my-weather-indicator touchpad-indicator

Conky script adjusted for the Eee 1015PN

sudo apt-get install conky

Download the conky-eee1015pn.tar.gz archive  from the Downloads page and unpack the files in your $HOME. Now start conky from the terminal or set it as start-up application 10 

Always use path in Nautilus

gsettings set org.gnome.nautilus.preferences always-use-location-entry true

Remove the Username from the Session indicator applet

sudo apt-get install dconf-tools

Navigate to the Key 'Apps - Indicator-Session' and untick the checkbox next to  

Add Quicklist launchers to the unity dash

Unity allows you to add custom launcher options to Apps. Some very useful Quicklists are listed @:

Unity Lenses

Lenses are different Tabs in the Unity Launcher, which provide various extra search and listing functions

Unity Recoll Lens:

sudo add-apt-repository ppa:recoll-backports/recoll-1.15-on
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install recoll-lens recoll

Utilities Lens:

sudo add-apt-repository ppa:scopes-packagers/ppa sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-lens-utilities unity-scope-calculator unity-scope-cities

Grooveshark Scope:

sudo add-apt-repository ppa:scopes-packagers/ppa sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-lens-grooveshark

Dictionary Lens:

sudo add-apt-repository ppa:scopes-packagers/ppa sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-dictionary-lens

Web Sources:

sudo add-apt-repository
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-place-websearch

For more Lenses see:

Gnome-Shell Tweaks

Add the gnome3-team ppa that contains parts of gnome 3.4 that are not in the precise repositories and the webupd8 ppa for some special adjusted shell extensions with bugfixes.

sudo add-apt-repository
ppa:gnome3-team/gnome3 ppa:webupd8team/gnome3
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install
gnome-shell gnome-shell-extensions gnome-sushi gnome-contacts gnome-themes-standard 
gnome-themes-extras gnome-themes-ubuntu 

Gnome 3 Keyboard Shortcuts

Gnome 3 Shell-Extensions

Gnome 3 has a pretty flexible extensions system. Think of this as the successor to the numerous panel applets known from previous gnome versions. 

You can install,  en- / disable extensions on the fly via

or a http directory index list of available extensions is @

NOTE: Some extensions are already installed with custom ubuntu patches from the webupd8 gnome3 ppa. You can manage those via the gnome-tweak-tool's "Extensions" Tab.

Gnome-Shell: Hide Bluetooth and acessibilityApplet

install the Hide Bluetooth and Remove Accessibility extensions for gnome shell 

Gnome-Shell: Move notification icons to the top bar

sudo apt-get install

Restart gnome-shell after the install (ALT+F2 => r).  

Install Gnome-Shell Themes:

Gnome-Shell Themes by webupd8team

sudo add-apt-repository ppa:webupd8team/themes
sudo apt-get update && sudo apt-get dist-upgrade

sudo apt-get install
faenza-colors zukitwo-themes 

Gnome-Shell Themes by Satya164 

sudo add-apt-repository ppa:satyajit-happy/themes
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install
gnome-shell-theme-minty gnome-shell-theme-elegance gnome-shell-theme-shine gnome-shell-theme-dark-shine gnome-shell-theme-aqua ambiance-blue-theme evolve-gtk-theme

Apply a new theme with the "Gnome Tweak Tool" or run 

gsettings set org.gnome.desktop.interface gtk-theme "theme-name"

Multimedia & other useful Software

Multimedia Codecs

Add the Medibuntu Repository: 12 

sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update && sudo apt-get --yes install app-install-data-medibuntu apport-hooks-medibuntu

and install these restricted  codecs packages:

sudo apt-get install ubuntu-restricted-extras non-free-codecs gstreamer0.10-ffmpeg ttf-mscorefonts-installer unrar libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libavformat-extra-53 libpostproc-extra-52 libswscale-extra-2 libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad  gstreamer0.10-plugins-bad-multiverse

Audio and Video Player

For Audio I use the fast and lightweight Decibel Audio Player and a good video Player is Smplayer. Install them with:

sudo apt-get install decibel-audio-player   

- Install mplayer2 (the playback engine Smplayer uses)

sudo add-apt-repository ppa:motumedia/mplayer-daily
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install mplayer2 libx264 libblueray1

since this is a daily build ppa you can disable it after the install and update the mplayer package on demmand.

sudo add-apt-repository -r ppa:motumedia/mplayer-daily 

- Install Smplayer (faq) from the developers (rvm) ppa

sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install

Configure Smplayer for vdpau (nvidia GPU with HDMI Audio out) and xv (intel GPU with Cinch connector / Laptop speakers Audio out) simultaneously:

Options - Preferences - General - Video Tab
=> Output Driver: User defined... vdpau:deint=42:denoise=1,xv,
=> untick the 'Enable post processing by default' checkbox

Options - Preferences - General - Audio Tab
=> Output Driver: User defined... alsa:device=hw=1.7,pulse,
=> Checkbox 'Global Volume'
=> Checkbox 'Use Software Volume Control'

Options - Preferences - Preformance
=> Checkbox 'Allow Frame Drop'
=> Loop Filter: 'Skip only on HD Videos'

Options - Interface
=> Autoresize: 'Never'

Options - Advanced - Options for Mplayer
=> Extra options for mplayer:
-vc ffmpeg12vdpau,ffh264vdpau,ffwmv3vdpau,ffvc1vdpau,

You can set Audio Sync during playback via the + and - Keys on the Keyboard. But sync is usually ok here and HD content (incl. 1080p) plays very smooth with vdpau (nvidia GPU).

Oracle java 7

sudo add-apt-repository ppa:webupd8team/java sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get purge openjdk*
sudo apt-get install oracle-java7-installer

if the first install fails, just re-trigger the installer
sudo apt-get install --reinstall oracle-java7-installer

Audio Recorder

Audio Recorder can record from your system's soundcard, microphones, browsers, webcams & more. Put simply; if it plays out of your loudspeakers you can record it. 11 

sudo add-apt-repository ppa:osmoma/audio-recorder
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install audio-recorder

More Apps

add some useful 3rd party repositories by adding the following to the sources.list file:

gksudo gedit /etc/apt/sources.list

## getdeb mirror
deb precise-getdeb apps
deb precise-getdeb games

## google caution: very sloooooow
deb stable non-free
deb testing non-free

## opera
deb stable non-free

Sync the Signing Keys:

wget -q -O- | sudo apt-key add -
sudo apt-key adv --recv-keys --keyserver A8A515F046D7E7CF; gpg --export --armor A8A515F046D7E7CF | sudo apt-key add -
sudo apt-key adv --recv-keys --keyserver A040830F7FAC5991; gpg --export --armor A040830F7FAC5991 | sudo apt-key add -
sudo apt-get update && sudo apt-get dist-upgrade


sudo apt-get install opera skype libvdpau1 smplayer mplayer fotoxx filezilla gimp wireshark htop audacity myspell-de-at fbreader gpdftext pdfmod xine-ui libxine1-all-plugins cheese linux-headers-$(uname -r) build-essential vuze fakeroot libalgorithm-merge-perl ufraw-batch libclutter-1.0-common libcogl-common libmono-i18n-west4.0-cil binfmt-support ttf-dejavu-extra chromium-browser chromium-codecs-ffmpeg-extra 

Have a look in the Software Center for more useful applications. Especially the getdeb repository has loads of helpful stuff available.

Graphics Card Switching

As noted above both VGA Chips can be used  in Exclusive Modes (intel or nvidia) or in a Dual GPU Mode (intel and nvidia) . The Nvidia Chip is useful for high performance stuff (like Gaming, HDTV, ect) but draws a lot of power from the battery. For basic operation I find the Intel GMA 3150 sufficient. 

In dual Gpu Mode ( "Optimus" Mode)  both chips are available via lspci.  The "Hot-Switching" between both chips is  work-in-progress and requires some mayor xorg rework, so it will still take some time. As a temporary workaround you might want to try bumblebee. Be aware that this is very hackish so only do this if you are confident you can fix a broken system. 13

The scripts in the provided Package allow you to set the desired VGA Mode for the next boot via a simple GUI. 

Install the Nvidia Binary Driver:

sudo apt-get install nvidia-current nvidia-settings

Vdpau Benchmarks with Nvidia Binary Driver

Optional: If you want to stay on the bleeding edge nVidia drivers enable the x-swat ppa:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install nvidia-current nvidia-settings

Optional: The nouveau modues are disabled by the postinstall script of the acpitools deb package. If you do not intend to use the deb package provided below blacklist them with:

sudo -s
echo options nouveau modeset=0 | tee -a /etc/modprobe.d/nouveau-kms.conf
update-initramfs -u

 Install the VGA - Switching Helper scripts

This PPA hos
ts the acpi call & bbswitch kernel module and the current Version of the VGA Helper scripts for the EeePC 1015PN for ubuntu oneiric and precise (i386 & x86_64). After the install go to "Applications -> System Tools -> Vga Selector" and choose the desired Vga mode for the next boot.

Make sure that your system is fully updated and you are running the latest installed kernel.

sudo add-apt-repository ppa:mtron/eee1015pn
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install eee1015pn-acpitools build-essential debhelper module-assistant lm-sensors

Now run the Sensors auto-detection
sudo sensors-detect

Just press enter at each question to use the default answer. Only the last question (add the modules to /etc/modules) should be answered with 'yes'.

After the configuration completed reboot.

Test if it works:

sudo display-settings status

see the 'Command Line Options' section below for more info

VGA Selector Screenshots

Start Screen:


Click on the logo to open driver specific display-settings.

Click on the "reboot with..." button to select the VGA Mode for the next boot.

Reboot with:


Users can set the VGA Mode for the next boot.
(no root password required)

Set Default GPU:


If you reboot without using the GPU Tool the "Default GPU" will be activated for the next boot. 

Choose your preferred default VGA Mode (intel, nvidia or optimus) in the drop down menu and press ok.

Advanced Settings:   


Each line in the table represents a settings option and it's current status.

To change a setting double click on the corresponding line.


green = on
red = off
yellow = not supported on your DE


  • Optimus mode: Auto Disable nvidia chip on boot 
If active, the nvidia chip is turned off autonatically in Optimus Mode
If inactive,  the power state of the nvidia chip is not changed in Optimus Mode
  • Shortcut: GPU info notify-osd
If active the Keyboad shortcut 'Ctrl+2' will show a notify-osd bubble with GPU Info 
  • Shortcut: Battery info notify-osd 
If active the Keyboad shortcut 'Ctrl+1' will show a notify-osd bubble with the current Power consumption and remaining battery load value. 
  • Shortcut: Toggle Super Hybrid Engine (SHE)
If active the Hardware button to toggle the CPU state (left on top of the ESC key) will be mapped to Jupiter's 'Toggle SHE State' Script. You need to have the jupiter power management applet installed.
  • Log to File 
If active all debug output of the display-settings script will be saved in the logfile /var/log/acpi-call.log . Please attach this file when sending a bug report.
  • Generate Debug info
If active some basic system info is written to a debug file $HOME/eee1015pn-debug.txt. Please attach this file when sending a bug report.

display-settings Command Line Options

The script has more options when called from a terminal with

sudo display-settings <option>

where <option> is one of the following:

  • auto: In this mode the script will look for a .vga-selector file written by the GUI script and executes the acpi_call for the desired option (Intel,Nvidia or Optimus mode). It will also prepare the xorg configuration and glx libraries for the next boot. If the script can't find any .vga-selector file it will use the selected default GPU. 
  • status: This will output current VGA Mode. E.g "Active GPU: Intel GMA3150 on PCI 00:02.0"
  • fix: This will automatically fix the display configuration depending on the available VGA Chips that can be accessed via lspci. It will also update the nvidia glx libraries after the install of a new(er) nvidia driver version. 
  • reboot-intel: activate intel for next boot and prepare xorg conffiles for intel. The nvidia chip won't be visible via lspci and is disabled so it won't draw any power from the battery. 
  • reboot-nvidia: activate nvidia for next boot and prepare xorg conffiles for nvidia. The intel chip won't be visible via lspci.
  • reboot-optimus: activate both gpu's for next boot and prepare xorg conffiles for intel.
 NOTE: For GPU Hot-Switching you need to install bumblebee
  • nv-off: For Optimus Mode only! This will disable the nvidia chip to save some energy. 
  • nv-on: For Optimus Mode only! This will enable the nvidia chip. 
  • config-intel: This option is for emergency purposes. If xorg can't start and you are dropped to a text shell after boot fix your configuration by running "display-settings status". If you get "Active GPU: Intel GMA3150" run display-settings again with this Option and restart gdm.
  • config-nvidia: This option is for emergency purposes. If xorg can't start and you are dropped to a text shell after boot fix your configuration by running "display-settings status". If you get "Active GPU: Nvidia GT218" run display-settings again with this Option and restart gdm. 

For further Documentation on the VGA modes and acpi_calls for the Eee 1015PN see the hybrid-graphics-linux mailing list15

TODO: update for debian

Alternative: Set the VGA Mode manually

If you can't - or do not want - to use the helper scripts read on. 

 - Manually install the acpi_call kernel module from the linux-hybrid-graphics project:

git clone
cd acpi_call
sudo insmod acpi_call.ko

check with "dmesg | grep acpi_call" that the module was loaded successfully.

 - Set the VGA Mode for the next boot:

  • Mode 1: Intel GMA 3150
To enable the intel vga for the next boot, switch to root (sudo -s) and run
echo "\OSGS 0x01" > /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"

Point xorg to the intel glx module and set the mesa libgl (still as root)

cp /usr/lib/xorg/modules/extensions/ /usr/lib/xorg/modules/extensions/
ln -s -f /usr/lib/xorg/modules/extensions/ /usr/lib/xorg/modules/extensions/
update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/

Now reboot.

  • Mode 2: Nvidia GT218 (Next Gen Ion) 
To enable the Nvidia Chip for the next boot, switch to root (sudo -s) and run

echo "\OSGS 0x02" > /proc/acpi/call

Set the nvidia driver in xorg.conf
 Section "Device"
 Identifier "Device0"
 Driver "nvidia"
 VendorName "Nvidia GT218"
 BusID "PCI:4:0:0"

Point xorg to the nvidia glx module and set the nvidia libgl (still as root)

ln -s -f /usr/lib/nvidia-current/xorg/ /usr/lib/xorg/modules/extensions/
update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/nvidia-current/

- Replace with the Version of your installed nvidia driver
Now reboot.

  • Mode 3 : Optimus Mode with Intel GMA 3150 and Nvidia GT218 (Next Gen Ion)
This mode keeps both VGA Chips active, but currently only the intel chip can be used in this mode. Work is going on to make "Hot-Switching" possible, so keep your fingers crossed  To enable Optimus mode for next boot, switch to root (sudo -s) and run
echo "\OSGS 0x03" > /proc/acpi/call

and proceed with the Steps outlined in Mode 1 above. 

To save power after the reboot in Optimus mode, turn off the nvidia chip via another acpi_call (acpi_call.ko module needs to be loaded again):

echo "\_SB.PCI0.P0P4.DGPU.DOFF" > /proc/acpi/call

This will give you additional 2 hours of battery life.


  • conky-eee1015pn.tar.gz   28k - 9 May 2012 04:12 by Ho Mi (v2)
    ‎conky script adjusted for the eee pc 1015pn‎
  • netbook.unsettings   4k - 9 May 2012 04:09 by Ho Mi (v2)
    ‎unity configuration for netbooks with a 1024x600 resolution‎
Showing 2 files from page Downloads.


1 see LP Bug #760131
2 Bios Version 0702 fixes a Bug when System wakes up from S3
3 see
4 see LP Bug #59695
5 source for the fix:
6 source for the fix: This Blog post by 'fewt'
7 Jupiter Power Managment Applet ubuntu binary provided by Webupd8 PPA
8 jupiter-mono-icons.tar.gz taken from this Blog Post by 'Nick Campbell'
9 Tweak taken from the ubuntu SwapFAQ
10 Conky script taken from this Blog Post by 'Andrew'
11 Audio Recorder's ubuntu binary provided by osmoma's PPA
12 The Medibuntu Repository hosts packages that might have legal problems in some parts (esp. US) of the world
13 To use the nvidia Chip on-demmand set your Laptop to use Optimus Mode and install bumblebee. Please note that bumblebee is still under heavy development and might not work as expected.
14 acpi_call kernel Module taken from the linux-hybrid-graphics project. 
15 especially this message from Raphael Metzler covers the acpi calls for the 1015PN  

Please post your Suggestions / Questions in this thread.  If you find typos on this page - Congratulations! They're all yours ;)

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at

contact: mtron *