Entry created
2023-09-09
Translation(s): none
DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware. The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware. If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware. |
Models covered
Dell XPS 13 Plus (9320)
Sub-models options :
- Video card: Intel Raptor Lake-P
- Screen size: 13"
- Wireless card: Intel
- Disk and Ram size, optical device: 1.0 TB and 16.0 GB, no
- Fingerprint reader: Shenzhen Goodix Technology Co.,Ltd.
- Bluetooth: Intel
Overall Status
Core Components |
||
Boot Standard Kernel: |
[ ] |
|
LAN network card: |
[ - ] |
|
Detect CD/DVD: |
[ - ] |
|
Detect hard drives: |
[ ] |
|
Secure boot: |
[ ] |
|
Extra Features |
||
CPU Frequency Scaling |
[ ] |
|
Hibernation |
[ ] |
|
Sleep / Suspend |
[ ] |
|
Xorg |
[ ] |
|
- OpenGL |
[ ] |
|
- Resize-and-Rotate(randr) |
[ ] |
|
Switch to External Screen |
[ ] |
|
Sound |
[ , ] |
|
Video |
[ ] |
|
Built-in camera |
[ , ] |
|
Mouse |
|
|
- Built-in (Trackpoint) |
[ - ] |
|
- Built-in (Touchpad) |
[ ] |
|
Modem |
[ - ] |
|
Wireless/Wifi |
[ ] |
|
Keyboard's Hotkeys |
[ ] |
|
Fingerprint Reader |
[ ] |
Legend :
= OK ; Unsupported(No Driver) ; = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
= Configuration Required; = Only works with a non-free driver and or firmware
Important Note
Even though this model can be shipped with Ubuntu installed by the manufacturer, it comes with a customised (OEM) kernel and configured to pull packages from Canonical/DELL repositories so it shouldn't be expected that a Debian - or even a "stock" Ubuntu - will work as smoothly out of the box here.
Configuration
Most of the hardware works out of the box with the up to date (full) distribution of Debian 12. The exceptions are the built-in audio devices and the built-in MIPI web camera; follow the instructions below to make them functional.
Audio
Intel Raptor Lake. Built-in speakers and the microphone don't work out of the box with the up to date kernel of Debian 12, 6.1.0-12, so a patch to the kernel from upstream is required:
https://lore.kernel.org/all/20221110225432.144184-2-pierre-louis.bossart@linux.intel.com/
https://lore.kernel.org/all/20221110225432.144184-3-pierre-louis.bossart@linux.intel.com/
Use the handbook for rebuilding the kernel after patching sources; the oldconfig settings are recommended to minimize deviations from the original kernel.
Store ALSA configuration as soon as the rebuilt kernel is booted and the microphone and speakers work:
alsactl clean alsactl store
Camera
NB: There is a new kernel in Debian 13 that includes the ipu6 drivers. More information in this Debian bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074441#56
Intel IPU6. There is no support for the camera in Debian 12 kernel version 6.1.0-12, so building the needed components from sources is necessary. The required repositories with the used commits specified:
Follow the recipes from the aforementioned repositories/commits. Use the IPU6ep - Alder Lake - target platform and the OV01A10 sensor where possible to choose. If the software/firmware set up correctly, the "pipeline example" for "laptops with 12th/13th Gen Intel Core Processors with ov01a10 sensor" from the icamerasrc repository has to result in an open window with image from the camera.
In order to make the camera available in applications:
Install the v4l2loopback-dkms module from Debian repository and apply the debian/patches/000* patches from the Ubuntu v4l2loopback (cae2954) repository; consult with the DKMS documentation in order to apply the patches and to rebuild/reinstall the module.
Install the Ubuntu v4l2-relayd (801694f) solution:
./autogen.sh --prefix=/usr make -j make install mv "/usr/etc" "/etc" sed -i 's/SPLASHSRC/#SPLASHSRC/g' "/etc/default/v4l2-relayd" sed -i 's/FORMAT=YUY2/FORMAT=NV12/g' "/etc/default/v4l2-relayd" sed -i 's/VIDEOSRC="videotestsrc"/VIDEOSRC="icamerasrc"/g' "/etc/default/v4l2-relayd" echo "GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0" >> "/etc/default/v4l2-relayd" sed -i 's/After=/#After=/g' "/etc/default/v4l2-relayd"
Add the line into the v4l2-relayd.service before the "?ExecStart=...":
ExecCondition=/usr/bin/test -n "${GST_PLUGIN_PATH}"
Starting the service manually each time after boot and login provides operability of the camera in more different applications: e.g. GNOME Cheese will not work if the v4l2-relayd.service is enabled and runs on boot automatically.
System Summary
lspci
$ lspci -nn 0000:00:00.0 Host bridge [0600]: Intel Corporation Device [8086:a707] 0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a0] (rev 04) 0000:00:04.0 Signal processing controller [1180]: Intel Corporation Raptor Lake Dynamic Platform and Thermal Framework Processor Participant [8086:a71d] 0000:00:05.0 Multimedia controller [0480]: Intel Corporation Device [8086:a75d] 0000:00:06.0 System peripheral [0880]: Intel Corporation RST VMD Managed Controller [8086:09ab] 0000:00:07.0 PCI bridge [0604]: Intel Corporation Device [8086:a76e] 0000:00:07.2 PCI bridge [0604]: Intel Corporation Device [8086:a72f] 0000:00:08.0 System peripheral [0880]: Intel Corporation GNA Scoring Accelerator module [8086:a74f] 0000:00:0a.0 Signal processing controller [1180]: Intel Corporation Raptor Lake Crashlog and Telemetry [8086:a77d] (rev 01) 0000:00:0d.0 USB controller [0c03]: Intel Corporation Device [8086:a71e] 0000:00:0d.2 USB controller [0c03]: Intel Corporation Device [8086:a73e] 0000:00:0d.3 USB controller [0c03]: Intel Corporation Device [8086:a76d] 0000:00:0e.0 RAID bus controller [0104]: Intel Corporation Volume Management Device NVMe RAID Controller Intel Corporation [8086:a77f] 0000:00:12.0 Serial controller [0700]: Intel Corporation Alder Lake-P Integrated Sensor Hub [8086:51fc] (rev 01) 0000:00:14.0 USB controller [0c03]: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller [8086:51ed] (rev 01) 0000:00:14.2 RAM memory [0500]: Intel Corporation Alder Lake PCH Shared SRAM [8086:51ef] (rev 01) 0000:00:14.3 Network controller [0280]: Intel Corporation Raptor Lake PCH CNVi WiFi [8086:51f1] (rev 01) 0000:00:15.0 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 [8086:51e8] (rev 01) 0000:00:15.1 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #1 [8086:51e9] (rev 01) 0000:00:16.0 Communication controller [0780]: Intel Corporation Alder Lake PCH HECI Controller [8086:51e0] (rev 01) 0000:00:1e.0 Communication controller [0780]: Intel Corporation Alder Lake PCH UART #0 [8086:51a8] (rev 01) 0000:00:1e.3 Serial bus controller [0c80]: Intel Corporation Alder Lake SPI Controller [8086:51ab] (rev 01) 0000:00:1f.0 ISA bridge [0601]: Intel Corporation Raptor Lake LPC/eSPI Controller [8086:519d] (rev 01) 0000:00:1f.3 Multimedia audio controller [0401]: Intel Corporation Raptor Lake-P/U/H cAVS [8086:51ca] (rev 01) 0000:00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake PCH-P SMBus Host Controller [8086:51a3] (rev 01) 0000:00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-P PCH SPI Controller [8086:51a4] (rev 01) 10000:e0:06.0 PCI bridge [0604]: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port [8086:a74d] 10000:e1:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO [144d:a80a]
lsusb
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 27c6:63bc Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC Bus 001 Device 002: ID 8086:0b63 Intel Corp. USB Bridge Bus 001 Device 004: ID 8087:0033 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ sudo lsusb -v 2>/dev/null | grep -E '\<(^Bus|iProduct|bDeviceClass|bDeviceProtocol)' Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub bDeviceClass 9 Hub bDeviceProtocol 3 iProduct 2 xHCI Host Controller Bus 001 Device 003: ID 27c6:63bc Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC bDeviceClass 239 Miscellaneous Device bDeviceProtocol 0 iProduct 2 Goodix USB2.0 MISC Bus 001 Device 002: ID 8086:0b63 Intel Corp. USB Bridge bDeviceClass 0 bDeviceProtocol 0 iProduct 2 USB Bridge Bus 001 Device 004: ID 8087:0033 Intel Corp. bDeviceClass 224 Wireless bDeviceProtocol 1 Bluetooth iProduct 0 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub bDeviceClass 9 Hub bDeviceProtocol 1 Single TT iProduct 2 xHCI Host Controller Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub bDeviceClass 9 Hub bDeviceProtocol 3 iProduct 2 xHCI Host Controller Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub bDeviceClass 9 Hub bDeviceProtocol 1 Single TT iProduct 2 xHCI Host Controller
USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.
Resources
Attachments
Some configuration files and sample outputs.
Other reports
Useful Links
Credits