Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
DELL XPS 13

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

{OK}

Sleep / Suspend

{OK}

Xorg

{OK}

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{OK}

Switch to External Screen

{OK}

Mouse

- Built-in (Touchpad)

{OK}

Wireless/Wifi

X-(

Bluetooth

{OK}

Webcam

{OK}

Keyboard's Hotkeys

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Description

This model comes in two options: with Windows 8 or with Ubuntu 12.04, which is called Dell XPS 13 Developer Edition. This is a very nice ultrabook which is able to run Debian pretty well. It ONLY requires one non-free firmware to fully operate (the wifi), no extra privative drivers required.

Important Note

In order to use Wifi to install, you MUST use a Debian nonfree installer. The Intel official Wifi driver is free, but the firmware required is not. You can get the non-free Debian netinst here:

http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/

From Ubuntu, just install to an empty pendrive with:

su
cd Downloads   # or whatever
dd if=firmware-7.0.0-amd64-netinst.iso of=/dev/sdX bs=16M

Pay attention to /dev/sdX, it is ussually sdb, but take care! (you could erase your SSD drive by accident).

Reboot and press F12 while the BIOS is loading. You have to be very fast! Then select USB boot. Now you're ready to install Debian.

Configuration

Display

Display works quite well out of the box, including brightness controls with the standard Debian kernel.

Audio

Works perfect out of the box.

Bluetooth

Works quite well, very stable.

Be careful with the button to power it on or off, it is the same as the wifi one, see below in wifi section.

Touchpad

The touchpad works well with the standard kernel.

Power Management

Suspension works perfect. Hibernation works well following this guide: Hibernation/Hibernate_Without_Swap_Partition, even with an encrypted root partition.

laptop-mode-tools package is recommended, it can really save a lot of power by turning off while not using the sound card, wifi, bluetooth, usb ports... have a look at /etc/laptop-mode/conf.d/ and configure at will.

Battery can last up to 5h with the standard kernel. If you want something like 6-7h you need to install kernel 3.14 or higher. This is a known issue. Up to kernel 3.14 the linux kernel didn't handle power properly for i7 processors. See bellow.

WiFi

Works well BUT you must install firmware before, and be careful not to press the wifi button which will make your bluetooth go off too.

Firmware package name is firmware-iwlwifi.

Installing kernel 3.14 for better performance, higher battery life and less fan noise (optional)

Starting with kernel 3.14, linux supports advanced power management for i7 processors, making this machine more powerful, increasing battery life up to a 50%, and making less noise (installing thermald as explained bellow).

The way to proceed is:

su
apt-get install kernel-package git libncurses5-dev
cd /usr/src
wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.2.tar.xz #or use another more modern version
xz -d linux-3.14.2.tar.xz -c | tar x
cd linux-3.14.2
make-kpkg --config menuconfig --initrd --jobs 4 kernel_image modules
#in the config window shown, configure the kernel at will, I recommend to make it full preemptive and 1000Hz in the processor section
cd ..
dpkg -i *Custom*.deb

Before you reboot, it is important to configure certain variables and install some additional programs.

Installing thermald

thermald is a daemon to control fans and improve powersavings. To do this, you have to take the program from testing because it is not available on wheezy:

echo "deb-src http://ftp.us.debian.org/debian testing main" >> /etc/apt/sources.list && apt-get update
apt-get build-dep thermald
apt-get -b thermald
dpkg -i thermald*.deb
apt-get install -f

Also, the smartmontools package is very convenient to manage the SSD:

apt-get install smartmontools
nano /etc/default/smartmontools #enable for your drive, normally 'sda'
/etc/init.d/smartmontools restart

Backlight controls with kernel 3.14 and old Xorg server

Older X servers use the first backlight control available in /sys/class/backlight which is not working anymore with 3.14. Newer X servers allow you to select what backlight control to use, but it is not the case of the X server in wheezy. In order to avoid this problem, you must disable the acpi backlight, by ensuring that video.use_native_backlight=1 is in the boot variables in /etc/default/grub:

GRUB_CMDLINE_LINUX="video.use_native_backlight=1 ....."

Remember to update-grub.

The only problem with this is that if you boot with a different kernel other than 3.14 or higher, kernel will issue an error.

Also, this kernel introduced a regression for some boards causing flickering if the brightness is not 100% or 0% (that is, in the middle). The way to resolve this is by following this guide using a low fhz (30 is good) for the led panel: http://devbraindom.blogspot.de/2013/03/eliminate-led-screen-flicker-with-intel.html.


System Summary

lspci

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 (rev 24)

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

Bus 003 Device 003: ID 0c45:644d Microdia
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                1 Laptop_Integrated_Webcam_1.3M
      (Bus Powered)
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  (Bus Powered)
Bus 004 Device 003: ID 8087:07da Intel Corp.
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                0

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Credits