Jump to content

# Lenovo ThinkPad Z16 Gen 2

From ArchWiki

Hardware | PCI/USB ID | Working?
--- | --- | ---
Haptic Touchpad | `2C2F:0027` | Partial
TrackPoint |  | Yes
TouchScreen | `056A:5383` | Yes
Stylus | `056A:5383` | Untested
GPU | `1002:15bf` | Yes
Webcam | `04f2:b78b` | Yes
IR camera | `04f2:b78c` | Untested
Audio | `1022:15e3` | Yes
Wireless | `14c3:0616` | Yes
Bluetooth | `0489:e0d9` | Yes
Fingerprint reader | `06cb:0123` | Untested
USB4 |  | Yes
TPM |  | Untested

## Accessibility

The BIOS only offers GUI operation, and can be navigated to some degree via the keyboard.

Note: Blind users may want to request the help of a sighted person to change BIOS settings

## Haptic Touchpad

The device uses a I2C HID Sensel haptic touchpad, with configurable force requirements and haptic feedback.

### Initialization failure

Linux 6.8.x prior to 6.8.9 had an issue where I2C HID devices would fail to initialize. Upgrade to 6.8.9 to fix the issue. See https://bugzilla.redhat.com/show_bug.cgi?id=2271136 for details.

### Sensitivity and Haptic intensity

The haptic intensity can be set using hid-tools at runtime. Configuration options can be listed as follows after installing the package:

    # hid-feature list /dev/hidraw0

To set maximum haptics:

     # hid-feature set /dev/hidraw0 -f b0000 100

Configuration for click sensitivity has not yet been identified,

The device reverts to default settings after reboot, which feels like a high sensitivity requiring only light press and a medium or low haptic intensity.

## Webcam

Works out of the box. However, web applications have a tendency to pick the IR camera first, which will fail and require changing the camera selection.

## GPU

The integrated GPU is seeing very active support from AMD. The iGPU is shared with certain Framework models, with AMD actively engaging with their forums.

The dedicated GPU is an older RDNA2 chip. All displays connect to the iGPU.

### GPU glitches

Before kernel 6.8, an issue with VRAM management lead to occasional graphical glitches when the iGPU was running out of VRAM. The issue is described here: https://gitlab.freedesktop.org/drm/amd/-/issues/3097

### GPU Resets

The GPU currently has a tendency to reset under certain applications, Chrome and Electron in particular. Handling this gracefully requires a display server that correctly handles GPU resets.

In case of Sway, this currently requires running the master branch through sway-gitAUR.

### Display brightness (OLED)

The brightness for the OLED panel uses the amdgpu's "aux" controls. The brightness slowly animates to the selected value. The scale appears very non-linear, with 30% under Linux more or less matching 75% under Windows.

Whenever the display is re-enabled (e.g., due to closing the lid), it does so at a a default brightness value despite the kernel still reporting the previously set value.

## USB4/Thunderbolt

When connected to a Thunderbolt 3 dock during boot, USB has a tendency to stop working after boot completes, despite USB being functional for e.g., cryptsetup prompts earlier.

Disconnecting the cable and plugging it back in fixes it as a workaround.

## Function keys

`Ctrl` is placed to the left of `Fn`, which differs from the normal ThinkPad placement where `Fn` is on the left. The buttons are the same size, and can be swapped in the firmware as usual.

Key | Visible?1 | Marked?2 | Effect
--- | --- | --- | ---
`Fn` | Yes | No | `XF86WakeUp`
`Fn+Esc` | No | Yes | Enables Fn lock
`Fn+F1` | Yes | Yes | `XF86AudioMute`
`Fn+F2` | Yes | Yes | `XF86AudioLowerVolume`
`Fn+F3` | Yes | Yes | `XF86AudioRaiseVolume`
`Fn+F4` | Yes | Yes | `XF86AudioMicMute`
`Fn+F5` | Yes | Yes | `XF86MonBrightnessDown`
`Fn+F6` | Yes | Yes | `XF86MonBrightnessUp`
`Fn+F7` | Yes | Yes | `XF86Display`
`Fn+F8` | Yes | Yes | `XF86WLAN`3
`Fn+F9` | No | Yes | Toggle Webcam
`Fn+F10` | Yes | Yes | `XF86Go`
`Fn+F11` | Yes | Yes | `Cancel`
`Fn+F12` | Yes | Yes | `XF86Favorites`
`Fn+Space` | No | Yes | Cycle keyboard backlight
`Fn+Tab` | Yes | No | `XF86FullScreen`
`Fn+PrtSc` | Yes | No | `XF86Launch2`
`Fn+Shift_R` | Yes | No | `XF86Launch3`
`Fn+4` | Yes | No | `XF86Sleep`3
`Fn+B` | Yes | No | `Ctrl_L + Break`
`Fn+P` | Yes | No | `Pause`
`Fn+K` | Yes | No | `Scroll Lock`
`Fn+Left` | Yes | No | `Home`
`Fn+Right` | Yes | No | `End`
`Fn+Up` | Yes | Yes | `Prior`
`Fn+Down` | Yes | Yes | `Next`
`Fn+S` | Yes | No | `Alt_L + Sys_Req`
`Fn+End` | Yes | Yes | `Ins`
`Fn+Shift_L+S` | Yes | No | `Meta_L`

1. The key is visible via `wev` and similar tools
2. The physical key has a symbol on it, which describes its function
3. systemd-logind handles this by default

## See also

Specification: https://psref.lenovo.com/syspool/Sys/PDF/ThinkPad/ThinkPad_Z16_Gen_2/ThinkPad_Z16_Gen_2_Spec.pdf

Ubuntu certification: https://ubuntu.com/certified/202311-32301

Category:

- Lenovo