HP Spectre x360 15-df1010na
Hardware | PCI/USB ID | Working? |
---|---|---|
Touchpad | Yes | |
Keyboard | Yes | |
GPU | 10de:1f91 |
Yes |
Webcam | 0408:5255 |
Yes |
Bluetooth |
|
Yes |
SD-card reader | 10ec:525a |
Untested |
Audio | 8086:a348 |
Yes |
GPU Audio | 10de:10fa |
Yes |
Wireless | 8086:2723 |
Yes |
Fingerprint reader | No | |
TPM | Yes | |
Thunderbolt | 8086:15ea |
Yes |
Installation
Secure Boot must be disabled in the BIOS.
The BIOS can be accessed by holding down Esc
while booting, then pressing F10
when the options screen is shown. F9
can be used to select the boot device.
Firmware
fwupd supports this device.
Biometrics
Fingerprint Scanner
Tested using Fprint, fprintd-enroll reports that the device cannot be found.
Windows Hello
Facial recognition works using Howdy.
Audio
If audio does not work initially, create the file /etc/modprobe.d/alsa-base.conf
with the following line.
options snd-hda-intel
The audio mute button works by default but with no led indicator to show its state.
Suggested fixes including adding model=hp-gpio-led
after snd-hda-intel
but this does not appear to work for this model.
Power management
For general battery improvements, thermald and auto-cpufreqAUR seem to help, although battery life is still poor.
Unfortunately HP do not support s3 sleep (see Power management/Suspend and hibernate) for this laptop, which leads to extreme battery drain when left in 'suspend' mode (s2idle).
This can be fixed by modifying the DSDT, but resuming from suspend with deep sleep is unreliable, rendering this method pointless. An alternative solution to saving power would be using hibernation and then focusing on improving the boot time to bring wakeup from hibernation closer to wakeup from suspend times.
ACPI override to support S3 sleep
See Power management/Suspend and hibernate#Changing suspend method for the general context in which this workaround fits.
Extract and disassemble the DSDT tables. You then need to modify the dsdt.dsl
file.
Find the section which begins with DefinitionBlock ("", "DSDT", 2, "HPQOEM", "863E ",
and increment the final number (remember to increment it as hex).
For example:
DefinitionBlock ("", "DSDT", 2, "HPQOEM", "863E ", 0x01072009)
Should be changed to
DefinitionBlock ("", "DSDT", 2, "HPQOEM", "863E ", 0x0107200a)
Then the definition for S3 System State
needs to be added between the sections for
// _S0_: S0 System State
and // _S4_: S4 System State
.
This should end up as follows:
Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) Name (_S3, Package(0x04) // _S3_: S3 System State { 0x03, 0x03, Zero, Zero }) Name (_S4, Package (0x04) // _S4_: S4 System State { 0x06, Zero, Zero, Zero })
You then need to recompile the DSDT tables and create a cpio override archive, as explained in DSDT#Using modified code.