You are not logged in.

#1 2009-05-16 07:08:59

AlexS
Member
From: Munich, Germany
Registered: 2009-05-16
Posts: 114

Survey: degraded notebook performance under Linux (NC10, 1000HE, Wind)

I'm currently looking for a notebook, and the contenders so far are the Samsung NC10, Asus Eee PC 1000HE and perhaps the msi Wind U100.

[rant] Looks like for the first time since 2000, I'll have no choice but to pay the WinTax. I'm sad that I could not complete the decade without paying it again, specially to buy in a segment which started with a strong Linux presence [/rant]

My question to the users of these notebooks is the following: since I plan to only use Linux on the notebook, I would like to know what kind of degradation in performance can I expect. For instance, the 1000HE strong suit is an extra long battery life, but I have read in forums that using Linux will shave 2 hours of battery life. If so, the long battery argument does not fly for me anymore, as I WILL be using Linux on my notebook.

Just to be clear about this, I'm aware that there is plenty of info on how to run Linux on these machines (1,2). But what I want is to know what kind of performance are you achieving right now with your model, and how did you managed it (distributions, patches, etc). Also, I would like to know what kind of functions could not be made to work so far, or have a degraded performance. Specially important to me are battery life, the ability to do voip, and the possibility to do presentations through the VGA port. But of course any problems and sources of irritation are of interest to me (suspend mode, hibernation, etc).

Hopefully, this thread will also be useful to others to exchange information on how to improve their notebook performance.

Offline

#2 2009-05-16 07:49:12

Wilco
Member
Registered: 2008-11-09
Posts: 440

Re: Survey: degraded notebook performance under Linux (NC10, 1000HE, Wind)

My experiences with the 1000HE:
- Arch runs fine with a regular install from USB
- All (well almost all) netbooks use the intel chipset. It works fine with the intel driver, which was buggy in the beginning but I haven't experienced any problems in the last weeks
- Battery time is around 6 hours. Even windows doesn't make it 9.5 hours. I posted a survey on an eee forum and these are the results: 35 ppl have 4-6 battery life, 24 ppl have 6-8 hours. And since most ppl run Windows, my 6 hours seem to be a good average. I can manage many more hours if I reduce screen brightness but I like the bright screen, the screen is really exceptional good on the 1000HE btw.
- I run Icewm. Gnome also runs really fast (surprised me) and KDE runs ok, but a bit slow (recent drivers increased performance)
- Sound works out of the box with the standard HDA chipset. Webcam is ok, nothing special, works with the uvcvideo driver
- Xorg setup is real easy with HAL, no config needed anymore.
- All the special keys generate acpid events and you can use the eee scripts from AUR. I created my own scripts because I found the generic scripts pretty slow.

And cool things with Linux:
- 720p HD video and youtube HD video plays smooth with recent drivers. Windows couldn't really do this.

What's not so good.
- KDE is a bit slow, although performance increased over the last few updates
- 1080p HD is not OK on any netbook
- Touchpad is very sensitive and therefore becomes a bit glitchy. Maybe you can configure your way out of this with synclient.

I Haven't tested VGA out, but the wiki reports it's working fine.

Offline

#3 2009-05-16 08:00:10

AlexS
Member
From: Munich, Germany
Registered: 2009-05-16
Posts: 114

Re: Survey: degraded notebook performance under Linux (NC10, 1000HE, Wind)

Thanks for the detailed feedback, it sounds encouraging!

Wilco wrote:

All the special keys generate acpid events and you can use the eee scripts from AUR. I created my own scripts because I found the generic scripts pretty slow.

That's interesting, did you publish them somewhere,?

Also, I guess there were no specific  issues with the webcam and mic, or you didn't use them at all?

Offline

#4 2009-05-16 08:44:48

Wilco
Member
Registered: 2008-11-09
Posts: 440

Re: Survey: degraded notebook performance under Linux (NC10, 1000HE, Wind)

ACPI scripts for 1000HE, change XUSER to your username. I didn't include the images. Also, this is mainly for inspiration to write your own script!

#!/bin/sh
# Default acpi script that takes an entry for all actions

# NOTE: This is a 2.6-centric script.  If you use 2.4.x, you'll have to
#       modify it to not use /sys

# Wilco: sometimes passing evenst to an X session fail when calling external scripts so most code should be in here

# Custom options
XUSER=wilco
NOTIFY="notify-send -t 1250"

set $*
export XAUTHORITY=/home/$XUSER/.Xauthority
export DISPLAY=:0.0

case "$1" in
    button/power)
        case "$2" in
            PWRF)   /sbin/shutdown -t3 -h now ;;
            *)      logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/sleep)
        case "$2" in
            SLPB)   echo -n mem >/sys/power/state ;;
            *)      logger "ACPI action undefined: $2" ;;
        esac
        ;;
    ac_adapter)
        case "$2" in
            AC0)
                case "$4" in
                    00000000)
                        /mnt/data/eee/acAdapter
                    ;;
                    00000001)
                        /mnt/data/eee/acAdapter
                    ;;
                esac
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    battery)
        case "$2" in
            BAT0)
                case "$4" in
                    00000000)   #echo "offline" >/dev/tty5
                    ;;
                    00000001)   #echo "online"  >/dev/tty5
                    ;;
                esac
                ;;
            CPU0)    
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/lid)
        #echo "LID switched!">/dev/tty5
        ;;
     hotkey)
        case "$3" in
          00000037) # Touchpad on/off
            if [ `synclient -l | grep TouchpadOff | awk '{print ""$3""}'` = "0" ];
            then
              $NOTIFY -i /mnt/data/eee/icons/keyboard.png "Touchpad disabled"
              synclient TouchpadOff=1
            else
              $NOTIFY -i /mnt/data/eee/icons/keyboard.png -u critical "Touchpad enabled"
              synclient TouchpadOff=0
            fi
            ;;
          00000010) # Wi-Fi button
            WIFINAME="`find /sys/devices/ -name rfkill0`/state"
            WIFISTAT="`cat $WIFINAME`"
            if [ $WIFISTAT = "1" ];
            then # Wi-Fi is up
              $NOTIFY -i /mnt/data/eee/icons/wifi.png "Wi-Fi turned off"
              ifconfig wlan0 down
              /etc/rc.d/wicd stop
              killall wpa_supplicant
#              killall wicd-client   # Uncomment to kill wcid-client when disabling Wi-Fi
              rmmod ath9k
              echo 0 >  `find /sys/devices/ -name rfkill0`/state
            else # Wi-Fi is down
              $NOTIFY -i /mnt/data/eee/icons/wifi.png -u critical "Starting Wi-Fi"
              echo 1 >  `find /sys/devices/ -name rfkill0`/state
              modprobe ath9k
              /etc/rc.d/wicd start
#              if ! [ "$(pidof icewmtray)" ]; # Icewm tray not running
#              then su $XUSER --login -c icewmtray &
#              fi  
#              (sleep 3s; su $XUSER --login -c wicd-client &) &
            fi
            ;;
          0000002*) # Brightness up/down
            let BRIGHTNESS=`cat /sys/devices/virtual/backlight/eeepc/brightness`*100/15 
            $NOTIFY -i /mnt/data/eee/icons/brightness.png "Brightness: $BRIGHTNESS %"
            ;;
          00000013) # Toggle speakers
            if [ `amixer get iSpeaker | grep "Front Right: Playback" | awk '{print ""$4""}'` = "[on]" ];
            then # Speaker is currently on
              $NOTIFY -i /mnt/data/eee/icons/mute.png "Muting all sounds"
            else # Speaker is off
              $NOTIFY -i /mnt/data/eee/icons/unmute.png "Unmuting all sounds"
            fi
            amixer set iSpeaker toggle
            ;;
          00000014) # Volume down
            CUR=`amixer get LineOut | grep "Left: Playback" | awk '{print ""$5""}' | sed -e 's/\[//' -e 's/\]//' -e 's/\%//'`
            if [ $CUR -gt 0 ]; # Only lower the volume if it's above 0
            then
              amixer set LineOut 5%-
              $NOTIFY -i /mnt/data/eee/icons/volume_lower.png "Volume" `amixer get LineOut | grep "Front Right: Playback" | awk '{print ""$5""}' | sed -e 's/\[//' -e 's/\]//'`
            fi
            ;;
          00000015) # Volume up
            CUR=`amixer get LineOut | grep "Left: Playback" | awk '{print ""$5""}' | sed -e 's/\[//' -e 's/\]//' -e 's/\%//'`
            if [ $CUR -lt 100 ]; # Only increase the volume if it's below max
            then
              amixer set LineOut 5%+
              $NOTIFY -i /mnt/data/eee/icons/volume_higher.png "Volume" `amixer get LineOut | grep "Front Right: Playback" | awk '{print ""$5""}' | sed -e 's/\[//' -e 's/\]//'`
            fi
            ;;
          00000016) # Backlight key, does not work on older systems!
            xset dpms force off
            ;;
          00000012) # Taskmanager key
            su $XUSER --login -c "urxvt -e top" &
            ;;
          0000001a) # First silver button, show status of devices
            WINAME=`find /sys/devices/ -name rfkill0`/state
            WISTAT=`cat $WINAME`
            if [ $WISTAT = "1" ];
              then $NOTIFY -i /mnt/data/eee/icons/wifi.png -u critical "Wi-Fi: ON"
              else $NOTIFY -i /mnt/data/eee/icons/wifi.png "Wi-Fi: Off"
            fi
            
            BTNAME=`find /sys/devices/ -name rfkill1`/state
            BTSTAT=`cat $BTNAME`
            if [ $BTSTAT = "1" ];
              then $NOTIFY -i /mnt/data/eee/icons/wifi.png -u critical "Bluetooth: ON"
              else $NOTIFY -i /mnt/data/eee/icons/wifi.png "Bluetooth: Off"
            fi

            if [ `cat /sys/devices/platform/eeepc/camera` = "1" ];
              then $NOTIFY -i /mnt/data/eee/icons/webcam.png -u critical "Webcam: ON"
              else $NOTIFY -i /mnt/data/eee/icons/webcam.png "Webcam: Off"
            fi
            ;;
          0000001b) # Second silver button, toggle bluetooth
            BTNAME=`find /sys/devices/ -name rfkill1`/state
            BTSTAT=`cat $BTNAME`
            if [ $BTSTAT = "1" ];
            then # Bluetooth already on
              $NOTIFY -i /mnt/data/eee/icons/bluetooth.png "Bluetooth turned off"
              /etc/rc.d/bluetooth stop
              sleep 1s
              rmmod btusb
              echo 0 > $BTNAME
              kill `ps aux | grep blueman-applet | awk '{print ""$2""}'`
            else # Bluetooth off
              $NOTIFY -i /mnt/data/eee/icons/bluetooth.png -u critical "Starting bluetooth"
              echo 1 > $BTNAME
              /etc/rc.d/bluetooth start
            fi
            ;;
          0000001c) # Third silver button, toggle camera
            if [ `cat /sys/devices/platform/eeepc/camera` = "1" ];
            then # Webcam already on
              echo 0 > /sys/devices/platform/eeepc/camera
              $NOTIFY -i /mnt/data/eee/icons/webcam.png "Webcam turned off"
            else # Webcam off
              echo 1 > /sys/devices/platform/eeepc/camera
              $NOTIFY -i /mnt/data/eee/icons/webcam.png -u critical "Starting webcam"
            fi
            ;;
          0000001d) # Fourth silver button
            /mnt/data/eee/acAdapter
            ;;
          00000039) # Speed (space) key
            if [ `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor` = "ondemand" ];
            then
              cpufreq-set -g performance
              $NOTIFY -i /mnt/data/eee/icons/stock_dialog-info.png -u critical "Setting maximum speed mode"
            else
              cpufreq-set -g ondemand
              $NOTIFY -i /mnt/data/eee/icons/stock_dialog-info.png "Setting ondemand performance mode"
            fi
            ;;
        esac
        ;;
esac

AC Adapter script (also called from rc.local):

#!/bin/sh
if [ `cat /sys/class/power_supply/AC0/online` -eq "0" ];
then
  cpufreq-set -g ondemand &&
  echo 20 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold &&
  echo 9 > /sys/devices/virtual/backlight/eeepc/brightness &&
  echo 5 > /proc/sys/vm/laptop_mode;
else
  cpufreq-set -g performance &&
  echo 15 > /sys/devices/virtual/backlight/eeepc/brightness &&
  echo 0 > /proc/sys/vm/laptop_mode;
fi

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs;

Last edited by Wilco (2009-05-16 08:52:57)

Offline

#5 2009-05-16 08:51:55

Wilco
Member
Registered: 2008-11-09
Posts: 440

Re: Survey: degraded notebook performance under Linux (NC10, 1000HE, Wind)

Webcam works fine:
# echo 1 > /sys/devices/platform/eeepc/camera
$ mplayer tv://

To record audio and video (both the alsa and forceaudio switch are required):
$ mencoder tv:// -ovc lavc -oac mp3lame -tv alsa:forceaudio -o webcam.avi

For the mic to work you need unmute the capture channel. (Un)muting the sound is a bit strange and happens through the iSpeaker channel instead of PCM.

Offline

#6 2009-05-16 12:46:38

AlexS
Member
From: Munich, Germany
Registered: 2009-05-16
Posts: 114

Re: Survey: degraded notebook performance under Linux (NC10, 1000HE, Wind)

Thanks a lot for the info and the scripts, they will be a good reference when I get to setup mine!

Offline

Board footer

Powered by FluxBB