HP Spectre x360 15-ap012dx

From ArchWiki

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

Reason: Stub (Discuss in Talk:HP Spectre x360 15-ap012dx)
Hardware PCI/USB ID Working?
GPU Yes
Wireless Yes
Bluetooth Yes
Audio Yes
Touchpad Yes
Touchscreen Yes
Webcam Yes
Card Reader Yes

This article is based on my personal experience with this laptop using Arch x86_64 (kernel 4.8.6-1-ARCH). While I found no noticeable issues remained after the initial installation, some issues have been found in a similar model (see HP Spectre x360 4231).

Hardware info

Specifications

This model was released in February 2016.

Installation

Installing Arch was mostly without hiccup; you do need to disable secure boot (F10 for BIOS options; F9 for boot options). Dual boot was not tested. The laptop does not have a CD drive, so you have to use a USB stick.

The following packages got all the hardware working for me:

xorg-server
xf86-video-intel
xf86-input-synaptics
libsynaptics
mesa
bluez
bluez-utils
bluez-hid2hci
pulseaudio-bluetooth

Tweaks

KDE scaling

The screen natively runs at 3840x2160. KDE by default does not assume a scaling factor. You can go to System Settings > Display and Monitor > Displays > Scale Display to select a scaling factor. Often a factor of 2 is recommended (e.g. a factor of 2 is the default in Gnome). I use a factor of 1.5.

Screen Rotation

The laptop can be flipped completely (hence the 360 in the name) and it is sometimes useful to rotate the display. It is unclear whether this can be done automatically by detecting the physical laptop orientation, but it should be easy enough to map a shortcut to the following script to toggle the screen display (Source: Touchscreen Input Doesn't Rotate: Lenovo Yoga 13 / Yoga 2 Pro)

#!/bin/bash
# This script rotates the screen and touchscreen input 180 degrees,
# disables the touchpad, and enables the virtual keyboard And rotates
# screen back if the touchpad was disabled

isEnabled=$(xinput --list-props 'SynPS/2 Synaptics TouchPad' | awk '/Device Enabled/{print $NF}')

if [ $isEnabled == 1 ]
then
    echo "Screen is turned upside down"
    xrandr -o inverted
    xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
    xinput disable 'SynPS/2 Synaptics TouchPad'
    # Remove hashtag below if you want pop-up the virtual keyboard
    # onboard &
else
    echo "Screen is turned back to normal"
    xrandr -o normal
    xinput set-prop 'ELAN Touchscreen' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
    xinput enable 'SynPS/2 Synaptics TouchPad'
    # killall onboard
fi

TTY font

In case you find the tty font annoyingly small, I would recommend installing terminus-font and using one of the larger fonts available there (e.g. setfont ter-m24b).

To make this permanent,

  • Edit /etc/vconsole.conf to "FONT=ter-m24b"
  • Add consolefont to HOOKS="..."
  • Run mkinitcpio -p linux

Mute Button LED

In order to get the LED Indicator on the mute button to function, you must add the following line to /etc/modprobe.d/alsa-base.conf (create alsa-base.conf if it does not exist) and then reboot. The LED should now be toggled on or off depending on the mute state.

options snd-hda-intel model=mute-led-gpio