ubuntu precise on the EeePc-1015pn
02.05.12: update to precise 12.04 in progress
This site should hopefully help people to tweak ubuntu precise 12.04 for the Asus EeePC 1015pn Netbook. This Netbook has a 10" screen and comes with a intel atom N550/N570 dualcore cpu. The European version (other regions might have different RAM and/or Battery sizes) has 2 Gig Ram, Intel / nVidia Dual GPU configuration (default vga mode is nvidia) and a pretty powerful 6 cell battery (nominal capacity: 5200 mAh) .
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 Technique (Nvidia calls this "Optimus") is not supported by the available binary drivers 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. so the 1015pn is pretty unique.
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.
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 (20/09/2011) 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
EeePC-1015PN
************
-BIOS-
Date : 04/18/2011
Vendor : American Megatrends Inc. (www.ami.com)
Version : 0701
-Board-
Name : 1015PN
Vendor : ASUSTeK Computer INC.
-Computer-
Processor : 4x Intel(R) Atom(TM) CPU N550 @ 1.50GHz
Memory : 2056MB (1926MB used)
-Display-
Resolution : 1024x600 pixels
OpenGL Renderer : ION/PCI/SSE2
X11 Vendor : The X.Org Foundation
-Multimedia-
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-
ATA WDC WD2500BEVT-8
-Kernel Modules-
nvidia
arc4 : ARC4 Cipher Algorithm
brcm80211 : Broadcom 802.11n wireless LAN driver.
mac80211 : IEEE 802.11 subsystem
cfg80211 : wireless configuration support
acpi_call
parport_pc : PC-style parallel port driver
ppdev
dm_crypt : device-mapper target for transparent encryption / decryption
joydev : Joystick device interfaces
binfmt_misc
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
v4l2_compat_ioctl32
serio_raw : Raw serio driver
soundcore : Core sound module
snd_page_alloc : Memory allocator for ALSA system.
lp
parport
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: http://releases.ubuntu.com/precise/ . I use the amd64 Version to utilize the dualcore atom CPU. 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. 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";
Notes
- 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.
Fixes
- 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
- 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:
gnome-control-center
Mouse and Touchpad - Touchpad Tab - Enable Two-finger scrolling
General Tweaks
Enable Hibernation (Syspend to disk)
Hibernate has been disabled by default in Ubuntu 12.04. To re-enable it
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] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes
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
vm.swappiness=10
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 .list file. Now open it and add / edit the line "application/x-deb" in the [Default Applications] section to
application/x-deb=gdebi.desktop
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
OnlyShowIn=GNOME;
to make the Application start in Gnome & Unity:
OnlyShowIn=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
Open Firefox, and in the address bar type 'about:config'. Click through the warning message. 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 Chromium statup option to the /etc/chromium-browser/default 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
sudo iwconfig wlan0 power timeout 500ms
- Reduce wireless adapter power to 5
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: http://askubuntu.com/questions/29553/how-can-i-configure-unity/101415#101415
sudo apt-get install myunity
an Alternative tweak tool for unity that allows you to export and import a set of settings for Unity is unsettings
sudo apt-add-repository ppa:diesch/testing
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unsettings
Unity Dodge Windows Autohide & minimize window on click
sudo apt-add-repository ppa:ikarosdev/unity-revamped
sudo apt-get update && sudo apt-get dist-upgrade
Allow panel Indicator applets in unity
gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"
Useful indicator applets
- TODO: no precise build Indicator Keylock Applet
Oneiric build i386
wget https://launchpad.net/~tsbarnes/+archive/indicator-keylock/+files/indicator-keylock_3.0.0-0%7Eppa0_i386.deb
sudo gdebi indicator-keylock_3.0.0-0%7Eppa0_i386.deb
---
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]
wget https://launchpad.net/~vicox/+archive/syspeek/+files/syspeek_0.2%7Eoneiric1_all.deb
sudo gdebi syspeek_0.2%7Eoneiric1_all.deb
---
sudo add-apt-repository ppa:vicox/syspeek
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install 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 Name applet (User Session Indicator) from the unity panel
sudo apt-get install dconf-tools
dconf-editor
Navigate to the Key 'Apps - Indicator-Session' and untick the checkbox next to sow-real-name-on-panel
Add Quicklist launchers to the unity dash
Unity allows you to add custom launchers with extended Program Options. Some very useful Quicklist launchers are listed @: http://askubuntu.com/questions/35488/list-of-custom-launchers-quicklists-for-unity
Unity Lenses
Lenses are different Tabs in the Dash Launcher, whicdh providse various extra search / listing functions
Unity Recoll Lens:
sudo apt-add-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 apt-add-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 apt-add-repository ppa:scopes-packagers/ppa
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-lens-grooveshark
Dictionary Lens:
sudo apt-add-repository ppa:scopes-packagers/ppa
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-dictionary-lens
Web Sources:
sudo apt-add-repository ppa:cscarney/unity-web-place
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-place-websearch
For more Lenses see: http://askubuntu.com/questions/38772/what-lenses-for-unity-are-available
Gnome-Shell Tweaks
Add the gnome3-team ppa that contains parts of gnome 3.4 that are not in the repositories and the webupd8 ppa for some special adjusted shell extensions with bugfixes.
sudo apt-add-repository ppa:gnome3-team/gnome3 ppa:webupd8team/gnome3
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install unity-place-websearch
Install Gnome-Shell 3.2
sudo apt-get install gnome-shell gnome-shell-extensions gnome-sushi gnome-contacts gnome-themes-standard gnome-themes-extras gnome-themes-ubuntu gnome-tweak-tool
Gnome 3 Keyboard Shortcuts
https://live.gnome.org/GnomeShell/CheatSheet
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 https://extensions.gnome.org/ .
or a http directory index styled list is @ http://www.fpmurphy.com/gnome-shell-extensions/
NOTE: Some extensions are already installed with custom ubuntu patches. You can manage those via the gnome-tweak-tools "Extensions" Tab.
Gnome-Shell: Hide Bluetooth and acessibilityApplet
see https://extensions.gnome.org/
Gnome-Shell: Move notification icons to the top bar
sudo apt-get install
gnome-shell-classic-systray
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
Audio and Video Player
For Audio I use the fast and lightweight "Decibel Audio Player" and my video Player of choice is VLC. Install them with:
sudo apt-get install decibel-audio-player
sudo apt-get install vlc vlc-plugin-pulse vlc-plugin-notify
Oracle java 7
sudo apt-add-repository ppa:eugenesan/java sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get purge openjdk*
sudo apt-get install 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 apt-add-repository ppa:osmoma/audio-recorder
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install audio-recorder
Multimedia Codecs and additional Applications
Add the Medibuntu Repository: 12
sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(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
add some useful 3rd party repositories by adding the following to the sources.list file:
gksudo gedit /etc/apt/sources.list
## getdeb mirror
deb http://mirrors.dotsrc.org/getdeb/ubuntu precise-getdeb apps
deb http://mirrors.dotsrc.org/getdeb/ubuntu precise-getdeb games
## google caution: very sloooooow
deb http://dl.google.com/linux/deb/ stable non-free
deb http://dl.google.com/linux/deb/ testing non-free
## opera
deb http://deb.opera.com/opera/ stable non-free
Sync the Signing Keys:
wget -q -O- http://deb.opera.com/archive.key | sudo apt-key add -
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A8A515F046D7E7CF; gpg --export --armor A8A515F046D7E7CF | sudo apt-key add -
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A040830F7FAC5991; gpg --export --armor A040830F7FAC5991 | sudo apt-key add -
sudo apt-get update && sudo apt-get dist-upgrade
Install:
sudo apt-get install opera skype libvdpau1 smplayer mplayer fotoxx filezilla gimp wireshark htop audacity openoffice.org-thesaurus-de openoffice.org-hyphenation-de 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 lDual 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
TODO update benchmarks
Vdpau Benchmarks with Nvidia Binary Driver 280.13
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 hosts the acpi call kernel module and the current Version of the VGA Helper scripts for the EeePC 1015PN for ubuntu oneiric (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' > will show the current gpu mode
see the 'Command Line Options' section below for more info
VGA Selector Screenshots
- Main Program GUI:
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:
Normal user accounts 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
- 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 list. 15
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 http://github.com/mkottman/acpi_call.git
cd acpi_call
make
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"
EndSection
...
Point xorg to the intel glx module and set the mesa libgl (still as root)
cp /usr/lib/xorg/modules/extensions/libglx.so
/usr/lib/xorg/modules/extensions/libglx.so.intel
ln -s -f /usr/lib/xorg/modules/extensions/libglx.so.intel /usr/lib/xorg/modules/extensions/libglx.so
update-alternatives --set x86_64-linux-gnu_gl_conf /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf
ldconfig
NOTE: If you're running the 32-bit version of ubuntu replace 'x86_64' with 'i386'
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"
EndSection
...
Point xorg to the nvidia glx module and set the nvidia libgl (still as root)
ln -s -f /usr/lib/nvidia-current/xorg/libglx.so.280.13 /usr/lib/xorg/modules/extensions/libglx.so
update-alternatives --set x86_64-linux-gnu_gl_conf /usr/lib/nvidia-current/ld.so.conf
ldconfig
NOTES:
- Replace libglx.so.280.13 with the Version of your installed nvidia driver if you do not use the default nvidia driver shipped with oneiric.
- If you're running the 32-bit version of ubuntu replace 'x86_64' with 'i386'
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.
Downloads
References
1 see LP Bug #760131
2 Bios Version 0702 fixes a Bug when System wakes up from S3
3 see http://ubuntuforums.org/showpost.php?p=10323572&postcount=18
4 see LP Bug #59695
5 source for the fix: http://ubuntuforums.org/showthread.php?t=1741294
6 source for the fix: This Blog post by 'fewt'
7 Jupiter Power Managment Applet http://www.jupiterapplet.org/ 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 ubuntuforums.org thread. If you find typos on this page - Congratulations! They're all yours ;)
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at mtron.co.nr
contact: mtron * a1.net