Dell XPS 13 9360
Описание характеристик ноутбука (у меня версия с тачскрином и сканером отпечатков пальцев):
http://www.dell.com/en-us/shop/dell-laptops/new-xps-13-touch/spd/xps-13-9360-laptop/dncwtr753h
Все операции проверены со стыковочной станцией Belkin:
https://www.apple.com/shop/product/HKQ12VC/A/belkin-thunderbolt-3-express-dock-hd
По умолчанию поставляется либо с Windows 10 либо с Ubuntu 16.10 от Dell.
Для ALT Linux все проверялось с http://nightly.altlinux.org/sisyphus/tested/regular-gnome3-latest-x86_64.iso
Решения проблем
Сразу после установки рекомендуется обновить следующие компоненты:
CPU microcode
Микрокод процессора всегда лучше поддерживать в актуальном состоянии, иначе возможны проблемы в работе. Для этого нужно поставить пакет make-initrd-ucode, далее make-initrd сам создаст initramfs с нужным функционалом.
BIOS
Просто скачать .exe с сайта производителя, записать его на флешку/доступный раздел с FAT и выбрать пункт BIOS update после нажатия F12, далее указать .exe и дождаться окончания процесса обновления. Или поставить пакет fwupd и выполнить след. команды в консоли:
$ fwupdmgr refresh
$ fwupdmgr update
В этом случае fwupd сам скачает последнюю версию с сайта Linux Vendor Firmware Service и запустит процесс обновления после перезагрузки.
WiFi
(замечание ниже не особенно критично, если ошибки не мешают можно все оставить как есть)
Если видите ошибки вида:
pcieport 0000:00:1c.4: AER: Corrected error received: id=00e4
pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=00e4(Transmitter ID)
pcieport 0000:00:1c.4: device [8086:9d14] error status/mask=00001000/00002000
pcieport 0000:00:1c.4: [12] Replay Timer Timeout
Или если воспроизводится баг при работе с 5G wifi, который приводит к падению скорости скачивания.
Процесс обновления прошивки для Killer 1535 Wirless Adapter:
- скачать
https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174
- скопировать папку QCA6174 в /lib/firmware/ath10k, заменив все файлы.
- создать симлинк на прошивку:
# cd hw3.0
# ln -s 4.4.1/firmware-6.bin_WLAN.RM.4.4.1-00058-QCARMSWP-1 firmware-6.bin
- перегрузить систему или выгрузить/загрузить модули ath10k-pci ath10k-core.
Thunderbolt
Прошивка может быть обновлена через fwupd, либо посредством инструкции ниже:
У меня была версия 18.5, рекомендуемая 21.0, ее можно вытащить из официальных дров от Intel, которые доступны на сайте Dell (видимо, чтобы враги не догадались):
https://downloads.dell.com/FOLDER04442852M/1/Intel_TBT3_FW_UPDATE_NVM21_MHTHF_A02_4.21.03.001.exe
(ссылка может устареть, могу выложить прошивку по запросу)
далее извлекаем содержимое .exe через 7z x и берем файл 0x075B_secure.bin (обязательно _secure, иначе ничего прошиваться не будет).
Ну а далее как советуют в инструкции:
(стыковочная станция должна быть подключена и модуль thunderbolt загружен!)
# dd if=0x075B_secure.bin of=/sys/bus/thunderbolt/devices/0-0/nvm_non_active0/nvmem
# echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
после этого модуль начнет прошиваться и перезагрузиться. Убедиться что все прошло хорошо можно проверив версию после прошивки:
# cat /sys/bus/thunderbolt/devices/0-0/nvm_version
21.0
PCI Hotplug
В процессе работы обнаружена еще одна проблема - не работает pci hotplug для встроенной сетевой карты, которая есть в стыковочной станции. На поверку это оказался модуль ядра igb, который и падает при отключении:
<4>[ 96.234354] R10: 0000000000000040 R11: ffff9b394f85d6f8 R12:
ffff9b3c2d9552a0
<4>[ 96.234375] R13: ffff9b3c2d955000 R14: ffff9b3c229f39c0 R15:
0000000000000060
<4>[ 96.234398] FS: 0000000000000000(0000) GS:ffff9b3c3e480000(0000)
knlGS:0000000000000000
<4>[ 96.234422] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
<4>[ 96.234441] CR2: 00007f5d353032c8 CR3: 0000000461df7000 CR4:
00000000003406e0
<4>[ 96.234463] Call Trace:
<4>[ 96.234474] pci_disable_msix+0xf1/0x120
<4>[ 96.234491] igb_reset_interrupt_capability+0x50/0x60 [igb]
<4>[ 96.234512] igb_remove+0xb3/0x170 [igb]
<4>[ 96.234526] pci_device_remove+0x34/0xb0
<4>[ 96.234540] device_release_driver_internal+0x150/0x210
<4>[ 96.234557] device_release_driver+0xd/0x10
<4>[ 96.234575] pci_stop_bus_device+0x85/0x90
<4>[ 96.234589] pci_stop_bus_device+0x2c/0x90
<4>[ 96.234603] pci_stop_bus_device+0x2c/0x90
<4>[ 96.234617] pci_stop_and_remove_bus_device+0xd/0x20
Временное решение - добавить модуль igb в blacklist. Или можно поставить ядро wks-lks где модуль igb собран отдельно с сайта intel и этих проблем не имеет.
Проблема исправлена в ядрах 4.14+
Что не работает
- Сканер отпечатков пальцев пока не работает, официальная поддержка заявлена только для Windows.
- Зарядка через thunderbolt/usb-c (есть шанс, что поддержка появится в ядрах 4.17+). Уже в 4.16 интерфейс USB-C обнаруживается ядром, но не работает т.к. пока ядро неправильно парсит ACPI таблицы ответственные за инциализацию USB-C.
Тачскрин
Определяется и работает, для работы нужно включить CONFIG_I2C_HID в ядре.
EFI
Проверялась установка только в EFI, другие режимы не проверял.
3D производительность
Встроенная графика от Intel скоростью не блещет, но имеет неплохую поддержку современных стандартов:
- OpenGL 4.6
- Vulkan 1.0.57
Проверено с самой свежей версией MesaLib.
Воспроизведение видео
Если используется wayland то рекомендуется mpv который поддерживает правильную работу с libva внутри wayland сессии.
Батарея
В моих условиях работы (браузер с 50+ вкладками, несколько терминалов + virtualbox для тестирования кода), хватает на 8+ часов.
Thunderbolt
Для корректного определения устройств рекомендуется отключить Thunderbolt Security в BIOS (потом его можно включить), иначе будет работать только монитор.
Все работает как надо, включая подключение 3+ мониторов и успешно рулится через wayland и настройки gnome3. Также автоматически подстраивается scale после отключения дока или подключения мониторов.
Что еще почитать по настройке
Документация на wiki Arch Linux:
https://wiki.archlinux.org/index.php/Dell_XPS_13_(9360)