The hardware is still quite new (Xeon 1505 v5, Intel P530 GFX, Nvidia Quadro M2000M, Samsung 950 NVMe) and as for basic functionality (It boots
I'm running a fairly new 4.5.2 kernel, so AFAIK much of the hardware should actually be supported already.
Booting:
I have it in a Win10/Gentoo Dual-Boot configuration and somehow I do manage to win over the horror that is EFI. You must know, my previous Thinkpad was a W500 and it worked like a charm with lilo - after I kicked grub off-disk. Now EFI is what I would call a reference example of 2nd system syndrome. Good intentions, but bloaty, quirky and - for a very special definition of engineering - over-engineered.
To install Gentoo I ended up using about 5 USB sticks. Original plan was 2: One to hold the Win10 recovery and one with a AMD64 Gentoo minimal install. After the win recovery was done and AMD64 minimal install was on the USB, I tried to boot from the Gentoo stick and ... failed.
It didn't boot in EFI (only) mode at all. It would boot in Compatibility mode, but I didn't want that as it seems EFI loaders have trouble with mixed mode OS booting.
I then put Systemrescuecd on a (3rd) USB stick and as that didn't boot also, I put Arch Linux on a (4th) USB stick and a stage3/portage on yet another (5th) stick. The Arch did boot in EFI only, so I used that to create a partition (/dev/nvme0n1p5), unpacked the stage3 and portage on it and rebooted with that being my root.
From then on it was the classical emerge orgy that is Gentoo. Some hundreds of emerged packages later, I'm writing this in an weird Google Chrome (with gargantuan font for URL, window header etc.) running in xfce4 environment on xorg - running probably the Intel P530 gfx.
I have compiled most of the packages with the basic "-O2 -pipe" CFLAGS, but right now I'm getting more bold so I've added the "-march=core-avx2" to CFLAGS. It's suboptimal, because it still doesn't enable the AVX512 optimizations, which would be with "-march=skylake-avx512" or something like that, but gcc 5.3.0 seems unaware of that.
I've set xfce font management manually to 282dpi - with the help of https://www.sven.de/dpi/, but my xorg is still telling me
Code: Select all
screen #0:
dimensions: 3840x2160 pixels (1016x571 millimeters)
resolution: 96x96 dots per inch
Code: Select all
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
Option "DPI" "282 x 282"
DisplaySize 345 194
EndSection
Code: Select all
[ 6.832] (==) intel(0): DPI set to (96, 96)
...
[ 6.858] (II) intel(0): switch to mode 3840x2160@60.0 on eDP1 using pipe 0, position (0, 0), rotation normal, reflection none
[ 6.858] (II) intel(0): Setting screen physical size to 1016 x 571
Code: Select all
# lspci
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:16.3 Serial controller: Intel Corporation Sunrise Point-H KT Redirection (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)
00:1c.2 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #3 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M2000M] (rev a2)
04:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
3e:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)
3f:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
The I219-LM ethernet works good (so far) with the e1000 driver in 4.5.2. I've had one or two hiccups where I hadn't connectivity, there was no uplink or dmesg said something of 10MBps, but I'd like to believe these were exceptions.
The builtin-USB Devices present are
Code: Select all
# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 138a:0090 Validity Sensors, Inc.
Bus 001 Device 003: ID 04f2:b52c Chicony Electronics Co., Ltd
Bus 001 Device 007: ID 8087:0a2b Intel Corp.
Bus 001 Device 006: ID 0765:5010 X-Rite, Inc.
Bus 001 Device 005: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
For sound and cam to work I had to add the user to the "audio" and "video" group.
I would like to add my kernel config, Xorg config etc. as attachments but am not sure how to do that in this forum without exploding the size of a posting.
Update 2016-05-09:
* running 4.5.3 now
* Wireless (Intel 8260) works now. I had to enable the "Intel Wireless WiFi MVM Firmware support" and did download the iwlwifi-8000C-*.ucode package directly from intel, although probably just emerging "sys-kernel/linux-firmware" would have done the job too.
* The SD card reader works too:
Code: Select all
[62109.436176] mmc0: new ultra high speed SDR104 SDXC card at address 0007
[62109.438696] mmcblk0: mmc0:0007 SD64G 58.1 GiB
Code: Select all
# hdparm -t /dev/mmcblk0
/dev/mmcblk0:
Timing buffered disk reads: 98 MB in 3.02 seconds = 32.43 MB/sec
* A fully charged battery should be able to hold the notebook in suspend-to-ram for 120-130 hours.
* Most of the time, the sucker just doesn't spin the fans
Code: Select all
# cat /proc/acpi/ibm/fan
status: enabled
speed: 0
level: auto
* The function keys are still not working, but you can do stuff like
Code: Select all
echo 1 > /proc/acpi/ibm/kbdlightRico




