HP Omnibook Ultra Flip 14-fh0645nd

From Gentoo Wiki
Jump to:navigation Jump to:search
Resources
[None Specifications]

HP Omnibook Ultra Flip 14-fhxxxxnl is a series of 2-in-1 laptop devices released by Hewlett-Packard in 2024. They are compact, light, reasonably powerful and elegant. They are produced with Intel chipsets and CPU, providing good support on Linux.

Hardware

Full list of hardware also available Linux Hardware

Standard

Device Make/model Status Vendor ID / Product ID Kernel driver(s) Kernel version Notes
CPU Intel® Core™ Ultra 7 258V Works intel-6-189-1 N/A 6.12.21 This CPU rocks!
Wireless Intel® Wi-Fi 7 BE201 (2x2)/Wi-Fi 6E AX231 160MHz Works 8086:2723 iwlwifi N/A Requires firmware from sys-kernel/linux-firmware
Bluetooth Intel® Wi-Fi 7 BE201 (2x2)/Wi-Fi 6E AX231 160MHz Work 8086:a876 btintel_pcie N/A Make sure to have firmware sys-kernel/linux-firmware-20250410. Reported here as well
Quanta Computer, Inc. HP 9MP Camera Works 0408:546e uvcvideo N/A Tested with V4l tester. Make sure to install V4L. You can test with v4l2-ctl
Touch screen ELAN2513:00 Works 04F3:4301 hid_multitouch unknown, tested working in 5.10+ Multi-touch works
Audio Lunar Lake-M HD Audio Controller Works 8086:a828 snd_hda_intel, snd_sof_pc unknown, tested working in 5.10+
Fingerprint reader Synaptics, Inc Works 06cb:0174 N/A N/A Support in libfprint available from version 1.94.9
Video card Intel® Arc™ graphics card [Intel Arc Graphics 130V / 140V] Borked 8086:64a0 N/A N/A Need to test it yet

Accessories

(Optional section. Describe any accessories that may be possible in this section. Anything from external plug-and-play LCD screens to computer docks.)

Device Make/model Status Vendor ID / Product ID Kernel driver(s) Kernel version Notes
Pen HP 700 Rechargeable Multi Pen Not tested N/A N/A N/A Waiting for the delivery.

Detailed information

root #uname -r
6.12.21-gentoo-dist
root #lscpu
Architecture:             x86_64
  CPU op-mode(s):         32-bit, 64-bit
  Address sizes:          42 bits physical, 48 bits virtual
  Byte Order:             Little Endian
CPU(s):                   8
  On-line CPU(s) list:    0-7
Vendor ID:                GenuineIntel
  Model name:             Intel(R) Core(TM) Ultra 7 258V
    CPU family:           6
    Model:                189
    Thread(s) per core:   1
    Core(s) per socket:   8
    Socket(s):            1
    Stepping:             1
    CPU(s) scaling MHz:   20%
    CPU max MHz:          4800.0000
    CPU min MHz:          400.0000
    BogoMIPS:             6607.00
    Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_goo
                          d nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_
                          timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb intel_ppin ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep 
                          bmi2 erms invpcid rdt_a rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni lam wbnoinvd dtherm ida arat pln pts hwp hwp_notify hw
                          p_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid bus_lock_detect movdiri movdir64b fsrm md_clear serialize pconfig arch_lbr ibt flush_l1d arch_capabilit
                          ies
Virtualization features:  
  Virtualization:         VT-x
Caches (sum of all):      
  L1d:                    320 KiB (8 instances)
  L1i:                    512 KiB (8 instances)
  L2:                     14 MiB (5 instances)
  L3:                     12 MiB (1 instance)
NUMA:                     
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-7
Vulnerabilities:          
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Not affected
  Reg file data sampling: Not affected
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
  Srbds:                  Not affected
  Tsx async abort:        Not affected
root #lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:6400] (rev 04)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
00:02.0 VGA compatible controller [0300]: Intel Corporation Lunar Lake [Intel Arc Graphics 130V / 140V] [8086:64a0] (rev 04)
        DeviceName: Onboard IGD
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: xe
        Kernel modules: xe
00:04.0 Signal processing controller [1180]: Intel Corporation Device [8086:641d] (rev 04)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: proc_thermal_pci
        Kernel modules: processor_thermal_device_pci
00:07.0 PCI bridge [0604]: Intel Corporation Lunar Lake-M Thunderbolt 4 PCI Express Root Port #0 [8086:a84e] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: pcieport
00:07.2 PCI bridge [0604]: Intel Corporation Lunar Lake-M Thunderbolt 4 PCI Express Root Port #2 [8086:a860] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: pcieport
00:0a.0 Signal processing controller [1180]: Intel Corporation Device [8086:647d] (rev 04)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel_vsec
        Kernel modules: intel_vsec
00:0b.0 Processing accelerators [1200]: Intel Corporation Lunar Lake NPU [8086:643e] (rev 04)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel_vpu
        Kernel modules: intel_vpu
00:0d.0 USB controller [0c03]: Intel Corporation Lunar Lake-M Thunderbolt 4 USB Controller [8086:a831] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: xhci_hcd
00:0d.2 USB controller [0c03]: Intel Corporation Lunar Lake-M Thunderbolt 4 NHI #0 [8086:a833] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: thunderbolt
        Kernel modules: thunderbolt
00:0d.3 USB controller [0c03]: Intel Corporation Lunar Lake-M Thunderbolt 4 NHI #1 [8086:a834] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: thunderbolt
        Kernel modules: thunderbolt
00:12.0 Serial controller [0700]: Intel Corporation Lunar Lake-M Integrated Sensor Hub [8086:a845] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel_ish_ipc
        Kernel modules: intel_ish_ipc
00:13.0 Communication controller [0780]: Intel Corporation Device [8086:a862] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
00:14.0 USB controller [0c03]: Intel Corporation Lunar Lake-M USB 3.2 Gen 2x1 xHCI Host Controller [8086:a87d] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: xhci_hcd
00:14.2 RAM memory [0500]: Intel Corporation Device [8086:a87f] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
00:14.3 Network controller [0280]: Intel Corporation Device [8086:a840] (rev 10)
        Subsystem: Intel Corporation Device [8086:00e4]
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi
00:14.7 Bluetooth [0d11]: Intel Corporation Device [8086:a876] (rev 10)
        Subsystem: Intel Corporation Device [8086:000e]
        Kernel driver in use: btintel_pcie
        Kernel modules: btintel_pcie
00:15.0 Serial bus controller [0c80]: Intel Corporation Lunar Lake-M Serial IO I2C Controller #0 [8086:a878] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel-lpss
00:15.2 Serial bus controller [0c80]: Intel Corporation Lunar Lake-M Serial IO I2C Controller #2 [8086:a87a] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel-lpss
00:16.0 Communication controller [0780]: Intel Corporation Device [8086:a870] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: mei_me
        Kernel modules: mei_me
00:19.0 Serial bus controller [0c80]: Intel Corporation Device [8086:a850] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel-lpss
00:19.1 Serial bus controller [0c80]: Intel Corporation Device [8086:a851] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel-lpss
00:1c.0 PCI bridge [0604]: Intel Corporation Lunar Lake-M PCI Express Root Port #5 [8086:a83c] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: pcieport
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:a807] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Lunar Lake-M HD Audio Controller [8086:a828] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: sof-audio-pci-intel-lnl
        Kernel modules: snd_hda_intel, snd_sof_pci_intel_lnl
00:1f.4 SMBus [0c05]: Intel Corporation Lunar Lake-M SMbus Controller [8086:a822] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
00:1f.5 Serial bus controller [0c80]: Intel Corporation Lunar Lake-M SPI Controller [8086:a823] (rev 10)
        Subsystem: Hewlett-Packard Company Device [103c:8cde]
        Kernel driver in use: intel-spi
        Kernel modules: spi_intel_pci
55:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO [144d:a80a]
        Subsystem: Samsung Electronics Co Ltd SSD 980 PRO [144d:a801]
        Kernel driver in use: nvme
        Kernel modules: nvme
root #lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 06cb:0174 Synaptics, Inc. 
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 002: ID 0408:546e Quanta Computer, Inc. HP 9MP Camera
root #lsusb -vt
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/1p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/3p, 20000M/x2
    ID 1d6b:0003 Linux Foundation 3.0 root hub
/:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/8p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 005: Dev 002, If 0, Class=Vendor Specific Class, Driver=[none], 12M
        ID 06cb:0174 Synaptics, Inc. 
/:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 20000M/x2
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 002: Dev 002, If 0, Class=Video, Driver=uvcvideo, 5000M
        ID 0408:546e Quanta Computer, Inc. 
    |__ Port 002: Dev 002, If 1, Class=Video, Driver=uvcvideo, 5000M
        ID 0408:546e Quanta Computer, Inc. 
    |__ Port 002: Dev 002, If 2, Class=Video, Driver=uvcvideo, 5000M
        ID 0408:546e Quanta Computer, Inc. 
    |__ Port 002: Dev 002, If 3, Class=Video, Driver=uvcvideo, 5000M
        ID 0408:546e Quanta Computer, Inc. 
    |__ Port 002: Dev 002, If 4, Class=Human Interface Device, Driver=usbhid, 5000M
        ID 0408:546e Quanta Computer, Inc. 
    |__ Port 002: Dev 002, If 5, Class=Application Specific Interface, Driver=[none], 5000M
        ID 0408:546e Quanta Computer, Inc.

Installation

Nothing more than what is written in the AMD64 Handbook. The only caveat is that you need to disable a couple of things in the EUFI system in order to boot from USB. You need to disable `BIOS sure start` e `Secure boot`

Firmware

(Optional section.)

Kernel

I used a dist kernel. So, no extra options for me.

KERNEL Enable support for these hardware drivers
Write menuconfig instructions here.

Emerge

TO make sure you have tools to run some checks, you need to emerge several packages:


root #emerge --ask app-misc/wayland-utils
root #emerge --ask x11-apps/mesa-progs

Configuration

Portage settings

FILE /etc/portage/make.confSuggested Portage settings
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe -march=arrowlake-s -fno-semantic-interposition "
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
MAKEOPTS="-j4 -l5"

# NOTE: This stage was built with the bindist USE flag enabled

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.utf8

# Use binhost when possible
# Appending getbinpkg to the list of values within the FEATURES variable
FEATURES="${FEATURES} getbinpkg"
# Require signatures
FEATURES="${FEATURES} binpkg-request-signature"

# License
# Overrides the profile's ACCEPT_LICENSE default value
ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"
USE="X a52 aac acl acpi activities alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus declarative dri dts dvd dvdr encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kwallet lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses networkmanager nls ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 qt6 readline screencast sdl seccomp semantic-desktop sound sound-server spell ssl startup-notification svg systemd test-rust tiff truetype udev udisks unicode upower usb v4l vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib modules-sign secureboot dist-kernel"

# Optionally, to use custom signing keys.
MODULES_SIGN_KEY="/usr/src/certs/kernel_key.pem"
MODULES_SIGN_CERT="/usr/src/certs/kernel_key.pem" # Only required if the MODULES_SIGN_KEY does not also contain the certificate.
MODULES_SIGN_HASH="sha512" # Defaults to sha512.
# Optionally, to boot with secureboot enabled, may be the same or different signing key.
SECUREBOOT_SIGN_KEY="/usr/src/certs/kernel_key.pem"
SECUREBOOT_SIGN_CERT="/usr/src/certs/kernel_key.pem"

# Python
PYTHON_TARGETS="python3_13"
# GRUB
GRUB_PLATFORMS="efi-64"

# L10N
L10N="it en-GB"


Troubleshooting

Audio, bluetooth and fingerprint do not work out of the box.

Audio

Audio does not work. Pipewire seems to only see a dummy devices. I did the following. First, I installed sof. See handbook here

Then, I noticed that the devices were loaded but still no audio. The logs were telling me the following:

wireplumber[2626]: wp-internal-comp-loader: Loading profile 'main'
wireplumber[2626]: spa.bluez5: BlueZ system service is not available
wireplumber[2626]: wp-device: SPA handle 'api.v4l2.enum.udev' could not be loaded; is it installed?
wireplumber[2626]: s-monitors-v4l2: PipeWire's V4L2 SPA plugin is missing or broken. Some camera types may not be supported.
wireplumber[2626]: wp-device: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
wireplumber[2626]: s-monitors-libcamera: PipeWire's libcamera SPA plugin is missing or broken. Some camera types may not be supported.
systemd[1008]: Reload requested from client PID 2668 ('systemctl') (unit app-org.kde.konsole@88d14af7c1dd415e826b030cde16c7cc.service)...
systemd[1008]: Reloading...
systemd[1008]: Reloading finished in 203 ms.

So, I tried to add V4L to USE flags. There are records on reddit of this Re-emerging pipewire with v4l use flag enabled fixed the issue and sound is working now.

root #echo "<media-video/pipewire v4l" >> /etc/portage/package.use/system
root #emerge --ask media-video/pipewire

-1.4.2:0/0.4::gentoo USE="X bluetooth dbus extra ffmpeg gstreamer readline sound-server ssl systemd v4l

Bluetooth

Bluetooth did not work.

$ journalctl -b | grep Bluetooth
May 06 22:32:47 elea systemd[1]: Reached target Bluetooth Support.
May 06 22:32:47 elea kernel: Bluetooth: hci0: Device moved to D0 in 4367 usecs
May 06 22:32:47 elea kernel: Bluetooth: hci0: dsbr: enable: 0x01 value: 0x0b
May 06 22:32:47 elea kernel: Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-0190-0291-pci.sfi (-2)
May 06 22:32:47 elea kernel: Bluetooth: hci0: Failed to read MSFT supported features (-56)
May 06 22:39:13 elea systemd[1]: Stopped target Bluetooth Support.

One needs to use a firmware newer than linux-firmware 20250311.b69d4b74-3 Being discussed on reddit[1] and Arch community[2]

root #echo "<=sys-kernel/linux-firmware-20250410 **" >> /etc/portage/package.accept_keywords/system
root #emerge --ask sys-kernel/linux-firmware


Fingerprint Reader

Fingerprint reader did not work out of the box. The device is supported by libfprint, but only in release 1.94.9. On Gentoo, there is an open bug with a pull request for the version 1.94.9 that we hope to merge soon.

Once that is available, you can simple add it to your keywords and emerge it.

root #echo "<=sys-auth/libfprint-1.94.9 **" >> /etc/portage/package.accept_keywords/system
root #emerge --ask sys-auth/libfprint

References