WiFi, Bluetooth

Thunderbolt charging from TB16 dock

Dual 2K monitors through dock

Audio, USB, Ethernet through dock

Dual boot and VM from raw Windows partition

Touchscreen (on the 4k model)

Keyboard backlight

Power button on dock acting as the regular power button

Limitations/things that don't work or don't work very well (that I've discovered so far):

Speaker out on the dock (in the back) doesn't seem to work, but the headphone jack on the front is fine.

KDE seems to forget my monitor layout on occasion. This is mildly annoying but I'm hoping this can be fixed soon in software. [update 3/29] It does not forget monitor layout anymore but most windows (Chrome, PhpStorm) don't remember their placement. Some applications (Sublime, KDE apps, Electron apps) consistently remember their preferred monitor so this seems like a matter of applications implementing window manager hooks correctly.

It does not forget monitor layout anymore but most windows (Chrome, PhpStorm) don't remember their placement. Some applications (Sublime, KDE apps, Electron apps) consistently remember their preferred monitor so this seems like a matter of applications implementing window manager hooks correctly. Occasionally hotplugging the dock will cause KDE/Plasma to freeze. Again, mildly annoying but hoping for a fix soon. [update 3/29] This rarely happens but the freeze is a complete system hang not just KDE/Plasma.

UPDATE 3/29: I've been using this setup for a couple months now and here's my experience so far:



Overall things still work well for the most part

Hotplugging the dock rarely results in a system hang (completely unresponsive). However, this has only happened a few times in the couple months and so it does not bother me that much, and I have not seen any pattern.

Booting with the dock plugged in results in some funky font rendering and/or DPI/scaling issues, so I always boot with the dock unplugged and just hotplug it after logging in.

Sometimes the Ethernet adapter in the dock will stop working (sometimes there will be failures related to SSL, sometimes my dnsmasq setup will stop resolving). There are bug reports for this issue (e.g. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1667750) but for now taking it down and bringing it up again fixes it for me without rebooting ( $ sudo ifconfig enx204747f8f471 down && sleep 30 && sudo ifconfig enx204747f8f471 up - just replace "enx204747f8f471" with your interface name if it's different). So, mildly annoying but tolerable.



I've been using this setup for a couple months now and here's my experience so far:

To help anybody in a similar situation, here is what I did to get everything working.





First off, let's tweak some BIOS settings so the hardware plays well with Linux:

Change SATA to AHCI mode (System Configuration > SATA Operation) - otherwise Linux does not recognize the drive for some reason

Set Thunderbolt security level to No Security (System Configuration > USB Configuration) - otherwise only the monitors work through the dock

Turn off Secure Boot (Secure Boot > Secure Boot Enable) - otherwise nvidia and virtualbox drivers do not work as they are not signed by a trusted key

(personal preference) Change function keys to be F1-12 by default (POST Behavrior > Fn Lock Options, set to Enable/Secondary) At this point, due to the change in SATA mode, Windows will refuse to boot, but just go into safe mode and it will fix itself after a reboot. After that, start Windows as normal and install necessary firmware updates (it will reboot for each one):

BIOS update (under BIOS at http://www.dell.com/support/home/us/en/04/product-support/product/xps-15-9560-laptop/drivers)

Thunderbolt chipset firmware (under Chipset > Thunderbolt 3 Firmware Update at http://www.dell.com/support/home/us/en/04/product-support/product/xps-15-9560-laptop/drivers) Once that's done, you can now install Ubuntu. I am installing Kubuntu 16.04 and throwing KDE Neon on top of there to get the latest and greatest (both in terms of looks and functionality and stability). Installation is fairly straightforward, the only problem I encountered was that the Kubuntu installer was unable to automatically partition the driver properly for dual-boot but it was fairly simple to use gparted to set up the root and swap partitions (I chipped off space at the end of the main Windows partition to make space - for me it was between partitions 3 and 4).





After Kubuntu was installed, I installed KDE Neon to get the latest Plasma version as it bring significant multi-monitor and hotplug improvements to the desktop environment:

$ sudo apt-add-repository http://archive.neon.kde.org/user

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E6D4736255751E5D

$ sudo apt update

$ sudo apt full-upgrade

During the upgrade, there are some conflicts with existing packages, so I had to do $ sudo apt-get install -f and $ sudo apt full-upgrade a few times. The install -f will remove the conflicting packages and the full-upgrade will continue the upgrade. Do this a couple times if necessary.

Neon also renames the distribution name which will break later calls to add-apt-repository. There is a simple fix, however, just replace "neon" with "Ubuntu" (case-sensitive) in the /etc/lsb-release file.





$ sudo usermod -a -G disk $(whoami) . Log out and log back in for changes to take effect. After that, run $ VBoxManage internalcommands createrawvmdk -filename RawDisk.vmdk -rawdisk /dev/nvme0n1 to create the VMDK that points to the raw disk. Then set up the VM in Virtualbox as you would with any existing VMDK. The only critical setting is to enable EFI in the VM's System settings. The settings I ended up with are:

2 GB RAM

1 CPU (PAE/NX enabled

2D and 3D acceleration enabled with 256 MB VRAM

USB 3.0 controller (requires Virtualbox extension pack) So after all that, everything is operational and I can dock the laptop with just one cable, dual-boot between Linux and Windows, and boot to the Windows partition from Virtualbox. If anyone has any particular functionality to test, let me know in the comments. Optionally, if you want, you can make Virtualbox boot the raw Windows partition as a virtual machine, so you can have both dual-boot and a VM without taking up double the disk space (the only caveat is that you have to be sure to unmount the Windows partition in Linux if you have it mounted). To do so, first add yourself to the disk group so you can access raw partition information by running. Log out and log back in for changes to take effect. After that, runto create the VMDK that points to the raw disk. Then set up the VM in Virtualbox as you would with any existing VMDK. The only critical setting is to enable EFI in the VM's System settings. The settings I ended up with are:

Finally got a laptop to replace my fat tower at work - Dell XPS 15 9560. I was allowed to choose which one I wanted and chose the XPS for its Linux support since Dell ships developer edition XPS's running Ubuntu so I figured Linux support would be better than other manufacturers. At first they got me the model with the 4K screen but my monitors are 2K and multi-dpi support in Linux is virtually non-existent and even hi-dpi support on its own is pretty terrible. So I got it exchanged for the model with the regular 1080p screen (which happened to also be the updated 9560 model), which works much better. I'm very glad to report that pretty much everything works, including the TB16 desktop dock, with just a bit of settings tweaking. This post is to help anybody considering getting this setup or looking for help getting things working. For now, I am running Kubuntu 16.04 with KDE Neon installed.List of things I explicitly tested and work: