Lenovo IdeaPad Flex 5 13IML05 Chromebook

From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.
Lenovo IdeaPad Flex 5 13IML05 Chromebook

The Lenovo IdeaPad Flex 5 13IML05 Chromebook is a Chromebook released in 2020. [1] The code name of this Chromebook is Akemi.

This Chromebook should not be confused with the Lenovo IdeaPad Flex 5 13ITL6 Chromebook released in 2021. [2]

Hardware

Standard

Device Make/model Status Vendor ID / Product ID Kernel driver(s) Kernel version Notes
CPU Intel® Core™ i3-10110U Works N/A N/A 6.6.13
GPU Intel Corporation CometLake-U GT2 [UHD Graphics] Works 8086:9b41 i915 6.6.13
SSD Samsung Electronics Co Ltd NVMe SSD Controller 980 Works 144d:a809 nvme 6.6.13
MicroSD card reader Intel Corporation Comet Lake PCH-LP SCS3 Works 8086:02f5 sdhci-pci 6.6.13
USB Ports Intel Corporation Comet Lake PCH-LP USB 3.1 xHCI Host Controller Works N/A xhci_hcd 6.6.13
Wi-Fi Intel® Wi-Fi 6 AX201 Works 8086:02f0 iwlwifi 6.6.13 The card is affected by a bug.
Bluetooth Intel® Wi-Fi 6 AX201 Works 8087:0026 btusb 6.6.13
Speakers Intel Corporation Comet Lake PCH-LP cAVS Works 8086:02c8 sof-audio-pci-intel-cnl 6.6.13
Microphone Intel Corporation Comet Lake PCH-LP cAVS Works N/A sof-audio-pci-intel-cnl 6.6.13
3.5mm jack Intel Corporation Comet Lake PCH-LP cAVS Works N/A sof-audio-pci-intel-cnl 6.6.13
Touchpad N/A Works 06cb:cde1 N/A 6.6.13
Touchscreen N/A Works 27c6:0e32 N/A 6.6.13
Webcam Syntek Integrated Camera Works 174f:244f uvcvideo 6.6.13

Accessories

Device Make/model Status Bus ID Kernel driver(s) Kernel version Notes
Stylus N/A Not tested N/A N/A N/A

Installation

Warning
Installing the operating system on this Chromebook requires flashing the UEFI firmware.

Gentoo LiveGUI USB Image

Sound

Warning
The following script automatically re-logins the user, causing running applications to stop working. Save any changes before running the script to prevent data loss.
Important
The script requires root privileges.

By default, the sound card is disabled, there is no output to the speakers and there is no way to connect a Bluetooth headset. The image does not contain required firmware blobs, so it is necessary to install them. The following script installs the blobs and configures PipeWire to use the sound card.

FILE sound.sh
#!/bin/bash
emerge --sync
emerge sof-firmware
rmmod snd_sof_pci_intel_cnl
modprobe snd_sof_pci_intel_cnl
echo "media-video/pipewire pipewire-alsa" > /etc/portage/package.use/pipewire
emerge pipewire
usermod -aG pipewire gentoo
mkdir -p /etc/pipewire/pipewire.conf.d
cat <<EOF > /etc/pipewire/pipewire.conf.d/alsa.conf
context.objects = [
  { factory = adapter
    args = {
      factory.name      = api.alsa.pcm.sink
      node.name         = "alsa-sink"
      node.description  = "PCM Sink"
      media.class       = "Audio/Sink"
      api.alsa.path     = "hw:0,5"
    }
  }

  { factory = adapter
    args = {
      factory.name      = api.alsa.pcm.source
      node.name         = "alsa-source"
      node.description  = "PCM Source"
      media.class       = "Audio/Source"
      api.alsa.path     = "plughw:0,1"
    }
  }
]
EOF
rc-service bluetooth start
loginctl terminate-user gentoo

Firmware

WiFi, Bluetooth, GPU blobs:

root #emerge --ask sys-kernel/linux-firmware
  • iwlwifi-QuZ-a0-hr-b0-77.ucode
  • intel/ibt-19-0-4.sfi
  • intel/ibt-19-0-4.ddc
  • i915/kbl_dmc_ver1_04.bin


Sound blobs:

root #emerge --ask sys-firmware/sof-firmware
  • intel/sof/community/sof-cml.ri
  • intel/sof-tplg/sof-cml-rt5682-max98357a.tplg


CPU blobs:

root #emerge --ask sys-firmware/intel-microcode
  • intel-ucode/06-8e-0c

Kernel

KERNEL All required external firmware (kernel version 6.6.13)
Device Drivers  --->
    Generic Driver Options  --->
        Firmware loader --->
            -*- Firmware loading facility
            (intel-ucode/06-8e-0c iwlwifi-QuZ-a0-hr-b0-77.ucode intel/ibt-19-0-4.sfi intel/ibt-19-0-4.ddc intel/sof/community/sof-cml.ri intel/sof-tplg/sof-cml-rt5682-max98357a.tplg i915/kbl_dmc_ver1_04.bin) External firmware blobs to build into the kernel binary
            (/lib/firmware) Firmware blobs root directory
KERNEL Graphics
Device Drivers  --->
    Graphics support  --->
        Frame buffer Devices  --->
            [*] Support for frame buffer devices
        [*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
        [*] Intel 8xx/9xx/G3x/G4x/HD Graphics
        [*] Enable legacy fbdev support for your modesetting driver
KERNEL SSD
Device Drivers  --->
    NVME Support  --->
        [*] NVM Express block device
KERNEL WiFi
Device Drivers  --->
    [*] Network device support  --->
        [*] Wireless LAN  --->
            [*] Intel devices
            [*]   Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
            [*]     Intel Wireless WiFi MVM Firmware support
KERNEL I2C Bus
Device Drivers  --->
    I2C support  --->
        -*- I2C support
              I2C Hardware Bus support  --->
                  [*] Intel 82801 (ICH/PCH)
                  [*] Synopsys DesignWare Platform
                  [*] Synopsys DesignWare PCI
    HID bus support  --->
        --- HID bus support
        [*]   I2C HID support  --->
                [*] HID over I2C transport layer ACPI driver
KERNEL Touchscreen (relies on the I2C bus)
Device Drivers  --->
    HID bus support  --->
        --- HID bus support
        [*]   Generic HID driver
KERNEL Touchpad (relies on the I2C bus)
Device Drivers  --->
    HID bus support  --->
        --- HID bus support
              Special HID drivers  --->
                  [*] Synaptics RMI4 device support
KERNEL External USB mouses (optional)
Device Drivers  --->
    HID bus support  --->
        --- HID bus support
              USB HID support  --->
                [*] USB HID transport layer
KERNEL Sound
Device Drivers  --->
    -*- Pin controllers  --->
        Intel pinctrl drivers  --->
            [*] Intel Cannon Lake PCH pinctrl and GPIO driver
    [*] Sound card support  --->
        [*] Advanced Linux Sound Architecture  --->
            HD-Audio  --->
                [*] Build HDMI/DisplayPort HD-audio codec support
            [*] ALSA for SoC audio support  --->
                [*] Sound Open Firmware Support  --->
                    [*] SOF PCI enumeration support
                    [*] SOF support for Intel audio DSPs
                    [*] SOF support for CometLake
                    [*] SOF support for HDA Links(HDA/HDMI)
                    [*]   SOF support for HDAudio codecs
                -*- Intel Machine drivers  --->
                    [*] SOF with rt5682 codec in I2S Mode
KERNEL Webcam
Device Drivers  --->
    Multimedia support  --->
        --- Multimedia support
              Media core support  --->
                [*] Video4Linux core
              Media drivers  --->
                [*] Media USB Adapters  --->
                      --- Media USB Adapters
                      [*]   USB Video Class (UVC)

Configuration

Sound

Important
The user must belong to the audio and pipewire groups, otherwise the daemon will not connect to the sink.

Install media-video/pipewire with the following USE flags: sound-server, pipewire-alsa, bluetooth (optional).

The sound doesn't work out of the box, so you have to manually specify the sink and source. In the case of Bluetooth or 3.5mm jack, no additional configuration is required.

FILE /etc/pipewire/pipewire.conf.d/alsa.conf
context.objects = [
  { factory = adapter
    args = {
      factory.name	= api.alsa.pcm.sink
      node.name		= "alsa-sink"
      node.description	= "PCM Sink"
      media.class	= "Audio/Sink"
      api.alsa.path	= "hw:0,5"
    }
  }

  { factory = adapter
    args = {
      factory.name	= api.alsa.pcm.source
      node.name		= "alsa-source"
      node.description	= "PCM Source"
      media.class	= "Audio/Source"
      api.alsa.path	= "plughw:0,1"
    }
  }
]

See also

External resources

References