Dell XPS 13 Ultrabook
Contents |
Overview
This is an article about running Gentoo on an Dell XPS 13 Ultrabook.
Laptop Specifications
Hardware specs may vary. These are the specs for the model XPS 13 Ultrabook:
- Intel Core i5-2467M 1.6GHz to 2.3GHz or i7-2637M 1.7GHz to 2.9GHz, 3MB cache
- 4GB Dual Channel DDR3 1333MHz
- Intel HD Graphics 3000 (on-CPU)
- High Definition Audio with Waves MaxxAudio 4
- 13.3in TFT LCD Widescreen screen (1366x768)
- Samsung PM830 SATA 3 128GB or 256GB mSATA SSD Hard Disk
- 1x USB 2.0 ports and 1x USB 3.0 ports
- mini-DisplayPort output
- Intel Centrino Advanced-N 6230 802.11 a/g/n with Intel Smart Connect Technology + Bluetooth 3.0
Printout of lspci:
root # lspci
000:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b5)
00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation QS67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
02:00.0 Network controller: Intel Corporation Centrino Advanced-N 6230 (rev 34)
03:00.0 USB controller: Fresco Logic Device 1009 (rev 02)
Printout of lsusb (builtin devices, no external devices connected):
root # lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 003: ID 1bcf:288f Sunplus Innovation Technology Inc.
Bus 004 Device 003: ID 8086:0189 Intel Corp.
Printout of lsmod (builtin devices, no external devices connected):
root # lsmod
Module Size Used by
ac 3081 0
aes_generic 26002 1 aes_x86_64
aes_x86_64 7340 2
arc4 1274 2
battery 10739 0
cfg80211 145914 2 iwlwifi,mac80211
dcdbas 4864 0
ehci_hcd 32642 0
i2c_i801 7262 0
ipv6 228393 50
iwlwifi 166316 0
mac80211 170414 1 iwlwifi
pcspkr 1715 0
processor 24846 4
rfkill 8864 1 cfg80211
sg 21140 0
snd 47863 13 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
snd_hda_codec 60868 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hda_codec_hdmi 21505 1
snd_hda_codec_realtek 101574 1
snd_hda_intel 20200 4
snd_hwdep 5078 1 snd_hda_codec
snd_page_alloc 5977 2 snd_hda_intel,snd_pcm
snd_pcm 56441 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer 15545 2 snd_pcm
thermal 7658 0
usb_common 850 1 usbcore
usbcore 121978 3 ehci_hcd,xhci_hcd
xhci_hcd 65190 0
Information from /proc/cpuinfo :
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i7-2637M CPU @ 1.70GHz stepping : 7 microcode : 0x25 cpu MHz : 1696.199 cache size : 4096 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid bogomips : 3392.39 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i7-2637M CPU @ 1.70GHz stepping : 7 microcode : 0x25 cpu MHz : 1696.199 cache size : 4096 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid bogomips : 3392.39 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i7-2637M CPU @ 1.70GHz stepping : 7 microcode : 0x25 cpu MHz : 1696.199 cache size : 4096 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 2 initial apicid : 2 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid bogomips : 3392.39 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i7-2637M CPU @ 1.70GHz stepping : 7 microcode : 0x25 cpu MHz : 1696.199 cache size : 4096 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 3 initial apicid : 3 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid bogomips : 3392.39 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
Hardware Support
Input Devices
USB 3 Support
- Compile the xhci-hcd driver as module.
Device Drivers --->
[*] USB support --->
<M> xHCI HCD (USB 3.0) support (EXPERIMENTAL)
N.B. A kernel version 3.3 at least is required for the USB 3 support.
Drives and Storage
- Hard Drive controller works using ahci driver in the kernel.
Device Drivers --->
<*> Serial ATA and Parallel ATA drivers --->
<*> AHCI SATA support
Graphics Chip
Device Drivers --->
Graphics support --->
<*> /dev/agpgart (AGP Support) --->
<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<*> Intel 8xx/9xx/G3x/G4x/HD Graphics
[*] Enable modesetting on intel by default
There is an issue with screen brightness which cannot be adjustable. It is possible to workaround it with the following command:
root # echo 0 > /sys/class/backlight/intel_backlight/brightnessUse a script to run it at start up.
#!/bin/bash echo 0 > /sys/class/backlight/intel_backlight/brightness
As well as after hibernate and suspend.
#!/bin/bash
case "$1" in
suspend|hibernate)
#do nothing
;;
resume|thaw)
echo 0 > /sys/class/backlight/intel_backlight/brightness
;;
*)
exit 1
;;
esac
exit 0
Both scripts need to be executable.
root # chmod +x /etc/local.d/backlight.start /etc/pm/sleep.d/backlightWLAN Card
[*] Networking support --->
[*] Wireless --->
<*> Generic IEEE 802.11 Networking Stack (mac80211)
Device Drivers --->
[*] Network device support --->
Wireless LAN --->
<M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
You'll also need the firmware:
root # emerge net-wireless/iwl6030-ucodeCPU Frequency Scaling
Power management and ACPI options --->
CPU Frequency scaling --->
[*] CPU Frequency scaling
<*> ACPI Processor P-States driver
Sound Chip
Device Drivers --->
--- Sound card support --->
<M> Advanced Linux Sound Architecture --->
[*] PCI sound devices --->
<M> Intel HD Audio --->
Webcam
The webcam will work using the v4l2 driver (tested) and sunplus driver (untested).
Device Drivers --->
<M> Multimedia support --->
<M> Video For Linux
[*] Video capture adapters --->
[*] V4L USB devices --->
<M> USB Video Class (UVC)
[*] UVC input events device support
<M> GSPCA based webcams --->
<M> SUNPLUS USB Camera Driver
Test it out with mplayer:
root # mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot
Bluetooth
Not tested.
Problems
Noisy fan
On the core i7 model, the fan is running too often and too early. A bios upgrade resolved the issue. http://www.dell.com/support/drivers/us/en/19/DriverDetails/DriverFileFormats?DriverId=C0VG5&FileId=2902722114&productCode=xps-13-l321x&urlProductCode=False
Touchpad
The TouchPad is based on a Cypress firmware and doesn't seem to have good opensource driver (I couldn't get the tap and multi-touch to work yet). Two patches were submitted in 2011 by Cypress developers to fix it but there were not yet accepted into the kernel mainline:
- http://thread.gmane.org/gmane.linux.kernel/1108661
- http://groups.google.com/group/linux.kernel/browse_thread/thread/5aeb1dd1559d9ab9?pli=1
There's also a ticket opened on the Ubuntu launchpad: