Difference between revisions of "Dell Studio XPS 13"
m |
m (Do not use -Sy when installing packages) |
||
Line 248: | Line 248: | ||
To install necessary packages issue this command: | To install necessary packages issue this command: | ||
<pre> | <pre> | ||
− | pacman - | + | pacman -S cpufrequtils pm-utils laptop-mode-tools |
</pre> | </pre> | ||
Then to activate kernel modules issue this set of commands: | Then to activate kernel modules issue this set of commands: |
Revision as of 22:27, 28 January 2010
I have just bought a new Dell Studio XPS 13. I haven't 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.
Contents
Video Card
Nvidia 9500 M (9400+9200)
It works well with this /etc/X11/xorg.conf, the really important feature is Busid "PCI:3:0:0". There are also some touchpad configuration with two-finger scrolling and tapping.
Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Files" EndSection Section "Module" Load "dbe" Load "extmod" Load "type1" Load "freetype" Load "glx" Load "synaptics" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "synaptics" Option "Protocol" "auto-dev" Option "Device" "/dev/psaux" Option "SendCoreEvents" "true" Option "VertScrollDelta" "80" Option "HorizScrollDelta" "80" Option "SHMConfig" "on" Option "Emulate3Buttons" "on" Option "VertTwoFingerScroll" "true" Option "HorizTwoFingerScroll" "true" Option "EmulateTwoFingerMinZ" "10" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" HorizSync 28.0 - 33.0 VertRefresh 43.0 - 72.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" Option "SLI" "Auto" Option "NoLogo" "true" Option "DPMS" "true" Option "TripleBuffer" "true" # Reduces the interrupts Option "OnDemandVBlankInterrupts" "True" #force Powermizer to a certain level at all times ## level 0x1 = highest ## level 0x2 = med ## level 0x3 = lowest # Option "RegistryDwords" "PowerMizerLevelAC=0x3" # Option "RegistryDwords" "PowerMizerLevel=0x3" # Auto powermizer option # Option "RegistryDwords" "PerfLevelSrc=0x3333" Busid "PCI:3:0:0" Option "RenderAccel" "True" Option "AllowGLXWithComposite" "True" Option "AddARGBLXVisuals" "On" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "TwinView" "False" SubSection "Display" Depth 24 EndSubSection EndSection Section "Extensions" Option "Composite" "Enable" EndSection
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? # CONTROL_HD_POWERMGMT=1 # # Power management for HD (hdparm -B values) # BATT_HD_POWERMGMT=255 LM_AC_HD_POWERMGMT=255 NOLM_AC_HD_POWERMGMT=255
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 don't set the option "resume" your computer doesn't 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 wasn't able to get hibernate to work correctly b/c of my NVIDIA drivers. I am now running x86_64. I'm 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...
/etc/acpi/actions/lm_lid.sh:
sh ~/bin/suspend
(Taken from http://www.linux.com/news/hardware/laptops/8253-how-to-suspend-and-hibernate-a-laptop-under-linux [+] with a little modification)
~/bin/suspend:
#!/bin/sh # discover video card's ID ME=`whoami` if [ "$ME" != "root" ]; then echo "You must be root!" exit 1 fi 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) sync # 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.
CPU Frequency Scaling
This has helped me greatly reduce the heat of my studio XPS (unless running anything flash of course). This works really well for me, and has been for some time. To install necessary packages issue this command:
pacman -S cpufrequtils pm-utils laptop-mode-tools
Then to activate kernel modules issue this set of commands:
modprobe acpi_cpufreq modprobe cpufreq_powersave modprobe cpufreq_ondemand
Also make sure you add those modules to the MODULES array in your /etc/rc.conf
Now we need to see what the processor can do. Most likely yours will be the same as mine, but check just to be sure, we don't want you burning out your processor.
Issue this command to check out the specs:
cpufreq-info
Then you should make your /etc/conf.d/cpufreq file look like this:
[phr0zn@ragnarok ~]$ cat /etc/conf.d/cpufreq #configuration for cpufreq control # valid governors: # ondemand, performance, powersave, # conservative, userspace governor="ondemand" # valid suffixes: Hz, kHz (default), MHz, GHz, THz min_freq="1.6GHz" max_freq="2.4GHz"
Now you can start cpu frequency scaling by issuing this command:
/etc/rc.d/cpufreq start
You also want to add 'cpufreq' to your DAEMONS array in the /etc/rc.conf
CD/DVD ROM Spindown
cp /etc/rc.local /etc/rc.local.backup echo "/usr/bin/hal-disable-polling --device /dev/scd0" >> /etc/rc.local cp /etc/modprobe.conf /etc/modprobe.conf.backup cp /etc/sysctl.conf /etc/sysctl.conf.backup echo "options usbcore autosuspend=1" >> /etc/modprobe.conf echo "vm.dirty_writeback_centisecs=1500" >> /etc/sysctl.conf echo "vm.laptop_mode=5" >> /etc/sysctl.conf
Media Buttons
I am using xbindkeys
~/.xbindkeys:
"xbindkeys_show" control+shift + q ## Print Screen "~/bin/xscreenshot 0 0 1366 800" c:107 ## Power Button #"" # c:124 ## Previous "mpc prev" c:173 ## Stop "mpc stop" c:174 ## Play/Pause "mpc toggle" c:172 ## Next "mpc next" c:171 ## Mute "amixer sset Master toggle -q" c:121 ## Volume Down "amixer sset Master 7%- -q" c:122 ## Volume Up "amixer sset Master 7%+ -q" c:123 ## Fn+Moon "gnome-screensaver-command -l" c:213
You can change out the xscreenshot line for any one of the methods: