Debian and i3 on a Dell XPS 13
Way back in middle school I stumbled across the Ubuntu website, where Canoncial was offering to ship CDs of Feisty Fawn for free. Ubuntu was a gateway introduction to Linux for me, and I spent the next few months installing and reinstalling every possible distribution I could find. Eventually I bought an Apple computer, but never entirely forgot the tiling WM dream.
It’s now nine years later, and I just impulsively sold my MacBook Pro for a Dell XPS 13 9360. Here are my notes for setting up a dual boot install of Windows 10 and Debian Stretch, with a rather sparse i3 configuration. Happy year of Linux of the desktop :P
Preliminaries: base Windows 10 install
Dell only offers configurations of the XPS 13 with at most a 256 GB SSD. I bought a larger SSD and installed it with the following steps:
- Create a Windows 10 install USB using this tool from Microsoft.
- Download Windows drivers here to the USB, since the clean install of Windows won’t include all of the correct drivers. I grabbed the video, audio, and wifi drivers.
- Install the new SSD.
- Disable SecureBoot and change the SATA operation from “RAID On” to “AHCI” in the BIOS. This is required for installing Debian.
- Install Windows.
- Install the drivers downloaded on the USB stick.
- Disable Windows “Fast Startup.”
Installing Debian
Install Debian as usual, but use this image. It includes non-free firmware necessary for the wifi card.
Configuring the install
I started without any graphical software installed, and roughly followed these steps:
- Secure a network connection, either with
wicd-curses
ornmcli
. -
Install X.org, i3, alsa, fonts, and aptitude:
# apt-get install xorg i3 libasound2 alsa-base alsa-utils alsa-oss alsamixergui fonts-liberation fonts-firacode fonts-dejavu aptitude
-
Configure X.org:
# Xorg -configure # cp /root/xorg.conf.new /etc/X11
-
Configure the trackpad:
# mkdir /etc/X11/xorg.conf.d # cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/
I found the following settings (in the
70-synaptics.conf
file) to be the most comfortable:Option "VertScrollDelta" "-111" Option "HorizScrollDelta" "-111" Option "HorizTwoFingerScroll" "1" Option "PalmDetect" "1" Option "CoastingSpeed" "1" Option "CoastingFriction" "10"
-
X.Org can’t alter the brightness setting out of the box (i.e.
xbacklight
doesn’t work). Fix this by placing the following underDevice
section in the X.Org configuration:Driver "intel" Option "Backlight" "intel_backlight"
You may also have to edit your bootloader settings.
-
Create a non-root user for yourself.
-
Configure font smoothing by placing into
~/.fonts.conf
<?xml version='1.0'?> <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> <fontconfig> <match target="font"> <edit mode="assign" name="rgba"> <const>rgb</const> </edit> </match> <match target="font"> <edit mode="assign" name="hinting"> <bool>true</bool> </edit> </match> <match target="font"> <edit mode="assign" name="hintstyle"> <const>hintslight</const> </edit> </match> <match target="font"> <edit mode="assign" name="antialias"> <bool>true</bool> </edit> </match> <match target="font"> <edit mode="assign" name="lcdfilter"> <const>lcddefault</const> </edit> </match> </fontconfig>
- Test it out! Run
startx
.
Optional extras
I also made the following tweaks:
-
Remaps Control to Caps Lock using
xorg.conf
:Section "InputClass" Identifier "Keyboard Setting" MatchIsKeyboard "yes" Option "XkbOptions" "ctrl:nocaps" EndSection
-
Map media keys with i3 by adding the following to
~/.config/i3/config
:bindsym XF86AudioRaiseVolume exec amixer set Master 5%+ bindsym XF86AudioLowerVolume exec amixer set Master 5%- bindsym XF86AudioMute exec amixer set Master toggle
-
Install extra software: Chrome, urxvt, Git, GnuPG, NeoVim, Dropbox, TeXLive, Zathura, etc. Installing NeoVim requires a few pieces:
# aptitude install neovim python3 python3-pip $ pip3 install neovim neovim-remote
As does Dropbox:
# aptitude install libxslt1.1