Lenovo IdeaPad Flex 5 14alc05

From ArchWiki
Jump to navigation Jump to search

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Missing function keys table (Discuss in Talk:Lenovo IdeaPad Flex 5 14alc05#)
Hardware PCI/USB ID Working?
Video 1002:164c Yes
Speakers 1022:15e3 Yes
Microphone Yes
Wireless 8086:2723 Yes
Bluetooth 8087:0029 Yes
Keyboard Yes
Touchpad Yes
Touchscreen Yes
Webcam 5986:212a Yes
Fingerprint sensor 27c6:55b4 No
Pen input Untested
Accelerometer 1022:15e4 No
SD-card reader 10ec:522a Yes

The IdeaPad Flex 5 14alc05 is a 14-inch AMD Lucienne (Ryzen 5000)-based convertible from Lenovo.

Firmware

This device is not supported by fwupd.

Secure Boot

The BIOS accepts custom Secure Boot keys. To enroll them, you have to use KeyTool from efitools. Follow the guide under Secure Boot#Using KeyTool.

Touchpad/Touchscreen

Sometimes the touchpad and touchscreen will not work after booting due to missing module dependencies, pinctrl_amd is unavailable when the modules for the touchpad/touchscreen get loaded.

To use the touchpad/touchscreen reliably after booting, create the following file:

/etc/modprobe.d/touchpad.conf
softdep hid-multitouch pre: pinctrl_amd
softdep i2c_hid pre: pinctrl_amd
softdep i2c_designware pre: pinctrl_amd
softdep wacom pre: pinctrl_amd

Accelerometer

Since the accelerometer sensor is currently not supported, iio-sensor-proxy will not detect any motion and screen rotation through D-Bus (e.g. with GNOME) is not working.

See https://bbs.archlinux.org/viewtopic.php?pid=1933133#p1933133

Power management

(see Lenovo IdeaPad 5 14are05#Tips and tricks, similar methods)

System Performance Mode

There are 3 performance modes available: Intelligent Cooling, Extreme Performance and Battery Saving. To set them, you need to call the corresponding ACPI methods.

First install acpi_call (acpi_call-lts for LTS kernel, acpi_call-dkms for other kernels) and load the kernel module:

# modprobe acpi_call

Set it to Battery Saving mode:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0013B001' | tee /proc/acpi/call

Set it to Extreme Performance mode:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x0012B001' | tee /proc/acpi/call

Set it to Intelligent Cooling mode:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.DYTC 0x000FB001' | tee /proc/acpi/call

To verify your setting:

# echo '\_SB.PCI0.LPC0.EC0.PFMM' | tee /proc/acpi/call
# cat /proc/acpi/call | cut -d '' -f1

where 0x0 stands for Battery Saving, 0x1 for Extreme Performance and 0x2 for Intelligent Cooling.

Battery Conservation

Similarly to #System Performance Mode, make sure you have set up acpi_call.

Turn on:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x03' | tee /proc/acpi/call

Turn off:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x05' | tee /proc/acpi/call

To verify your setting:

# echo '\_SB.PCI0.LPC0.EC0.SMBM' | tee /proc/acpi/call
# cat /proc/acpi/call | cut -d '' -f1

where 0x0 stands for off and 0x1 stands for on. There is also an alternative way to control the conservation mode of the battery.

Rapid Charge

Make sure you have set up acpi_call.

Turn on:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x07' | tee /proc/acpi/call

Turn off:

# echo '\_SB.PCI0.LPC0.EC0.VPC0.SBMC 0x08' | tee /proc/acpi/call

To verify your setting:

# echo '\_SB.PCI0.LPC0.EC0.QKCM' | tee /proc/acpi/call
# cat /proc/acpi/call | cut -d '' -f1

where 0x0 stands for off and 0x1 stands for on.

Note however, that this is untested!

See also