<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.yobi.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Valient</id>
	<title>YobiWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.yobi.be/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Valient"/>
	<link rel="alternate" type="text/html" href="https://wiki.yobi.be/index.php?title=Special:Contributions/Valient"/>
	<updated>2026-05-23T15:07:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10233</id>
		<title>Laptop Dell XPS 15</title>
		<link rel="alternate" type="text/html" href="https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10233"/>
		<updated>2016-12-21T07:34:01Z</updated>

		<summary type="html">&lt;p&gt;Valient: /* Bios  1.2.18 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Notes about installing a Debian Stretch on a Dell XPS 15&lt;br /&gt;
==Hardware==&lt;br /&gt;
Dell XPS 15 model 9550 (variant with touchscreen &amp;amp; PCIe m.2 ssd)&lt;br /&gt;
&lt;br /&gt;
From the [http://www.dell.com/support/home/fr/fr/frdhs1/product-support/servicetag/DHVNH72/configuration configuration] list:&lt;br /&gt;
* 6th Generation Intel(R) Core (TM) i7-6700HQ Quad Core (6M Cache, up to 3.5 GHz)&lt;br /&gt;
* 16Go (2x8Go) DDR4 2133MHz&lt;br /&gt;
* 15.6&amp;quot; 4K Ultra HD (3840 x 2160) InfinityEdge touch, Sliver&lt;br /&gt;
* 1To PCIe Solid State&lt;br /&gt;
* DW1830 3x3 802.11ac 2.4/5GHz + Bluetooth 4.1&lt;br /&gt;
* Dell 84 WHr 6-Cell Lithium-Ion Battery&lt;br /&gt;
* Internal US/International Qwerty Backlit Keyboard&lt;br /&gt;
From the drivers list:&lt;br /&gt;
* Realtek High Definition Audio ALC3266&lt;br /&gt;
* Realtek RTS5242 PCIe Gen2 CardReader&lt;br /&gt;
* Realtek USB GBE Ethernet Controller&lt;br /&gt;
* ST Microlectronics LNG3DMTR Motion Sensor&lt;br /&gt;
* Intel HD Graphics 530/P530&lt;br /&gt;
* nVIDIA Geforce GTX 960M Graphics&lt;br /&gt;
From dmesg (incomplete):&lt;br /&gt;
* BCM20703A1 Bluetooth 4.1 (firmware brcm/BCM-0a5c-6410.hcd)&lt;br /&gt;
From lspci -nn:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)&lt;br /&gt;
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)&lt;br /&gt;
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)&lt;br /&gt;
00:04.0 Signal processing controller [1180]: Intel Corporation Device [8086:1903] (rev 07)&lt;br /&gt;
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)&lt;br /&gt;
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)&lt;br /&gt;
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 [8086:a160] (rev 31)&lt;br /&gt;
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 [8086:a161] (rev 31)&lt;br /&gt;
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)&lt;br /&gt;
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)&lt;br /&gt;
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)&lt;br /&gt;
00:1c.1 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #2 [8086:a111] (rev f1)&lt;br /&gt;
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)&lt;br /&gt;
00:1d.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #13 [8086:a11c] (rev f1)&lt;br /&gt;
00:1d.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #15 [8086:a11e] (rev f1)&lt;br /&gt;
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)&lt;br /&gt;
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)&lt;br /&gt;
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)&lt;br /&gt;
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)&lt;br /&gt;
01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 960M] [10de:139b] (rev ff)&lt;br /&gt;
02:00.0 Network controller [0280]: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01)&lt;br /&gt;
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device [10ec:525a] (rev 01)&lt;br /&gt;
04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a802] (rev 01)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
From lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 001 Device 003: ID 04f3:21d5 Elan Microelectronics Corp.            &amp;lt;= touchscreen&lt;br /&gt;
Bus 001 Device 002: ID 0a5c:6410 Broadcom Corp.                         &amp;lt;= bluetooth&lt;br /&gt;
Bus 001 Device 004: ID 0c45:6713 Microdia                               &amp;lt;= webcam&lt;br /&gt;
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From lscpu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Architecture:          x86_64&lt;br /&gt;
CPU op-mode(s):        32-bit, 64-bit&lt;br /&gt;
Byte Order:            Little Endian&lt;br /&gt;
CPU(s):                8&lt;br /&gt;
On-line CPU(s) list:   0-7&lt;br /&gt;
Thread(s) per core:    2&lt;br /&gt;
Core(s) per socket:    4&lt;br /&gt;
Socket(s):             1&lt;br /&gt;
NUMA node(s):          1&lt;br /&gt;
Vendor ID:             GenuineIntel&lt;br /&gt;
CPU family:            6&lt;br /&gt;
Model:                 94&lt;br /&gt;
Model name:            Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz&lt;br /&gt;
Stepping:              3&lt;br /&gt;
CPU MHz:               2847.812&lt;br /&gt;
CPU max MHz:           3500.0000&lt;br /&gt;
CPU min MHz:           800.0000&lt;br /&gt;
BogoMIPS:              5183.88&lt;br /&gt;
Virtualization:        VT-x&lt;br /&gt;
L1d cache:             32K&lt;br /&gt;
L1i cache:             32K&lt;br /&gt;
L2 cache:              256K&lt;br /&gt;
L3 cache:              6144K&lt;br /&gt;
NUMA node0 CPU(s):     0-7&lt;br /&gt;
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush &lt;br /&gt;
dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts &lt;br /&gt;
rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 &lt;br /&gt;
ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx &lt;br /&gt;
f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm hwp hwp_notify hwp_act_window hwp_epp &lt;br /&gt;
intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid &lt;br /&gt;
rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dell Wireless 1830 = BCM43602 + BCM20703A1 (DW1830 Bluetooth 4.1 LE)&lt;br /&gt;
&lt;br /&gt;
BCM43602	PCI ID: 14e4:43ba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# smartctl -d scsi -i /dev/nvme0n1&lt;br /&gt;
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.3.0-1-amd64] (local build)&lt;br /&gt;
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org&lt;br /&gt;
&lt;br /&gt;
=== START OF INFORMATION SECTION ===&lt;br /&gt;
Vendor:               NVMe&lt;br /&gt;
Product:              PM951 NVMe SAMSU&lt;br /&gt;
Revision:             7D0Q&lt;br /&gt;
Compliance:           SPC-4&lt;br /&gt;
User Capacity:        1,024,209,543,168 bytes [1.02 TB]&lt;br /&gt;
Logical block size:   512 bytes&lt;br /&gt;
Rotation Rate:        Solid State Device&lt;br /&gt;
Logical Unit id:      0x0025384cf1b0fd29&lt;br /&gt;
Serial number:        S2FZNXAGC03824&lt;br /&gt;
Device type:          disk&lt;br /&gt;
Local Time is:        Sun Feb 14 22:02:03 2016 CET&lt;br /&gt;
SMART support is:     Unavailable - device lacks SMART capability.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* http://topics-cdn.dell.com/pdf/xps-15-9550-laptop_Service%20Manual_en-us.pdf&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Dell_XPS_15&lt;br /&gt;
* https://bbs.archlinux.org/viewtopic.php?id=204739&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=2301071&lt;br /&gt;
* http://forthescience.org/blog/2015/03/20/installing_ubuntu_14_04_on_the_new_dell_xps_13/&lt;br /&gt;
* https://wiki.debian.org/InstallingDebianOn/Dell/Dell%20XPS%2013&lt;br /&gt;
* http://bartongeorge.net/2015/02/23/update-2-dell-xps-13-laptop-developer-edition-sputnik-gen-4/&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
I first tried to keep a dual-boot just in case, but once we disable Raid and put SATA in AHCI mode, Windows can&#039;t boot anymore. (later I read it could be possible to fix it by rebooting several times Windows till safe mode is kicked in, but it was too late for me.)&lt;br /&gt;
&lt;br /&gt;
Just in case again, one can boot Windows and create a USB recovery.&lt;br /&gt;
==Bios==&lt;br /&gt;
* Secure Boot: disable&lt;br /&gt;
* SATA: switch from Raid to AHCI&lt;br /&gt;
* Boot: not sure it&#039;s needed but I disabled Windows boot manager entry and kept the hdd UEFI entry: UEFI: PM951 NVMe SAMSUNG 1024GB, Partition 1&lt;br /&gt;
* POST/Fastboot/Thorough&lt;br /&gt;
* auto os recovery threshold off&lt;br /&gt;
&lt;br /&gt;
To update the BIOS:&lt;br /&gt;
* put it on a USB stick&lt;br /&gt;
* reboot&lt;br /&gt;
* select BIOS flash update on the boot screen (F12).&lt;br /&gt;
No need to put it on a bootable DOS, just give the exe to the BIOS update built-in util.&lt;br /&gt;
&amp;lt;br&amp;gt;You can even drop the update on /boot/efi as it&#039;s also a FAT partition, no need for a USB memory stick.&lt;br /&gt;
&lt;br /&gt;
Versions:&lt;br /&gt;
* 1.2.0 aka A6 [http://downloads.dell.com/FOLDER03659467M/1/XPS_9550_1.2.0.exe XPS_9550_1.2.0.exe]&lt;br /&gt;
* 1.2.10 aka A10 [http://downloads.dell.com/FOLDER03800340M/1/XPS_9550_1.2.10.exe XPS_9550_1.2.10.exe]&lt;br /&gt;
* 1.2.14 aka A13 [http://downloads.dell.com/FOLDER03906323M/1/XPS_9550_1.2.14.exe XPS_9550_1.2.14.exe]&lt;br /&gt;
* 1.2.16 [http://downloads.dell.com/FOLDER04030973M/1/XPS_9550_1.2.16.exe XPS_9550_1.2.16.exe]&lt;br /&gt;
* &#039;&#039;&#039;1.2.18&#039;&#039;&#039; [http://downloads.dell.com/FOLDER04078627M/1/XPS_9550_1.2.18.exe XPS_9550_1.2.18.exe]&lt;br /&gt;
&lt;br /&gt;
Attention: with versions 1.2.10 through 1.2.16 and older Linux kernels, there is a serious bug that let the screen black after suspend/wake up. The workaround is to set the lightness to the maximum but it breaks further lightness tuning.&lt;br /&gt;
&lt;br /&gt;
Linux kernels 4.8 and below tend to work best with A6 BIOS (1.2.0), although there is a workaround that allows it to work with later versions.  This workaround uses the intel_reg utility to reset the &amp;quot;pwm_granuality&amp;quot; setting of the onboard graphics.  Solution discussed here: [http://en.community.dell.com/techcenter/os-applications/f/4613/t/19985320].  This issue is reportedly fixed in Linux 4.9, and also in recent Ubuntu 16.10 kernel updates.  See the patch here [https://patchwork.freedesktop.org/patch/109407/].&lt;br /&gt;
&lt;br /&gt;
Even with the intel_reg workaround above, the screen brightness cannot be set to the lowest level without turning the screen off.  This is fixed in 1.2.18.&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
I kept UEFI so we need a Debian netinstall because liveCD doesn&#039;t have UEFI support yet.&lt;br /&gt;
&amp;lt;br&amp;gt;But Wi-Fi requires a proprietary firmware:&lt;br /&gt;
 https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfmac43602-pcie.bin&lt;br /&gt;
so the easiest is to take a Debian netinstall with proprietary firmwares included.&lt;br /&gt;
&amp;lt;br&amp;gt;At time of writing Stretch is testing and last release is alpha5:&lt;br /&gt;
 http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/stretch_di_alpha5/amd64/iso-cd/&lt;br /&gt;
dd the image on a USB stick and boot it.&lt;br /&gt;
&amp;lt;br&amp;gt;It will also complain for a missing brcmfmac43602-pcie.txt but we can safely ignore it. (well I think so, but Wi-Fi has troubles now and then under heavy load, see below)&lt;br /&gt;
&amp;lt;!-- sysml eml ems --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I chose a guided partitionning of the entire disk, with encrypted LVM containing /, /home and swap. But proposed / was a bit too small IMHO (10G) so I deleted and recreated / (50G) and /home.&lt;br /&gt;
&amp;lt;br&amp;gt;Initially I tried to add the &amp;quot;discard&amp;quot; option for the partitions which should help on SSD but the kernel reported that &amp;quot;discard&amp;quot; wasn&#039;t supported by the disk.&lt;br /&gt;
&lt;br /&gt;
If you want to backup partition table and partitions before destroying everything, it&#039;s the right time!&lt;br /&gt;
 parted /dev/nvme0n1&lt;br /&gt;
 print&lt;br /&gt;
 sgdisk --backup=/some/safe/location/nvme0n1.gpt /dev/nvme0n1&lt;br /&gt;
I installed Cinnamon. I don&#039;t know for the others but Cinnamon has a nice auto setting to double features on HiDPI screens.&lt;br /&gt;
==First boot==&lt;br /&gt;
Once installed, the Debian didn&#039;t boot up.&lt;br /&gt;
&amp;lt;br&amp;gt;I tried many things but at the end the only thing that worked was to copy Debian EFI to the default one:&lt;br /&gt;
&lt;br /&gt;
Starting the netinstall again, in rescue mode, get a chroot shell, then&lt;br /&gt;
 mount /dev/nvme0n1p1 /boot/efi&lt;br /&gt;
 cd /boot/efi/EFI&lt;br /&gt;
 mkdir boot&lt;br /&gt;
 cp debian/grubx64.efi boot/bootx64.efi&lt;br /&gt;
I also deleted the Windows files in EFI.&lt;br /&gt;
&lt;br /&gt;
Resource:&lt;br /&gt;
* https://wiki.debian.org/GrubEFIReinstall&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GRUB#Create_an_ESP&lt;br /&gt;
* https://help.ubuntu.com/community/UEFI&lt;br /&gt;
* https://wiki.debian.org/UEFI&lt;br /&gt;
* https://isalo.org/wiki.debian-fr/Debian_%26_UEFI    &lt;br /&gt;
&lt;br /&gt;
FTR things that failed included:&lt;br /&gt;
* [http://www.rodsbooks.com/refind/getting.html Refind] couldn&#039;t boot at all. Strange as the netinstall could boot...&lt;br /&gt;
* tweaks with efibootmgr, update-grub etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039;: It might be possible to fix the issue from the BIOS itself, see http://www.dell.com/support/article/us/en/04/SLN297060/en&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
===Working===&lt;br /&gt;
* Screen&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Touchpad&lt;br /&gt;
* Keyboard backlight and media buttons (volume, luminosity, backlight)&lt;br /&gt;
* Wi-Fi (with the proprietary driver, cf installation above)&lt;br /&gt;
* HDMI&lt;br /&gt;
* SD-Card reader&lt;br /&gt;
* Speakers, mic&lt;br /&gt;
* Webcam&lt;br /&gt;
&lt;br /&gt;
===Working after manual steps===&lt;br /&gt;
====i915====&lt;br /&gt;
Screen was working but dmesg was complaining:&lt;br /&gt;
 i915 0000:00:02.0: firmware: failed to load i915/skl_dmc_ver1.bin&lt;br /&gt;
So I installed that firmware, not sure what it&#039;s changed&lt;br /&gt;
 sudo apt-get install firmware-misc-nonfree&lt;br /&gt;
====Optimus====&lt;br /&gt;
Resources:&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Optimus&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Bumblebee&lt;br /&gt;
 apt-get install bumblebee-nvidia&lt;br /&gt;
 reboot&lt;br /&gt;
Example:&lt;br /&gt;
 apt-get install nvidia-settings&lt;br /&gt;
 optirun -b none nvidia-settings -c :8&lt;br /&gt;
This also works for CUDA:&lt;br /&gt;
 optirun -b none ./cudaHashcat64.bin -m 500 example500.hash example.dict&lt;br /&gt;
====Touchpad====&lt;br /&gt;
Nothing wrong with the touchpad but its default config is a bit painful especially because it&#039;s large and my right palm touches it often, even with the option to diable it when typing and because it&#039;s &amp;quot;soft&amp;quot; buttons.&lt;br /&gt;
&amp;lt;br&amp;gt;I disabled the button area to limit somehow the problem but still you&#039;ve to get used to first touch and hold before pressing a button to do a drag and drop and not the opposite.&lt;br /&gt;
 synclient AreaBottomEdge=4026&lt;br /&gt;
To add a middle button:&lt;br /&gt;
 synclient RightButtonAreaLeft=3914&lt;br /&gt;
 synclient RightButtonAreaRight=0&lt;br /&gt;
 synclient RightButtonAreaTop=4026&lt;br /&gt;
 synclient RightButtonAreaBottom=0&lt;br /&gt;
 synclient MiddleButtonAreaLeft=3100&lt;br /&gt;
 synclient MiddleButtonAreaRight=3873&lt;br /&gt;
 synclient MiddleButtonAreaTop=4026&lt;br /&gt;
 synclient MiddleButtonAreaBottom=0&lt;br /&gt;
And because I love it:&lt;br /&gt;
 synclient CircularScrolling=1&lt;br /&gt;
Some doc [https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Buttonless_touchpads_.28aka_ClickPads.29 here] and the official one [http://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html here]&lt;br /&gt;
&lt;br /&gt;
If with some kernels you get troubles using Synaptics options, check dmesg, maybe Touchpad is detected by another driver too:&lt;br /&gt;
 DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
If this is so, add /etc/modprobe.d/synaptics.conf with this line, cf Kernel section below:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
&lt;br /&gt;
====Touchscreen====&lt;br /&gt;
Touchscreen works well but when an external screen is connected, it spans over both screens so e.g. touching the middle of the laptop screen moves the mouse to some middle point of the virtual screen combining both screens.&lt;br /&gt;
&amp;lt;br&amp;gt;To fix it, see https://wiki.archlinux.org/index.php/Calibrating_Touchscreen&lt;br /&gt;
&amp;lt;br&amp;gt;This example is for an external screen mapped to the right of the laptop screen:&lt;br /&gt;
 # c0 = width of laptop screen / total width&lt;br /&gt;
 c0=$(bc -l &amp;lt;&amp;lt;&amp;lt; &amp;quot;scale=2; $(xrandr|grep -A1 eDP1|sed &#039;1d;s/x.*//&#039;)/$(xrandr|grep &#039;^Screen 0&#039;|sed &#039;s/.*current //;s/ x.*//&#039;)&amp;quot;)&lt;br /&gt;
 xinput set-prop &amp;quot;ELAN Touchscreen&amp;quot; --type=float &amp;quot;Coordinate Transformation Matrix&amp;quot; \&lt;br /&gt;
    c0 0  0 \&lt;br /&gt;
    0  1  0 \&lt;br /&gt;
    0  0  1&lt;br /&gt;
&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
Kernel complains about a missing file.&lt;br /&gt;
&amp;lt;br&amp;gt;Apparently we can get it from Windows drivers but I don&#039;t know where to find them, so I took [https://www.dropbox.com/s/8goc4omhnzxij93/BCM-0a5c-6410.hcd?dl=0 this one] and copied it into /lib/firmware/brcm&lt;br /&gt;
&lt;br /&gt;
Then Bluetooth was recognized but I couldn&#039;t pair my WM615 mouse.&lt;br /&gt;
&amp;lt;br&amp;gt;After restarting the Bt adaptor, I could finally pair:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
  power off&lt;br /&gt;
  power on&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* https://wiki.debian.org/BluetoothUser&lt;br /&gt;
* https://wiki.archlinux.org/index.php/bluetooth&lt;br /&gt;
There is also a possibility to pair directly from bluetoothctl, see https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl&lt;br /&gt;
&lt;br /&gt;
I finally changed the Wi-Fi+BT card for an Intel one, see [[#Hardware_changes]]&lt;br /&gt;
&lt;br /&gt;
====HiDPI====&lt;br /&gt;
Cinnamon handles it nicely but some applications don&#039;t such as Gimp and you end up with a microscopic tools ribbon.&lt;br /&gt;
&amp;lt;br&amp;gt;See https://wiki.archlinux.org/index.php/HiDPI for some useful tips&lt;br /&gt;
&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (1016x572 millimeters)&lt;br /&gt;
   resolution:    96x96 dots per inch&lt;br /&gt;
I&#039;ve no ruler at hand but if it&#039;s 15.6&#039;&#039; in diagonal and pixels are square, this gives 293.4 dpi for screen dimensions of 332x187mm.&lt;br /&gt;
&amp;lt;br&amp;gt;So closest hit with common DPI is 96*3=288dpi&lt;br /&gt;
 xrandr --dpi 288&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (338x190 millimeters)&lt;br /&gt;
   resolution:    289x289 dots per inch&lt;br /&gt;
Let&#039;s document those fictive dimensions for next boots by creating /etc/X11/xorg.conf.d/90-monitor.conf with&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
     Identifier             &amp;quot;&amp;lt;default monitor&amp;gt;&amp;quot;&lt;br /&gt;
     DisplaySize            338 190    # In millimeters&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT5 and GTK+ 3&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;To enable better scaling of QT5 and GTK+ 3, add to .bashrc (not to .xsessionrc otherwise Cinnamon taskbar is messed up!):&lt;br /&gt;
 QT_DEVICE_PIXEL_RATIO=3&lt;br /&gt;
 GDK_SCALE=3&lt;br /&gt;
 GDK_DPI_SCALE=0.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT4&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. Skype&lt;br /&gt;
 sudo apt-get install qt4-qtconfig&lt;br /&gt;
 qtconfig-qt4&lt;br /&gt;
=&amp;gt; one can change font size&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gimp 2.8&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. copy /usr/share/gimp/2.0/themes/Default as ~/.gimp-2.8/themes/HiDPI and change a few options:&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- gtkrc&lt;br /&gt;
+++ gtkrc&lt;br /&gt;
-  GimpToolPalette::tool-icon-size   = button&lt;br /&gt;
+  GimpToolPalette::tool-icon-size   = dialog&lt;br /&gt;
-  GimpEditor::button-icon-size      = menu&lt;br /&gt;
+  GimpEditor::button-icon-size      = button&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wine&#039;&#039;&#039;&lt;br /&gt;
 winecfg&lt;br /&gt;
Change &amp;quot;dpi&amp;quot; in &amp;quot;Graphics&amp;quot; tab&lt;br /&gt;
&#039;&#039;&#039;Virtualbox&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;View/Scale Factor is helpful...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chromium&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;Chrome works fine but &#039;&#039;Chromium&#039;&#039; broke at some point, so I&#039;ve to launch it with:&lt;br /&gt;
&lt;br /&gt;
 GDK_SCALE=2 exec chromium&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Small console font&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;I don&#039;t care but if that&#039;s an issue for you, from [https://github.com/mpalourdio/xps13/blob/master/HiDPI/tty.md here]:&lt;br /&gt;
 sudo dpkg-reconfigure console-setup&lt;br /&gt;
* Choose UTF-8&lt;br /&gt;
* Choose the default Combined - Latin, ... option (&amp;quot;Latin&amp;quot; includes the English alphabet)&lt;br /&gt;
* Select the terminus font&lt;br /&gt;
* Select 16x32&lt;br /&gt;
* OK&lt;br /&gt;
To apply immediately, open a TTY and run setupcon, else just reboot&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multiple displays&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;Combining HiDPI screen with external non-HiDPI? See https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays&lt;br /&gt;
&lt;br /&gt;
====Sensors====&lt;br /&gt;
 apt-get install lm-sensors&lt;br /&gt;
 sensors-detect&lt;br /&gt;
Sensors-detect found coretemp which is now loaded via /etc/modules:&lt;br /&gt;
 coretemp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====External microphone====&lt;br /&gt;
The sole jack is a TRRS, combining output and mic.&lt;br /&gt;
&amp;lt;br&amp;gt;Soundcard is a Realtek ALC3266&lt;br /&gt;
  grep -r Realtek /proc/asound/card*&lt;br /&gt;
  /proc/asound/card0/codec#0:Codec: Realtek ALC3266&lt;br /&gt;
&amp;lt;br&amp;gt;With Debian+Cinnamon, the system detects the mic, we can see it in the sound properties and select it, but still the internal mic is used.&lt;br /&gt;
&amp;lt;br&amp;gt;When using pavucontrol, selecting the &amp;quot;headset microphone&amp;quot; works fine (it still needs some level boosting).&lt;br /&gt;
&lt;br /&gt;
===Solved issues===&lt;br /&gt;
====i915 and blank screen====&lt;br /&gt;
There were numerous issues with the video card. Now with latest kernels (&amp;gt;=4.8) most issues are gone, still some occasional blank screen or freeze when plugging an external HDMI.&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
WM615 mouse used to act erratically, the cursor stopping now and then. Now with latest kernels and an Intel Wi-Fi+BT card it&#039;s fine.&lt;br /&gt;
====Wi-Fi====&lt;br /&gt;
Wi-Fi tends to disassociate under heavy load, switching to other SSIDs or frequencies (5Ghz&amp;lt;&amp;gt;2.4GHz) and coming back seems to help.&lt;br /&gt;
&lt;br /&gt;
I finally changed the Wi-Fi+BT card for an Intel one, see #Hardware_changes&lt;br /&gt;
===Issues===&lt;br /&gt;
====DA200====&lt;br /&gt;
[http://accessories.euro.dell.com/sna/products/Station_daccueil/productdetail.aspx?c=fr&amp;amp;l=fr&amp;amp;s=dhs&amp;amp;cs=frdhs1&amp;amp;sku=470-ABRY DA200] used to be recognized only if it was plugged at boot.&lt;br /&gt;
&amp;lt;br&amp;gt;With kernel 4.6 the device is properly detected dynamically, still having the issue of black output on HDMI/DP1, see below.&lt;br /&gt;
&amp;lt;br&amp;gt;The adapter is actually using DisplayPort. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;HDMI output doesn&#039;t work, it&#039;s recognized by xrandr as &#039;DP1&#039; as for the VGA&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;VGA output works.&lt;br /&gt;
&lt;br /&gt;
When plugged the following hardware gets detected:&lt;br /&gt;
&lt;br /&gt;
lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp..     &amp;lt;= Ethernet&lt;br /&gt;
Bus 004 Device 002: ID 05e3:0617 Genesys Logic, Inc..&lt;br /&gt;
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 003 Device 003: ID 0835:2a01 Action Star Enterprise Co., Ltd. &amp;lt;= Billboard&lt;br /&gt;
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub&lt;br /&gt;
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;The USB Billboard Device Class definition describes the methods used to communicate the Alternate Modes supported by a device container to a host system. More details on Billboard Devices are available in the USB Billboard Device Class specification at the following link: http://www.usb.org/developers/docs/devclass_docs/.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lspci:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
06:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:01.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:02.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
0a:00.0 USB controller: Intel Corporation Device 15b5 (prog-if 30 [XHCI])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lsmod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
r8152                  49152  0&lt;br /&gt;
cdc_ether              16384  0&lt;br /&gt;
usbnet                 40960  1 cdc_ether&lt;br /&gt;
mii                    16384  2 r8152,usbnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====rfkill button====&lt;br /&gt;
Rfkill button of the keyboard (Fn+PrtScr) doesn&#039;t seem to work, no big deal.&lt;br /&gt;
&lt;br /&gt;
==Kernels==&lt;br /&gt;
initramfs complains about lvmetad and I&#039;m not sure it&#039;s that useful on SSD, so just disabling it:&lt;br /&gt;
&amp;lt;br&amp;gt;Edit /etc/lvm/lvm.conf&lt;br /&gt;
 use_lvmetad=0&lt;br /&gt;
Then stop it&lt;br /&gt;
 systemctl stop lvm2-lvmetad&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;, to compile &amp;gt;=4.4, one needs at least initramfs-tools v0.122 to get the nvme.ko properly loaded and therefore the SSD properly seen.&lt;br /&gt;
&lt;br /&gt;
To compile a vanilla kernel, cf http://www.cyberciti.biz/faq/debian-ubuntu-building-installing-a-custom-linux-kernel/&lt;br /&gt;
 sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc&lt;br /&gt;
 sudo apt-get install kernel-package&lt;br /&gt;
 wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz&lt;br /&gt;
 tar xf linux-4.4.tar.xz&lt;br /&gt;
 cd linux-4.4&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make menuconfig&lt;br /&gt;
 make-kpkg clean&lt;br /&gt;
 make-kpkg --rootcmd fakeroot --initrd --append_to_version=9-doegox kernel_image kernel_headers -j 7&lt;br /&gt;
&lt;br /&gt;
===4.4.0===&lt;br /&gt;
Testing linux-image-4.4.0-1-amd64 from Debian Experimental:&lt;br /&gt;
* it just doesn&#039;t boot, stalls immediately after loading initrd&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla:&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.3.0-1-amd64 and general rule to enable as module whatever was new&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make oldconfig&lt;br /&gt;
* Seems better than 4.3, no more issues with i915&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla with config closer to linux-image-4.4.0-1-amd64 (trying to understand why the Debian one doesn&#039;t boot):&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.4.0-1-amd64 and adjusting the minimum because apparently 4.4.0-1-amd64 is a 4.4.2&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- config-4.4.0-1-amd64	2016-02-21 16:36:18.000000000 +0100&lt;br /&gt;
+++ config-4.4.0-9-doegox	2016-02-22 23:07:13.000000000 +0100&lt;br /&gt;
-# Linux/x86 4.4.2 Kernel Configuration&lt;br /&gt;
+# Linux/x86_64 4.4.0-9-doegox Kernel Configuration&lt;br /&gt;
-CONFIG_MEMCG_DISABLED=y&lt;br /&gt;
-CONFIG_X86_X32_DISABLED=y&lt;br /&gt;
+CONFIG_FB_NVIDIA=m&lt;br /&gt;
+CONFIG_FB_NVIDIA_BACKLIGHT=y&lt;br /&gt;
+CONFIG_FB_RIVA=m&lt;br /&gt;
+CONFIG_FB_RIVA_BACKLIGHT=y&lt;br /&gt;
-CONFIG_GRKERNSEC=y&lt;br /&gt;
-CONFIG_GRKERNSEC_PERF_HARDEN=y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
I inspected both initrd and besides rivafb.ko and nvidiafb.ko (which are probably useless) there is no diff.&lt;br /&gt;
&amp;lt;br&amp;gt;Still, this kernel boots, but the same problem as with 4.5.0 appears:&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
See 4.5.0 for the fix.&lt;br /&gt;
===4.5.0===&lt;br /&gt;
Testing linux-image-4.5.0-1-amd64 (4.5.1-1) from Debian Stretch:&lt;br /&gt;
* no more issues with i915, no more black screen when screen awakes :)&lt;br /&gt;
* &#039;&#039;&#039;main screen flickering when an external monitor is attached. Sometimes ends-up in a complete freeze :(&#039;&#039;&#039;&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
** solved:&lt;br /&gt;
&lt;br /&gt;
Touchpad problem:&lt;br /&gt;
&amp;lt;br&amp;gt;This is because touchpad got detected twice, cf /var/log/Xorg.0.log&lt;br /&gt;
 [    13.212] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/event12)&lt;br /&gt;
 [    13.353] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/mouse2)&lt;br /&gt;
 [    13.357] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event1)&lt;br /&gt;
 [    13.445] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)&lt;br /&gt;
See also in dmesg the spurious driver:&lt;br /&gt;
 [    0.341039] pnp 00:05: Plug and Play ACPI device, IDs DLL06e4 PNP0f13 (active)&lt;br /&gt;
 [    8.231092] input: DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 [    8.231227] hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
DLL06E4:01 06CB:7A13 Touchpad must be prevented&lt;br /&gt;
&amp;lt;br&amp;gt;=&amp;gt; Add /etc/modprobe.d/synaptics.conf:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
Blacklisting i2c-hid a explained elsewhere didn&#039;t help me.&lt;br /&gt;
&lt;br /&gt;
If you tried earlier 4.5.0 from Experimental and had issues compiling DKMS modules, be sure to install latest linux-kbuild-4.5&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
Seems the most stable up to now.&lt;br /&gt;
&lt;br /&gt;
* DA200 is now detected once plugged it.&lt;br /&gt;
* still occasional freeze with external screen being attached or mode being changed&lt;br /&gt;
&lt;br /&gt;
==Hardware changes==&lt;br /&gt;
I&#039;ll try a few changes... to be continued&lt;br /&gt;
&lt;br /&gt;
Replacing Broadcom Wi-Fi+BT by an [https://wikidevi.com/wiki/Intel Intel one]:&lt;br /&gt;
* Intel 7265 Dual Band Wireless-AC 7265NGW Card 802.11ac 867Mbps WIFI BT4.0 UK&lt;br /&gt;
** http://www.befr.ebay.be/itm/262049756966?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&lt;br /&gt;
** https://downloadcenter.intel.com/download/17045&lt;br /&gt;
** This requires installing package firmware-iwlwifi&lt;br /&gt;
** Seems to have less Wi-Fi issues, but still the same BT problems pairing the Dell mouse&lt;br /&gt;
&lt;br /&gt;
Alternatives to DA200:&lt;br /&gt;
* HDMI Male To VGA Female Converter&lt;br /&gt;
** http://www.aliexpress.com/item/1pc-HDMI-Male-To-VGA-Female-Converter-Box-Adapter-With-Audio-Cable-For-PC-HDTVHot-New/32448171552.html&lt;br /&gt;
* USB 3.0 10/100/1000Mbps Gigabit Ethernet RJ45&lt;br /&gt;
** http://www.aliexpress.com/item/Hot-selling-New-USB-3-0-10-100-1000Mbps-Gigabit-Ethernet-RJ45-External-Network-Card-LAN/32546613204.html&lt;br /&gt;
* 4-Port Ultra-Slim USB 3.0 Hub&lt;br /&gt;
** https://www.anker.com/products/A7516011&lt;br /&gt;
** http://www.amazon.de/Anker-Datenhub-Ultrabooks-weiteren-kompatiblen/dp/B00Y211AFM/&lt;br /&gt;
&lt;br /&gt;
==Misc hardware==&lt;br /&gt;
Smartcard reader&lt;br /&gt;
* ACS ACR38U PocketMate Smart Card Reader&lt;br /&gt;
** http://www.acs.com.hk/en/products/160/acr38u-pocketmate-smart-card-reader/&lt;br /&gt;
** http://www.befr.ebay.be/itm/EU-SHIPPING-Smart-Card-USB-ACS-ACR38U-National-ID-Tachograph-Reader-Writer-/121899037557&lt;/div&gt;</summary>
		<author><name>Valient</name></author>
	</entry>
	<entry>
		<id>https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10225</id>
		<title>Laptop Dell XPS 15</title>
		<link rel="alternate" type="text/html" href="https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10225"/>
		<updated>2016-12-18T06:17:44Z</updated>

		<summary type="html">&lt;p&gt;Valient: /* Bios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Notes about installing a Debian Stretch on a Dell XPS 15&lt;br /&gt;
==Hardware==&lt;br /&gt;
Dell XPS 15 model 9550 (variant with touchscreen &amp;amp; PCIe m.2 ssd)&lt;br /&gt;
&lt;br /&gt;
From the [http://www.dell.com/support/home/fr/fr/frdhs1/product-support/servicetag/DHVNH72/configuration configuration] list:&lt;br /&gt;
* 6th Generation Intel(R) Core (TM) i7-6700HQ Quad Core (6M Cache, up to 3.5 GHz)&lt;br /&gt;
* 16Go (2x8Go) DDR4 2133MHz&lt;br /&gt;
* 15.6&amp;quot; 4K Ultra HD (3840 x 2160) InfinityEdge touch, Sliver&lt;br /&gt;
* 1To PCIe Solid State&lt;br /&gt;
* DW1830 3x3 802.11ac 2.4/5GHz + Bluetooth 4.1&lt;br /&gt;
* Dell 84 WHr 6-Cell Lithium-Ion Battery&lt;br /&gt;
* Internal US/International Qwerty Backlit Keyboard&lt;br /&gt;
From the drivers list:&lt;br /&gt;
* Realtek High Definition Audio ALC3266&lt;br /&gt;
* Realtek RTS5242 PCIe Gen2 CardReader&lt;br /&gt;
* Realtek USB GBE Ethernet Controller&lt;br /&gt;
* ST Microlectronics LNG3DMTR Motion Sensor&lt;br /&gt;
* Intel HD Graphics 530/P530&lt;br /&gt;
* nVIDIA Geforce GTX 960M Graphics&lt;br /&gt;
From dmesg (incomplete):&lt;br /&gt;
* BCM20703A1 Bluetooth 4.1 (firmware brcm/BCM-0a5c-6410.hcd)&lt;br /&gt;
From lspci -nn:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)&lt;br /&gt;
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)&lt;br /&gt;
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)&lt;br /&gt;
00:04.0 Signal processing controller [1180]: Intel Corporation Device [8086:1903] (rev 07)&lt;br /&gt;
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)&lt;br /&gt;
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)&lt;br /&gt;
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 [8086:a160] (rev 31)&lt;br /&gt;
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 [8086:a161] (rev 31)&lt;br /&gt;
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)&lt;br /&gt;
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)&lt;br /&gt;
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)&lt;br /&gt;
00:1c.1 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #2 [8086:a111] (rev f1)&lt;br /&gt;
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)&lt;br /&gt;
00:1d.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #13 [8086:a11c] (rev f1)&lt;br /&gt;
00:1d.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #15 [8086:a11e] (rev f1)&lt;br /&gt;
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)&lt;br /&gt;
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)&lt;br /&gt;
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)&lt;br /&gt;
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)&lt;br /&gt;
01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 960M] [10de:139b] (rev ff)&lt;br /&gt;
02:00.0 Network controller [0280]: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01)&lt;br /&gt;
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device [10ec:525a] (rev 01)&lt;br /&gt;
04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a802] (rev 01)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
From lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 001 Device 003: ID 04f3:21d5 Elan Microelectronics Corp.            &amp;lt;= touchscreen&lt;br /&gt;
Bus 001 Device 002: ID 0a5c:6410 Broadcom Corp.                         &amp;lt;= bluetooth&lt;br /&gt;
Bus 001 Device 004: ID 0c45:6713 Microdia                               &amp;lt;= webcam&lt;br /&gt;
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From lscpu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Architecture:          x86_64&lt;br /&gt;
CPU op-mode(s):        32-bit, 64-bit&lt;br /&gt;
Byte Order:            Little Endian&lt;br /&gt;
CPU(s):                8&lt;br /&gt;
On-line CPU(s) list:   0-7&lt;br /&gt;
Thread(s) per core:    2&lt;br /&gt;
Core(s) per socket:    4&lt;br /&gt;
Socket(s):             1&lt;br /&gt;
NUMA node(s):          1&lt;br /&gt;
Vendor ID:             GenuineIntel&lt;br /&gt;
CPU family:            6&lt;br /&gt;
Model:                 94&lt;br /&gt;
Model name:            Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz&lt;br /&gt;
Stepping:              3&lt;br /&gt;
CPU MHz:               2847.812&lt;br /&gt;
CPU max MHz:           3500.0000&lt;br /&gt;
CPU min MHz:           800.0000&lt;br /&gt;
BogoMIPS:              5183.88&lt;br /&gt;
Virtualization:        VT-x&lt;br /&gt;
L1d cache:             32K&lt;br /&gt;
L1i cache:             32K&lt;br /&gt;
L2 cache:              256K&lt;br /&gt;
L3 cache:              6144K&lt;br /&gt;
NUMA node0 CPU(s):     0-7&lt;br /&gt;
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush &lt;br /&gt;
dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts &lt;br /&gt;
rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 &lt;br /&gt;
ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx &lt;br /&gt;
f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm hwp hwp_notify hwp_act_window hwp_epp &lt;br /&gt;
intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid &lt;br /&gt;
rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dell Wireless 1830 = BCM43602 + BCM20703A1 (DW1830 Bluetooth 4.1 LE)&lt;br /&gt;
&lt;br /&gt;
BCM43602	PCI ID: 14e4:43ba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# smartctl -d scsi -i /dev/nvme0n1&lt;br /&gt;
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.3.0-1-amd64] (local build)&lt;br /&gt;
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org&lt;br /&gt;
&lt;br /&gt;
=== START OF INFORMATION SECTION ===&lt;br /&gt;
Vendor:               NVMe&lt;br /&gt;
Product:              PM951 NVMe SAMSU&lt;br /&gt;
Revision:             7D0Q&lt;br /&gt;
Compliance:           SPC-4&lt;br /&gt;
User Capacity:        1,024,209,543,168 bytes [1.02 TB]&lt;br /&gt;
Logical block size:   512 bytes&lt;br /&gt;
Rotation Rate:        Solid State Device&lt;br /&gt;
Logical Unit id:      0x0025384cf1b0fd29&lt;br /&gt;
Serial number:        S2FZNXAGC03824&lt;br /&gt;
Device type:          disk&lt;br /&gt;
Local Time is:        Sun Feb 14 22:02:03 2016 CET&lt;br /&gt;
SMART support is:     Unavailable - device lacks SMART capability.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* http://topics-cdn.dell.com/pdf/xps-15-9550-laptop_Service%20Manual_en-us.pdf&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Dell_XPS_15&lt;br /&gt;
* https://bbs.archlinux.org/viewtopic.php?id=204739&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=2301071&lt;br /&gt;
* http://forthescience.org/blog/2015/03/20/installing_ubuntu_14_04_on_the_new_dell_xps_13/&lt;br /&gt;
* https://wiki.debian.org/InstallingDebianOn/Dell/Dell%20XPS%2013&lt;br /&gt;
* http://bartongeorge.net/2015/02/23/update-2-dell-xps-13-laptop-developer-edition-sputnik-gen-4/&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
I first tried to keep a dual-boot just in case, but once we disable Raid and put SATA in AHCI mode, Windows can&#039;t boot anymore. (later I read it could be possible to fix it by rebooting several times Windows till safe mode is kicked in, but it was too late for me.)&lt;br /&gt;
&lt;br /&gt;
Just in case again, one can boot Windows and create a USB recovery.&lt;br /&gt;
==Bios==&lt;br /&gt;
* Secure Boot: disable&lt;br /&gt;
* SATA: switch from Raid to AHCI&lt;br /&gt;
* Boot: not sure it&#039;s needed but I disabled Windows boot manager entry and kept the hdd UEFI entry: UEFI: PM951 NVMe SAMSUNG 1024GB, Partition 1&lt;br /&gt;
* POST/Fastboot/Thorough&lt;br /&gt;
* auto os recovery threshold off&lt;br /&gt;
&lt;br /&gt;
To update the BIOS:&lt;br /&gt;
* put it on a USB stick&lt;br /&gt;
* reboot&lt;br /&gt;
* select BIOS flash update on the boot screen (F12).&lt;br /&gt;
No need to put it on a bootable DOS, just give the exe to the BIOS update built-in util.&lt;br /&gt;
&amp;lt;br&amp;gt;You can even drop the update on /boot/efi as it&#039;s also a FAT partition, no need for a USB memory stick.&lt;br /&gt;
&lt;br /&gt;
Versions:&lt;br /&gt;
* 1.2.0 aka A6 [http://downloads.dell.com/FOLDER03659467M/1/XPS_9550_1.2.0.exe XPS_9550_1.2.0.exe]&lt;br /&gt;
* 1.2.10 aka A10 [http://downloads.dell.com/FOLDER03800340M/1/XPS_9550_1.2.10.exe XPS_9550_1.2.10.exe]&lt;br /&gt;
* 1.2.14 aka A13 [http://downloads.dell.com/FOLDER03906323M/1/XPS_9550_1.2.14.exe XPS_9550_1.2.14.exe]&lt;br /&gt;
* 1.2.16 [http://downloads.dell.com/FOLDER04030973M/1/XPS_9550_1.2.16.exe XPS_9550_1.2.16.exe]&lt;br /&gt;
&lt;br /&gt;
Attention: with versions &amp;gt;= A10 and older Linux kernels, there is a serious bug that let the screen black after suspend/wake up. The workaround is to set the lightness to the maximum but it breaks further lightness tuning.&lt;br /&gt;
&lt;br /&gt;
Linux kernels 4.8 and below tend to work best with A6 BIOS (1.2.0), although there is a workaround that allows it to work with later versions.  This workaround uses the intel_reg utility to reset the &amp;quot;pwm_granuality&amp;quot; setting of the onboard graphics.  Solution discussed here: [http://en.community.dell.com/techcenter/os-applications/f/4613/t/19985320].  This issue is reportedly fixed in Linux 4.9, and also in recent Ubuntu 16.10 kernel updates.  See the patch here [https://patchwork.freedesktop.org/patch/109407/].&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
I kept UEFI so we need a Debian netinstall because liveCD doesn&#039;t have UEFI support yet.&lt;br /&gt;
&amp;lt;br&amp;gt;But Wi-Fi requires a proprietary firmware:&lt;br /&gt;
 https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfmac43602-pcie.bin&lt;br /&gt;
so the easiest is to take a Debian netinstall with proprietary firmwares included.&lt;br /&gt;
&amp;lt;br&amp;gt;At time of writing Stretch is testing and last release is alpha5:&lt;br /&gt;
 http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/stretch_di_alpha5/amd64/iso-cd/&lt;br /&gt;
dd the image on a USB stick and boot it.&lt;br /&gt;
&amp;lt;br&amp;gt;It will also complain for a missing brcmfmac43602-pcie.txt but we can safely ignore it. (well I think so, but Wi-Fi has troubles now and then under heavy load, see below)&lt;br /&gt;
&amp;lt;!-- sysml eml ems --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I chose a guided partitionning of the entire disk, with encrypted LVM containing /, /home and swap. But proposed / was a bit too small IMHO (10G) so I deleted and recreated / (50G) and /home.&lt;br /&gt;
&amp;lt;br&amp;gt;Initially I tried to add the &amp;quot;discard&amp;quot; option for the partitions which should help on SSD but the kernel reported that &amp;quot;discard&amp;quot; wasn&#039;t supported by the disk.&lt;br /&gt;
&lt;br /&gt;
If you want to backup partition table and partitions before destroying everything, it&#039;s the right time!&lt;br /&gt;
 parted /dev/nvme0n1&lt;br /&gt;
 print&lt;br /&gt;
 sgdisk --backup=/some/safe/location/nvme0n1.gpt /dev/nvme0n1&lt;br /&gt;
I installed Cinnamon. I don&#039;t know for the others but Cinnamon has a nice auto setting to double features on HiDPI screens.&lt;br /&gt;
==First boot==&lt;br /&gt;
Once installed, the Debian didn&#039;t boot up.&lt;br /&gt;
&amp;lt;br&amp;gt;I tried many things but at the end the only thing that worked was to copy Debian EFI to the default one:&lt;br /&gt;
&lt;br /&gt;
Starting the netinstall again, in rescue mode, get a chroot shell, then&lt;br /&gt;
 mount /dev/nvme0n1p1 /boot/efi&lt;br /&gt;
 cd /boot/efi/EFI&lt;br /&gt;
 mkdir boot&lt;br /&gt;
 cp debian/grubx64.efi boot/bootx64.efi&lt;br /&gt;
I also deleted the Windows files in EFI.&lt;br /&gt;
&lt;br /&gt;
Resource:&lt;br /&gt;
* https://wiki.debian.org/GrubEFIReinstall&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GRUB#Create_an_ESP&lt;br /&gt;
* https://help.ubuntu.com/community/UEFI&lt;br /&gt;
* https://wiki.debian.org/UEFI&lt;br /&gt;
* https://isalo.org/wiki.debian-fr/Debian_%26_UEFI    &lt;br /&gt;
&lt;br /&gt;
FTR things that failed included:&lt;br /&gt;
* [http://www.rodsbooks.com/refind/getting.html Refind] couldn&#039;t boot at all. Strange as the netinstall could boot...&lt;br /&gt;
* tweaks with efibootmgr, update-grub etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039;: It might be possible to fix the issue from the BIOS itself, see http://www.dell.com/support/article/us/en/04/SLN297060/en&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
===Working===&lt;br /&gt;
* Screen&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Touchpad&lt;br /&gt;
* Keyboard backlight and media buttons (volume, luminosity, backlight)&lt;br /&gt;
* Wi-Fi (with the proprietary driver, cf installation above)&lt;br /&gt;
* HDMI&lt;br /&gt;
* SD-Card reader&lt;br /&gt;
* Speakers, mic&lt;br /&gt;
* Webcam&lt;br /&gt;
&lt;br /&gt;
===Working after manual steps===&lt;br /&gt;
====i915====&lt;br /&gt;
Screen was working but dmesg was complaining:&lt;br /&gt;
 i915 0000:00:02.0: firmware: failed to load i915/skl_dmc_ver1.bin&lt;br /&gt;
So I installed that firmware, not sure what it&#039;s changed&lt;br /&gt;
 sudo apt-get install firmware-misc-nonfree&lt;br /&gt;
====Optimus====&lt;br /&gt;
Resources:&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Optimus&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Bumblebee&lt;br /&gt;
 apt-get install bumblebee-nvidia&lt;br /&gt;
 reboot&lt;br /&gt;
Example:&lt;br /&gt;
 apt-get install nvidia-settings&lt;br /&gt;
 optirun -b none nvidia-settings -c :8&lt;br /&gt;
This also works for CUDA:&lt;br /&gt;
 optirun -b none ./cudaHashcat64.bin -m 500 example500.hash example.dict&lt;br /&gt;
====Touchpad====&lt;br /&gt;
Nothing wrong with the touchpad but its default config is a bit painful especially because it&#039;s large and my right palm touches it often, even with the option to diable it when typing and because it&#039;s &amp;quot;soft&amp;quot; buttons.&lt;br /&gt;
&amp;lt;br&amp;gt;I disabled the button area to limit somehow the problem but still you&#039;ve to get used to first touch and hold before pressing a button to do a drag and drop and not the opposite.&lt;br /&gt;
 synclient AreaBottomEdge=4026&lt;br /&gt;
To add a middle button:&lt;br /&gt;
 synclient RightButtonAreaLeft=3914&lt;br /&gt;
 synclient RightButtonAreaRight=0&lt;br /&gt;
 synclient RightButtonAreaTop=4026&lt;br /&gt;
 synclient RightButtonAreaBottom=0&lt;br /&gt;
 synclient MiddleButtonAreaLeft=3100&lt;br /&gt;
 synclient MiddleButtonAreaRight=3873&lt;br /&gt;
 synclient MiddleButtonAreaTop=4026&lt;br /&gt;
 synclient MiddleButtonAreaBottom=0&lt;br /&gt;
And because I love it:&lt;br /&gt;
 synclient CircularScrolling=1&lt;br /&gt;
Some doc [https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Buttonless_touchpads_.28aka_ClickPads.29 here] and the official one [http://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html here]&lt;br /&gt;
&lt;br /&gt;
If with some kernels you get troubles using Synaptics options, check dmesg, maybe Touchpad is detected by another driver too:&lt;br /&gt;
 DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
If this is so, add /etc/modprobe.d/synaptics.conf with this line, cf Kernel section below:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
&lt;br /&gt;
====Touchscreen====&lt;br /&gt;
Touchscreen works well but when an external screen is connected, it spans over both screens so e.g. touching the middle of the laptop screen moves the mouse to some middle point of the virtual screen combining both screens.&lt;br /&gt;
&amp;lt;br&amp;gt;To fix it, see https://wiki.archlinux.org/index.php/Calibrating_Touchscreen&lt;br /&gt;
&amp;lt;br&amp;gt;This example is for an external screen mapped to the right of the laptop screen:&lt;br /&gt;
 # c0 = width of laptop screen / total width&lt;br /&gt;
 c0=$(bc -l &amp;lt;&amp;lt;&amp;lt; &amp;quot;scale=2; $(xrandr|grep -A1 eDP1|sed &#039;1d;s/x.*//&#039;)/$(xrandr|grep &#039;^Screen 0&#039;|sed &#039;s/.*current //;s/ x.*//&#039;)&amp;quot;)&lt;br /&gt;
 xinput set-prop &amp;quot;ELAN Touchscreen&amp;quot; --type=float &amp;quot;Coordinate Transformation Matrix&amp;quot; \&lt;br /&gt;
    c0 0  0 \&lt;br /&gt;
    0  1  0 \&lt;br /&gt;
    0  0  1&lt;br /&gt;
&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
Kernel complains about a missing file.&lt;br /&gt;
&amp;lt;br&amp;gt;Apparently we can get it from Windows drivers but I don&#039;t know where to find them, so I took [https://www.dropbox.com/s/8goc4omhnzxij93/BCM-0a5c-6410.hcd?dl=0 this one] and copied it into /lib/firmware/brcm&lt;br /&gt;
&lt;br /&gt;
Then Bluetooth was recognized but I couldn&#039;t pair my WM615 mouse.&lt;br /&gt;
&amp;lt;br&amp;gt;After restarting the Bt adaptor, I could finally pair:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
  power off&lt;br /&gt;
  power on&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* https://wiki.debian.org/BluetoothUser&lt;br /&gt;
* https://wiki.archlinux.org/index.php/bluetooth&lt;br /&gt;
There is also a possibility to pair directly from bluetoothctl, see https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl&lt;br /&gt;
====HiDPI====&lt;br /&gt;
Cinnamon handles it nicely but some applications don&#039;t such as Gimp and you end up with a microscopic tools ribbon.&lt;br /&gt;
&amp;lt;br&amp;gt;See https://wiki.archlinux.org/index.php/HiDPI for some useful tips&lt;br /&gt;
&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (1016x572 millimeters)&lt;br /&gt;
   resolution:    96x96 dots per inch&lt;br /&gt;
I&#039;ve no ruler at hand but if it&#039;s 15.6&#039;&#039; in diagonal and pixels are square, this gives 293.4 dpi for screen dimensions of 332x187mm.&lt;br /&gt;
&amp;lt;br&amp;gt;So closest hit with common DPI is 96*3=288dpi&lt;br /&gt;
 xrandr --dpi 288&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (338x190 millimeters)&lt;br /&gt;
   resolution:    289x289 dots per inch&lt;br /&gt;
Let&#039;s document those fictive dimensions for next boots by creating /etc/X11/xorg.conf.d/90-monitor.conf with&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
     Identifier             &amp;quot;&amp;lt;default monitor&amp;gt;&amp;quot;&lt;br /&gt;
     DisplaySize            338 190    # In millimeters&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT5 and GTK+ 3&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;To enable better scaling of QT5 and GTK+ 3, add to .bashrc (not to .xsessionrc otherwise Cinnamon taskbar is messed up!):&lt;br /&gt;
 QT_DEVICE_PIXEL_RATIO=3&lt;br /&gt;
 GDK_SCALE=3&lt;br /&gt;
 GDK_DPI_SCALE=0.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT4&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. Skype&lt;br /&gt;
 sudo apt-get install qt4-qtconfig&lt;br /&gt;
 qtconfig-qt4&lt;br /&gt;
=&amp;gt; one can change font size&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gimp 2.8&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. copy /usr/share/gimp/2.0/themes/Default as ~/.gimp-2.8/themes/HiDPI and change a few options:&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- gtkrc&lt;br /&gt;
+++ gtkrc&lt;br /&gt;
-  GimpToolPalette::tool-icon-size   = button&lt;br /&gt;
+  GimpToolPalette::tool-icon-size   = dialog&lt;br /&gt;
-  GimpEditor::button-icon-size      = menu&lt;br /&gt;
+  GimpEditor::button-icon-size      = button&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wine&#039;&#039;&#039;&lt;br /&gt;
 winecfg&lt;br /&gt;
Change &amp;quot;dpi&amp;quot; in &amp;quot;Graphics&amp;quot; tab&lt;br /&gt;
&#039;&#039;&#039;Virtualbox&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;View/Scale Factor is helpful...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Small console font&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;I don&#039;t care but if that&#039;s an issue for you, from [https://github.com/mpalourdio/xps13/blob/master/HiDPI/tty.md here]:&lt;br /&gt;
 sudo dpkg-reconfigure console-setup&lt;br /&gt;
* Choose UTF-8&lt;br /&gt;
* Choose the default Combined - Latin, ... option (&amp;quot;Latin&amp;quot; includes the English alphabet)&lt;br /&gt;
* Select the terminus font&lt;br /&gt;
* Select 16x32&lt;br /&gt;
* OK&lt;br /&gt;
To apply immediately, open a TTY and run setupcon, else just reboot&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multiple displays&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;Combining HiDPI screen with external non-HiDPI? See https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays&lt;br /&gt;
&lt;br /&gt;
====Sensors====&lt;br /&gt;
 apt-get install lm-sensors&lt;br /&gt;
 sensors-detect&lt;br /&gt;
Sensors-detect found coretemp which is now loaded via /etc/modules:&lt;br /&gt;
 coretemp&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
====i915 and blank screen====&lt;br /&gt;
At some points, repetitive failures spamming syslog:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----------[ cut here ]------------&lt;br /&gt;
WARNING: CPU: 1 PID: 1349 at /build/linux-wxhyRy/linux-4.3.3/drivers/gpu/drm/i915/intel_pm.c:3668 skl_update_other_pipe_wm+0x1b5/0x1c0 [i915]()&lt;br /&gt;
WARN_ON(!wm_changed)&lt;br /&gt;
Modules linked in: sd_mod sg uas usb_storage arc4 ecb md4 cifs cmac algif_hash rpcsec_gss_krb5 auth_rpcgss oid_registry nfsv4 dns_resolver nfs lockd grace sunrpc fs&lt;br /&gt;
CPU: 1 PID: 1349 Comm: Xorg Tainted: G        W  O    4.3.0-1-amd64 #1 Debian 4.3.3-7&lt;br /&gt;
Hardware name: Dell Inc. XPS 15 9550/0N7TVV, BIOS 01.01.15 12/18/2015&lt;br /&gt;
00000000000000000 0000000074139692 ffffffff812ddcf9 ffff8804ab5276b8&lt;br /&gt;
fffffffff81072b1d ffff8804ab5277f4 ffff8804ab527710 ffff8804aba00000&lt;br /&gt;
00000000000000000 ffff8800369a4b80 ffffffff81072bac ffffffffa08b31fc&lt;br /&gt;
Call Trace:&lt;br /&gt;
   etc.&lt;br /&gt;
---[ end trace d9370809ce0073c9 ]---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
See https://bugs.freedesktop.org/attachment.cgi?id=121569&lt;br /&gt;
&lt;br /&gt;
When waking from screen off, the screen very often turns on but is entirely black.&lt;br /&gt;
&amp;lt;br&amp;gt;And dmesg reports sth like this:&lt;br /&gt;
 [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training&lt;br /&gt;
 [drm:intel_dp_complete_link_train [i915]] *ERROR* failed to start channel equalization&lt;br /&gt;
See issue [http://en.community.dell.com/techcenter/os-applications/f/4613/t/19640927 here]&lt;br /&gt;
&lt;br /&gt;
Workaround1:&lt;br /&gt;
* if there is a remote connection possible, this solves the issue:&lt;br /&gt;
 DISPLAY=:0.0 xset dpms force off&lt;br /&gt;
 sleep 1&lt;br /&gt;
 DISPLAY=:0.0 xset dpms force on&lt;br /&gt;
or &lt;br /&gt;
 DISPLAY=:0.0 xrandr --output eDP1 --off&lt;br /&gt;
 sleep 1&lt;br /&gt;
 DISPLAY=:0.0 xrandr --output eDP1 --auto&lt;br /&gt;
Some associated those commands to a shortcut, but this still requires to login properly with a blank screen...&lt;br /&gt;
&amp;lt;br&amp;gt;When an external screen is attached, the external screen is not affected.&lt;br /&gt;
&lt;br /&gt;
Workaround2:&lt;br /&gt;
* Close LID (and the machine goes to sleep) and open it again&lt;br /&gt;
&lt;br /&gt;
Mitigation:&lt;br /&gt;
* Prefs / Power management / Turn off the screen + on A/C: never&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039;: No more issues with kernel &amp;gt;=4.4, see Kernel section below.&lt;br /&gt;
&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
WM615 mouse is now paired but is not smooth, the cursor stops now and then.&lt;br /&gt;
&amp;lt;br&amp;gt;I paired it with an Android phone and there it runs very smoothly so the issue is somewhere on the Dell...&lt;br /&gt;
====Wi-Fi====&lt;br /&gt;
Wi-Fi tends to disassociate under heavy load, switching to other SSIDs or frequencies (5Ghz&amp;lt;&amp;gt;2.4GHz) and coming back seems to help.&lt;br /&gt;
&amp;lt;br&amp;gt;Maybe a proper firmware settings .txt would help?&lt;br /&gt;
&lt;br /&gt;
Examples flooding syslog:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 835 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 639 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 775 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 0 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 210 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 251 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 318 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 790 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 509 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 869 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 711 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 282 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 247 (not in use)&lt;br /&gt;
&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
net_ratelimit: 1292 callbacks suppressed&lt;br /&gt;
&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last one forced me to reboot...&lt;br /&gt;
&lt;br /&gt;
Current firmware available in [http://linuxwireless.org/en/users/Drivers/brcm80211/ kernel repo], [https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 wiki] and in [https://packages.debian.org/firmware-brcm80211 Debian repo] is:&lt;br /&gt;
 strings /lib/firmware/brcm/brcmfmac43602-pcie.bin |tail -n1&lt;br /&gt;
 43602a1-roml/pcie-ag-pktctx-splitrx-amsdutx-txbf-p2p-mchan-idauth-idsup-tdls-mfp-sr-proptxstatus-pktfilter-wowlpf-ampduhostreorder-keepalive-srom12-chkd2hdma &lt;br /&gt;
 Version: 7.35.177.61 CRC: 55b10cfe Date: Tue 2015-11-10 06:39:55 PST Ucode Ver: 986.122 FWID: 01-ea662a8c&lt;br /&gt;
There is a newer version in Dell drivers: &lt;br /&gt;
 strings Communications_Driver_6XDK6_WN32_1.555.0.0_A03/Drivers/WinThresh/WL/x64/43602a1rtecdc.bin|tail -n 1&lt;br /&gt;
 43602a1-roml/pcie-ag-msgbuf-chkd2hdma-ndis-vista-dhdoid-ap-p2p-txbf-pktctx-amsdutx-pktfilter-pno-aoe-ndoe-gtkoe-mfp-proptxstatus-keepalive-sr-ampduretry-d0c-srom12-fbt-assocmgr &lt;br /&gt;
 Version: 7.35.240.51 CRC: ee76d57b Date: Thu 2015-11-26 02:39:07 PST Ucode Ver: 986.120 FWID: 01-ed0fd8f3&lt;br /&gt;
but with that one it fails to associate to access-points...&lt;br /&gt;
&lt;br /&gt;
====rfkill button====&lt;br /&gt;
Rfkill button of the keyboard (Fn+PrtScr) doesn&#039;t seem to work, no big deal.&lt;br /&gt;
&lt;br /&gt;
====DA200====&lt;br /&gt;
[http://accessories.euro.dell.com/sna/products/Station_daccueil/productdetail.aspx?c=fr&amp;amp;l=fr&amp;amp;s=dhs&amp;amp;cs=frdhs1&amp;amp;sku=470-ABRY DA200] is recognized only if it was plugged at boot.&lt;br /&gt;
&amp;lt;br&amp;gt;The adapter is actually using DisplayPort. &lt;br /&gt;
&amp;lt;br&amp;gt;HDMI output doesn&#039;t work, it&#039;s recognized by xrandr as &#039;DP1&#039; as for the VGA.&lt;br /&gt;
&amp;lt;br&amp;gt;VGA output works.&lt;br /&gt;
&lt;br /&gt;
When plugged the following hardware gets detected:&lt;br /&gt;
&lt;br /&gt;
lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp..     &amp;lt;= Ethernet&lt;br /&gt;
Bus 004 Device 002: ID 05e3:0617 Genesys Logic, Inc..&lt;br /&gt;
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 003 Device 003: ID 0835:2a01 Action Star Enterprise Co., Ltd. &amp;lt;= Billboard&lt;br /&gt;
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub&lt;br /&gt;
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;The USB Billboard Device Class definition describes the methods used to communicate the Alternate Modes supported by a device container to a host system. More details on Billboard Devices are available in the USB Billboard Device Class specification at the following link: http://www.usb.org/developers/docs/devclass_docs/.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lspci:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
06:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:01.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:02.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
0a:00.0 USB controller: Intel Corporation Device 15b5 (prog-if 30 [XHCI])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lsmod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
r8152                  49152  0&lt;br /&gt;
cdc_ether              16384  0&lt;br /&gt;
usbnet                 40960  1 cdc_ether&lt;br /&gt;
mii                    16384  2 r8152,usbnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One can somehow force detection if plugged after boot:&lt;br /&gt;
 # echo 1 &amp;gt; /sys/bus/pci/rescan&lt;br /&gt;
But for me it works only once then if removed, rescan doesn&#039;t remove things and re-plugging doesn&#039;t work.&lt;br /&gt;
&amp;lt;br&amp;gt;Moreover with kernel 4.3 I hit the bug related to i915 mentioned [https://lkml.org/lkml/2015/4/21/818 here] and [https://bugzilla.kernel.org/show_bug.cgi?id=16063 there].&lt;br /&gt;
&amp;lt;br&amp;gt;VGA output seems to work without rescan but with kernel 4.5.0, eDP1 becomes noisy. Unplugging VGA fixes the problem immediately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; with kernel 4.6 the device is properly detected dynamically, still having the issue of black output on HDMI/DP1.&lt;br /&gt;
&lt;br /&gt;
==Kernels==&lt;br /&gt;
initramfs complains about lvmetad and I&#039;m not sure it&#039;s that useful on SSD, so just disabling it:&lt;br /&gt;
&amp;lt;br&amp;gt;Edit /etc/lvm/lvm.conf&lt;br /&gt;
 use_lvmetad=0&lt;br /&gt;
Then stop it&lt;br /&gt;
 systemctl stop lvm2-lvmetad&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;, to compile &amp;gt;=4.4, one needs at least initramfs-tools v0.122 to get the nvme.ko properly loaded and therefore the SSD properly seen.&lt;br /&gt;
&lt;br /&gt;
To compile a vanilla kernel, cf http://www.cyberciti.biz/faq/debian-ubuntu-building-installing-a-custom-linux-kernel/&lt;br /&gt;
 sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc&lt;br /&gt;
 sudo apt-get install kernel-package&lt;br /&gt;
 wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz&lt;br /&gt;
 tar xf linux-4.4.tar.xz&lt;br /&gt;
 cd linux-4.4&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make menuconfig&lt;br /&gt;
 make-kpkg clean&lt;br /&gt;
 make-kpkg --rootcmd fakeroot --initrd --append_to_version=9-doegox kernel_image kernel_headers -j 7&lt;br /&gt;
&lt;br /&gt;
===4.4.0===&lt;br /&gt;
Testing linux-image-4.4.0-1-amd64 from Debian Experimental:&lt;br /&gt;
* it just doesn&#039;t boot, stalls immediately after loading initrd&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla:&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.3.0-1-amd64 and general rule to enable as module whatever was new&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make oldconfig&lt;br /&gt;
* Seems better than 4.3, no more issues with i915&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla with config closer to linux-image-4.4.0-1-amd64 (trying to understand why the Debian one doesn&#039;t boot):&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.4.0-1-amd64 and adjusting the minimum because apparently 4.4.0-1-amd64 is a 4.4.2&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- config-4.4.0-1-amd64	2016-02-21 16:36:18.000000000 +0100&lt;br /&gt;
+++ config-4.4.0-9-doegox	2016-02-22 23:07:13.000000000 +0100&lt;br /&gt;
-# Linux/x86 4.4.2 Kernel Configuration&lt;br /&gt;
+# Linux/x86_64 4.4.0-9-doegox Kernel Configuration&lt;br /&gt;
-CONFIG_MEMCG_DISABLED=y&lt;br /&gt;
-CONFIG_X86_X32_DISABLED=y&lt;br /&gt;
+CONFIG_FB_NVIDIA=m&lt;br /&gt;
+CONFIG_FB_NVIDIA_BACKLIGHT=y&lt;br /&gt;
+CONFIG_FB_RIVA=m&lt;br /&gt;
+CONFIG_FB_RIVA_BACKLIGHT=y&lt;br /&gt;
-CONFIG_GRKERNSEC=y&lt;br /&gt;
-CONFIG_GRKERNSEC_PERF_HARDEN=y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
I inspected both initrd and besides rivafb.ko and nvidiafb.ko (which are probably useless) there is no diff.&lt;br /&gt;
&amp;lt;br&amp;gt;Still, this kernel boots, but the same problem as with 4.5.0 appears:&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
See 4.5.0 for the fix.&lt;br /&gt;
===4.5.0===&lt;br /&gt;
Testing linux-image-4.5.0-1-amd64 (4.5.1-1) from Debian Stretch:&lt;br /&gt;
* no more issues with i915, no more black screen when screen awakes :)&lt;br /&gt;
* &#039;&#039;&#039;main screen flickering when an external monitor is attached. Sometimes ends-up in a complete freeze :(&#039;&#039;&#039;&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
** solved:&lt;br /&gt;
&lt;br /&gt;
Touchpad problem:&lt;br /&gt;
&amp;lt;br&amp;gt;This is because touchpad got detected twice, cf /var/log/Xorg.0.log&lt;br /&gt;
 [    13.212] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/event12)&lt;br /&gt;
 [    13.353] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/mouse2)&lt;br /&gt;
 [    13.357] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event1)&lt;br /&gt;
 [    13.445] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)&lt;br /&gt;
See also in dmesg the spurious driver:&lt;br /&gt;
 [    0.341039] pnp 00:05: Plug and Play ACPI device, IDs DLL06e4 PNP0f13 (active)&lt;br /&gt;
 [    8.231092] input: DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 [    8.231227] hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
DLL06E4:01 06CB:7A13 Touchpad must be prevented&lt;br /&gt;
&amp;lt;br&amp;gt;=&amp;gt; Add /etc/modprobe.d/synaptics.conf:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
Blacklisting i2c-hid a explained elsewhere didn&#039;t help me.&lt;br /&gt;
&lt;br /&gt;
If you tried earlier 4.5.0 from Experimental and had issues compiling DKMS modules, be sure to install latest linux-kbuild-4.5&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
Seems the most stable up to now.&lt;br /&gt;
&lt;br /&gt;
* DA200 is now detected once plugged it.&lt;br /&gt;
* still occasional freeze with external screen being attached or mode being changed&lt;br /&gt;
&lt;br /&gt;
==Hardware changes==&lt;br /&gt;
I&#039;ll try a few changes... to be continued&lt;br /&gt;
&lt;br /&gt;
Replacing Broadcom Wi-Fi+BT by an [https://wikidevi.com/wiki/Intel Intel one]:&lt;br /&gt;
* Intel 7265 Dual Band Wireless-AC 7265NGW Card 802.11ac 867Mbps WIFI BT4.0 UK&lt;br /&gt;
** http://www.befr.ebay.be/itm/262049756966?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&lt;br /&gt;
** https://downloadcenter.intel.com/download/17045&lt;br /&gt;
** This requires installing package firmware-iwlwifi&lt;br /&gt;
** Seems to have less Wi-Fi issues, but still the same BT problems pairing the Dell mouse&lt;br /&gt;
&lt;br /&gt;
Alternatives to DA200:&lt;br /&gt;
* HDMI Male To VGA Female Converter&lt;br /&gt;
** http://www.aliexpress.com/item/1pc-HDMI-Male-To-VGA-Female-Converter-Box-Adapter-With-Audio-Cable-For-PC-HDTVHot-New/32448171552.html&lt;br /&gt;
* USB 3.0 10/100/1000Mbps Gigabit Ethernet RJ45&lt;br /&gt;
** http://www.aliexpress.com/item/Hot-selling-New-USB-3-0-10-100-1000Mbps-Gigabit-Ethernet-RJ45-External-Network-Card-LAN/32546613204.html&lt;br /&gt;
* 4-Port Ultra-Slim USB 3.0 Hub&lt;br /&gt;
** https://www.anker.com/products/A7516011&lt;br /&gt;
** http://www.amazon.de/Anker-Datenhub-Ultrabooks-weiteren-kompatiblen/dp/B00Y211AFM/&lt;br /&gt;
&lt;br /&gt;
==Misc hardware==&lt;br /&gt;
Smartcard reader&lt;br /&gt;
* ACS ACR38U PocketMate Smart Card Reader&lt;br /&gt;
** http://www.acs.com.hk/en/products/160/acr38u-pocketmate-smart-card-reader/&lt;br /&gt;
** http://www.befr.ebay.be/itm/EU-SHIPPING-Smart-Card-USB-ACS-ACR38U-National-ID-Tachograph-Reader-Writer-/121899037557&lt;/div&gt;</summary>
		<author><name>Valient</name></author>
	</entry>
	<entry>
		<id>https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10202</id>
		<title>Laptop Dell XPS 15</title>
		<link rel="alternate" type="text/html" href="https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10202"/>
		<updated>2016-10-05T21:47:05Z</updated>

		<summary type="html">&lt;p&gt;Valient: bios: update comment wording.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Notes about installing a Debian Stretch on a Dell XPS 15&lt;br /&gt;
==Hardware==&lt;br /&gt;
Dell XPS 15 model 9550 (variant with touchscreen &amp;amp; PCIe m.2 ssd)&lt;br /&gt;
&lt;br /&gt;
From the [http://www.dell.com/support/home/fr/fr/frdhs1/product-support/servicetag/DHVNH72/configuration configuration] list:&lt;br /&gt;
* 6th Generation Intel(R) Core (TM) i7-6700HQ Quad Core (6M Cache, up to 3.5 GHz)&lt;br /&gt;
* 16Go (2x8Go) DDR4 2133MHz&lt;br /&gt;
* 15.6&amp;quot; 4K Ultra HD (3840 x 2160) InfinityEdge touch, Sliver&lt;br /&gt;
* 1To PCIe Solid State&lt;br /&gt;
* DW1830 3x3 802.11ac 2.4/5GHz + Bluetooth 4.1&lt;br /&gt;
* Dell 84 WHr 6-Cell Lithium-Ion Battery&lt;br /&gt;
* Internal US/International Qwerty Backlit Keyboard&lt;br /&gt;
From the drivers list:&lt;br /&gt;
* Realtek High Definition Audio ALC3266&lt;br /&gt;
* Realtek RTS5242 PCIe Gen2 CardReader&lt;br /&gt;
* Realtek USB GBE Ethernet Controller&lt;br /&gt;
* ST Microlectronics LNG3DMTR Motion Sensor&lt;br /&gt;
* Intel HD Graphics 530/P530&lt;br /&gt;
* nVIDIA Geforce GTX 960M Graphics&lt;br /&gt;
From dmesg (incomplete):&lt;br /&gt;
* BCM20703A1 Bluetooth 4.1 (firmware brcm/BCM-0a5c-6410.hcd)&lt;br /&gt;
From lspci -nn:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)&lt;br /&gt;
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)&lt;br /&gt;
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)&lt;br /&gt;
00:04.0 Signal processing controller [1180]: Intel Corporation Device [8086:1903] (rev 07)&lt;br /&gt;
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)&lt;br /&gt;
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)&lt;br /&gt;
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 [8086:a160] (rev 31)&lt;br /&gt;
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 [8086:a161] (rev 31)&lt;br /&gt;
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)&lt;br /&gt;
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)&lt;br /&gt;
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)&lt;br /&gt;
00:1c.1 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #2 [8086:a111] (rev f1)&lt;br /&gt;
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)&lt;br /&gt;
00:1d.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #13 [8086:a11c] (rev f1)&lt;br /&gt;
00:1d.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #15 [8086:a11e] (rev f1)&lt;br /&gt;
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)&lt;br /&gt;
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)&lt;br /&gt;
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)&lt;br /&gt;
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)&lt;br /&gt;
01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 960M] [10de:139b] (rev ff)&lt;br /&gt;
02:00.0 Network controller [0280]: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01)&lt;br /&gt;
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device [10ec:525a] (rev 01)&lt;br /&gt;
04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a802] (rev 01)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
From lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 001 Device 003: ID 04f3:21d5 Elan Microelectronics Corp.            &amp;lt;= touchscreen&lt;br /&gt;
Bus 001 Device 002: ID 0a5c:6410 Broadcom Corp.                         &amp;lt;= bluetooth&lt;br /&gt;
Bus 001 Device 004: ID 0c45:6713 Microdia                               &amp;lt;= webcam&lt;br /&gt;
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From lscpu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Architecture:          x86_64&lt;br /&gt;
CPU op-mode(s):        32-bit, 64-bit&lt;br /&gt;
Byte Order:            Little Endian&lt;br /&gt;
CPU(s):                8&lt;br /&gt;
On-line CPU(s) list:   0-7&lt;br /&gt;
Thread(s) per core:    2&lt;br /&gt;
Core(s) per socket:    4&lt;br /&gt;
Socket(s):             1&lt;br /&gt;
NUMA node(s):          1&lt;br /&gt;
Vendor ID:             GenuineIntel&lt;br /&gt;
CPU family:            6&lt;br /&gt;
Model:                 94&lt;br /&gt;
Model name:            Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz&lt;br /&gt;
Stepping:              3&lt;br /&gt;
CPU MHz:               2847.812&lt;br /&gt;
CPU max MHz:           3500.0000&lt;br /&gt;
CPU min MHz:           800.0000&lt;br /&gt;
BogoMIPS:              5183.88&lt;br /&gt;
Virtualization:        VT-x&lt;br /&gt;
L1d cache:             32K&lt;br /&gt;
L1i cache:             32K&lt;br /&gt;
L2 cache:              256K&lt;br /&gt;
L3 cache:              6144K&lt;br /&gt;
NUMA node0 CPU(s):     0-7&lt;br /&gt;
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush &lt;br /&gt;
dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts &lt;br /&gt;
rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 &lt;br /&gt;
ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx &lt;br /&gt;
f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm hwp hwp_notify hwp_act_window hwp_epp &lt;br /&gt;
intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid &lt;br /&gt;
rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dell Wireless 1830 = BCM43602 + BCM20703A1 (DW1830 Bluetooth 4.1 LE)&lt;br /&gt;
&lt;br /&gt;
BCM43602	PCI ID: 14e4:43ba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# smartctl -d scsi -i /dev/nvme0n1&lt;br /&gt;
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.3.0-1-amd64] (local build)&lt;br /&gt;
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org&lt;br /&gt;
&lt;br /&gt;
=== START OF INFORMATION SECTION ===&lt;br /&gt;
Vendor:               NVMe&lt;br /&gt;
Product:              PM951 NVMe SAMSU&lt;br /&gt;
Revision:             7D0Q&lt;br /&gt;
Compliance:           SPC-4&lt;br /&gt;
User Capacity:        1,024,209,543,168 bytes [1.02 TB]&lt;br /&gt;
Logical block size:   512 bytes&lt;br /&gt;
Rotation Rate:        Solid State Device&lt;br /&gt;
Logical Unit id:      0x0025384cf1b0fd29&lt;br /&gt;
Serial number:        S2FZNXAGC03824&lt;br /&gt;
Device type:          disk&lt;br /&gt;
Local Time is:        Sun Feb 14 22:02:03 2016 CET&lt;br /&gt;
SMART support is:     Unavailable - device lacks SMART capability.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* http://topics-cdn.dell.com/pdf/xps-15-9550-laptop_Service%20Manual_en-us.pdf&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Dell_XPS_15&lt;br /&gt;
* https://bbs.archlinux.org/viewtopic.php?id=204739&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=2301071&lt;br /&gt;
* http://forthescience.org/blog/2015/03/20/installing_ubuntu_14_04_on_the_new_dell_xps_13/&lt;br /&gt;
* https://wiki.debian.org/InstallingDebianOn/Dell/Dell%20XPS%2013&lt;br /&gt;
* http://bartongeorge.net/2015/02/23/update-2-dell-xps-13-laptop-developer-edition-sputnik-gen-4/&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
I first tried to keep a dual-boot just in case, but once we disable Raid and put SATA in AHCI mode, Windows can&#039;t boot anymore. (later I read it could be possible to fix it by rebooting several times Windows till safe mode is kicked in, but it was too late for me.)&lt;br /&gt;
&lt;br /&gt;
Just in case again, one can boot Windows and create a USB recovery.&lt;br /&gt;
==Bios==&lt;br /&gt;
* Secure Boot: disable&lt;br /&gt;
* SATA: switch from Raid to AHCI&lt;br /&gt;
* Boot: not sure it&#039;s needed but I disabled Windows boot manager entry and kept the hdd UEFI entry: UEFI: PM951 NVMe SAMSUNG 1024GB, Partition 1&lt;br /&gt;
* POST/Fastboot/Thorough&lt;br /&gt;
* auto os recovery threshold off&lt;br /&gt;
&lt;br /&gt;
To update the BIOS:&lt;br /&gt;
* put it on a USB stick&lt;br /&gt;
* reboot&lt;br /&gt;
* select BIOS flash update on the boot screen (F12).&lt;br /&gt;
No need to put it on a bootable DOS, just give the exe to the BIOS update built-in util.&lt;br /&gt;
&amp;lt;br&amp;gt;Apparently you can even drop the update on /boot/efi as it&#039;s also a FAT partition.&lt;br /&gt;
&lt;br /&gt;
Versions:&lt;br /&gt;
* A6 [http://downloads.dell.com/FOLDER03659467M/1/XPS_9550_1.2.0.exe XPS_9550_1.2.0.exe]&lt;br /&gt;
* A10 [http://downloads.dell.com/FOLDER03800340M/1/XPS_9550_1.2.10.exe XPS_9550_1.2.10.exe]&lt;br /&gt;
* A13 [http://downloads.dell.com/FOLDER03906323M/1/XPS_9550_1.2.14.exe XPS_9550_1.2.14.exe]&lt;br /&gt;
&lt;br /&gt;
Attention: with versions A10 and A13, there is a serious bug that let the screen black after suspend/wake up. The workaround is to set the lightness to the maximum but it breaks further lightness tuning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Although Linux works best with A6 BIOS (1.2.0), there is a workaround that allows it to work with later versions.  This workaround uses the intel_reg utility to reset the &amp;quot;pwm_granuality&amp;quot; setting of the onboard graphics.  Solution discussed here: [http://en.community.dell.com/techcenter/os-applications/f/4613/t/19985320].  As of Linux 4.8, this issue still exists, but a fix may appear in later releases [https://patchwork.freedesktop.org/patch/109407/].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Note that the graphics workaround isn&#039;t perfect, and a downgrade to A6 may still be preferable.&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
I kept UEFI so we need a Debian netinstall because liveCD doesn&#039;t have UEFI support yet.&lt;br /&gt;
&amp;lt;br&amp;gt;But Wi-Fi requires a proprietary firmware:&lt;br /&gt;
 https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfmac43602-pcie.bin&lt;br /&gt;
so the easiest is to take a Debian netinstall with proprietary firmwares included.&lt;br /&gt;
&amp;lt;br&amp;gt;At time of writing Stretch is testing and last release is alpha5:&lt;br /&gt;
 http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/stretch_di_alpha5/amd64/iso-cd/&lt;br /&gt;
dd the image on a USB stick and boot it.&lt;br /&gt;
&amp;lt;br&amp;gt;It will also complain for a missing brcmfmac43602-pcie.txt but we can safely ignore it. (well I think so, but Wi-Fi has troubles now and then under heavy load, see below)&lt;br /&gt;
&amp;lt;!-- sysml eml ems --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I chose a guided partitionning of the entire disk, with encrypted LVM containing /, /home and swap. But proposed / was a bit too small IMHO (10G) so I deleted and recreated / (50G) and /home.&lt;br /&gt;
&amp;lt;br&amp;gt;Initially I tried to add the &amp;quot;discard&amp;quot; option for the partitions which should help on SSD but the kernel reported that &amp;quot;discard&amp;quot; wasn&#039;t supported by the disk.&lt;br /&gt;
&lt;br /&gt;
If you want to backup partition table and partitions before destroying everything, it&#039;s the right time!&lt;br /&gt;
 parted /dev/nvme0n1&lt;br /&gt;
 print&lt;br /&gt;
 sgdisk --backup=/some/safe/location/nvme0n1.gpt /dev/nvme0n1&lt;br /&gt;
I installed Cinnamon. I don&#039;t know for the others but Cinnamon has a nice auto setting to double features on HiDPI screens.&lt;br /&gt;
==First boot==&lt;br /&gt;
Once installed, the Debian didn&#039;t boot up.&lt;br /&gt;
&amp;lt;br&amp;gt;I tried many things but at the end the only thing that worked was to copy Debian EFI to the default one:&lt;br /&gt;
&lt;br /&gt;
Starting the netinstall again, in rescue mode, get a chroot shell, then&lt;br /&gt;
 mount /dev/nvme0n1p1 /boot/efi&lt;br /&gt;
 cd /boot/efi/EFI&lt;br /&gt;
 mkdir boot&lt;br /&gt;
 cp debian/grubx64.efi boot/bootx64.efi&lt;br /&gt;
I also deleted the Windows files in EFI.&lt;br /&gt;
&lt;br /&gt;
Resource:&lt;br /&gt;
* https://wiki.debian.org/GrubEFIReinstall&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GRUB#Create_an_ESP&lt;br /&gt;
* https://help.ubuntu.com/community/UEFI&lt;br /&gt;
* https://wiki.debian.org/UEFI&lt;br /&gt;
* https://isalo.org/wiki.debian-fr/Debian_%26_UEFI    &lt;br /&gt;
&lt;br /&gt;
FTR things that failed included:&lt;br /&gt;
* [http://www.rodsbooks.com/refind/getting.html Refind] couldn&#039;t boot at all. Strange as the netinstall could boot...&lt;br /&gt;
* tweaks with efibootmgr, update-grub etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039;: It might be possible to fix the issue from the BIOS itself, see http://www.dell.com/support/article/us/en/04/SLN297060/en&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
===Working===&lt;br /&gt;
* Screen&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Touchpad&lt;br /&gt;
* Keyboard backlight and media buttons (volume, luminosity, backlight)&lt;br /&gt;
* Wi-Fi (with the proprietary driver, cf installation above)&lt;br /&gt;
* HDMI&lt;br /&gt;
* SD-Card reader&lt;br /&gt;
* Speakers, mic&lt;br /&gt;
* Webcam&lt;br /&gt;
&lt;br /&gt;
===Working after manual steps===&lt;br /&gt;
====i915====&lt;br /&gt;
Screen was working but dmesg was complaining:&lt;br /&gt;
 i915 0000:00:02.0: firmware: failed to load i915/skl_dmc_ver1.bin&lt;br /&gt;
So I installed that firmware, not sure what it&#039;s changed&lt;br /&gt;
 sudo apt-get install firmware-misc-nonfree&lt;br /&gt;
====Optimus====&lt;br /&gt;
Resources:&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Optimus&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Bumblebee&lt;br /&gt;
 apt-get install bumblebee-nvidia&lt;br /&gt;
 reboot&lt;br /&gt;
Example:&lt;br /&gt;
 apt-get install nvidia-settings&lt;br /&gt;
 optirun -b none nvidia-settings -c :8&lt;br /&gt;
This also works for CUDA:&lt;br /&gt;
 optirun -b none ./cudaHashcat64.bin -m 500 example500.hash example.dict&lt;br /&gt;
====Touchpad====&lt;br /&gt;
Nothing wrong with the touchpad but its default config is a bit painful especially because it&#039;s large and my right palm touches it often, even with the option to diable it when typing and because it&#039;s &amp;quot;soft&amp;quot; buttons.&lt;br /&gt;
&amp;lt;br&amp;gt;I disabled the button area to limit somehow the problem but still you&#039;ve to get used to first touch and hold before pressing a button to do a drag and drop and not the opposite.&lt;br /&gt;
 synclient AreaBottomEdge=4026&lt;br /&gt;
To add a middle button:&lt;br /&gt;
 synclient RightButtonAreaLeft=3914&lt;br /&gt;
 synclient RightButtonAreaRight=0&lt;br /&gt;
 synclient RightButtonAreaTop=4026&lt;br /&gt;
 synclient RightButtonAreaBottom=0&lt;br /&gt;
 synclient MiddleButtonAreaLeft=3100&lt;br /&gt;
 synclient MiddleButtonAreaRight=3873&lt;br /&gt;
 synclient MiddleButtonAreaTop=4026&lt;br /&gt;
 synclient MiddleButtonAreaBottom=0&lt;br /&gt;
And because I love it:&lt;br /&gt;
 synclient CircularScrolling=1&lt;br /&gt;
Some doc [https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Buttonless_touchpads_.28aka_ClickPads.29 here] and the official one [http://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html here]&lt;br /&gt;
&lt;br /&gt;
If with some kernels you get troubles using Synaptics options, check dmesg, maybe Touchpad is detected by another driver too:&lt;br /&gt;
 DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
If this is so, add /etc/modprobe.d/synaptics.conf with this line, cf Kernel section below:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
&lt;br /&gt;
====Touchscreen====&lt;br /&gt;
Touchscreen works well but when an external screen is connected, it spans over both screens so e.g. touching the middle of the laptop screen moves the mouse to some middle point of the virtual screen combining both screens.&lt;br /&gt;
&amp;lt;br&amp;gt;To fix it, see https://wiki.archlinux.org/index.php/Calibrating_Touchscreen&lt;br /&gt;
&amp;lt;br&amp;gt;This example is for an external screen mapped to the right of the laptop screen:&lt;br /&gt;
 # c0 = width of laptop screen / total width&lt;br /&gt;
 c0=$(bc -l &amp;lt;&amp;lt;&amp;lt; &amp;quot;scale=2; $(xrandr|grep -A1 eDP1|sed &#039;1d;s/x.*//&#039;)/$(xrandr|grep &#039;^Screen 0&#039;|sed &#039;s/.*current //;s/ x.*//&#039;)&amp;quot;)&lt;br /&gt;
 xinput set-prop &amp;quot;ELAN Touchscreen&amp;quot; --type=float &amp;quot;Coordinate Transformation Matrix&amp;quot; \&lt;br /&gt;
    c0 0  0 \&lt;br /&gt;
    0  1  0 \&lt;br /&gt;
    0  0  1&lt;br /&gt;
&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
Kernel complains about a missing file.&lt;br /&gt;
&amp;lt;br&amp;gt;Apparently we can get it from Windows drivers but I don&#039;t know where to find them, so I took [https://www.dropbox.com/s/8goc4omhnzxij93/BCM-0a5c-6410.hcd?dl=0 this one] and copied it into /lib/firmware/brcm&lt;br /&gt;
&lt;br /&gt;
Then Bluetooth was recognized but I couldn&#039;t pair my WM615 mouse.&lt;br /&gt;
&amp;lt;br&amp;gt;After restarting the Bt adaptor, I could finally pair:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
  power off&lt;br /&gt;
  power on&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* https://wiki.debian.org/BluetoothUser&lt;br /&gt;
* https://wiki.archlinux.org/index.php/bluetooth&lt;br /&gt;
There is also a possibility to pair directly from bluetoothctl, see https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl&lt;br /&gt;
====HiDPI====&lt;br /&gt;
Cinnamon handles it nicely but some applications don&#039;t such as Gimp and you end up with a microscopic tools ribbon.&lt;br /&gt;
&amp;lt;br&amp;gt;See https://wiki.archlinux.org/index.php/HiDPI for some useful tips&lt;br /&gt;
&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (1016x572 millimeters)&lt;br /&gt;
   resolution:    96x96 dots per inch&lt;br /&gt;
I&#039;ve no ruler at hand but if it&#039;s 15.6&#039;&#039; in diagonal and pixels are square, this gives 293.4 dpi for screen dimensions of 332x187mm.&lt;br /&gt;
&amp;lt;br&amp;gt;So closest hit with common DPI is 96*3=288dpi&lt;br /&gt;
 xrandr --dpi 288&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (338x190 millimeters)&lt;br /&gt;
   resolution:    289x289 dots per inch&lt;br /&gt;
Let&#039;s document those fictive dimensions for next boots by creating /etc/X11/xorg.conf.d/90-monitor.conf with&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
     Identifier             &amp;quot;&amp;lt;default monitor&amp;gt;&amp;quot;&lt;br /&gt;
     DisplaySize            338 190    # In millimeters&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT5 and GTK+ 3&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;To enable better scaling of QT5 and GTK+ 3, add to .bashrc (not to .xsessionrc otherwise Cinnamon taskbar is messed up!):&lt;br /&gt;
 QT_DEVICE_PIXEL_RATIO=3&lt;br /&gt;
 GDK_SCALE=3&lt;br /&gt;
 GDK_DPI_SCALE=0.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT4&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. Skype&lt;br /&gt;
 sudo apt-get install qt4-qtconfig&lt;br /&gt;
 qtconfig-qt4&lt;br /&gt;
=&amp;gt; one can change font size&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gimp 2.8&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. copy /usr/share/gimp/2.0/themes/Default as ~/.gimp-2.8/themes/HiDPI and change a few options:&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- gtkrc&lt;br /&gt;
+++ gtkrc&lt;br /&gt;
-  GimpToolPalette::tool-icon-size   = button&lt;br /&gt;
+  GimpToolPalette::tool-icon-size   = dialog&lt;br /&gt;
-  GimpEditor::button-icon-size      = menu&lt;br /&gt;
+  GimpEditor::button-icon-size      = button&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wine&#039;&#039;&#039;&lt;br /&gt;
 winecfg&lt;br /&gt;
Change &amp;quot;dpi&amp;quot; in &amp;quot;Graphics&amp;quot; tab&lt;br /&gt;
&#039;&#039;&#039;Virtualbox&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;View/Scale Factor is helpful...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Small console font&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;I don&#039;t care but if that&#039;s an issue for you, from [https://github.com/mpalourdio/xps13/blob/master/HiDPI/tty.md here]:&lt;br /&gt;
 sudo dpkg-reconfigure console-setup&lt;br /&gt;
* Choose UTF-8&lt;br /&gt;
* Choose the default Combined - Latin, ... option (&amp;quot;Latin&amp;quot; includes the English alphabet)&lt;br /&gt;
* Select the terminus font&lt;br /&gt;
* Select 16x32&lt;br /&gt;
* OK&lt;br /&gt;
To apply immediately, open a TTY and run setupcon, else just reboot&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multiple displays&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;Combining HiDPI screen with external non-HiDPI? See https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays&lt;br /&gt;
&lt;br /&gt;
====Sensors====&lt;br /&gt;
 apt-get install lm-sensors&lt;br /&gt;
 sensors-detect&lt;br /&gt;
Sensors-detect found coretemp which is now loaded via /etc/modules:&lt;br /&gt;
 coretemp&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
====i915 and blank screen====&lt;br /&gt;
At some points, repetitive failures spamming syslog:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----------[ cut here ]------------&lt;br /&gt;
WARNING: CPU: 1 PID: 1349 at /build/linux-wxhyRy/linux-4.3.3/drivers/gpu/drm/i915/intel_pm.c:3668 skl_update_other_pipe_wm+0x1b5/0x1c0 [i915]()&lt;br /&gt;
WARN_ON(!wm_changed)&lt;br /&gt;
Modules linked in: sd_mod sg uas usb_storage arc4 ecb md4 cifs cmac algif_hash rpcsec_gss_krb5 auth_rpcgss oid_registry nfsv4 dns_resolver nfs lockd grace sunrpc fs&lt;br /&gt;
CPU: 1 PID: 1349 Comm: Xorg Tainted: G        W  O    4.3.0-1-amd64 #1 Debian 4.3.3-7&lt;br /&gt;
Hardware name: Dell Inc. XPS 15 9550/0N7TVV, BIOS 01.01.15 12/18/2015&lt;br /&gt;
00000000000000000 0000000074139692 ffffffff812ddcf9 ffff8804ab5276b8&lt;br /&gt;
fffffffff81072b1d ffff8804ab5277f4 ffff8804ab527710 ffff8804aba00000&lt;br /&gt;
00000000000000000 ffff8800369a4b80 ffffffff81072bac ffffffffa08b31fc&lt;br /&gt;
Call Trace:&lt;br /&gt;
   etc.&lt;br /&gt;
---[ end trace d9370809ce0073c9 ]---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
See https://bugs.freedesktop.org/attachment.cgi?id=121569&lt;br /&gt;
&lt;br /&gt;
When waking from screen off, the screen very often turns on but is entirely black.&lt;br /&gt;
&amp;lt;br&amp;gt;And dmesg reports sth like this:&lt;br /&gt;
 [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training&lt;br /&gt;
 [drm:intel_dp_complete_link_train [i915]] *ERROR* failed to start channel equalization&lt;br /&gt;
See issue [http://en.community.dell.com/techcenter/os-applications/f/4613/t/19640927 here]&lt;br /&gt;
&lt;br /&gt;
Workaround1:&lt;br /&gt;
* if there is a remote connection possible, this solves the issue:&lt;br /&gt;
 DISPLAY=:0.0 xset dpms force off&lt;br /&gt;
 sleep 1&lt;br /&gt;
 DISPLAY=:0.0 xset dpms force on&lt;br /&gt;
or &lt;br /&gt;
 DISPLAY=:0.0 xrandr --output eDP1 --off&lt;br /&gt;
 sleep 1&lt;br /&gt;
 DISPLAY=:0.0 xrandr --output eDP1 --auto&lt;br /&gt;
Some associated those commands to a shortcut, but this still requires to login properly with a blank screen...&lt;br /&gt;
&amp;lt;br&amp;gt;When an external screen is attached, the external screen is not affected.&lt;br /&gt;
&lt;br /&gt;
Workaround2:&lt;br /&gt;
* Close LID (and the machine goes to sleep) and open it again&lt;br /&gt;
&lt;br /&gt;
Mitigation:&lt;br /&gt;
* Prefs / Power management / Turn off the screen + on A/C: never&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039;: No more issues with kernel &amp;gt;=4.4, see Kernel section below.&lt;br /&gt;
&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
WM615 mouse is now paired but is not smooth, the cursor stops now and then.&lt;br /&gt;
&amp;lt;br&amp;gt;I paired it with an Android phone and there it runs very smoothly so the issue is somewhere on the Dell...&lt;br /&gt;
====Wi-Fi====&lt;br /&gt;
Wi-Fi tends to disassociate under heavy load, switching to other SSIDs or frequencies (5Ghz&amp;lt;&amp;gt;2.4GHz) and coming back seems to help.&lt;br /&gt;
&amp;lt;br&amp;gt;Maybe a proper firmware settings .txt would help?&lt;br /&gt;
&lt;br /&gt;
Examples flooding syslog:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 835 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 639 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 775 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 0 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 210 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 251 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 318 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 790 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 509 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 869 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 711 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 282 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 247 (not in use)&lt;br /&gt;
&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
net_ratelimit: 1292 callbacks suppressed&lt;br /&gt;
&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last one forced me to reboot...&lt;br /&gt;
&lt;br /&gt;
Current firmware available in [http://linuxwireless.org/en/users/Drivers/brcm80211/ kernel repo], [https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 wiki] and in [https://packages.debian.org/firmware-brcm80211 Debian repo] is:&lt;br /&gt;
 strings /lib/firmware/brcm/brcmfmac43602-pcie.bin |tail -n1&lt;br /&gt;
 43602a1-roml/pcie-ag-pktctx-splitrx-amsdutx-txbf-p2p-mchan-idauth-idsup-tdls-mfp-sr-proptxstatus-pktfilter-wowlpf-ampduhostreorder-keepalive-srom12-chkd2hdma &lt;br /&gt;
 Version: 7.35.177.61 CRC: 55b10cfe Date: Tue 2015-11-10 06:39:55 PST Ucode Ver: 986.122 FWID: 01-ea662a8c&lt;br /&gt;
There is a newer version in Dell drivers: &lt;br /&gt;
 strings Communications_Driver_6XDK6_WN32_1.555.0.0_A03/Drivers/WinThresh/WL/x64/43602a1rtecdc.bin|tail -n 1&lt;br /&gt;
 43602a1-roml/pcie-ag-msgbuf-chkd2hdma-ndis-vista-dhdoid-ap-p2p-txbf-pktctx-amsdutx-pktfilter-pno-aoe-ndoe-gtkoe-mfp-proptxstatus-keepalive-sr-ampduretry-d0c-srom12-fbt-assocmgr &lt;br /&gt;
 Version: 7.35.240.51 CRC: ee76d57b Date: Thu 2015-11-26 02:39:07 PST Ucode Ver: 986.120 FWID: 01-ed0fd8f3&lt;br /&gt;
but with that one it fails to associate to access-points...&lt;br /&gt;
&lt;br /&gt;
====rfkill button====&lt;br /&gt;
Rfkill button of the keyboard (Fn+PrtScr) doesn&#039;t seem to work, no big deal.&lt;br /&gt;
&lt;br /&gt;
====DA200====&lt;br /&gt;
[http://accessories.euro.dell.com/sna/products/Station_daccueil/productdetail.aspx?c=fr&amp;amp;l=fr&amp;amp;s=dhs&amp;amp;cs=frdhs1&amp;amp;sku=470-ABRY DA200] is recognized only if it was plugged at boot.&lt;br /&gt;
&amp;lt;br&amp;gt;The adapter is actually using DisplayPort. &lt;br /&gt;
&amp;lt;br&amp;gt;HDMI output doesn&#039;t work, it&#039;s recognized by xrandr as &#039;DP1&#039; as for the VGA.&lt;br /&gt;
&amp;lt;br&amp;gt;VGA output works.&lt;br /&gt;
&lt;br /&gt;
When plugged the following hardware gets detected:&lt;br /&gt;
&lt;br /&gt;
lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp..     &amp;lt;= Ethernet&lt;br /&gt;
Bus 004 Device 002: ID 05e3:0617 Genesys Logic, Inc..&lt;br /&gt;
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 003 Device 003: ID 0835:2a01 Action Star Enterprise Co., Ltd. &amp;lt;= Billboard&lt;br /&gt;
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub&lt;br /&gt;
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;The USB Billboard Device Class definition describes the methods used to communicate the Alternate Modes supported by a device container to a host system. More details on Billboard Devices are available in the USB Billboard Device Class specification at the following link: http://www.usb.org/developers/docs/devclass_docs/.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lspci:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
06:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:01.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:02.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
0a:00.0 USB controller: Intel Corporation Device 15b5 (prog-if 30 [XHCI])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lsmod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
r8152                  49152  0&lt;br /&gt;
cdc_ether              16384  0&lt;br /&gt;
usbnet                 40960  1 cdc_ether&lt;br /&gt;
mii                    16384  2 r8152,usbnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One can somehow force detection if plugged after boot:&lt;br /&gt;
 # echo 1 &amp;gt; /sys/bus/pci/rescan&lt;br /&gt;
But for me it works only once then if removed, rescan doesn&#039;t remove things and re-plugging doesn&#039;t work.&lt;br /&gt;
&amp;lt;br&amp;gt;Moreover with kernel 4.3 I hit the bug related to i915 mentioned [https://lkml.org/lkml/2015/4/21/818 here] and [https://bugzilla.kernel.org/show_bug.cgi?id=16063 there].&lt;br /&gt;
&amp;lt;br&amp;gt;VGA output seems to work without rescan but with kernel 4.5.0, eDP1 becomes noisy. Unplugging VGA fixes the problem immediately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; with kernel 4.6 the device is properly detected dynamically, still having the issue of black output on HDMI/DP1.&lt;br /&gt;
&lt;br /&gt;
==Kernels==&lt;br /&gt;
initramfs complains about lvmetad and I&#039;m not sure it&#039;s that useful on SSD, so just disabling it:&lt;br /&gt;
&amp;lt;br&amp;gt;Edit /etc/lvm/lvm.conf&lt;br /&gt;
 use_lvmetad=0&lt;br /&gt;
Then stop it&lt;br /&gt;
 systemctl stop lvm2-lvmetad&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;, to compile &amp;gt;=4.4, one needs at least initramfs-tools v0.122 to get the nvme.ko properly loaded and therefore the SSD properly seen.&lt;br /&gt;
&lt;br /&gt;
To compile a vanilla kernel, cf http://www.cyberciti.biz/faq/debian-ubuntu-building-installing-a-custom-linux-kernel/&lt;br /&gt;
 sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc&lt;br /&gt;
 sudo apt-get install kernel-package&lt;br /&gt;
 wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz&lt;br /&gt;
 tar xf linux-4.4.tar.xz&lt;br /&gt;
 cd linux-4.4&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make menuconfig&lt;br /&gt;
 make-kpkg clean&lt;br /&gt;
 make-kpkg --rootcmd fakeroot --initrd --append_to_version=9-doegox kernel_image kernel_headers -j 7&lt;br /&gt;
&lt;br /&gt;
===4.4.0===&lt;br /&gt;
Testing linux-image-4.4.0-1-amd64 from Debian Experimental:&lt;br /&gt;
* it just doesn&#039;t boot, stalls immediately after loading initrd&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla:&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.3.0-1-amd64 and general rule to enable as module whatever was new&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make oldconfig&lt;br /&gt;
* Seems better than 4.3, no more issues with i915&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla with config closer to linux-image-4.4.0-1-amd64 (trying to understand why the Debian one doesn&#039;t boot):&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.4.0-1-amd64 and adjusting the minimum because apparently 4.4.0-1-amd64 is a 4.4.2&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- config-4.4.0-1-amd64	2016-02-21 16:36:18.000000000 +0100&lt;br /&gt;
+++ config-4.4.0-9-doegox	2016-02-22 23:07:13.000000000 +0100&lt;br /&gt;
-# Linux/x86 4.4.2 Kernel Configuration&lt;br /&gt;
+# Linux/x86_64 4.4.0-9-doegox Kernel Configuration&lt;br /&gt;
-CONFIG_MEMCG_DISABLED=y&lt;br /&gt;
-CONFIG_X86_X32_DISABLED=y&lt;br /&gt;
+CONFIG_FB_NVIDIA=m&lt;br /&gt;
+CONFIG_FB_NVIDIA_BACKLIGHT=y&lt;br /&gt;
+CONFIG_FB_RIVA=m&lt;br /&gt;
+CONFIG_FB_RIVA_BACKLIGHT=y&lt;br /&gt;
-CONFIG_GRKERNSEC=y&lt;br /&gt;
-CONFIG_GRKERNSEC_PERF_HARDEN=y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
I inspected both initrd and besides rivafb.ko and nvidiafb.ko (which are probably useless) there is no diff.&lt;br /&gt;
&amp;lt;br&amp;gt;Still, this kernel boots, but the same problem as with 4.5.0 appears:&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
See 4.5.0 for the fix.&lt;br /&gt;
===4.5.0===&lt;br /&gt;
Testing linux-image-4.5.0-1-amd64 (4.5.1-1) from Debian Stretch:&lt;br /&gt;
* no more issues with i915, no more black screen when screen awakes :)&lt;br /&gt;
* &#039;&#039;&#039;main screen flickering when an external monitor is attached. Sometimes ends-up in a complete freeze :(&#039;&#039;&#039;&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
** solved:&lt;br /&gt;
&lt;br /&gt;
Touchpad problem:&lt;br /&gt;
&amp;lt;br&amp;gt;This is because touchpad got detected twice, cf /var/log/Xorg.0.log&lt;br /&gt;
 [    13.212] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/event12)&lt;br /&gt;
 [    13.353] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/mouse2)&lt;br /&gt;
 [    13.357] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event1)&lt;br /&gt;
 [    13.445] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)&lt;br /&gt;
See also in dmesg the spurious driver:&lt;br /&gt;
 [    0.341039] pnp 00:05: Plug and Play ACPI device, IDs DLL06e4 PNP0f13 (active)&lt;br /&gt;
 [    8.231092] input: DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 [    8.231227] hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
DLL06E4:01 06CB:7A13 Touchpad must be prevented&lt;br /&gt;
&amp;lt;br&amp;gt;=&amp;gt; Add /etc/modprobe.d/synaptics.conf:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
Blacklisting i2c-hid a explained elsewhere didn&#039;t help me.&lt;br /&gt;
&lt;br /&gt;
If you tried earlier 4.5.0 from Experimental and had issues compiling DKMS modules, be sure to install latest linux-kbuild-4.5&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
Seems the most stable up to now.&lt;br /&gt;
&lt;br /&gt;
* DA200 is now detected once plugged it.&lt;br /&gt;
* still occasional freeze with external screen being attached or mode being changed&lt;br /&gt;
&lt;br /&gt;
==Hardware changes==&lt;br /&gt;
I&#039;ll try a few changes... to be continued&lt;br /&gt;
&lt;br /&gt;
Replacing Broadcom Wi-Fi+BT by an [https://wikidevi.com/wiki/Intel Intel one]:&lt;br /&gt;
* Intel 7265 Dual Band Wireless-AC 7265NGW Card 802.11ac 867Mbps WIFI BT4.0 UK&lt;br /&gt;
** http://www.befr.ebay.be/itm/262049756966?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&lt;br /&gt;
** https://downloadcenter.intel.com/download/17045&lt;br /&gt;
** This requires installing package firmware-iwlwifi&lt;br /&gt;
** Seems to have less Wi-Fi issues, but still the same BT problems pairing the Dell mouse&lt;br /&gt;
&lt;br /&gt;
Alternatives to DA200:&lt;br /&gt;
* HDMI Male To VGA Female Converter&lt;br /&gt;
** http://www.aliexpress.com/item/1pc-HDMI-Male-To-VGA-Female-Converter-Box-Adapter-With-Audio-Cable-For-PC-HDTVHot-New/32448171552.html&lt;br /&gt;
* USB 3.0 10/100/1000Mbps Gigabit Ethernet RJ45&lt;br /&gt;
** http://www.aliexpress.com/item/Hot-selling-New-USB-3-0-10-100-1000Mbps-Gigabit-Ethernet-RJ45-External-Network-Card-LAN/32546613204.html&lt;br /&gt;
* 4-Port Ultra-Slim USB 3.0 Hub&lt;br /&gt;
** https://www.anker.com/products/A7516011&lt;br /&gt;
** http://www.amazon.de/Anker-Datenhub-Ultrabooks-weiteren-kompatiblen/dp/B00Y211AFM/&lt;br /&gt;
&lt;br /&gt;
==Misc hardware==&lt;br /&gt;
Smartcard reader&lt;br /&gt;
* ACS ACR38U PocketMate Smart Card Reader&lt;br /&gt;
** http://www.acs.com.hk/en/products/160/acr38u-pocketmate-smart-card-reader/&lt;br /&gt;
** http://www.befr.ebay.be/itm/EU-SHIPPING-Smart-Card-USB-ACS-ACR38U-National-ID-Tachograph-Reader-Writer-/121899037557&lt;/div&gt;</summary>
		<author><name>Valient</name></author>
	</entry>
	<entry>
		<id>https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10201</id>
		<title>Laptop Dell XPS 15</title>
		<link rel="alternate" type="text/html" href="https://wiki.yobi.be/index.php?title=Laptop_Dell_XPS_15&amp;diff=10201"/>
		<updated>2016-10-05T21:45:40Z</updated>

		<summary type="html">&lt;p&gt;Valient: Bios: add pwm_granuality notes and links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Notes about installing a Debian Stretch on a Dell XPS 15&lt;br /&gt;
==Hardware==&lt;br /&gt;
Dell XPS 15 model 9550 (variant with touchscreen &amp;amp; PCIe m.2 ssd)&lt;br /&gt;
&lt;br /&gt;
From the [http://www.dell.com/support/home/fr/fr/frdhs1/product-support/servicetag/DHVNH72/configuration configuration] list:&lt;br /&gt;
* 6th Generation Intel(R) Core (TM) i7-6700HQ Quad Core (6M Cache, up to 3.5 GHz)&lt;br /&gt;
* 16Go (2x8Go) DDR4 2133MHz&lt;br /&gt;
* 15.6&amp;quot; 4K Ultra HD (3840 x 2160) InfinityEdge touch, Sliver&lt;br /&gt;
* 1To PCIe Solid State&lt;br /&gt;
* DW1830 3x3 802.11ac 2.4/5GHz + Bluetooth 4.1&lt;br /&gt;
* Dell 84 WHr 6-Cell Lithium-Ion Battery&lt;br /&gt;
* Internal US/International Qwerty Backlit Keyboard&lt;br /&gt;
From the drivers list:&lt;br /&gt;
* Realtek High Definition Audio ALC3266&lt;br /&gt;
* Realtek RTS5242 PCIe Gen2 CardReader&lt;br /&gt;
* Realtek USB GBE Ethernet Controller&lt;br /&gt;
* ST Microlectronics LNG3DMTR Motion Sensor&lt;br /&gt;
* Intel HD Graphics 530/P530&lt;br /&gt;
* nVIDIA Geforce GTX 960M Graphics&lt;br /&gt;
From dmesg (incomplete):&lt;br /&gt;
* BCM20703A1 Bluetooth 4.1 (firmware brcm/BCM-0a5c-6410.hcd)&lt;br /&gt;
From lspci -nn:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)&lt;br /&gt;
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)&lt;br /&gt;
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)&lt;br /&gt;
00:04.0 Signal processing controller [1180]: Intel Corporation Device [8086:1903] (rev 07)&lt;br /&gt;
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)&lt;br /&gt;
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)&lt;br /&gt;
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 [8086:a160] (rev 31)&lt;br /&gt;
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 [8086:a161] (rev 31)&lt;br /&gt;
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)&lt;br /&gt;
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)&lt;br /&gt;
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)&lt;br /&gt;
00:1c.1 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #2 [8086:a111] (rev f1)&lt;br /&gt;
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)&lt;br /&gt;
00:1d.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #13 [8086:a11c] (rev f1)&lt;br /&gt;
00:1d.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #15 [8086:a11e] (rev f1)&lt;br /&gt;
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)&lt;br /&gt;
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)&lt;br /&gt;
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)&lt;br /&gt;
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)&lt;br /&gt;
01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 960M] [10de:139b] (rev ff)&lt;br /&gt;
02:00.0 Network controller [0280]: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01)&lt;br /&gt;
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device [10ec:525a] (rev 01)&lt;br /&gt;
04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a802] (rev 01)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
From lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 001 Device 003: ID 04f3:21d5 Elan Microelectronics Corp.            &amp;lt;= touchscreen&lt;br /&gt;
Bus 001 Device 002: ID 0a5c:6410 Broadcom Corp.                         &amp;lt;= bluetooth&lt;br /&gt;
Bus 001 Device 004: ID 0c45:6713 Microdia                               &amp;lt;= webcam&lt;br /&gt;
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From lscpu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Architecture:          x86_64&lt;br /&gt;
CPU op-mode(s):        32-bit, 64-bit&lt;br /&gt;
Byte Order:            Little Endian&lt;br /&gt;
CPU(s):                8&lt;br /&gt;
On-line CPU(s) list:   0-7&lt;br /&gt;
Thread(s) per core:    2&lt;br /&gt;
Core(s) per socket:    4&lt;br /&gt;
Socket(s):             1&lt;br /&gt;
NUMA node(s):          1&lt;br /&gt;
Vendor ID:             GenuineIntel&lt;br /&gt;
CPU family:            6&lt;br /&gt;
Model:                 94&lt;br /&gt;
Model name:            Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz&lt;br /&gt;
Stepping:              3&lt;br /&gt;
CPU MHz:               2847.812&lt;br /&gt;
CPU max MHz:           3500.0000&lt;br /&gt;
CPU min MHz:           800.0000&lt;br /&gt;
BogoMIPS:              5183.88&lt;br /&gt;
Virtualization:        VT-x&lt;br /&gt;
L1d cache:             32K&lt;br /&gt;
L1i cache:             32K&lt;br /&gt;
L2 cache:              256K&lt;br /&gt;
L3 cache:              6144K&lt;br /&gt;
NUMA node0 CPU(s):     0-7&lt;br /&gt;
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush &lt;br /&gt;
dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts &lt;br /&gt;
rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 &lt;br /&gt;
ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx &lt;br /&gt;
f16c rdrand lahf_lm abm 3dnowprefetch ida arat epb pln pts dtherm hwp hwp_notify hwp_act_window hwp_epp &lt;br /&gt;
intel_pt tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid &lt;br /&gt;
rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dell Wireless 1830 = BCM43602 + BCM20703A1 (DW1830 Bluetooth 4.1 LE)&lt;br /&gt;
&lt;br /&gt;
BCM43602	PCI ID: 14e4:43ba&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# smartctl -d scsi -i /dev/nvme0n1&lt;br /&gt;
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.3.0-1-amd64] (local build)&lt;br /&gt;
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org&lt;br /&gt;
&lt;br /&gt;
=== START OF INFORMATION SECTION ===&lt;br /&gt;
Vendor:               NVMe&lt;br /&gt;
Product:              PM951 NVMe SAMSU&lt;br /&gt;
Revision:             7D0Q&lt;br /&gt;
Compliance:           SPC-4&lt;br /&gt;
User Capacity:        1,024,209,543,168 bytes [1.02 TB]&lt;br /&gt;
Logical block size:   512 bytes&lt;br /&gt;
Rotation Rate:        Solid State Device&lt;br /&gt;
Logical Unit id:      0x0025384cf1b0fd29&lt;br /&gt;
Serial number:        S2FZNXAGC03824&lt;br /&gt;
Device type:          disk&lt;br /&gt;
Local Time is:        Sun Feb 14 22:02:03 2016 CET&lt;br /&gt;
SMART support is:     Unavailable - device lacks SMART capability.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* http://topics-cdn.dell.com/pdf/xps-15-9550-laptop_Service%20Manual_en-us.pdf&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Dell_XPS_15&lt;br /&gt;
* https://bbs.archlinux.org/viewtopic.php?id=204739&lt;br /&gt;
* http://ubuntuforums.org/showthread.php?t=2301071&lt;br /&gt;
* http://forthescience.org/blog/2015/03/20/installing_ubuntu_14_04_on_the_new_dell_xps_13/&lt;br /&gt;
* https://wiki.debian.org/InstallingDebianOn/Dell/Dell%20XPS%2013&lt;br /&gt;
* http://bartongeorge.net/2015/02/23/update-2-dell-xps-13-laptop-developer-edition-sputnik-gen-4/&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
I first tried to keep a dual-boot just in case, but once we disable Raid and put SATA in AHCI mode, Windows can&#039;t boot anymore. (later I read it could be possible to fix it by rebooting several times Windows till safe mode is kicked in, but it was too late for me.)&lt;br /&gt;
&lt;br /&gt;
Just in case again, one can boot Windows and create a USB recovery.&lt;br /&gt;
==Bios==&lt;br /&gt;
* Secure Boot: disable&lt;br /&gt;
* SATA: switch from Raid to AHCI&lt;br /&gt;
* Boot: not sure it&#039;s needed but I disabled Windows boot manager entry and kept the hdd UEFI entry: UEFI: PM951 NVMe SAMSUNG 1024GB, Partition 1&lt;br /&gt;
* POST/Fastboot/Thorough&lt;br /&gt;
* auto os recovery threshold off&lt;br /&gt;
&lt;br /&gt;
To update the BIOS:&lt;br /&gt;
* put it on a USB stick&lt;br /&gt;
* reboot&lt;br /&gt;
* select BIOS flash update on the boot screen (F12).&lt;br /&gt;
No need to put it on a bootable DOS, just give the exe to the BIOS update built-in util.&lt;br /&gt;
&amp;lt;br&amp;gt;Apparently you can even drop the update on /boot/efi as it&#039;s also a FAT partition.&lt;br /&gt;
&lt;br /&gt;
Versions:&lt;br /&gt;
* A6 [http://downloads.dell.com/FOLDER03659467M/1/XPS_9550_1.2.0.exe XPS_9550_1.2.0.exe]&lt;br /&gt;
* A10 [http://downloads.dell.com/FOLDER03800340M/1/XPS_9550_1.2.10.exe XPS_9550_1.2.10.exe]&lt;br /&gt;
* A13 [http://downloads.dell.com/FOLDER03906323M/1/XPS_9550_1.2.14.exe XPS_9550_1.2.14.exe]&lt;br /&gt;
&lt;br /&gt;
Attention: with versions A10 and A13, there is a serious bug that let the screen black after suspend/wake up. The workaround is to set the lightness to the maximum but it breaks further lightness tuning.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Although Linux works best with A6 BIOS (1.2.0), there is a workaround that allows it to work with later versions.  This workaround uses the intel_reg utility to reset a setting in the &amp;quot;pwm_granuality&amp;quot; setting of the onboard graphics.  Solution discussed here: [http://en.community.dell.com/techcenter/os-applications/f/4613/t/19985320].  As of Linux 4.8, this issue still exists, but a fix may appear in later releases [https://patchwork.freedesktop.org/patch/109407/].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Note that the graphics workaround isn&#039;t perfect, and a downgrade to A6 may still be preferable.&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
I kept UEFI so we need a Debian netinstall because liveCD doesn&#039;t have UEFI support yet.&lt;br /&gt;
&amp;lt;br&amp;gt;But Wi-Fi requires a proprietary firmware:&lt;br /&gt;
 https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfmac43602-pcie.bin&lt;br /&gt;
so the easiest is to take a Debian netinstall with proprietary firmwares included.&lt;br /&gt;
&amp;lt;br&amp;gt;At time of writing Stretch is testing and last release is alpha5:&lt;br /&gt;
 http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/stretch_di_alpha5/amd64/iso-cd/&lt;br /&gt;
dd the image on a USB stick and boot it.&lt;br /&gt;
&amp;lt;br&amp;gt;It will also complain for a missing brcmfmac43602-pcie.txt but we can safely ignore it. (well I think so, but Wi-Fi has troubles now and then under heavy load, see below)&lt;br /&gt;
&amp;lt;!-- sysml eml ems --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I chose a guided partitionning of the entire disk, with encrypted LVM containing /, /home and swap. But proposed / was a bit too small IMHO (10G) so I deleted and recreated / (50G) and /home.&lt;br /&gt;
&amp;lt;br&amp;gt;Initially I tried to add the &amp;quot;discard&amp;quot; option for the partitions which should help on SSD but the kernel reported that &amp;quot;discard&amp;quot; wasn&#039;t supported by the disk.&lt;br /&gt;
&lt;br /&gt;
If you want to backup partition table and partitions before destroying everything, it&#039;s the right time!&lt;br /&gt;
 parted /dev/nvme0n1&lt;br /&gt;
 print&lt;br /&gt;
 sgdisk --backup=/some/safe/location/nvme0n1.gpt /dev/nvme0n1&lt;br /&gt;
I installed Cinnamon. I don&#039;t know for the others but Cinnamon has a nice auto setting to double features on HiDPI screens.&lt;br /&gt;
==First boot==&lt;br /&gt;
Once installed, the Debian didn&#039;t boot up.&lt;br /&gt;
&amp;lt;br&amp;gt;I tried many things but at the end the only thing that worked was to copy Debian EFI to the default one:&lt;br /&gt;
&lt;br /&gt;
Starting the netinstall again, in rescue mode, get a chroot shell, then&lt;br /&gt;
 mount /dev/nvme0n1p1 /boot/efi&lt;br /&gt;
 cd /boot/efi/EFI&lt;br /&gt;
 mkdir boot&lt;br /&gt;
 cp debian/grubx64.efi boot/bootx64.efi&lt;br /&gt;
I also deleted the Windows files in EFI.&lt;br /&gt;
&lt;br /&gt;
Resource:&lt;br /&gt;
* https://wiki.debian.org/GrubEFIReinstall&lt;br /&gt;
* https://wiki.archlinux.org/index.php/GRUB#Create_an_ESP&lt;br /&gt;
* https://help.ubuntu.com/community/UEFI&lt;br /&gt;
* https://wiki.debian.org/UEFI&lt;br /&gt;
* https://isalo.org/wiki.debian-fr/Debian_%26_UEFI    &lt;br /&gt;
&lt;br /&gt;
FTR things that failed included:&lt;br /&gt;
* [http://www.rodsbooks.com/refind/getting.html Refind] couldn&#039;t boot at all. Strange as the netinstall could boot...&lt;br /&gt;
* tweaks with efibootmgr, update-grub etc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039;: It might be possible to fix the issue from the BIOS itself, see http://www.dell.com/support/article/us/en/04/SLN297060/en&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
===Working===&lt;br /&gt;
* Screen&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Touchpad&lt;br /&gt;
* Keyboard backlight and media buttons (volume, luminosity, backlight)&lt;br /&gt;
* Wi-Fi (with the proprietary driver, cf installation above)&lt;br /&gt;
* HDMI&lt;br /&gt;
* SD-Card reader&lt;br /&gt;
* Speakers, mic&lt;br /&gt;
* Webcam&lt;br /&gt;
&lt;br /&gt;
===Working after manual steps===&lt;br /&gt;
====i915====&lt;br /&gt;
Screen was working but dmesg was complaining:&lt;br /&gt;
 i915 0000:00:02.0: firmware: failed to load i915/skl_dmc_ver1.bin&lt;br /&gt;
So I installed that firmware, not sure what it&#039;s changed&lt;br /&gt;
 sudo apt-get install firmware-misc-nonfree&lt;br /&gt;
====Optimus====&lt;br /&gt;
Resources:&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Optimus&lt;br /&gt;
* https://wiki.archlinux.org/index.php/Bumblebee&lt;br /&gt;
 apt-get install bumblebee-nvidia&lt;br /&gt;
 reboot&lt;br /&gt;
Example:&lt;br /&gt;
 apt-get install nvidia-settings&lt;br /&gt;
 optirun -b none nvidia-settings -c :8&lt;br /&gt;
This also works for CUDA:&lt;br /&gt;
 optirun -b none ./cudaHashcat64.bin -m 500 example500.hash example.dict&lt;br /&gt;
====Touchpad====&lt;br /&gt;
Nothing wrong with the touchpad but its default config is a bit painful especially because it&#039;s large and my right palm touches it often, even with the option to diable it when typing and because it&#039;s &amp;quot;soft&amp;quot; buttons.&lt;br /&gt;
&amp;lt;br&amp;gt;I disabled the button area to limit somehow the problem but still you&#039;ve to get used to first touch and hold before pressing a button to do a drag and drop and not the opposite.&lt;br /&gt;
 synclient AreaBottomEdge=4026&lt;br /&gt;
To add a middle button:&lt;br /&gt;
 synclient RightButtonAreaLeft=3914&lt;br /&gt;
 synclient RightButtonAreaRight=0&lt;br /&gt;
 synclient RightButtonAreaTop=4026&lt;br /&gt;
 synclient RightButtonAreaBottom=0&lt;br /&gt;
 synclient MiddleButtonAreaLeft=3100&lt;br /&gt;
 synclient MiddleButtonAreaRight=3873&lt;br /&gt;
 synclient MiddleButtonAreaTop=4026&lt;br /&gt;
 synclient MiddleButtonAreaBottom=0&lt;br /&gt;
And because I love it:&lt;br /&gt;
 synclient CircularScrolling=1&lt;br /&gt;
Some doc [https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Buttonless_touchpads_.28aka_ClickPads.29 here] and the official one [http://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html here]&lt;br /&gt;
&lt;br /&gt;
If with some kernels you get troubles using Synaptics options, check dmesg, maybe Touchpad is detected by another driver too:&lt;br /&gt;
 DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
If this is so, add /etc/modprobe.d/synaptics.conf with this line, cf Kernel section below:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
&lt;br /&gt;
====Touchscreen====&lt;br /&gt;
Touchscreen works well but when an external screen is connected, it spans over both screens so e.g. touching the middle of the laptop screen moves the mouse to some middle point of the virtual screen combining both screens.&lt;br /&gt;
&amp;lt;br&amp;gt;To fix it, see https://wiki.archlinux.org/index.php/Calibrating_Touchscreen&lt;br /&gt;
&amp;lt;br&amp;gt;This example is for an external screen mapped to the right of the laptop screen:&lt;br /&gt;
 # c0 = width of laptop screen / total width&lt;br /&gt;
 c0=$(bc -l &amp;lt;&amp;lt;&amp;lt; &amp;quot;scale=2; $(xrandr|grep -A1 eDP1|sed &#039;1d;s/x.*//&#039;)/$(xrandr|grep &#039;^Screen 0&#039;|sed &#039;s/.*current //;s/ x.*//&#039;)&amp;quot;)&lt;br /&gt;
 xinput set-prop &amp;quot;ELAN Touchscreen&amp;quot; --type=float &amp;quot;Coordinate Transformation Matrix&amp;quot; \&lt;br /&gt;
    c0 0  0 \&lt;br /&gt;
    0  1  0 \&lt;br /&gt;
    0  0  1&lt;br /&gt;
&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
Kernel complains about a missing file.&lt;br /&gt;
&amp;lt;br&amp;gt;Apparently we can get it from Windows drivers but I don&#039;t know where to find them, so I took [https://www.dropbox.com/s/8goc4omhnzxij93/BCM-0a5c-6410.hcd?dl=0 this one] and copied it into /lib/firmware/brcm&lt;br /&gt;
&lt;br /&gt;
Then Bluetooth was recognized but I couldn&#039;t pair my WM615 mouse.&lt;br /&gt;
&amp;lt;br&amp;gt;After restarting the Bt adaptor, I could finally pair:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
  power off&lt;br /&gt;
  power on&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* https://wiki.debian.org/BluetoothUser&lt;br /&gt;
* https://wiki.archlinux.org/index.php/bluetooth&lt;br /&gt;
There is also a possibility to pair directly from bluetoothctl, see https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl&lt;br /&gt;
====HiDPI====&lt;br /&gt;
Cinnamon handles it nicely but some applications don&#039;t such as Gimp and you end up with a microscopic tools ribbon.&lt;br /&gt;
&amp;lt;br&amp;gt;See https://wiki.archlinux.org/index.php/HiDPI for some useful tips&lt;br /&gt;
&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (1016x572 millimeters)&lt;br /&gt;
   resolution:    96x96 dots per inch&lt;br /&gt;
I&#039;ve no ruler at hand but if it&#039;s 15.6&#039;&#039; in diagonal and pixels are square, this gives 293.4 dpi for screen dimensions of 332x187mm.&lt;br /&gt;
&amp;lt;br&amp;gt;So closest hit with common DPI is 96*3=288dpi&lt;br /&gt;
 xrandr --dpi 288&lt;br /&gt;
 xdpyinfo | grep -B2 resolution&lt;br /&gt;
 screen #0:&lt;br /&gt;
   dimensions:    3840x2160 pixels (338x190 millimeters)&lt;br /&gt;
   resolution:    289x289 dots per inch&lt;br /&gt;
Let&#039;s document those fictive dimensions for next boots by creating /etc/X11/xorg.conf.d/90-monitor.conf with&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
     Identifier             &amp;quot;&amp;lt;default monitor&amp;gt;&amp;quot;&lt;br /&gt;
     DisplaySize            338 190    # In millimeters&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT5 and GTK+ 3&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;To enable better scaling of QT5 and GTK+ 3, add to .bashrc (not to .xsessionrc otherwise Cinnamon taskbar is messed up!):&lt;br /&gt;
 QT_DEVICE_PIXEL_RATIO=3&lt;br /&gt;
 GDK_SCALE=3&lt;br /&gt;
 GDK_DPI_SCALE=0.4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QT4&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. Skype&lt;br /&gt;
 sudo apt-get install qt4-qtconfig&lt;br /&gt;
 qtconfig-qt4&lt;br /&gt;
=&amp;gt; one can change font size&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gimp 2.8&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;E.g. copy /usr/share/gimp/2.0/themes/Default as ~/.gimp-2.8/themes/HiDPI and change a few options:&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- gtkrc&lt;br /&gt;
+++ gtkrc&lt;br /&gt;
-  GimpToolPalette::tool-icon-size   = button&lt;br /&gt;
+  GimpToolPalette::tool-icon-size   = dialog&lt;br /&gt;
-  GimpEditor::button-icon-size      = menu&lt;br /&gt;
+  GimpEditor::button-icon-size      = button&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wine&#039;&#039;&#039;&lt;br /&gt;
 winecfg&lt;br /&gt;
Change &amp;quot;dpi&amp;quot; in &amp;quot;Graphics&amp;quot; tab&lt;br /&gt;
&#039;&#039;&#039;Virtualbox&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;View/Scale Factor is helpful...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Small console font&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;br&amp;gt;I don&#039;t care but if that&#039;s an issue for you, from [https://github.com/mpalourdio/xps13/blob/master/HiDPI/tty.md here]:&lt;br /&gt;
 sudo dpkg-reconfigure console-setup&lt;br /&gt;
* Choose UTF-8&lt;br /&gt;
* Choose the default Combined - Latin, ... option (&amp;quot;Latin&amp;quot; includes the English alphabet)&lt;br /&gt;
* Select the terminus font&lt;br /&gt;
* Select 16x32&lt;br /&gt;
* OK&lt;br /&gt;
To apply immediately, open a TTY and run setupcon, else just reboot&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multiple displays&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;Combining HiDPI screen with external non-HiDPI? See https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays&lt;br /&gt;
&lt;br /&gt;
====Sensors====&lt;br /&gt;
 apt-get install lm-sensors&lt;br /&gt;
 sensors-detect&lt;br /&gt;
Sensors-detect found coretemp which is now loaded via /etc/modules:&lt;br /&gt;
 coretemp&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
====i915 and blank screen====&lt;br /&gt;
At some points, repetitive failures spamming syslog:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----------[ cut here ]------------&lt;br /&gt;
WARNING: CPU: 1 PID: 1349 at /build/linux-wxhyRy/linux-4.3.3/drivers/gpu/drm/i915/intel_pm.c:3668 skl_update_other_pipe_wm+0x1b5/0x1c0 [i915]()&lt;br /&gt;
WARN_ON(!wm_changed)&lt;br /&gt;
Modules linked in: sd_mod sg uas usb_storage arc4 ecb md4 cifs cmac algif_hash rpcsec_gss_krb5 auth_rpcgss oid_registry nfsv4 dns_resolver nfs lockd grace sunrpc fs&lt;br /&gt;
CPU: 1 PID: 1349 Comm: Xorg Tainted: G        W  O    4.3.0-1-amd64 #1 Debian 4.3.3-7&lt;br /&gt;
Hardware name: Dell Inc. XPS 15 9550/0N7TVV, BIOS 01.01.15 12/18/2015&lt;br /&gt;
00000000000000000 0000000074139692 ffffffff812ddcf9 ffff8804ab5276b8&lt;br /&gt;
fffffffff81072b1d ffff8804ab5277f4 ffff8804ab527710 ffff8804aba00000&lt;br /&gt;
00000000000000000 ffff8800369a4b80 ffffffff81072bac ffffffffa08b31fc&lt;br /&gt;
Call Trace:&lt;br /&gt;
   etc.&lt;br /&gt;
---[ end trace d9370809ce0073c9 ]---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
See https://bugs.freedesktop.org/attachment.cgi?id=121569&lt;br /&gt;
&lt;br /&gt;
When waking from screen off, the screen very often turns on but is entirely black.&lt;br /&gt;
&amp;lt;br&amp;gt;And dmesg reports sth like this:&lt;br /&gt;
 [drm:intel_dp_start_link_train [i915]] *ERROR* failed to enable link training&lt;br /&gt;
 [drm:intel_dp_complete_link_train [i915]] *ERROR* failed to start channel equalization&lt;br /&gt;
See issue [http://en.community.dell.com/techcenter/os-applications/f/4613/t/19640927 here]&lt;br /&gt;
&lt;br /&gt;
Workaround1:&lt;br /&gt;
* if there is a remote connection possible, this solves the issue:&lt;br /&gt;
 DISPLAY=:0.0 xset dpms force off&lt;br /&gt;
 sleep 1&lt;br /&gt;
 DISPLAY=:0.0 xset dpms force on&lt;br /&gt;
or &lt;br /&gt;
 DISPLAY=:0.0 xrandr --output eDP1 --off&lt;br /&gt;
 sleep 1&lt;br /&gt;
 DISPLAY=:0.0 xrandr --output eDP1 --auto&lt;br /&gt;
Some associated those commands to a shortcut, but this still requires to login properly with a blank screen...&lt;br /&gt;
&amp;lt;br&amp;gt;When an external screen is attached, the external screen is not affected.&lt;br /&gt;
&lt;br /&gt;
Workaround2:&lt;br /&gt;
* Close LID (and the machine goes to sleep) and open it again&lt;br /&gt;
&lt;br /&gt;
Mitigation:&lt;br /&gt;
* Prefs / Power management / Turn off the screen + on A/C: never&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039;: No more issues with kernel &amp;gt;=4.4, see Kernel section below.&lt;br /&gt;
&lt;br /&gt;
====Bluetooth====&lt;br /&gt;
WM615 mouse is now paired but is not smooth, the cursor stops now and then.&lt;br /&gt;
&amp;lt;br&amp;gt;I paired it with an Android phone and there it runs very smoothly so the issue is somewhere on the Dell...&lt;br /&gt;
====Wi-Fi====&lt;br /&gt;
Wi-Fi tends to disassociate under heavy load, switching to other SSIDs or frequencies (5Ghz&amp;lt;&amp;gt;2.4GHz) and coming back seems to help.&lt;br /&gt;
&amp;lt;br&amp;gt;Maybe a proper firmware settings .txt would help?&lt;br /&gt;
&lt;br /&gt;
Examples flooding syslog:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 835 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 639 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 775 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 0 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 210 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 251 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 318 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 790 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 509 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 869 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 711 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 282 (not in use)&lt;br /&gt;
brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 247 (not in use)&lt;br /&gt;
&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
brcmfmac: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!&lt;br /&gt;
net_ratelimit: 1292 callbacks suppressed&lt;br /&gt;
&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes)&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 52 bytes at device 0000:02:00.0&lt;br /&gt;
DMA: Out of SW-IOMMU space for 2048 bytes at device 0000:02:00.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This last one forced me to reboot...&lt;br /&gt;
&lt;br /&gt;
Current firmware available in [http://linuxwireless.org/en/users/Drivers/brcm80211/ kernel repo], [https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 wiki] and in [https://packages.debian.org/firmware-brcm80211 Debian repo] is:&lt;br /&gt;
 strings /lib/firmware/brcm/brcmfmac43602-pcie.bin |tail -n1&lt;br /&gt;
 43602a1-roml/pcie-ag-pktctx-splitrx-amsdutx-txbf-p2p-mchan-idauth-idsup-tdls-mfp-sr-proptxstatus-pktfilter-wowlpf-ampduhostreorder-keepalive-srom12-chkd2hdma &lt;br /&gt;
 Version: 7.35.177.61 CRC: 55b10cfe Date: Tue 2015-11-10 06:39:55 PST Ucode Ver: 986.122 FWID: 01-ea662a8c&lt;br /&gt;
There is a newer version in Dell drivers: &lt;br /&gt;
 strings Communications_Driver_6XDK6_WN32_1.555.0.0_A03/Drivers/WinThresh/WL/x64/43602a1rtecdc.bin|tail -n 1&lt;br /&gt;
 43602a1-roml/pcie-ag-msgbuf-chkd2hdma-ndis-vista-dhdoid-ap-p2p-txbf-pktctx-amsdutx-pktfilter-pno-aoe-ndoe-gtkoe-mfp-proptxstatus-keepalive-sr-ampduretry-d0c-srom12-fbt-assocmgr &lt;br /&gt;
 Version: 7.35.240.51 CRC: ee76d57b Date: Thu 2015-11-26 02:39:07 PST Ucode Ver: 986.120 FWID: 01-ed0fd8f3&lt;br /&gt;
but with that one it fails to associate to access-points...&lt;br /&gt;
&lt;br /&gt;
====rfkill button====&lt;br /&gt;
Rfkill button of the keyboard (Fn+PrtScr) doesn&#039;t seem to work, no big deal.&lt;br /&gt;
&lt;br /&gt;
====DA200====&lt;br /&gt;
[http://accessories.euro.dell.com/sna/products/Station_daccueil/productdetail.aspx?c=fr&amp;amp;l=fr&amp;amp;s=dhs&amp;amp;cs=frdhs1&amp;amp;sku=470-ABRY DA200] is recognized only if it was plugged at boot.&lt;br /&gt;
&amp;lt;br&amp;gt;The adapter is actually using DisplayPort. &lt;br /&gt;
&amp;lt;br&amp;gt;HDMI output doesn&#039;t work, it&#039;s recognized by xrandr as &#039;DP1&#039; as for the VGA.&lt;br /&gt;
&amp;lt;br&amp;gt;VGA output works.&lt;br /&gt;
&lt;br /&gt;
When plugged the following hardware gets detected:&lt;br /&gt;
&lt;br /&gt;
lsusb:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp..     &amp;lt;= Ethernet&lt;br /&gt;
Bus 004 Device 002: ID 05e3:0617 Genesys Logic, Inc..&lt;br /&gt;
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
Bus 003 Device 003: ID 0835:2a01 Action Star Enterprise Co., Ltd. &amp;lt;= Billboard&lt;br /&gt;
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub&lt;br /&gt;
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;The USB Billboard Device Class definition describes the methods used to communicate the Alternate Modes supported by a device container to a host system. More details on Billboard Devices are available in the USB Billboard Device Class specification at the following link: http://www.usb.org/developers/docs/devclass_docs/.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
lspci:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
06:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:00.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:01.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
07:02.0 PCI bridge: Intel Corporation Device 1576 (prog-if 00 [Normal decode])&lt;br /&gt;
0a:00.0 USB controller: Intel Corporation Device 15b5 (prog-if 30 [XHCI])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lsmod:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
r8152                  49152  0&lt;br /&gt;
cdc_ether              16384  0&lt;br /&gt;
usbnet                 40960  1 cdc_ether&lt;br /&gt;
mii                    16384  2 r8152,usbnet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One can somehow force detection if plugged after boot:&lt;br /&gt;
 # echo 1 &amp;gt; /sys/bus/pci/rescan&lt;br /&gt;
But for me it works only once then if removed, rescan doesn&#039;t remove things and re-plugging doesn&#039;t work.&lt;br /&gt;
&amp;lt;br&amp;gt;Moreover with kernel 4.3 I hit the bug related to i915 mentioned [https://lkml.org/lkml/2015/4/21/818 here] and [https://bugzilla.kernel.org/show_bug.cgi?id=16063 there].&lt;br /&gt;
&amp;lt;br&amp;gt;VGA output seems to work without rescan but with kernel 4.5.0, eDP1 becomes noisy. Unplugging VGA fixes the problem immediately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATE&#039;&#039;&#039; with kernel 4.6 the device is properly detected dynamically, still having the issue of black output on HDMI/DP1.&lt;br /&gt;
&lt;br /&gt;
==Kernels==&lt;br /&gt;
initramfs complains about lvmetad and I&#039;m not sure it&#039;s that useful on SSD, so just disabling it:&lt;br /&gt;
&amp;lt;br&amp;gt;Edit /etc/lvm/lvm.conf&lt;br /&gt;
 use_lvmetad=0&lt;br /&gt;
Then stop it&lt;br /&gt;
 systemctl stop lvm2-lvmetad&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;, to compile &amp;gt;=4.4, one needs at least initramfs-tools v0.122 to get the nvme.ko properly loaded and therefore the SSD properly seen.&lt;br /&gt;
&lt;br /&gt;
To compile a vanilla kernel, cf http://www.cyberciti.biz/faq/debian-ubuntu-building-installing-a-custom-linux-kernel/&lt;br /&gt;
 sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc&lt;br /&gt;
 sudo apt-get install kernel-package&lt;br /&gt;
 wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz&lt;br /&gt;
 tar xf linux-4.4.tar.xz&lt;br /&gt;
 cd linux-4.4&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make menuconfig&lt;br /&gt;
 make-kpkg clean&lt;br /&gt;
 make-kpkg --rootcmd fakeroot --initrd --append_to_version=9-doegox kernel_image kernel_headers -j 7&lt;br /&gt;
&lt;br /&gt;
===4.4.0===&lt;br /&gt;
Testing linux-image-4.4.0-1-amd64 from Debian Experimental:&lt;br /&gt;
* it just doesn&#039;t boot, stalls immediately after loading initrd&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla:&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.3.0-1-amd64 and general rule to enable as module whatever was new&lt;br /&gt;
 cp /boot/config-$(uname -r) .config&lt;br /&gt;
 make oldconfig&lt;br /&gt;
* Seems better than 4.3, no more issues with i915&lt;br /&gt;
&lt;br /&gt;
Testing from vanilla with config closer to linux-image-4.4.0-1-amd64 (trying to understand why the Debian one doesn&#039;t boot):&lt;br /&gt;
* vanilla 4.4 with config from Debian 4.4.0-1-amd64 and adjusting the minimum because apparently 4.4.0-1-amd64 is a 4.4.2&lt;br /&gt;
&amp;lt;source lang=diff&amp;gt;&lt;br /&gt;
--- config-4.4.0-1-amd64	2016-02-21 16:36:18.000000000 +0100&lt;br /&gt;
+++ config-4.4.0-9-doegox	2016-02-22 23:07:13.000000000 +0100&lt;br /&gt;
-# Linux/x86 4.4.2 Kernel Configuration&lt;br /&gt;
+# Linux/x86_64 4.4.0-9-doegox Kernel Configuration&lt;br /&gt;
-CONFIG_MEMCG_DISABLED=y&lt;br /&gt;
-CONFIG_X86_X32_DISABLED=y&lt;br /&gt;
+CONFIG_FB_NVIDIA=m&lt;br /&gt;
+CONFIG_FB_NVIDIA_BACKLIGHT=y&lt;br /&gt;
+CONFIG_FB_RIVA=m&lt;br /&gt;
+CONFIG_FB_RIVA_BACKLIGHT=y&lt;br /&gt;
-CONFIG_GRKERNSEC=y&lt;br /&gt;
-CONFIG_GRKERNSEC_PERF_HARDEN=y&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
I inspected both initrd and besides rivafb.ko and nvidiafb.ko (which are probably useless) there is no diff.&lt;br /&gt;
&amp;lt;br&amp;gt;Still, this kernel boots, but the same problem as with 4.5.0 appears:&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
See 4.5.0 for the fix.&lt;br /&gt;
===4.5.0===&lt;br /&gt;
Testing linux-image-4.5.0-1-amd64 (4.5.1-1) from Debian Stretch:&lt;br /&gt;
* no more issues with i915, no more black screen when screen awakes :)&lt;br /&gt;
* &#039;&#039;&#039;main screen flickering when an external monitor is attached. Sometimes ends-up in a complete freeze :(&#039;&#039;&#039;&lt;br /&gt;
* can&#039;t config touchpad with synclient&lt;br /&gt;
** solved:&lt;br /&gt;
&lt;br /&gt;
Touchpad problem:&lt;br /&gt;
&amp;lt;br&amp;gt;This is because touchpad got detected twice, cf /var/log/Xorg.0.log&lt;br /&gt;
 [    13.212] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/event12)&lt;br /&gt;
 [    13.353] (II) config/udev: Adding input device DLL06E4:01 06CB:7A13 Touchpad (/dev/input/mouse2)&lt;br /&gt;
 [    13.357] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event1)&lt;br /&gt;
 [    13.445] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)&lt;br /&gt;
See also in dmesg the spurious driver:&lt;br /&gt;
 [    0.341039] pnp 00:05: Plug and Play ACPI device, IDs DLL06e4 PNP0f13 (active)&lt;br /&gt;
 [    8.231092] input: DLL06E4:01 06CB:7A13 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-DLL06E4:01/0018:06CB:7A13.0003/input/input14&lt;br /&gt;
 [    8.231227] hid-multitouch 0018:06CB:7A13.0003: input,hidraw2: I2C HID v1.00 Mouse [DLL06E4:01 06CB:7A13] on i2c-DLL06E4:01&lt;br /&gt;
DLL06E4:01 06CB:7A13 Touchpad must be prevented&lt;br /&gt;
&amp;lt;br&amp;gt;=&amp;gt; Add /etc/modprobe.d/synaptics.conf:&lt;br /&gt;
 blacklist i2c-designware-platform&lt;br /&gt;
Blacklisting i2c-hid a explained elsewhere didn&#039;t help me.&lt;br /&gt;
&lt;br /&gt;
If you tried earlier 4.5.0 from Experimental and had issues compiling DKMS modules, be sure to install latest linux-kbuild-4.5&lt;br /&gt;
&lt;br /&gt;
===4.6===&lt;br /&gt;
Seems the most stable up to now.&lt;br /&gt;
&lt;br /&gt;
* DA200 is now detected once plugged it.&lt;br /&gt;
* still occasional freeze with external screen being attached or mode being changed&lt;br /&gt;
&lt;br /&gt;
==Hardware changes==&lt;br /&gt;
I&#039;ll try a few changes... to be continued&lt;br /&gt;
&lt;br /&gt;
Replacing Broadcom Wi-Fi+BT by an [https://wikidevi.com/wiki/Intel Intel one]:&lt;br /&gt;
* Intel 7265 Dual Band Wireless-AC 7265NGW Card 802.11ac 867Mbps WIFI BT4.0 UK&lt;br /&gt;
** http://www.befr.ebay.be/itm/262049756966?_trksid=p2060353.m2749.l2649&amp;amp;ssPageName=STRK%3AMEBIDX%3AIT&lt;br /&gt;
** https://downloadcenter.intel.com/download/17045&lt;br /&gt;
** This requires installing package firmware-iwlwifi&lt;br /&gt;
** Seems to have less Wi-Fi issues, but still the same BT problems pairing the Dell mouse&lt;br /&gt;
&lt;br /&gt;
Alternatives to DA200:&lt;br /&gt;
* HDMI Male To VGA Female Converter&lt;br /&gt;
** http://www.aliexpress.com/item/1pc-HDMI-Male-To-VGA-Female-Converter-Box-Adapter-With-Audio-Cable-For-PC-HDTVHot-New/32448171552.html&lt;br /&gt;
* USB 3.0 10/100/1000Mbps Gigabit Ethernet RJ45&lt;br /&gt;
** http://www.aliexpress.com/item/Hot-selling-New-USB-3-0-10-100-1000Mbps-Gigabit-Ethernet-RJ45-External-Network-Card-LAN/32546613204.html&lt;br /&gt;
* 4-Port Ultra-Slim USB 3.0 Hub&lt;br /&gt;
** https://www.anker.com/products/A7516011&lt;br /&gt;
** http://www.amazon.de/Anker-Datenhub-Ultrabooks-weiteren-kompatiblen/dp/B00Y211AFM/&lt;br /&gt;
&lt;br /&gt;
==Misc hardware==&lt;br /&gt;
Smartcard reader&lt;br /&gt;
* ACS ACR38U PocketMate Smart Card Reader&lt;br /&gt;
** http://www.acs.com.hk/en/products/160/acr38u-pocketmate-smart-card-reader/&lt;br /&gt;
** http://www.befr.ebay.be/itm/EU-SHIPPING-Smart-Card-USB-ACS-ACR38U-National-ID-Tachograph-Reader-Writer-/121899037557&lt;/div&gt;</summary>
		<author><name>Valient</name></author>
	</entry>
</feed>