Dell Studio XPS 13

From ArchWiki
Revision as of 03:56, 24 October 2012 by Thestinger (talk | contribs) (CD/DVD ROM Spindown: duplicate and out-of-date content)
Jump to: navigation, search

I have just bought a new Dell Studio XPS 13. I have not been able to find any information for installing Arch Linux on this machine. It is a very nice looking laptop, and runs fast and smooth. I have had a successful install (32-bit only, 64-bit). I still have a few things to get working, like the Bluetooth, and media buttons.

System Specs:

  • Processor
    • Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
  • RAM Memory
    • 4 GB DDR3
  • Webcam
    • 2.0 Megapixel Webcam
  • Hard Disk
    • 320GB SATA 7200 rpm HDD
    • 500GB SATA 7200 rpm HDD
  • Video Card
    • NVIDIA 9400M
    • NVIDIA 9500M (9400M G + 9200M GS)
  • Wireless
    • Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller
    • Atheros Communications Inc. AR928X Wireless Network Adapter

The basic installation performs normally, with the core cd, also the wireless modules ( Atheros wifi card ) were well recognised and worked out of the box.

Power Management

HDD important issue

With the Western Digital hard drive (not SSD), there is an important issue: using the APM (Advanced Power Management) there are too nomerous spin-down, that can damage the hard drive [1]. To confirm this issue you have to install smartmontools:

# pacman -S smartmontools

And you have to run multiple times this command (once in a minute for like 5 minutes):

# smartctl -a /dev/sda|grep Load_Cycle_Count

If the number under Load_Cycle_Count is increasing in a small amount of time (1 or 2 in a minute) you have this issue.

The problem is easily solvable using laptop-mode-tools. In your /etc/laptop-mode/laptop-mode.conf you have to set:

# Should laptop mode tools control the hard drive power management settings?

# Power management for HD (hdparm -B values)

This disable all power management systems of the hard drive cause a light heat up (maybe). The same behaviour can be obtained running this command:

# hdparm -B 255 /dev/sda

the 255 number is the power-management level, in a range of 1-255 where 1 is maximum powersaving and 255 powersaving disabled. However setting the value to 253 causes a lot of spin-down. Setting the spin-down feature (it parks the heads away from disk) however can save hdd in case of fall.

Also to help preserve the HDD life you can add 'noatime' to / and /home in your /etc/fstab to save writing access time on reads Looks like this:

[phr0zn@ragnarok ~]$ cat /etc/fstab
# /etc/fstab: static file system information
# <file system>        <dir>         <type>    <options>          <dump> <pass>
none                   /dev/pts      devpts    defaults            0      0
none                   /dev/shm      tmpfs     defaults            0      0

#/dev/cdrom             /media/cd   auto    ro,user,noauto,unhide   0      0
#/dev/dvd               /media/dvd  auto    ro,user,noauto,unhide   0      0
#/dev/fd0               /media/fl   auto    user,noauto             0      0

UUID=1ca6603c-889c-454c-bd31-a176892ae9c9 / ext4 defaults,noatime 0 1
UUID=6154c07d-ff8c-4f90-b476-d792e2c165f3 /boot ext2 defaults 0 1
UUID=fb1b6490-c07f-42d5-ad70-92c8eb13ca15 /home ext4 defaults,noatime 0 1
UUID=fdac6506-5249-4f80-a880-b4aa17ad984c swap swap defaults 0 0

Hybernation - Suspend

This feature works very well, the only thing you have to set is your /boot/grub/menu.lst , if you do not set the option "resume" your computer does not resume after hybernation, so add resume=/your/swap/partition like in this example:

title  Arch Linux
root   (hd0,4) # It depends on your device
kernel /boot/vmlinuz26 root=/your/root/device ro resume=/your/swap/partition
initrd /boot/kernel26.img

I was not able to get hibernate to work correctly b/c of my NVIDIA drivers. I am now running x86_64. I am not sure if that has anything to do with it. I did however get suspend to RAM to work.

Make sure acpid is installed and running. You can add it to the DAEMONS array in /etc/rc.conf.

Then edit these files...


sh ~/bin/suspend

(Taken from [+] with a little modification)



# discover video card's ID
if [ "$ME" != "root" ]; then
    echo "You must be root!"
    exit 1

ID=`lspci | grep VGA | awk '{ print $1 }' | sed -e 's@0000:@@' -e 's@:@/@'`

# securely create a temporary file

TMP_FILE=`mktemp /var/tmp/video_state.XXXXXX`trap 'rm -f $TMP_FILE' 0 1 15

# switch to virtual terminal 1 to avoid graphics
# corruption in X

chvt 1

# write all unwritten data (just in case)


# dump current data from the video card to the
# temporary filecat 

/proc/bus/pci/$ID > $TMP_FILE

# suspend

echo -n mem > /sys/power/state

# restore video card data from the temporary file
# on resume

cat $TMP_FILE > /proc/bus/pci/$ID

# switch back to virtual terminal 7 (running X)
chvt 7

# remove temporary file
rm -f $TMP_FILE

This should suspend your laptop to RAM when the lid is closed.

Media Buttons

I am using xbindkeys


  control+shift + q

## Print Screen
"~/bin/xscreenshot 0 0 1366 800"

## Power Button
#    c:124

## Previous
"mpc prev"

## Stop
"mpc stop"

## Play/Pause
"mpc toggle"

## Next
"mpc next"

## Mute
"amixer sset Master toggle -q"

## Volume Down
"amixer sset Master 7%- -q"

## Volume Up
"amixer sset Master 7%+ -q"

## Fn+Moon
"gnome-screensaver-command -l"

You can change out the xscreenshot line for any one of the methods:

Taking a Screenshot