Translations: French, German, ?Portuguese
Contents
Repository
The new installer adds our ../../Repository to your /etc/apt/sources.list automatically. This includes some packages required to take full advantage of hardware in the Eee PC which not yet suitable for inclusion in the official Debian archives.
(The repository doesn't support squeeze, so I guess squeeze users don't need to add it?)
Model specific issues
Please go to ../../Models to find out about model-specific configurations.
Additional modules not yet in Debian kernels
Introduction to building out-of-kernel modules
The instructions below require you to install and compile module source packages using module-assistant. This can be done on your Eee PC, but will result in the installation of a lot of development tools that you might not otherwise need.
An alternative method is to do the installation and compilation of the modules on another Debian machine (one that is faster and has more disk space), and then install the resulting module packages on the Eee PC.
If you decide to go this route, refer to the manpage for module-assistant. You will need to run “m-a build …” instead of “m-a auto-install …”. Note that if your Eee PC is running a different kernel version than your build machine, you will need to install the linux-headers and linux-kbuild packages corresponding to the Eee PC's kernel, and use the -l option to specify that version when you invoke module-assistant.
Note: m-a is an abbreviation for module-assistant which can be used as a command too. You can even use “m-a a-i …” for “module-assistant auto-install …” on the command line.
Once you have successfully built a module, copy the resulting .deb to the Eee PC and install it there with “dpkg -i …”.
Ethernet (atl2)
This just works now. The old version of our installer had a bug which required a manual install of atl2 after installation – this is now no longer required.
Bluetooth
This uses the eeepc_laptop module, which is included with the latest debian kernels (Squeeze, for example, includes it). You can toggle it manually by setting the value of /sys/class/rfkill/rfkill1/state, or you can use eee-control. See http://hughperkins.com/techblog/?p=167 for details of installing and using eee-control, or merge with this article.
Wireless (madwifi)
This is installed automatically by the new installer. See ../../HowTo/Wifi to set up wifi with or without encryption.
If you have problems when trying to reactivate your Wireless connection with the hotkey, you may have to ensure the module pciehp is loaded with the right options. See Power management & hotkeys
Webcam (uvcvideo)
Ever since kernel version 2.6.26 there is no need to build uvc module which is now included in.
Become root and type the following commands to enable camera in the BIOS:
echo "1" > /sys/devices/platform/eeepc/camera
The "uvcvideo" module should be loaded automatically.
You should see messages about the camera being detected:
dmesg | tail
Next, install some software to test it works. Become root and invoke the following command:
aptitude install luvcview mplayer
As normal user you can now make use of your web cam tool:
luvcview -f yuv
or, using mplayer:
mplayer -vf screenshot -fps 30 tv://
You can use 's' to take a single screenshot and 'S' to toggle on/off a series of screenshots (as fast as the system can keep up). Use this to play back that sequence:
mplayer -fps 30 mf://shot*.png
If you broke your webcam settings, use mplayer -fps 30 tv:// once to restore them.
Board, BIOS, ACPI (eeepc_laptop)
This kernel module is present in 2.6.26 and later.
Power management & hotkeys
Scripts (eeepc-acpi-scripts)
This package requires the eeepc_laptop kernel module and is installed automatically by the installer.
Debian 6.0 "Squeeze" users: the eeepc-acpi-scripts package conflicts with acpi-support; as root, you must apt-get purge acpi-support: this removes all of the acpi-support scripts that would remain in /etc. If you do not follow this step, you will cause conflicts.
Since eeepc-acpi-scripts 1.1.11 (Debian 7 "Wheezy" and later releases), this no longer conflicts with acpi-support and now depends on it.
Enabling & disabling the wifi works like plugging & unplugging the PCI Express wifi card. If you have a fresh install, this should just work. However, if you have an older install, ensure eeepc-acpi-scripts 1.1.0 or newer is installed and 'pciehp' is not in /etc/modules (it'll be loaded automatically if needed).
If you're sticking with an older eeepc-acpi-scripts, then make sure that pciehp is mentioned in /etc/modules`. If it isn't, run echo pciehp >>/etc/modules as root.
Read the doc in /usr/share/doc/eeepc-acpi-scripts/README.Debian and configure /etc/default/eeepc-acpi-scripts as needed.
Hotkeys
Special keys |
|||
Key |
Function |
Work, comment |
|
< 10" |
10" |
||
Fn + F1 |
sleep |
Yes |
|
Fn + F2 |
wifi |
Yes (read details below) |
|
|
Fn + F3 |
Touchpad on/off |
WIP (git only) |
|
Fn + F4 |
Change resolution |
|
Fn + F3 |
Fn + F5 |
Panel brightness |
Yes |
Fn + F4 |
Fn + F6 |
||
|
Fn + F7 |
Backlight off |
Yes (git only) |
Fn + F5 |
Fn + F8 |
Change screen |
Yes |
Fn + F6 |
Fn + F9 |
Task manager |
No (unused) |
Fn + F7 |
Fn + F10 |
Sound on/off |
Yes |
Fn + F8 |
Fn + F11 |
Volume |
Yes |
Fn + F9 |
Fn + F12 |
Notes
[Lutz] "Volume Up/Down/Mute" Solved - With kernel 2.6.25 and default ALSA installation I had problem with audio hotkeys (alt + f7,8,9). Sleep and wireless button work fine but volume does not change. That's why the Hotkey event is correctly handled, but the acpid action works on the ?LineOut Channel that, on my eee701, is not present or has a different name. You can fix it by editing /etc/default/eeepc-acpi-scripts and modifying this line as follows:
VOLUME_LABEL='Master'
You can also run amixer to have a look at channel names, so you can assign a different mixer channel to volume hotkeys. The Mute key, simply set the selected channel as mute. [Jetxee] "Volume Up/Down/Mute" did not work on my eeepc 901, kernel 2.6.26-1-686 and default alsa 1.0.16-2. Also the mic did not work properly. After installing hda-intel drivers from alsa 1.0.18a both problems were solved. I didn't have to edit eeepc-acpi-scripts, because with a new alsa the channel is named properly. I am using eeepc-acpi-scripts 1.0.9.
As of eeepc-acpi-scripts 1.1.1:
- eeepc-acpi-scripts no longer manages lid events. If you don't use a power manager and want your netbook to go to sleep when you close the lid, you can configure acpi-support accordingly in /etc/default/acpi-support.
- The default action for the volume keys has been changed to NONE. New kernels generate XF86 keyboard events that are properly handled by most desktop environments; if you prefer the old behaviour, edit /etc/default/eeepc-scpi-scripts.
If your desktop environment doesn't handle the volume keys by default, you can probably configure it to (e.g. if you have Openbox add keybindings to rc.xml: http://crunchbang.org/forums/viewtopic.php?pid=40192).
[_ds_] If you use slim as your login manager and xtrlock to lock the X session, you should edit /etc/slim.conf as shown following this paragraph. When going to sleep, eeepc-acpi-scripts 1.0.12 will use xtrlock if possible (and other locking mechanisms fail); without this change, xtrlock will want the root password unless you have a terminal window open. (Or at least I find that it does; it's to do with the X session not having been registered in utmp.)
sessionstart_cmd exec sessreg -a -l :0 %user sessionstop_cmd exec sessreg -d -l :0 %user
Power management
On some models, the battery info is not very precise (jumps from 10% to 100%, no rate information, etc.). Apparently, this is normal. It appears that the userspace battery utilities expect the battery to report mAh, but in fact it reports percentage. This is either a bug in the battery firmware or a bug in the BIOS; it is known to be fixed with newer BIOS versions and kernels ≥ 2.6.25.
Super Hybrid Engine
As of kernel 2.6.30, the "Super Hybrid Engine" is supported: /sys/devices/platform/eeepc/cpufv contains a value which is 256× the number of available settings plus the current setting; you write a number n (0 ≤ n < number of available settings) to it to alter the setting.
On Celeron-based models, there are two settings.
On Atom-based models, there are three settings:
- high speed (1.8GHz)
- normal speed (1.6GHz)
- low speed (1.2GHz)
This is fully compatible with cpufreq. For example, in low speed mode, Atom-based models are able to switch between 600MHz, 800MHz, 1GHz and 1.2GHz as needed. However, cpufreq is unaware of the S.H.E. and will report speeds as being between 800MHz and 1.6GHz.
As of version 1.1.2, eeepc-acpi-scripts supports these plus "auto" mode (which will, by default, try to underclock when on battery), but no key is assigned by default
Notes
[?DamyanIvanov] Hibernation mostly works for me on current Sid with 2.6.24 kernel once I've set up swap (and following the hints from ../../TipsAndTricks). There is some problem with the madwifi driver that does not recover completely, but I think it is not hibernate-related as I see the same behaviour after suspend/resume.
[SamMorris] suspend worked for me with 2.6.24 with the s3_bios and dpms_on quirks. I have sent a patch upstream to hal@lists.freedesktop.org and also filed 469648.
Xorg
Fonts
Sub-pixel ordering (with some uncertainty) is red, green, blue from left to right. Observed by magnifying lens.
DRI
Install the package libgl1-mesa-dri so that DRI can be enabled, providing 3D hardware acceleration.
For the 901, at least, you'll also need to install "libglu1-mesa" to enable DRI.
Touchpad Scrolling
See SynapticsTouchpad, unless you're using lenny on a model with an Elantech touchpad.
Display resolution and desktop size
In /etc/X11/xorg.conf, make sure any "?HorizSync" and "?VertRefresh" lines are commented out or removed from the "Monitor" section and set "Virtual 2048 2048" in the "Display" subsection of your "Screen" section, e.g.
Section "Monitor" Identifier "Generic Monitor" EndSection Section "Screen" Identifier "Default Screen" Device "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Depth 24 Virtual 2048 2048 EndSubSection EndSection
After a fresh Lenny installation on a 1000HA, I found the GNOME text to be unreasonably large. Apparently this is because X determines the DPI according to the screen resolution, 1024x768, and reported physical size of the screen. The result on my 1000HA is 118 DPI:
$ xdpyinfo | grep resolution resolution: 118x118 dots per inch $
I used the temporary workaround from this bug report (510123) and added to the end of my gdm.conf:
[server-Standard] name=Standard server command=/usr/bin/X -audit 0 -dpi 96 flexible=true
Display panning
There is a good utility here to permit display panning on 701.
Multiple displays
If you plug in an external display and press Fn+F5, the desktop is shared between the LCD and external display by default.
If you want, instead, to have one big desktop with the external display positioned above the Eee's own display, ensure that you have set the Virtual size large enough to accommodate both displays as shown above and then edit /etc/default/eeepc-acpi-scripts to set:
COMBINED_DISPLAY_SWITCHES="--above LVDS --auto"
See xrandr(1) and /etc/acpi/actions/vga-toggle.sh for other possible parameters.
If one setting is not working when you press Fn+F5, you might want to check for error messages: run /etc/acpi/actions/vga-toggle.sh from command line.
Note that icewm (in lenny) currently has some problems moving a window between the two displays, see bug 512109 for details.
AIGLX support for compiz
The following were needed to get Compiz working. Compiz works for me with xfce, but its a bit choppy rotating the cube to a workspace that has opened programs on it. (If you have a good working xorg.conf thats different to this, please update)
Section "Device" Identifier "Configured Video Device" Driver "intel" BusID "PCI:0:2:0" Option "EnablePageFlip" "on" Option "AccelMethod" "XAA" Option "MigrationHeuristic" "greedy" Option "AccelDFS" "true" Option "DynamicClocks" "on" Option "ColorTiling" "on" Option "FBTexPercent" "95" Option "XAANoOffscreenPixmaps" "true" Option "AddARGBGLXVisuals" "true" EndSection Section "DRI" Mode 0666 Endsection Section "Extensions" Option "Composite" "Enable" Endsection
Notes:
[cmang] When following the above instructions, I was unable to get any window borders and window management when starting Compiz. In addition to the above, I had to install the compizconfig-settings-manager package. Then I ran ccsm and made sure that the "Window Decoration" plug-in was enabled. I then had to start compiz with compiz --replace cpp
[?AndrewSmart] The XAA method of acceleration had been dropped in recent versions. In the xserver-xorg-video-intel package v2.21.15 the UXA render acceleration is default. UXA is lower performing than the newer SNA, so try it out and check your Xorg log to verify it works. XvMC hardware video acceleration is disabled by default (current support for MPEG2 MC on 915/945 and G33 series). Here is my configuration (for Intel GMA 950 graphics, 945GSE chipset):
Section "Device" Identifier "Device0" Driver "intel" Option "AccelMethod" "SNA" Option "XvMC" "1" EndSection
Xorg uses less CPU and the netbook runs cooler. I suggest you read the man page for intel(4) for settings specific to your driver version. Also if you have a 915/945 chipset (other 3rd/4th gen appear affected as well), you're probably prone to choppy 3D behaviour: https://bugs.freedesktop.org/show_bug.cgi?id=30364 Apparently wiggling the mouse or playing a song (keeping the CPU busy) will keep the graphics smooth by keeping the CPU from entering a deep sleep state. This is apparently a "known design feature of the power management hardware" and the Intel DRI devs (Chris Wilson et al.) were unable to find an acceptable workaround.
Hibernate (suspend-to-disk)
[?DamyanIvanov] Hibernate worked for me just fine after I've set up a 256M dedicated SWAP partition. Perhaps the same is possible using swap files too. The only glitch is that I have to quit memory-hungry programs like Iceweasel before attempting hibernate, as otherwise the swap space is not enough. To hibernate, run s2disk as root (from the uswsusp package). If you use gnome-power-manager you can just press the power button (but remember to disable the button action in /etc/acpi/actions/power.sh installed by debian-eeepc-scripts to avoid double prompts).
[?OzeLot] Hibernation (suspend-to-disk) is easy on Debian/lenny with 2.6.26-kernel, when a swap-partition is active (eeepc 901). This is an example:
Create a swap partition of 512 MB:
cfdisk /dev/sdb --> New --> Type 82 Linux Swap --> write --> reboot
Make an entry in /etc/fstab, if sdb2 should be your new swap-partition:
/dev/sdb2 none swap sw 0 0
Format the swap space:
mkswap /dev/sdb2
Make active with:
swapon -a
(or just reboot the system).
Install acpid, eee-acpi-scripts (the latest version from sid), uswsusp and pm-utils. splashy is not nescessary at this moment.
If you want to use the swap-partition primarily for hibernation, make this entry in /etc/rc.local (somewhere before exit 0):
sysctl -w vm.swappiness=1
You should now be able to hibernate with the root-command s2disk. A compressed image of your system-state is written to the swap and then the eeepc 901 shuts down. The image is loaded again by Power ON.
Suspend and resume with s2disk last 15-20 seconds on my system.
[?ArturCzechowski] I'd like to confirm that suspend/resume on both: ram and disk work without problem on 901. Only path I haven't tested (yet) is: suspend to ram → battery low → automatically suspend to disk → resume. I'll test it this night (CET).
[Lancelot] Suspend-to-disk does not work for me, using the instructions provided by Ozelot above. s2ram complains that "machine is unknown". s2disk and s2both both yield the following behavior: they do seem to write to my swap partition and suspend normally, but upon pressing the power button, it does not resume but instead goes through a normal boot sequence... EDIT: Yeah! I tried:
dpkg-reconfigure uswsusp
- And then answered questions to the best of whatever very little knowledge I have. For some reason, the dpkg-reconfigure provides a myriad of prompts that did not come with the initial aptitude installation. Here is a config file that works for me:
# /etc/uswsusp.conf(8) -- Configuration file for s2disk/s2both resume device = /dev/sdb1 compress = y early writeout = y image size = 239158312 RSA key file = /etc/uswsusp.key shutdown method = poweroff suspend loglevel = 1 max loglevel = 1
In the above, you'll probably have to change the name of the resume device to the name of your swap partition.
This could have been this bug: 495319. Indeed, the config file I got after a clean install had 'platform' as the shutdown method. Note that the "Shutdown method" option does not seem to be explained in the man page of uswsusp.conf
s2ram still does not work, though I don't really care since I can just Fn+F1.
I still have a minor annoyance: upon resume, it complains that it can't stat my resume device and prompts me for a device path. I have to type it by hand for it to resume.
[lancelot] It worked... yesterday. Since then, I tried a couple of configuration changes, which I don't think are the cause for my current problems, and I also did a normal reboot. The latter has been the start of my new issues. Now, everytime I try to make a suspend-to-disk/resume, it does not resume but I get a message that recovery is required on readonly filesystem (this ought to be my root filesystem /dev/sda1), then it proceeds with a "successful" recovery instead of resuming, then does a normal boot. But on the next resume attempt exactly the same thing happens, recovery is again required on the readonly filesystem. it looks like I did something faulty which severely messed with my internal flash drive. I can only hope the drive is not physically damaged. I think I will just attempt to reformat /dev/sda1 and reinstall debian completely... maybe tomorrow, more probably in a couple of weeks, months, I don't know, when I have the time. This leaves me discouraged about running Linux on those flash drives.
See also Hibernation and perhaps more importantly Hibernate without swap partition
Graphical boot
This splashy package will enable a graphical status boot screen for your EEE, which is far pretier than that bunch of characters scrolling up the screen (OK, for a server, not for a mobile workstation). It may not work with KMS.
To install splashy:
aptitude install splashy
Now it is time to configure your boot loader.
Grub
With grub, edit /boot/grub/menu.lst file and add
hiddenmenu
to avoid showing that blue screen. Also remove the timeout, changing the timeout line to:
timeout 0
You will find a commented-out line similar to this:
# defoptions=quiet
With Intel graphics, the panel's native mode will be selected as soon as the i915 module is loaded if KMS is active. With xserver-xorg-video-intel 2.10, KMS is required since support for XAA and EXA has been removed.
Add these (read below):
# defoptions=quiet splash vga=788
the vga=788 stands for 800x600, suitable for 900 model. Previous models should try vga=785, which stands for 640x480. There is a black magic way to make it work at native resolutions, which if you know, please write it here. Some ugly hack, at least for kernel 2.6.25, is described here: Splashy and native resolution of Display.
With Intel graphics, the panel's native mode will be selected as soon as the i915 module is loaded if KMS is active. With xserver-xorg-video-intel/unstable 2.10, KMS will be required since support for XAA and EXA has been removed.
- To update the changes, run:
update-grub
That’s it. You should have your graphical boot working. Also try the splashy-themes package for some other themes. (There are Debian themes in the package. splashy_config --info will show the available themes and splashy_config -s themename will set a theme. Remember to run update-initramfs -u every time you change the theme.)
If at install time you have chosen grub-pc instead of grub, you should edit default config file, /etc/default/grub, adding this variable:
GRUB_CMDLINE_LINUX_DEFAULT="splash vga=788"
[?JohanLaenen] GRUB_CMDLINE_LINUX_DEFAULT="splash vga=788" works like a charm but is deprecated. I had no success changing GRUB_GFXMODE. See 536453 for more info.
and setting
GRUB_TIMEOUT=0
as well. Then update config changes executing 'update-grub2'. NOTE: For my 4G, vga=788 doesn't work, vga=786 seems to work fine.
[LuizGuaraldo]: I was successfull with usplash, no vga option needed. Just need to put insmod intelfb right over insmod png on /boot/grub/grub.cfg (grub2 - grub-pc).
Lilo
With Lilo edit /etc/lilo.conf:
Find the line with "vga" and write:
vga=788
the vga=788 stands for 800x600, suitable for 900 model. Previous models should try vga=785, which stands for 640x480. There is a black magic way to make it work at native resolutions, which if you know, please write it here. Some ugly hack, at least for kernel 2.6.25, is described here: Splashy and native resolution of Display
Find the line with "append" and write:
append="quiet splash vga=788"
To update the changes launch lilo.
Troubleshooting
If you have problems with any of the steps above, see our Troubleshooting HowTo.