Lenovo Legion Y7000P2020H

From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Stub: missing hardware IDs, a function key table, the accessibility section, #BIOS should be expanded and renamed to fit the criteria for the firmware section. (Discuss in Talk:Lenovo Legion Y7000P2020H)
Hardware PCI/USB ID Working?
GPU (Intel) Yes
GPU (Nvidia) Partial
Backlight Partial
Ethernet Yes
Wireless Yes
Audio Yes
Webcam No
Bluetooth Yes
Thunderbolt No
Keyboard Partial
Touchpad Yes
TPM Yes
Fingerprint reader Yes
SD-card reader No
Speakers Yes
Microphone Yes
Ambient light sensor No

For a general overview of laptop-related articles and recommendations, see Laptop.

BIOS

At bootup, the BIOS settings page is entered via the F2 key.

In the BIOS settings, the model name can be seen in the Main tab, Secure Boot can be disabled from the Security tab and boot mode can optionally be switched between UEFI and legacy.

There is no known option to disable the discrete NVIDIA GPU using the BIOS (only have "Hybride Graphics" and "Discrete Graphics"), there may be one present after unlocking the advanced options.

Video

Backlight

Power Down Nvidia Card

Blacklist nouveau drivers, reboot, and run:

# echo 'auto' >> /sys/bus/pci/devices/0000:01:00.0/power/control

Multihead

External displays using the USB-C ports only seem to function using the proprietary NVIDIA driver.

If you enabled Discrete Graphics mode

If you enaled Discrete Graphics mode in BIOS,you cannot control the backlight via the function keys or in "Battery and Brightness" section in control center. Because the brightness is controlled by /sys/class/backlight/nvidia_0/brightness.

To recover the functionality of Fn+F5 and Fn+F6, you can change the acpi actions via creating the following files in the this blog[dead link 2023-04-24 ⓘ] and reboot:

/etc/acpi/events/FnF6-brightnessup
 #FnF6 video/brightnessup BRTUP 00000086 00000000
 event=video/brightnessup 
 action=/etc/acpi/actions/FnF6-brightnessup.sh
/etc/acpi/actions/FnF6-brightnessup.sh
#!/bin/bash 

# Set the static increment value.  Keep in mind that this will 
# be done twice. 
# This Value is depended on the actual changing value of the DE(in KDE it's 6)
IncVal<=6

# Get the Maximum value for use. 
#MaxVal=$(cat /sys/class/backlight/intel_backlight/max_brightness); 
read -r MaxVal < "/sys/class/backlight/nvidia_0/max_brightness"

# Get the current brightness value. 
#CurrVal=$(cat /sys/class/backlight/nvidia_0/brightness); 
read -r CurrVal < "/sys/class/backlight/nvidia_0/brightness"

# Set the new value minus the decrement value. 
NewVal=$(($CurrVal + $IncVal)); 
echo $NewVal 

# Set it to the threshold of the max value. 
ThresholdVal=$(($NewVal<$MaxVal?$NewVal:$MaxVal)) 
echo $ThresholdVal 

# Set the new value directly. 
echo -n $ThresholdVal > /sys/class/backlight/nvidia_0/brightness 

logger "[ACPI] brightnessup |$CurrVal| |$NewVal| |$ThresholdVal|"
/etc/acpi/events/FnF5-brightnessdown

#FnF5 vieo/brightnessdown BRTDN 00000087 00000000 
event=video/brightnessdown 
action=/etc/acpi/actions/FnF5-brightnessdown.sh

/etc/acpi/actions/FnF5-brightnessdown.sh

#!/bin/bash 

# Set the static decrement value.  Keep in mind that this will 
# be done twice. 
# This Value is depended on the actual changing value of the DE(in KDE it's 6)
DecVal=6

# Set the Minimum we will accept. 
MinVal=0 

# Get the current brightness value. 
#CurrVal=$(cat /sys/class/backlight/nvidia_0/brightness); 
read -r CurrVal < "/sys/class/backlight/nvidia_0/brightness"

# Set the new value minus the decrement value. 
NewVal=$(($CurrVal - $DecVal)); 
echo $NewVal 

# Set it to the threshold of the min value. 
ThresholdVal=$(($NewVal>$MinVal?$NewVal:$MinVal)) 
echo $ThresholdVal 

# Set the new value directly. 
echo -n $ThresholdVal > /sys/class/backlight/nvidia_0/brightness 

logger "[ACPI] brightnessdown |$CurrVal| |$NewVal| |$ThresholdVal|"

Reboot afterwards.

Power Management

One can change the power mode with the default Fn+Q key.

Battery conservation mode is available. It will charge the device to 60% when charge falls below 50%, extending the life of the battery. It can be activated by running the following command:

# echo 1 >/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode

You can also install ideapad-cmAUR to change the status conveniently.

Keyboard

Keyboard is working out of box. There is no RGB settings.

Function Keys

Key Visible?1 Marked?2 Effect
Fn+Esc Yes Yes Toggles 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 video/brightnessdown
Fn+F6 Yes Yes video/brightnessup
Fn+F7 Yes Yes Select video project mode
Fn+F8 Yes Yes Airplane Mode
Fn+F9 Yes Yes Not Defined
Fn+F10 Yes Yes Toggle Touchpad
Fn+F11 Yes Yes Not Defined
Fn+F12 Yes Yes Not Defined
Fn+PrtSc Yes Yes Not Defined
Fn+Home Yes Yes cd/play
Fn+End Yes Yes cd/stop
Fn+PgUp Yes Yes cd/prev
Fn+PgDn Yes Yes cd/next

Lenovo Legion series Laptops uses IdeaPad ACPI and ones in normal configuration can use nearly all of the function keys except for F9 (Favorite key), F11 (tab switching key) and F12 (Calculator key), since ACPI key functions is not defined.[1][dead link 2023-04-24 ⓘ]

Touchpad

Single tap and double finger scrolling work. Multi gestures must be configured, they are detected with libinput-gesturesAUR.

Fan Control

Fan control only works with extremecooling4linuxAUR. You can also download the appimage version [2] to use it in GUI, but root permission is required.