HP Spectre x360 (2020)

This article or section does not follow the
Laptop page guidelines
.
Reason:
Missing accessibility section and a function key table. (Discuss in
Talk:HP Spectre x360 (2020)
)
Hardware
PCI/USB ID
Working?
GPU
8086:9a49
Yes
Wi-Fi
8086:a0f0
Yes
Bluetooth
8087:0026
Yes
Audio
8086:a0c8
Yes
Touchpad
04F3:315B
Yes
Touchscreen
04F3:2BF1
Yes
Webcam
0408:5442
Yes
Fingerprint sensor
04f3:0c4c
Experimental
This article covers hardware specific configuration of this laptop, some minor issues remain after customization. These can be performed after an installation of Arch Linux has been finished and the machine rebooted into it.
For a general overview of laptop-related articles and recommendations, see
Laptop
.
Hardware info
Hardware options
This wiki covers the HP Spectre x360 released in 2020 containing TigerLake CPUs. The SKUs covered by this article include, but might not be limited to:
13-aw2777ng
14t-ea000
14-ea0x
Tweaks
Brightness / backlight (OLED Screens)
See
Backlight
for more information on how to configure backlight control. Some OLED displays require additional software to be able to adjust the backlight as there is not really a backlight. See also
Backlight#Unable to control eDP Panel brightness (Intel i915 only)
in this case.
icc-brightness-gnome-git
AUR
can be installed which may enable brightness control under GNOME (and possibly other environments).
Rotation
For GNOME and Plasma and possibly others install
iio-sensor-proxy
.
Audio
This laptop requires
Sound Open Firmware
in order for the soundcard to work.
Ensure that PulseAudio is configured and running. Ensure that PulseAudio can detect the sound card:
$ pactl list cards
Card #0
	Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
	Driver: module-alsa-card.c
	Owner Module: 6
	Properties:
		alsa.card = "0"
		alsa.card_name = "sof-hda-dsp"
		alsa.long_card_name = "HP-HPSpectrex360Convertible14t_ea000--87F7"
		alsa.driver_name = "snd_soc_skl_hda_dsp"
		device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "a0c8"
		device.product.name = "Tiger Lake-LP Smart Sound Technology Audio Controller"
		device.string = "0"
		device.description = "Tiger Lake-LP Smart Sound Technology Audio Controller"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Profiles:
		HiFi: Play HiFi quality Music (sinks: 4, sources: 2, priority: 8000, available: yes)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
	Active Profile: HiFi
	Ports:
		[Out] HDMI3: HDMI3 Output (type: HDMI, priority: 700, latency offset: 0 usec, not available)
			Part of profile(s): HiFi
		[Out] HDMI2: HDMI2 Output (type: HDMI, priority: 600, latency offset: 0 usec, not available)
			Part of profile(s): HiFi
		[Out] HDMI1: HDMI1 Output (type: HDMI, priority: 500, latency offset: 0 usec, not available)
			Part of profile(s): HiFi
		[Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
			Part of profile(s): HiFi
		[Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, not available)
			Part of profile(s): HiFi
		[In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, not available)
			Part of profile(s): HiFi
		[In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
			Part of profile(s): HiFi
No additional configuration should be required to get PulseAudio to detect the card.
Kernels prior to 5.14.2
The information below pertains to kernels before 5.14.2 and is kept in case of new models which require additional kernel patches.
Once the card is detected, you need to run the following:
# hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DIR 0x01
# hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_MASK 0x01
# hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x01
# hda-verb /dev/snd/hwC0D0 0x01 SET_GPIO_DATA 0x00
Then restart PulseAudio. You might need to apply the above changes twice to get them to take effect. The above will need to be run on every boot until upstream makes the required changes. This is because "The audio chip has an amplifier pin that needs to be set. It is pin 1..."
https://askubuntu.com/questions/1263178/20-04-no-speaker-audio-on-hp-spectre-x360-2020-15t-eb000
The kernel may be patched by updating the quirk list at
sound/pci/hda/patch_realtek.c
with the appropriate subdevice ID.
Power Management
Keyboard
After boot or resume the keyboard may fail to respond for up to 30 seconds. This is due to a bug in the i8042 emulation provided by the firmware. This can be worked around with a modified i8042 module using DKMS. Follow the instructions
here
to install the module.
Function Keys
All function keys work as expected except the keys mentioned below.
Mute Button Light (F5)
Microphone Mute (F8)
This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
This should be shortened so that it avoid duplicating instructions in
Map scancodes to keycodes
. (Discuss in
Talk:HP Spectre x360 (2020)
)
The OS does not recognize the key press, but it does detect it and can be manually configured.
[ 2834.402270] atkbd serio0: Unknown key pressed (translated set 2, code 0x82 on isa0060/serio0).
[ 2834.402274] atkbd serio0: Use 'setkeycodes e002 <keycode>' to make it known.
[ 2834.487944] hp_wmi: Unknown key code - 0x270
[ 2834.494508] atkbd serio0: Unknown key released (translated set 2, code 0x82 on isa0060/serio0).
[ 2834.494514] atkbd serio0: Use 'setkeycodes e002 <keycode>' to make it known.
Create the following file
/etc/udev/hwdb.d/90-internal-keyboard.hwdb
evdev:input:b0011v0001p0001eAB83*
 KEYBOARD_KEY_82=f20
Then
update the hardware database index
.
Kill Camera
The Disable Camera button physically disconnects the Webcam device from the host. The OS does not recognize the keypress, but it is detected.
Disconnected:
[ 2449.374540] hp_wmi: Unknown event_id - 26 - 0xff
[ 2449.480281] usb 3-5: USB disconnect, device number 5
Re-connected:
[ 2451.701121] hp_wmi: Unknown event_id - 26 - 0xfe
[ 2451.930245] usb 3-5: new high-speed USB device number 6 using xhci_hcd
[ 2452.072569] usb 3-5: New USB device found, idVendor=0408, idProduct=5442, bcdDevice= 0.11
[ 2452.072574] usb 3-5: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[ 2452.072576] usb 3-5: Product: HP True Vision HD Camera
...
Fingerprint Reader
The fingerprint reader is not supported out of the box by libfprint. An experimental driver has been developed by Davide Depau and at the time of writing there is an open Merge Request to libfprint to add this driver:
[1]
.
Until this driver has been merged the package
libfprint-elanmoc2-git
AUR
may be used which builds directly from Davide's repository. This driver has limitations, in particular it requires that all existing prints to be cleared before it will work, see the MR for more details.
If you have removed Windows and wish to clear all prints then this is possible from the BIOS menu.
For more information on libfprint see
Fprint
.