Yet Another Blog

October 8, 2008

Dell Inspiron 1525 hotkeys in KDE 4.1.1 Debian

Filed under: computer, linux, Software — Tags: , , , , , , , , , — guilleml @ 7:57 am

In Kubuntu 8.04 my laptop multimedia keys worked fine but in KDE 4.1.1 under Debian they didn’t, I couldn’t assign them to actions in system preferences.

To solve it I’ve used xbindkeys, it works pretty nice and now I can control the volume with the volume keys. To do so, type:

#aptitude install xbindkeys xbindkeys-config

Now you can use xbindkeys-config to configure using a graphical interface or you can configure in ~/.xbindkeysrc.

To configure volume keys under kde 4.1.1 you will need to assign some actions to each key in order to increase, decrease or mute the volume, I’ve used qdbus and kmix to do that, for example, if you want to  mute the audio:

$qdbus org.kde.kmix /Mixer0 org.kde.KMix.toggleMute Master:0

So you need to assign that to the mute key. To increase the volume:

$qdbus org.kde.kmix /Mixer0 org.kde.KMix.increaseVolume Master:0

And to decrease the volume:

$qdbus org.kde.kmix /Mixer0 org.kde.KMix.decreaseVolume Master:0

So the xbindkeysrc file will be:

#Mute
“qdbus org.kde.kmix /Mixer0 org.kde.KMix.toggleMute Master:0”
m:0x0 + c:160
NoSymbol

#SubirVol
“qdbus org.kde.kmix /Mixer0 org.kde.KMix.increaseVolume Master:0”
m:0x0 + c:176
NoSymbol

#BajarVol
“qdbus org.kde.kmix /Mixer0 org.kde.KMix.decreaseVolume Master:0”
m:0x0 + c:174
NoSymbol

After that you want to run xbindkeys daemon every time you login with your user, so add it to ~/.xinitrc, ~/.kde4/Autostart or any way you know to do so.

September 9, 2008

Increase battery life in your linux laptop

Filed under: computer, hacks, linux, Software — Tags: , , , , , , , , , — guilleml @ 7:10 pm

Recently I’ve bought a laptop, Dell Inspiron 1525 with a T5750@2Ghz and a 9 cell battery.

I installed KDE4, plasma, desktop effects…it’s cool, really cool,  but then I discovered powertop, a tool that is able to recommend some settings to make  your CPU to awake less times every second. The tools shows yo a list of the tasks that are awaking the CPU so you can try to get a more power-efficent system.

It recomends you some actions to take, you just accept or not them, as set the SATA bus in low-power mode, USB autosuspend, set ondemand cpu freq governor, delay writing to the hard disc, etc…

I noted KDE4 is cool but not when you’re using the battery so I installed fluxbox and XFCE, both are nice, XFCE seems to wake up less the CPU, then I started to look for scripts and patchs to waste less energy.

So here are the tuning I’ve done to my laptop:

From http://ubuntuforums.org/showthread.php?t=847773

#!/bin/bash

# Go fast on AC power.  Similar to default Ubuntu settings
if on_ac_power; then
# Set the drive to mostly stay awake
hdparm -B254 -M 254 /dev/sda

# Remount ext3 filesystems so the journal commit only happens every 60
# seconds.  By default this is 5 but, I prefer to reduce the disk
# activity a bit.
mount -o remount,commit=60 /
mount -o remount,commit=60 /media/sda3

# Turn off the laptop mode disk optimization
echo 0 > /proc/sys/vm/laptop_mode

# Manually set the wifi driver to no power savings.
#echo 6 > /sys/bus/pci/drivers/iwl????/0000\:??\:00.0/power_level

# Set kernel dirty page value back to default
echo 10 > /proc/sys/vm/dirty_ratio
echo 5 > /proc/sys/vm/dirty_background_ratio

# Only wakeup every 60 seconds to see if we need to write dirty pages
# By default this is every 5 seconds but, I prefer 60 to reduce disk
# activity.
echo 6000 > /proc/sys/vm/dirty_writeback_centisecs

# Turn off sound card power savings
echo 0 > /sys/module/snd_hda_intel/parameters/power_save

# Set the SATA to max performance
echo max_performance > /sys/class/scsi_host/host2/link_power_management_policy
echo max_performance > /sys/class/scsi_host/host3/link_power_management_policy
echo max_performance > /sys/class/scsi_host/host4/link_power_management_policy

# Make sure ondemand governor is set
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# Enable the webcam driver
#  modprobe uvcvideo

else # Save power

# Set the disks to aggressively save power and use the lowest acoustic
# level.  Note: Currently Firefox is very poorly behaved and some
# might find these settings too aggressive.  If so, change “-S 4” to
# something larger like -S 24 (two minutes).
hdparm -B180  /dev/sda

#set the LCD bright to 60%

echo 60 > /proc/acpi/video/VID/LCD/brightness

# Change the ext3 commit times to 10 minutes.  This reduces disk
# activity
mount -o remount,commit=600 /

# Set laptop disk write mode
echo 5 > /proc/sys/vm/laptop_mode

# Manually set the iwl3945 driver to power savings.
#echo 5 > /sys/bus/pci/drivers/iwl????/0000\:??\:00.0/power_level

# Reduce disk activity by waiting up to 10 minutes before doing writes
echo 90 > /proc/sys/vm/dirty_ratio
echo 1 > /proc/sys/vm/dirty_background_ratio
echo 60000 > /proc/sys/vm/dirty_writeback_centisecs

# Set sound card power savings
echo 10 > /sys/module/snd_hda_intel/parameters/power_save

# Set SATA to minimum power
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy
echo min_power > /sys/class/scsi_host/host2/link_power_management_policy
echo min_power > /sys/class/scsi_host/host3/link_power_management_policy
echo min_power > /sys/class/scsi_host/host4/link_power_management_policy

# Make sure ondemand governor is set
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# Remove the webcam driver
modprobe -r uvcvideo
modprobe -r sbp2
modprobe -r ieee1394
modprobe -r uvcvideo
modprobe -r videodev
modprobe -r v4l1_compat
modprobe -r compat_ioctl32
modprobe -r v4l2_common
fi

The script is commented, I only changed a few things from the original, it works fine, some drivers are able to set the hardware in low-power mode but it seems they don’t do by default, GNU/Linux seems to have to polish laptop distributions.

Powertop shows you the watts you’re currently using when the laptop is not connected to the AC, so I played with phc to undervolt the CPU, now I’m able to use less power for the CPU, this doesn’t decrease the performance.

You can use this tutorial http://ubuntuforums.org/showthread.php?t=786402 to get a kernel able to undervolt the cpu, you just have to replace a module.

My original settings are:

43 35 27 19

Now they are:

24 1 1 1

Powertop shows the laptop uses less energy now and the cpu is colder at high load.

Blog at WordPress.com.