Lenovo Yoga 7i - ArchWiki

Jump to content

Hardware | PCI/USB ID | Working?
--- | --- | ---
Wifi | `8086:a0f0` | Yes
Bluetooth | `8087:0026` | Yes
Speakers | `8086:a0c8` | Yes
Microphone |  | Yes
Webcam | `5986:212a` | Yes
Keyboard |  | Yes
Touchpad |  | Yes
Touchscreen |  | Yes
Active pen |  | Yes
Fingerprint reader | `27c6:55b4` | No

## Installation

After completing the installation process, the boot partition is not found because NVMe support for Intel's Volume Management Device is not present by default. It is therefore necessary to add `vmd` to the MODULES section section in `/etc/mkinitcpio.conf` before regenerating the initramfs, see also [1].

## Accessibility

The speakers do not work out of the box (see below), so in particular speech-aided installation is not possible.

## Power management

In order to support "Windows Modern Standby", the BIOS does not advertise S3 sleep (suspend to RAM), as discussed in detail in this forum post.

### Activating S3 sleep

Follow DSDT#Recompiling it yourself to patch the DSDT table with the following patch:

    --- dsdt.dsl
    +++ dsdt.dsl
    @@ -18,7 +18,7 @@
      *     Compiler ID      "INTL"
      *     Compiler Version 0x20210105 (539033861)
      */
    -DefinitionBlock ("", "DSDT", 2, "LENOVO", "CB-01   ", 0x00000002)
    +DefinitionBlock ("", "DSDT", 2, "LENOVO", "CB-01   ", 0x00000003)
     {
         External (_GPE.AL6F, MethodObj)    // 0 Arguments
         External (_GPE.P0L6, MethodObj)    // 0 Arguments
    @@ -516,7 +516,7 @@

         Name (SS1, Zero)
         Name (SS2, Zero)
    -    Name (SS3, Zero)
    +    Name (SS3, One)
         Name (SS4, One)
         OperationRegion (GNVS, SystemMemory, 0x45AB8018, 0x0A9B)
         Field (GNVS, AnyAcc, Lock, Preserve)

### Battery conservation mode

See Laptop/Lenovo#Battery conservation mode.

## Function keys

Key | Visible?1 | Marked?2 | Effect
--- | --- | --- | ---
`Fn+Esc` | No | Yes | Enables Fn lock
`F1` | Yes | Yes | `XF86AudioMute`
`F2` | Yes | Yes | `XF86AudioLowerVolume`
`F3` | Yes | Yes | `XF86AudioRaiseVolume`
`F4` | Yes | Yes | `XF86AudioMicMute`
`F5` | Yes | Yes | `XF86MonBrightnessDown`, see below
`F6` | Yes | Yes | `XF86MonBrightnessUp`, see below
`F7` | Yes | Yes | `Super+p`
`F8` | Yes3 | Yes | `XF86RFKill`, toggles soft-block wifi and bluetooth
`F9` | Yes | Yes | `Super+i`
`F10` | Yes | Yes | `Super+l`
`F11` | Yes | Yes | `Ctrl+Alt+Tab`
`F12` | Yes | Yes | `XF86Calculator`
`Ins` | No | Yes | Opens Lenovo Vantage on Windows, not usable on Linux
`Print` | Yes | Yes | `Mod+Shift+s`
`Fn+Space` | No | Yes | Change keyboard backlight level

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

### Brightness keys

The brightness hotkeys only emit signals after resuming from suspend-to-RAM or hibernation, but not after (re)booting. This is because they depend on initialization by an ACPI method which is called when resuming from a sleep state but not on boot.

## Speaker audio

Note: This section is outdated with linux 5.14.14, because the patch is now included in the mainline kernel and sound should work out of the box. Only if you cannot update yet, these information may still be relevant to you.

Due to this bug, the speakers do not work without modification, but there is already a patch available. To apply the patch a tool called `hda-verb` is required. This laptop also requires additional firmware in order for the sound card to work.

Install the alsa-firmware, sof-firmware, alsa-ucm-conf and alsa-tools packages and reboot to activate the firmware.

Save the following script and execute it with root privileges (e.g. `sudo activate_audio.bsh`) to activate the speakers:

    fix_audio.bsh

    #!/usr/bin/bash
    while read l ; do hda-verb /dev/snd/hwC0D0 $l ; done <<END
    0x20 0x500 0x24
    0x20 0x400 0x41
    0x20 0x500 0x26
    0x20 0x400 0x2
    0x20 0x400 0x0
    0x20 0x400 0x0
    0x20 0x4b0 0x20
    0x20 0x500 0x24
    0x20 0x400 0x46
    0x20 0x500 0x26
    0x20 0x400 0xc
    0x20 0x400 0x0
    0x20 0x400 0x2a
    0x20 0x4b0 0x20
    0x20 0x500 0x26
    0x20 0x400 0x2
    0x20 0x400 0x0
    0x20 0x400 0x0
    0x20 0x4b0 0x20
    END

## Fingerprint reader

The currently available fingerprint reader drivers for Linux do not support this model and because this is not one of Lenovo's Linux-certified machines, Lenovo will not provide Linux support for this device, either.

Category:

- Lenovo