HP Spectre x360 15-df1010na

From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Missing an Accessibility and "Function keys" section. (Discuss in Talk: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

This article or section needs expansion.

Reason: Resuming from suspend with this method is unreliable and will usually leave you needing to reboot. The methods outlined in Power management/Suspend and hibernate#Troubleshooting do not seem to solve this. If you find a solution please update this page. (Discuss in Talk:HP Spectre x360 15-df1010na)

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.