Lenovo LEGION 5i PRO 16ITH6 Review [82JF002RUS]

April 12, 2022, 6 p.m.

Last Updated: July 21, 2023, 6 p.m.

The Lenovo Legion 5i Pro is an excellent laptop. Performance is good -- near the high end for a consumer laptop -- thanks to the Intel Core-i7 with 24 MB of level 3 cache. It also has some surprising outstanding features, such as the excellent 16" 2560x1600 IPS HDR screen. Other outstanding features are the excellent build quality, the plethora of ports, all at the latest standards, including two USB-C ports, one supporting power delivery, and all supporting Display Port and Thunderbolt 4.

Windows users looking for a high performance laptop for workstation use, but at a value due to the omission of extras found in ThinkPads and others will be happy. Linux users looking for such a laptop will also be happy, but might be disappointed by the lack of support of one of the features supported in Windows but not in Linux.

This article reviews -- primarily for Linux users -- the particular configuration sold exclusively by Costco in December 2021 (Lenovo model: 16ITH6 Lenovo part number: 82JF002RUS from the Lenovo platform number: 82JF) although it will be helpful to anyone interested any configuration of the Intel Core-i7 based 16ITH6.

Introduction

The Legion 5i Pro is part of a vast array of LEGION branded gaming laptops offered by Lenovo, in various model families, some with numerous sub configurations, and some which can be customized to various extents.

The variety of model families is large enough to be confusing. The configurability of some of the model families adds to the confusion. But to simplify, model families with the "i" in the family name use an Intel CPU and those without the "i" use an AMD CPU. Those with the Gen 6 designation feature the 11 the generation Intel Core processors for Intel models, and the newer GeForce RTX 30XX series NVIDIA GPUs. The model families with the Pro designation typically have a 16" 2560x1600 screen instead of a 15" 1920x1080 screen and have the higher performance Core-i7 processor instead of the Core-i5 processor.

The "i" in the model name is actually another cause for confusion as there is inconsistency in its use between Lenovo's marketing and more technical departments. Marketing information sources, such as the Lenovo products website and retail point-of-sale printed materials, use the "i" designation while the machine itself does not use in its embedded identification, as shown in the following image displaying the output of neofetch and listing displaying from the inxi and dmidecode commands.

neofetch Output Konsole
The Legion 5i Pro in embedded identification does not use the "i".

The more technical specifications found at the Lenovo's Product Specifications Reference also do not use the "i" in the model name.

 56%  12:32:49  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ sudo inxi -M
Machine:
  Type: Laptop System: LENOVO product: 82JF v: Legion 5 Pro 16ITH6
    serial: PF3624V3
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76461 WIN serial: PF3624V3
    UEFI: LENOVO v: H1CN45WW date: 11/26/2021

 56%  12:32:55  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ sudo dmidecode -t system
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 82JF
        Version: Legion 5 Pro 16ITH6
        Serial Number: PF3624V3
        UUID: 838db314-00bf-11ec-80f0-902e16cf2383
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_82JF_BU_idea_FM_Legion 5 Pro 16ITH6
        Family: Legion 5 Pro 16ITH6

(... OUTPUT TRUNCATED FOR BREVITY ...)

Handle 0x0030, DMI type 32, 11 bytes
System Boot Information
        Status: No errors detected


 56%  12:33:10  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$

The specifications of the particular model reviewed in this article (Lenovo model: 16ITH6 Lenovo part umber: 82JF002RUS from the Lenovo platform number: 82JF) is summarized below from the available Lenovo resources -- the 82JF002RUS specific Product Specifications Reference Page and the 16ITH6 model family's generic Product Specifications Reference Page -- and observed characteristics.

Processor Intel Core i7-11800H
  • 8 Cores/16 Threads
  • Frequency: 2.3 Ghz base / 4.60 GHz Max Turbo Boost
  • L1 Cache: 384 KB (48 KB/Core) for data; 256 KB (32 KB/Core) for instructions
  • L2 Cache: 10 MB (1.25 MB/Core)
  • L3 Cache: 24 MB, shared between all cores and integrated graphics processor
Discrete Graphics Processor NVIDIA GeForce RTX 3050
  • GPU Swithching: Advanced Optimus (see Reference 14)
  • Dedicated Video Memory: 4 GB
  • Video Memory Speed/Type: GDDR6
  • GPU Clock: 1500 MHz/1740 MHz
Integrated Graphics Processor: Intel TigerLake-H GT1 UHD Graphics
Memory as shipped 2x 8GB DDR-3200 SODIMMs
Memory support
  • Per PSEREF: Two dual channel capable DDR4-3200 SODIMM slots 16 GB Max
  • Observed: Two dual channel capable DDR4-3200 SODIMM slots 24 GB total; presumable 32 GB Max
Storage as shipped One SK Hynix 512GB M.2 2280 PCIe 3.0x4 NVMe SSD
Storage support:
  • Per PSREF: Two M.2 SSD slots for 2242 or 2280 M.2 form factors, up tp 1 TB per SSD
  • Per PSREF: One PCIe 3.0x4, One PCIe 4.0x4
  • Observed: Two 512 GB M.2 NVMe SSDs (2 M.2 2280 original 512 GB PCIe 3.0x4 NVMe SSD and added 512 GB PCIe 3.0x4 NVMe SSD [Samsung Evo 970 Plus])
Connectors:
  • 3 x USB-A 3.2 Gen 1 (on back, 1 configurable to be always on)
  • 1 x USB-A 3.2 Gen 1 (right side)
  • 1 x USB-C/Display Port/Thunderbolt 4 (on back, supports Power Delivery)
  • 1 x USB-C/Display Port/Thunderbolt 4 (left side)
  • 1 x HDMI 2.1 (on back)
  • 1 x RJ-45 Ethernet (on back)
  • 1 x 3.5 mm combination headphone/microphone jack (left side)
  • 1 x slim-tip power adapter jack (on back)
Display
  • Size: 16"
  • Resolution: WQXGA (2560x1600)
  • Luminance: 500 nits
  • Refresh rate: 165 Hz
  • Color Gamut: 100% of sRGB
  • HDR: Yes, Dolby Vision HDR
  • LCD Technology: IPS
  • Screen Tearing Technology:G-Sync
  • Hardware Level Screen Brightness Control: DC Dimmer
  • Maximum Screen Brightness: 500 Nits
Network and Bluetooth
  • Ethernet: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet; 100/1000M
  • WiFi: Intel Tiger Lake PCH CNVi; WiFi 6 802.11ax; 2x2
  • Bluetooth: Intel AX201; Bluetooth 5.1
  • WiFI and Bluetooth on one M.2 PCIe card
Multimedia
  • Sound Processing Hardware: Realtek HD Audio; ALC3306 codec
  • Sound Processing Software: Nahmic Audio
  • Speakers: Two 2W stereo speakers
  • Microphone: Dual array microphone
  • Webcam: 720p fixed focus webcam; E-camera suhtter control
Battery
  • Capacity: 5120 mAh/80 Wh
  • Battery Life: 7.2 Hr (MobileMark 2018)
  • Other:Rapid Charge Pro capable (50% in 30 min)
    charge limiting capable
Adapter
  • Rating: 230W
  • Input: 100-240 V, 50-60 Hz AC
  • Cable management: clip, velcro strap, and winding cable management

The specifications, as summarized above, and as improved by my post purchase upgrades to the storage and memory are appropriate for my intended use of the laptop as a value workstation, where the value is derived not from omitting features that matter such as performance but from omitting some features of secondary importance.

Another source of the value is the pricing of the retailer where I purchased this LEGION. I purchased this Lenovo at Costco for $1000, which was a price reduction of $300, even after the regular Costco discount from the MSRP after also considering a similarly priced -- although not a fair comparison due to Costco pricing -- ASUS TUF with an AMD Ryzen 7 5800H, NVIDIA GeForce RTX-3050 Ti, and 15" 1920x1080 screen at Micro Center. I decided to go with this LEGION for the slight performance edge of the Intel Core-i7 and the additional ports (2 more USB-A, 1 more USB-C/Display Port/Thunderbolt). Having used the LEGION for more than three months I know I made the better choice, not only for the factors that were better in the LEGION I was aware of before the purchase, but for features I had not been aware of such as the excellent screen, the superior build quality, and the free warranty upgrade to next business day on-site service.

Review

The Lenovo Legion 5i Pro, in the specific configuration of the reviewed laptop , and as further upgraded by me to replace one of the 8GB RAM modules with a 16 GB module, for a total of 24 GB of RAM, and adding a 500 GB Samsung EVO 970 Plus nVME SSD, offers excellent performance and is appropriate for workstation use, although there are missing non-performance related features that are found in ThinkPads and Dell gaming laptops that share features with more enterprise suitable laptops. When also considering its excellent display, featuring a high refresh rate, high resolution screen, its multitude of ports, including two USB-C connectors which also support Display Port and Thunderbolt 4 -- one of which also supports Power Delivery, and its excellent build quality, this Legion 5i Pro is an excellent laptop, offering workstation performance at a value thanks to the Costco price.

Read further for, first, descriptions of the mostly excellent characteristics of the laptop applicable to both Windows and Linux, then, the experience of using this laptop specifically with Linux. For Linux users who are in a hurry, here is a summary of the salient points:

All Hardware Works Out-of-the-Box with Minor Touchpad Issues
All of the hardware, i.e., WiFi, Bluetooth, discrete GPU works out-of-the-box on the distributions I've used. The only area of concern is the touchpad which sometimes, annoyingly, registers single finger taps as two finger taps and vice versa. I have confirmed that this problem does not exist in Windows after using a Lenovo diagnostics utility to verify that there is not a defect in the touchpad hardware.
All Fn Keys Work
All common Fn hotkeys, which use the same Fn+Fx combination as in Windows, such as those controlling media playback, screen brightness, volume, and radios. Uncommon hotkeys that control the lid LED and keyboard LEDs also work. Some uncommon Fn+Fx combinations which in Windows, for example, launch the calculator or activate the workspace overview do not work. More importantly the Fn+Q combination, which toggles through the Performance/Thermal modes in Windows has no effect in Linux other than turning on or off the LEDs.
NVIDIA Optimus Works with Optimus Manager and SUSE Prime
The Optimus Manager and SUSE Prime Optimus switching utilities, for Arch based distributions and openSUSE, respectively, work to switch between discrete and hybrid modes, where the hybrid mode, if configured properly takes full advantage of the NVIDIA Runtime D3 (the ACPI device powered off state, see below) power management capability available for Linux since the Turing generation fo NVIDIA GPUS with NVIDIA driver version 435. In hybrid mode applications can be started with the appropriate environment variables set so they are rendered with the NVIDIA GPU. In Arch the prime-run script can be used to set the variables automatically and launch the application to be rendered by the NVIDIA card.

Because the power management is included in the GPU in the newer versions of the cards and driver, switching from discrete or hybrid mode to integrated mode using these Optimus utilities causes the laptop to completely shut down soon after it is started.
165Hz Screen Refresh is Difficult to Achieve Without Extensive Tinkering
The screen is excellent, with some higher end specifications such as a 2560x1600 resolution -- which combined with a larger size and a 16:10 aspect ratio enhances productivity, 165Hz refresh rate, 100% sRGB color gamut, 500 nit maximum brightness, and Dolby Vision HDR. Unfortunately, some tinkering is required to use color corrections in Linux. Also, extensive tinkering is required to be able to switch the refresh rate from the standard 60Hz to the 165Hz. I was not able to do this despite exerting some effort. Update 1 - 21 July 2023: Screen refresh is now able to be persistently set. See below
Battery Conservation (Charge Limiting for Battery Lifespan Preservation) Works
The battery supports charge limiting for battery lifespan preservation (and quick charging which I do not use as it probably degrades battery lifespan). The charge limiting feature, called Conservation Mode by Lenovo, is controlled in Windows through the Lenovo Vantage utility. The ability to manage it through the firmware interface would also be nice, but in Linux at least the TLP utility is able to leverage the ideapad_laptop kernel module to enable and disable the feature.
Performance/Thermal Modes Fn Key Has No Effect in Linux as It Does in Windows
Despite its great characteristics, some Linux users may be disappointed with the lack of full support for one feature supported by Windows, namely the performance/thermal mode switching described later in the article. This feature seems to be fully supported in Linux on ThinkPads through the thinkpad_acpi kernel module, but the corresponding module for non-ThinkPad Lenovo laptops, ideapad_laptop -- derived from thinkpad_acpu -- includes this support, but according to mailing list discussion of this module's development, a decision was made to rely on user space programs -- which may not be available -- to actually allow users to switch modes.

Design

The overall design of the Legion 5i Pro is very modern. The most significant characteristic that makes it so is the configuration of the cooling system. Air is drawn from a large area vent in the bottom covering almost the entire width of the bottom. The cooling air passes over heat sinks and heat channels that connect to fans at either corner at the back of the laptop. The fans force the air out of at the corners, from two vents at the back, one at each end, and two vents on the sides, one on each side. The two vents at each back corner seems like a very efficient and modern design only shared by a few high performance gaming laptops and mobile workstations.

The LEGION 5 Pro has two fans at each corner in the back with two vents per fan, and most connectors are at the back between the two fans.
The Lenovo Legion 5 Pro Vents
The LEGION 5 Pro has two fans at each corner in the back with two vents per fan, and most connectors are at the back between the two fans.

Nearly all of the many ports of the Legion are also moved to the back of the laptop between the two vents. Neither of my previous primary laptops -- the Acer V15 Nitro Black Edition or the Dell G5, had any ports on the back. And neither had vents at both corners with on the back and side. (They did have on set of nonfunctional, cosmetic vents for symmetry.)

As is usually the case when enough time passes, each subsequent laptop removes obsolete technology and incorporates newer technology. With the Legion 5 Pro, the obsolete storage card port is gone, the modernization doesn't even replace a full size SD card slot with a microSD. Available permanent storage device options have also been modernized. 3.5" SATA storage has been obsoleted; the Legion has two M.2 PCIe slots for SSDs, both capable of using NVMe SSDs, whereas the Dell G5 only had one of these in addition to a 3.5" SATA secondary drive. The Acer had a similar configuration to the Dell, but the M.2 slot may have been for SATA SSDs not PCIe NVMe. Version 2.0 of USB has also been obsoleted; all USB-A ports are now at least version 3.2, whereas before at least one had been a version 2.0.

On the back, the Legion has the Lenovo proprietary power jack; a SS USB-A port which can be configured to charge devices even when the laptop is powered off, asleep, or in hibernation; an HDMI port; two other SS USB-A ports; a USB-C port; and an Ethernet jack. A multicolor indicator light is also located near the power jack to provide visual feedback of the charge state of the battery.

The Back of the LEGION 5 Pro
The back of the LEGION 5 Pro has most of the connectors of the laptop, between two of the four vents.
Click on any of the thumbnails to view a slideshow of the images.

The left side has the other USB-C connector, a 3.5 mm combination headphone/microphone jack, a speaker that located on a surface that sweeps down to the bottom of the laptop, contributing to an optical illusion that the laptop is thin, and one of the two functional side vents.

The Left Side of the LEGION 5 Pro
The left side of the LEGION 5 Pro has a combination microphone/headphone jack and one of the two USB-C connectors which also support Thunderbolt 4 and Display Port. vents.
Click on any of the thumbnails to view a slideshow of the images.

The right side has one of the two functional side vents, one of the four SS USB-A ports, another speaker placed similarly to the one on the left side, and an uncommon feature, a hardware switch that disables the webcam. I tested the functionality of the switch with Kamoso, a KDE webcam application and it did indeed work.

The Right Side of the LEGION 5 Pro
The right side of the LEGION 5 Pro has a hardware switch to turn disable the camera and a USB-A port.
Click on any of the thumbnails to view a slideshow of the images.

The bezel surrounding the screen is very narrow on the top and sides, making the display very immersive. It features a webcam and a light that indicates that the webcam is active in a three-sided "frame" at the top. On the not so narrow bottom bezel are two notches for microphones.

The keyboard surface has only two notable features; one is a power button with a multi-color light (blue, white, and red) in its center which indicates the active power/thermal profile, where blue, white, and red represent low power (or quiet thermal mode), balanced, and high power, respectively, and the other is a large and simple touchpad with two click corners. The keyboard itself is a standard Lenovo keyboard with their trademarked curved keys. A useful element of the keys are indicator lights on the CapsLk, Num Lock, and Esc, the last of which also acts as a FnLock key when pressed with Fn, and it is when used in this capacity that the light illuminates. The keyboard has three configurable -- through the Lenovo Vantage utility (see Lenovo Vantage, below) backlight modes which can be cycled -- even in Linux -- using the Fn + Space key combination.

The Keyboard and Touchpad of the LEGION 5 Pro
The keyboard is a typical Lenovo IdeaPad keyboard with a customizable multiple region backlight with the Lenovo hyped curved keys. The power button which has a light whose illumination state indicates the power state of the laptop and whose illumination color indicates the current thermal/performance profile of the laptop.
Click on any of the thumbnails to view a slideshow of the images.

The lid, like the whole of the laptop, is very understated. But it has the only feature, besides the backlight -- if configured colorfully -- which provides a clue that it is a gaming laptop, which is the large LED -- white on this model -- in the shape of a "Y". Besides its aesthetic value, the LED does have practical value in that it indicates the power state of the laptop. When the laptop is on the light is steadily illuminated, but when the laptop is sleeping, the LED pulses. The light can be disabled completely with the Fn + L key combination.

The Lid of the LEGION 5 Pro
The notable feature of the LEGION 5 Pro's lid is an LED of the LEGION Y logo. The LED in white only for this laptop color is solidly illuminated when the laptop is on and cycles on and off when it is sleeping. It is on by default in the Auto and Performance thermal/performance profile and off in the Quiet profile. It can also be toggled on or off with the Fn + L keyboard shortcut.
Click on any of the thumbnails to view a slideshow of the images.

Like the lid of the LEGION 5 Pro, the bottom panel is constructed of metal, with some secondary structures on the interior composed of what appears to be plastic parts, although as secondary structures, the plastic may not degrade overall durability and strength. The side vents and the rear surface, on which the connector holes and rear vents are located, are a single plastic part attached to the bottom metal panel (see the fifth image in the following set of images).

The Bottom of the LEGION 5 Pro
The notable features of the bottom of the LEGION 5 Pro are the very sturdy looking rubber stabilizers, and the intake vent whose slot pattern form the "Y" of the LEGION brand.
Click on any of the thumbnails to view a slideshow of the images.

The LEGION 5 Pro's adapter besides being rated at a powerful 230W, is thoughtfully designed. It has protruding flanges on three corners to allow securely winding the attached cable around the block. The cable is attached at the fourth corner, in a recess, that prevents overly stressing the attachment -- at least in three directions. The cable at the attachment is itself robustly reinforced. While a securing strap is not directly incorporated into the adapter block, like the Dell G5, there is an easily replaceable velcro strap on the cable to secure the attached cable. The cable also has a clip in between the shielding cylinder and the connector to which another part of the cable can be secured.

The LEGION 5 Pro Power Adapter

Click on any of the thumbnails to view a slideshow of the images.

The thoughtful design allows users two options to secure the cable. The cable can be wound around the block between the flanges and the secured with the (red) clip, or as I use it -- with the excellent Ogio Renegade RSS backpack, which has two perfectly sized pockets, with integrated cable management, for the adapter block and its attached cable and the removable thicker gauge cable -- the cable can be compacted into the same form as it was in its packaging and the Velcro cable wrapped around the cable.

Build Quality

The build quality of the LEGION 5 Pro is very high. Many reviewers note the metal lid and bottom as an indiction of the superior build quality of the Legion 5 Pro. The lid material should provide good protection for the LCD screen from "bruising", or microscopic cracks in the screen which discolor the screen, which did happen with the Dell when transporting it in a backpack with other bulky items. The material of the bottom panel also should help the laptop endure against abuse, as evidenced by the fact that none of the retaining clips broke when I added a second SSD and replaced an 8 GB SODIMM with a 16 GB module. The Dell, while its panel was simple to remove, as there was only one screw to remove, proved to be not as durable when some of the plastic clips broke off.

Besides the lid and bottom materials there are many other notable characteristics that indicate a very high build quality. For example, there are no irregular or large gaps between any adjoining parts as there are with the Dell G5. Also the tolerances in the openings on the case where the connectors are accessed are very precise. There are no large gaps between the actual connector and the opening, as with some of the lower end MSI laptops, with similar hardware and at similar price points, I have considered. Another characteristic indicative of the high build quality are what appear to be silk-screen printed icons identifying the connectors. Some laptops with less attention to the build quality may emboss the icons on plastic parts that have a rough finish, as with certain MSI models, which in combination with the gaps surrounding the connectors gives the impression of low quality.

Like the silk-screened connector icons, which can be considered a nice touch that may please some users, in addition to something that enhances the ease of use, there are numerous other nice touches. Some of these include the previously mentioned "Y" light on the lid. Others are the tiny silkscreened "Y" logos on the sides of the lid on both sides near the bottom, the pattern of slots on the bottom comprising the vent which form another "Y", and the stamped "LEGION" on one of the rubber pads on the bottom, which incidentally are large enough to be very effective and seem durable.

Aesthetic Flourishes of the LEGION 5 Pro
A barely visible LEGION logo is printed on the sides of the lid near the hinges and bottom vent slots form the LEGION "Y" -- two of the LEGION 5 Pro's aesthetic design flourishes.

Performance

The performance of this Legion is noticeably better than my Dell with an Intel Core i7-8750H. Objective benchmarks, such as the one from UserBenchmark comparing the Core i7-11800H of this Legion's CPU with the Ryzen 7 5800H, ranks it at 85th/1343 in speed whereas the Ryzen is ranked at 112th/1343. By category and overall results, the same benchmark gives the Intel CPU a higher score.

One interesting feature related to performance is the selectable performance/thermal profile, mentioned above in relation to the power button light. The Quiet mode reduces performance and fan noise, Auto mode allows higher performance on demand and more cooling as necessary, and Performance mode does not limit performance or the fan. A YouTube video shows the effect of toggling between these modes on a Legion 5 Pro running Windows. The performance of a video editing application with the laptop in Quiet mode is limited such that the preview video stutters and does not play smoothly and rendering time is increased significantly compared to the other modes. Despite speculation online about the effect of these modes on the Windows battery related Power Plans, cycling through the three modes did not have any effect on the battery Power Plans in the YouTube video or for me. (For the effect of toggling between the thermal/performance modes in Linux, see the Linux -> Thermal/Performance Mode section below.)

Related to performance is thermal control ability and the common issues with the fan performance experienced with gaming laptops. I did not use the computer under Windows to make useful observations, except that I did not notice any fan noise. My observations of thermal performance under Linux is discussed in Linux -> Thermal/Performance Mode, below.

NVIDIA Optimus

While this Legion has Optimus hardware consisting of a discrete NVIDIA GeForce RTX-3050 GPU and an integrated Intel TigerLake-H GT1 UHD Graphics GPU, the NVIDIA GPU and the integration of the GPUs have undesirable characteristics and missing capability, not in terms of GPU performance -- which is not a concern for me as I am not a gamer, but in terms of power state control.

The essence of the issue is that the NVIDIA GPU does not seem to have the capability to be powered off, at least not in the same way as GPUs prior to the Turing family of NVIDIA GPUs. This requires clarification: according to Chapter 22. PCI-Express Runtime D3 (RTD3) Power Management of the NVIDIA Accelerated Linux Graphics Driver README and Installation Guide, the only detailed documentation that discusses the internal workings of the driver and the GPU:

NVIDIA GPUs have many power-saving mechanisms. Some of them will reduce clocks and voltages to different parts of the chip, and in some cases turn off clocks or power to parts of the chip entirely, without affecting functionality or while continuing to function, just at a slower speed. However, the lowest power states for NVIDIA GPUs require turning power off to the entire chip, often through ACPI calls.

While the NVIDIA driver can put the GPU into the lowest device power state, the ACPI D3 state, a state where the device does not consume any power, it is not possible to power it off in such a way that the laptop uses only the integrated GPU is used and only the integrated GPU's driver is loaded. The lowest power state is only entered when the NVIDIA driver recognizes that the GPU is not being used by any application at a certain moment and then puts it in the lowest power state.

The implication of this is problematic in Linux for reasons described below in the section Linux, but even in Windows, the Lenovo provided utility for system configuration, Lenovo Vantage, only allows a selection between Dynamic and Discrete graphics, where Dynamic is a hybrid mode that automatically uses the discrete GPU for video intensive applications and the integrated GPU for other tasks, and enables the runtime power management capabilities of the NVIDIA GPU to put it in the various low power device states, including D3, when no applications are using it. This would seem to be a problem for battery life because with either of these two modes the NVIDIA GPU is on, at least initially and for a certain fraction of the time that the laptop is powered on in the case of Hybrid mode, and for the entire time the laptop is on in the case of Discrete mode, preventing the integrated GPU from being used by itself. This missing capability -- the ability to select the integrated GPU as that to be used -- is not only a problem for maximizing battery life when the NVIDIA card is not needed, but causes (resolvable) problems, as discussed below, with two of the switching methods I have used on Linux, SUSE Prime on Tumbleweed and Optimus Manager on Arch and Garuda Linux.

This Legion also allows specifying which GPU is to power the internal laptop screen specifically in the EFI interface, but here also, the only choice is between the Dynamic and Discrete modes. This also has problems for both SUSE Prime and Optimus Manager if this parameter is set to Discrete, as discussed in below.

Screen

The specifications of the screen were not something I paid close attention to when purchasing the laptop, so its quality was a pleasant surprise. Initially, the biggest impression made by the screen is the combination of the larger 16" size but in the same form factor as a laptop nominally categorized as a 15" laptop, the higher resolution WQXGA (2560x1600), and the 16:10 aspect ratio versus a 16:9 . I immediately liked that, if keeping the native resolution -- although more challenging to older eyes, but to which it is easily acclimated -- more content and information can be displayed in the windows of whatever applications are used.

The only issue -- if it really is a problem -- is when using an external screen of lower resolution, such as the 1920x1080 AOPEN 16PM3Q portable monitor I regularly use. In this case, moving a window from the internal screen to the external screen is a somewhat jarring change in the resolution of the displayed window. I typically have to also resize windows after moving to them to the external screen to occupy the same proportion of the screen.

After the initial impression, the effect of the high specifications of the screen, such as the larger color gamut (100% of the sRGB color space) and the Dolby Vision HDR 400 became apparent when using the laptop briefly for non-productive use. I was very impressed by the screen when watching Matrix Reloaded where the green reflective highlights in Trinity's costume were more pronounced than when I had seen this movie before. Besides the green highlights, the image was impressive overall in terms of the reproduced colors -- definitely better than in my Dell G5, and possibly better than in my Acer V15 Nitro Black Edition. For Windows Lenovo provides the X-Rite software, launched either from Lenovo Vantage or directly, to choose between various color spaces and color calibrations.

Another higher than typical specification is the refresh rate which can be toggled between 60Hz and 165Hz, the latter being the default. The setting is accessed in Windows Settings in the System -> Display -> Advanced Display section (see Image 23 in the set of images in the section Lenove Vantage, below).

In Linux Plasma's System Settings provides a module for setting the resolution and the refresh rate and another for loading a screen's specific color profile, but there are complications. See the Linux -> Screen section below.

Battery Life

In my nominal use of the laptop running Linux, with TLP optimizing battery life, the graphics mode of the internal screen in the EFI interface set to Hybrid and the graphics mode at the OS level set to Hybrid -- the more battery efficient mode of the two that the Optimus configuration of this LEGION supports as it is the one that actually uses the RTD3 power management capability of the GPU and driver -- using Optimus Manager in Arch, where the Hybrid mode is called hybrid, and SUSE Prime in openSUSE Tumbleweed, where the Hybrid mode is called offload, the battery lasts approximately five hours (see Linux -> Battery Life, below for details).

If the available graphics mode setting included "integrated" as an option in addition to the Discrete and Hybrid modes, such that it could be chosen to prevent the NVIDIA GPU from being used at all, as described above, when the power of the NVIDIA GPU or an external monitor are not needed, the battery life could be better. However, a positive aspect of this Legion regarding the battery, in terms of overall longevity of the battery, is that a charge threshold of 55% - 60% of capacity is supported, which increases the overall lifespan of the battery . The charge threshold, called Conservation Mode by Lenovo, can be enabled or disabled in the Lenovo Vantage WIndows utility. Even when Conservation Mode is not set, the Legion firmware adaptively adjusts charge to preserve longevity, as explained by the utility's informational window shown in the first thumbnail image of the following set of screenshots.

The Lenovo Vantage Windows Utility Battery Screens
The utility provides detailed battery status information and allows setting the Conservation Mode to improve battery longevity.
Click on any of the thumbnails to view a slideshow of the images.

This charge threshold feature is one many laptop brands support. And some, such as the Dell G5, for example, allow more extensive and granular user configuration of the feature directly in the firmware interface (see Dell G5-5587 Review for Linux Users [G5-5587-7037RED-PUS]). Similar configurability, preferably directly through the firmware interface would be welcome in the Legion also, but unfortunately, it does not have it.

Firmware Interface

The user interface to the firmware -- version EFI 2.70 by Insyde, as indicated by a line in the systemd journal -- is very impressive, at least visually, because it has a high resolution fully graphical interface, not a text mode interface. The main page of the interface contributes to the visual appeal with a gaming oriented background image incorporating a few controls for quickly changing some settings, such as the firmware boot device order, NVIDIA GPU overclocking, and whether the internal screen uses the NVIDIA card or a hybrid of the discrete NVIDIA and integrated GPUs. Other settings can be accessed through a More Settings button on the main page.

Clicking the More Settings button leads to a screen with configuration and information categories displayed on a pane on the left side of the screen, with settings relevant to the selected category displayed on the right side. Most settings have explanatory text, which in some cases is not useful, and a dropdown menu that allows changing the setting. Unfortunately, some settings whose function are not obvious do not have explanatory text. The EFI interface and the settings that can be configured are shown in the following set of images.

The EFI Firmware Interface
The interface looks good but is not nearly as extensive as it could be, as is the Dell G5's interface.
Click on any of the thumbnails to view a slideshow of the images.

Although the visual quality is high, one of the few areas where my experience with this Legion could be better is the firmware interface. Although the Dell G5 that this Legion is replacing as my primary laptop was marketed as a gaming laptop, the firmware user interface has a very extensive set of operating parameters, some of which are enterprise-appropriate -- that can be configured from the interface (see Dell G5-5587 Review for Linux Users [G5-5587-7037RED-PUS]). Some settings I missed in the interface was the one to enable or disable the feature to preserve the battery longevity (see Battery, below) and the one to adjust the refresh rate of the screen. I also missed the system repair and hardware diagnostics capability embedded in the firmware interface, which the Dell also had. The LEGION requires performing these tasks from within Windows either through Windows settings or the Lenovo Vantage system management utility. Linux users can use TLP to enable or disable the battery Conservation Mode and the screen refresh rate could be adjusted in the Display Configuration module of Plasma's system settings, and similar settings utilities of Cinnamon and Enlightenment, until some update or configuration change broke the mechanism. (See the Linux section below.)

Upgradeability

A requirement when servicing or upgrading a laptop is the availability of relevant documentation. Lenovo provides a detailed service manual as a downloadable PDF or as an easily navigable web application, without which it would not be advisable to work on the laptop. Unfortunately, the linked service manual in the model's support portal only applies to the Legion 5 models, which are slightly different from the Legion 5 Pro models. At the time I did not realize this oversight on Lenovo's part, but it was still useful.

With the service manual as a guide, and after having viewed a YouTube video, upgrading and servicing the Legion 5i Pro/Legion 5 Pro was relatively simple. It was not as straightforward as the Dell G5 -- which only requires one captive screw to be loosened on the bottom panel and the panel pried off -- but was not as difficult as the thin-and-light Acer V15 Nitro, which required the removal of sixteen screws in order to remove the bottom panel and access the RAM modules. To access any other components such as the 3.5" drive or the M.2 SSD, which are on the other side of the motherboard from the RAM modules, the keyboard and palmrest surface also have to be removed. On the Legion 5 Pro, after removing ten screws on the bottom panel, all user serviceable parts are accessible. The two SSD slots and the RAM slots each have their own shields which must be removed to actually access them.

Adding an SSD and Replacing RAM Modules
Servicing the Legion 5i Pro is relatively simple.
Click on any of the thumbnails to view a slideshow of the images.

Lenovo Vantage

The essential preinstalled program is the Lenovo Vantage utility which allows users to control various features of the laptop that can not be administered in Windows settings, such as the keyboard lighting profiles and Lenovo's battery conservation mode, described below, as well as other battery related settings. It also puts administration of of the system in an easy to use central utility, for example system firmware updates. In addition, it allows control of features that affect performance and the gaming experience, such as setting the graphics mode from the Discrete or Hybrid options, and launching external programs that, for example, configure the Nahmic audio processing or the X-rite utility for color calibration of the screen.

The Lenovo Vantage Windows Utility for System Configuration and Administration
The utility provides control of all aspects of the unique features of the laptop that may not necessarily be configured from Windows Settings such as enabling battery conservation mode, modifying the keyboard colors, and changing the graphics mode.
Click on any of the thumbnails to view a slideshow of the images.

Linux

So far, about sixty days since purchasing this laptop, I have installed openSUSE Tumbleweed, Arch Linux, and Garuda Linux. The experience of using these distributions on this laptop has been very good, with notable exceptions in two areas, Optimus switching from discrete NVIDIA to integrated Intel, and touchpad performance when in NVIDIA mode.

The first is not an actual problem, but due to a difference in the capability of the NVIDIA GPU and its proprietary Linux driver, and the Optimus management utilities I used -- Optimus Manager , on Arch and Garuda, and SUSE Prime on openSUSE Tumbleweed -- compared to the GeForce GTX 1050 Ti of my previous primary computer, the Dell G5. NVIDIA added the RTD3 power management capability to the Linux driver beginning with the Touring generation of NVIDIA GPUs, obsoleting the capability of the utilities to switching to integrated mode. The issue is resolvable -- to state the resolution briefly -- by only using the utilities to put Optimus in hybrid or discrete modes only, and never to use the utilities' available capability -- which is more suitable for the older NVIDIA GPus which do not support the RTD3 power management -- of putting Optimus in integrated mode.

Optimus Switching

The first distribution I installed on the Legion, was openSUSE Tumbleweed, which I planned on using only with the integrated Intel card and driver, while also loading the open source Nouveau driver to make the HDMI and USB-C ports always available in order to connect to an external monitor. I had to resort to using the inferior driver with openSUSE on the Dell G5 because I had never solved the problems that prevented SUSE Prime -- the utility available for openSUSE to manage Optimus -- from powering off the NVIDIA GPU when switching to integrated mode. The integrated GPU with Nouveau loaded did work well enough, however, allowing me to save battery and plug external monitors when needed, without having to logout after switching graphics modes from integrated to one where the NVIDIA GPU and proprietary driver were available. But apparently, the NVIDIA GeForce RTX 3000 series is too new for Nouveau as, although it worked well when only using the internal screen, an external screen was not usable. When connecting an external monitor, only a portion of what should be displayed on the external screen is displayed. Something similar happens when first starting any distribution configured to use the NVIDIA driver on my Acer while connected to an external 4K TV; the SDDM greeter is displayed on both screens, but on the laptop, which is 1/4th the resolution of the TV, the "viewport" of the screen only allows a quarter of what should be displayed to be visible. Both the SDDM interface with NVIDIA on the Acer and the Nouveau external monitor problems with openSUSE Tumbleweed on the LEGION seem to be correctable with work on the X Window System configuration, but this was not something I wanted to tinker with.

Instead I decided to try SUSE Prime again, despite the issues I had with it on the Dell G5. I installed the relevant openSUSE packages, the one providing the latest version of the NVIDIA driver according to the openSUSE Wiki Page on NVIDIA Drivers, x11-video-nvidiaG05, and the package providing the related OpenGL libraries nvidia-glG05, as well as the bbswitch package, which provides a kernel module necessary to power off the NVIDIA card, according to SUSE Prime GitHub Page. So, now the manifestation of the issue: when switching from NVIDIA to Intel graphics, after logging out and logging in, a few seconds after Plasma is loaded the entire laptop powers off.

At this point I decided to try Garuda Linux, which by default installs and configures the Optimus Manager switching utility. As with SUSE Prime, using Optimus Manager to switch from hybrid mode -- the default configuration of the Optimus system in Garuda Linux -- to integrated graphics resulted in the laptop suddenly powering off a few seconds after the desktop environment loaded. Unlike SUSE Prime, Optimus Manager allows users to specify the switching method from a selection consisting of Nouveau, ACPI method calls, bbswitch, or even a custom method by adding shell script code to files created by Optimus Manager at /etc/optimus-manager/nvidia-enable.sh and /etc/optimus-manager/nvidia-disable.sh. No switching method can also be specified by placing none as the value of the appropriate parameter in the configuration file. In my Arch installation on the Dell G5 I had specified the Nouveau method, which causes the Nouveau module to always be loaded, even in integrated mode, making the connectors always available. (As discussed in The Best Distributions for Problematic Nvidia Optimus Hybrid Graphics in some Optimus laptops only the NVIDIA GPU is wired to the external connectors, requiring a working driver to be loaded in order to connect an external monitor.) The result was the same when switching to integrated mode with all methods except when specifying none (I didn't try to make a custom method); the laptop would power off soon after the Plasma desktop loaded.

Because of the same effect when switching to integrated mode whether using SUSE Prime in Tumbleweed or Optimus Manager in Garuda, and after seeing that in Windows, the Lenovo Vantage utility only allowed setting Discrete or Hybrid modes I realized that the NVIDIA GeForce RTX 3050 does not support external methods to power off the GPU and unload drivers, instead since the Turing generation og NVIDIA GPUs, the driver provides a the RTD3 power management capability, which can power off the GPU when it is not needed (see the NVIDIA OPTIMUS section earlier in this article).

The implication of this problem regarding the incapability of the NVIDIA GPU to be powered off with any methods other than that provided internally by its proprietary driver is that in openSUSE with SUSE Prime not to install bbswitch and in Arch or Arch based distributions with Optimus Manager to set the switching method in optimus-manager's' local configuration file to none. Then switching from NVIDIA to integrated in both distributions will not result in the laptop powering off. However, using the switching utilities in these ways, to switch to integrated mode, will not actually power off the NVIDA card, since in integrated mode, none of the internal power management methods of the NVIDIA GPU will be used and the GPU remains fully powered on. So, even better is to not use the integrated mode in either of these distributions because. Instead, when the full performance capabilities of the NVIDIA GPU is not needed, using the hybrid mode will result in lower power consumption of the NVIDIA card, through the GPU and driver's PCI-Express Runtime D3 (RTD3) power management capability (see NVIDIA OPTIMUS section, above) available in Linux with NVIDIA driver versions later than 435.xxx and NVIDIA Turing and later GPUs. It should be noted that in Linux, the Hybrid mode -- hybrid in Optimus Manager and offload in SUSE Prime -- requires starting the programs with certain environment variables set for applications to use the discrete GPU (see Chapter 35. PRIME Render Offload of NVIDIA Accelerated Linux Graphics Driver README and Installation Guide).

Backlight Control

Backlight control works as expected in openSUSE Tumbleweed with all control methods provided by Plasma, i.e., the Battery and Backlight plasmoid, or applet, and the keyboard controls, whichever graphics mode is used. It also works as expected in Arch, except for a brief period when an update apparently broke something, the Plasma desktop provided backlight control interfaces did not work when the graphics mode was set to NVIDIA through Optimus Manager -- although all desktop environment related control methods did cause the OSD to indicate a change in brightness.

There are two difference that I have noticed between these two distributions that may be relevant to the issue. One is that the contents of /sys/class/backlight contain an additional control method in Arch. openSUSE Tumbleweed only contains the subdirectory intel_backlight

 52%  15:16:00  USER: brook HOST: 16ITH6-openSUSE   
 ~  ❯$ ls -l /sys/class/backlight
total 0
lrwxrwxrwx 1 root root 0 Mar 22 15:14 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight
		

whereas the same directory in Arch contains intel_backlight and nvidia_0

 63%  14:56:50  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ ls -l /sys/class/backlight
total 0
lrwxrwxrwx 1 root root 0 Mar 22 14:56 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight
lrwxrwxrwx 1 root root 0 Mar 22 14:56 nvidia_0 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/backlight/nvidia_0

Chapter 16. Configuring a Notebook of the NVIDIA Accelerated Linux Graphics Driver README and Installation Guide explains:

When available, the NVIDIA driver installs a backlight handler that allows access to the driver's backlight controller through /sys/class/backlight/nvidia_0. This option can be disabled by passing the

NVreg_EnableBacklightHandler=0

parameter to the nvidia kernel module.

Based on this, it would seem that the backlight handler is not available in openSUSE, thus it is not installed. The modinfo command applied to the nvidia driver module, or any of the related drivers such as nvidia_drm, does not list the kernel module parameter, NVreg_EnableBacklightHandler, mentioned in the above excerpt of the NVIDIA readme.

The other difference between the two is the number of NVIDIA related modules that are loaded. In Arch, as shown in the following listing, the only NVIDIA modules are the nvidia and its dependency modules nvidia_modest, and nvidia_drm, and nvidia_wmi_ec_backlight which is not a dependency of the NVIDIA driver.

 96%  18:51:37  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ lsmod | grep nvidia
nvidia_drm             73728  2
nvidia_modeset       1163264  3 nvidia_drm
nvidia              39129088  89 nvidia_modeset
nvidia_wmi_ec_backlight    16384  0
wmi                    40960  3 nvidia_wmi_ec_backlight,wmi_bmof,ideapad_laptop

In openSUSE on the other hand, as shown in the following listing, there is an additional module named nvidia_uvm. The purpose of this module, or whether this is included in Arch's nvidia module is not something I investigated.

 63%  22:32:04  USER: brook HOST: 16ITH6-openSUSE   
PCD: 3s ~  ❯$ lsmod | grep nvidia
nvidia_drm             69632  6
nvidia_modeset       1204224  15 nvidia_drm
nvidia_uvm           2531328  0
nvidia              35377152  879 nvidia_uvm,nvidia_modeset
nvidia_wmi_ec_backlight    16384  0
drm_kms_helper        323584  2 nvidia_drm,i915
drm                   630784  12 drm_kms_helper,nvidia,nvidia_drm,i915,ttm
wmi                    40960  3 nvidia_wmi_ec_backlight,wmi_bmof,ideapad_laptop

While the problem existed in Arch, when the graphics mode was set to NVIDIA, I assume Plasma interfaced with /sys/class/backlight/nvidia_0/brightness to set the screen backlight value instead of /sys/class/backlight/intel_backlight/brightness as, apparently, does openSUSE. In Arch, manually setting a value as in the sixth command issued in the terminal shown in the following image did work as a fallback method of adjusting the backlight.

Setting Backlight Value Manually in Arch When Graphics Mode IS Set to NVIDIA

But the problem does not exist anymore, even with the additional control method in /sys/class/backlight/; all of the Plasma related backlight control methods -- the backlight up and down Fn keys, as well as the brightness slider in the Battery and Brightness plasmoid, work as expected in all cases.

Touchpad

The only real problem I had with using Linux on the Legion 5 Pro involves the touchpad. Whenever using the laptop in a graphics mode that loads the NVIDIA driver, either the hybrid or discrete mode, the touchpad would on rare occasions register a one-finger tap, configured to be a left mouse click, as a two-finger tab, configured to be recognized as a right mouse click.

xinput list

identifies the touchpad as a MSFT device, specifically as MSFT0001:01 06CB:CE78 as shown in the following listing.

 28%  15:49:35  USER: brook HOST: 16ITH6-openSUSE   
 ~  ❯$ xinput --list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ITE Tech. Inc. ITE Device(8910) Keyboard  id=12   [slave  pointer  (2)]
⎜   ↳ MSFT0001:01 06CB:CE78 Mouse               id=14   [slave  pointer  (2)]
⎜   ↳ MSFT0001:01 06CB:CE78 Touchpad            id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Power Button                              id=9    [slave  keyboard (3)]
    ↳ Sleep Button                              id=10   [slave  keyboard (3)]
    ↳ ITE Tech. Inc. ITE Device(8295) Keyboard  id=11   [slave  keyboard (3)]
    ↳ ITE Tech. Inc. ITE Device(8910) Wireless Radio Control    id=13   [slave  keyboard (3)]
    ↳ Ideapad extra buttons                     id=16   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=17   [slave  keyboard (3)]
    ↳ ITE Tech. Inc. ITE Device(8910) Keyboard  id=18   [slave  keyboard (3)]

Searching the Web for the identifier shows that there have been numerous problems with this particular device on older Lenovo LEGION laptops, where in some cases it does not work at all. The problem has improved to the point it is now only a rare annoyance, and one that I can easily live with until it is completely fixed.

Battery Life

I made a rudimentary test of the battery life on Arch with the graphics mode set to Hybrid, or hybrid in the terminology of Optimus Manager. As explained above, using the integrated mode (form startup, as switching from any mode in which the NVIDIA card is active to integrated only causes the laptop to power off) does not actually turn off the NVIDIA GPU; only in the Hybrid mode can the NVIDIA GPU actually be powered off using the NVIDIA GPU and driver RTD3 power management capability. During the test the thermal/performance mode was set to Quiet by using the Fn + Q control (I have not determined what effect this actually has in Linux besides turning the keyboard backlight and the lid "Y"" logo LED off), WiFi was and connected, Bluetooth was on and connected to a mouse, and screen brightness was set to 25%. Furthermore TLP was optimizing battery life, in particular setting the CPU frequency scaling governor to powersave, and the CPU energy/performance policy to balance_power.

+++ Processor
CPU model      = 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =   800000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  4600000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = balance_power [HWP.EPP]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

/sys/devices/system/cpu/cpu1..cpu15: omitted for clarity, use -v to show all

/sys/devices/system/cpu/intel_pstate/status            = active
/sys/devices/system/cpu/intel_pstate/min_perf_pct      =  17 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct      = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo          =   0
/sys/devices/system/cpu/intel_pstate/hwp_dynamic_boost =   0
/sys/devices/system/cpu/intel_pstate/turbo_pct         =  59 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates       =  39

/sys/module/workqueue/parameters/power_efficient       = Y
/proc/sys/kernel/nmi_watchdog                          = 0

The running applications were Firefox with two tabs open, Firefox Developer Edition with many tabs open, VS Code with numerous files open, and VirtualBox in headless mode. Under these conditions the battery lasted 5.5 hours.

About thirty-five minutes into the test I confirmed that the NVIDIA RTD3 power management had in fact put the NVIDIA GPU in the lowest ACPI power state -- D3, or off, as shown in the following listing. If the GPU was actually powered on the values under Powwer Limits would have actual power values instead of N/A. The listing also shows that the NVIDIA GPU's memory is powered off and that the D3 mode is on in the fine-grained mode, meaning as explained in Chapter 22. PCI-Express Runtime D3 (RTD3) Power Management of NVIDIA Accelerated Linux Graphics Driver README and Installation Guide is the mode that is most aggressive in terms of the conditions under which the GPU is powered off.

 87%  19:19:23  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ cat /proc/driver/nvidia/gpus/0000:01:00.0/power
Runtime D3 status:          Enabled (fine-grained)
Video Memory:               Off

GPU Hardware Support:
 Video Memory Self Refresh: Supported
 Video Memory Off:          Supported

Power Limits:
 Default:                   N/A milliwatts
 GPU Boost:                 N/A milliwatts

 87%  19:19:27  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$

Battery Conservation Mode in Linux

As mentioned above, the Conservation Mode can be activated or deactivated in Windows through the Lenovo Vantage utility. However, for this this Lenovo, unlike for the Dell G5 and the Acer, a kernel module is available that can be leveraged by TLP, the battery optimizing utility for Linux, to manage the same charge threshold that Lenovo Vantage does.

TLP Documentation Describing Non-ThinkPad Lenovo Support

The TLP Documentation Battery Care Vendor Specifics page, which lists the supported battery care features of various laptop brands, shows the charge threshold capability provided is similar to many laptop models, where most support turning on or off a single pre-configured threshold value in the firmware. Some, like ASUS laptops, support setting a threshold from a set of pre-configured values, while a few others, such as the Lenovo ThinkPad series, allow setting a specific user chosen value from a wide range of possible values. TLP also supports Huawei and Lenovo ThinkPad laptops capability of starting to charge if the battery is below a certain level when the power adapter is plugged in. Unfortunately, Lenovo, as a business decision, has chosen not to include the more advanced battery care features of ThinkPads in the LEGION. Notably missing in the list of vendors supported by TLP battery care are Acer, HP, and Dell, but at least some Dell laptops do not need this support from TLP since battery conservation features are built in at the firmware level and manageable in the firmware interface; this may be the case for newer Acer and HP laptops as well.

TLP management of the charge threshold involves setting the value of a configuration parameter appropriately and restarting tlp.service. The following listing shows the output of tlp-stat -b providing information on the battery state, including the status of the battery care features such as the charging threshold, or Conservation Mode.

 58%  16:39:36  USER: brook HOST: 16ITH6-openSUSE   
 ~  ❯$ sudo tlp-stat -b
[sudo] password for root: 
--- TLP 1.4.0 --------------------------------------------

+++ Battery Care
Plugin: lenovo
Supported features: charge threshold
Driver usage:
* vendor (ideapad_laptop) = active (charge threshold)
Parameter value range:
* STOP_CHARGE_THRESH_BAT0: 0(off), 1(on) -- battery conservation mode

/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode = 1 (60%)

+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = Sunwoda
/sys/class/power_supply/BAT0/model_name                     = L20D4PC1
/sys/class/power_supply/BAT0/cycle_count                    =     11
/sys/class/power_supply/BAT0/energy_full_design             =  80000 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  80880 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  46920 [mWh]
/sys/class/power_supply/BAT0/power_now                      =      0 [mW]
/sys/class/power_supply/BAT0/status                         = Idle

Charge                                                      =   58.0 [%]
Capacity                                                    =  101.1 [%]


 58%  17:34:12  USER: brook HOST: 16ITH6-openSUSE   
PCD: 3s ~  ❯$

The output shows that the conservation mode has been set (in this instance, through the Lenovo Vantage utility) in the line

/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode = 1 (60%)

and that the battery is not charging, since it is between the firmware defined charging limit of 55% to 60% when Conservation Mode is on, in the line

/sys/class/power_supply/BAT0/status = Idle

Uncommenting the lines

#START_CHARGE_THRESH_BAT0=75
#STOP_CHARGE_THRESH_BAT0=80

in /etc/tlp.conf and setting the value of both parameters to 0 and restarting tlp.service will disable the charge threshold. The image below shows the relevant portion of the file in its default state.

The TLP Configuration File
The image shows the portion of /etc/tlp.conf relevant to the battery charge threshold (Lenovo battery Conservation Mode).

Note the default values are not appropriate for the Legion 5 Pro or any other non ThinkPad Lenovo. For these laptops, the start value must always be set to 0, and the stop value must be either 0 or 1, to disable or enable the charge threshold, respectively. The listing below shows the effect of making the changes to the TLP configuration file and restarting its service.

 58%  18:12:12  USER: brook HOST: 16ITH6-openSUSE   
PCD: 3s ~  ❯$ sudo tlp-stat -b
--- TLP 1.4.0 --------------------------------------------

+++ Battery Care
Plugin: lenovo
Supported features: charge threshold
Driver usage:
* vendor (ideapad_laptop) = active (charge threshold)
Parameter value range:
* STOP_CHARGE_THRESH_BAT0: 0(off), 1(on) -- battery conservation mode

/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode = 0 (100%)

+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = Sunwoda
/sys/class/power_supply/BAT0/model_name                     = L20D4PC1
/sys/class/power_supply/BAT0/cycle_count                    =     11
/sys/class/power_supply/BAT0/energy_full_design             =  80000 [mWh]
/sys/class/power_supply/BAT0/energy_full                    =  80880 [mWh]
/sys/class/power_supply/BAT0/energy_now                     =  46920 [mWh]
/sys/class/power_supply/BAT0/power_now                      =  14660 [mW]
/sys/class/power_supply/BAT0/status                         = Charging

Charge                                                      =   58.0 [%]
Capacity                                                    =  101.1 [%]


 58%  18:12:18  USER: brook HOST: 16ITH6-openSUSE   
 ~  ❯$

Now, output shows that the conservation mode is not enabled in the line

/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode = 0 (100%)

and that the battery is charging, in the line

/sys/class/power_supply/BAT0/status = Charging

One interesting observation regarding Conservation Mode and TLP is that if Conservation Mode is enabled in Windows using Lenovo Vantage, the setting is carried over in Linux, but disabling it in Linux does not result in it being disabled in Windows. That the former is true is demonstrated in the first listing of tlp-stat -b, above, where the enabled status of the charge threshold was the result of enabling Conservation Mode in Windows. I did not investigate more scenarios involving enabling and disabling the charge threshold and switching back and forth since I will probably never use Windows after this initial period of using the laptop.

An alternative method is also available in addition to using TLP to manage the charge threshold, namely by directly using the filesystem interface of the kernel module used by TLP to manage the charge threshold. The directory relevant to the conservation mode in the filesystem hierarchy -- /sys/bus/platform/drivers/ideapad_acpi/VPC2004\:00/ is shown in the following listing. The contents of specific file that can be manipulated to enable and disable conservation mode -- /sys/bus/platform/drivers/ideapad_acpi/VPC2004\:00/conservation_mode is also shown in the listing, 0 in the listing, meaning conservation mode is off. Writing a value of 1 to this file with echo would enable conservation mode.

 20%  22:13:56  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ ls -l /sys/bus/platform/drivers/ideapad_acpi/VPC2004\:00/
total 0
-rw-r--r-- 1 root root 4096 Mar 23 22:13 camera_power
-rw-r--r-- 1 root root 4096 Mar 23 18:42 conservation_mode
lrwxrwxrwx 1 root root    0 Mar 23 18:42 driver -> ../../../../../bus/platform/drivers/ideapad_acpi
-rw-r--r-- 1 root root 4096 Mar 23 22:13 driver_override
-rw-r--r-- 1 root root 4096 Mar 23 22:13 fan_mode
lrwxrwxrwx 1 root root    0 Mar 23 22:13 firmware_node -> ../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/PNP0C09:00/VPC2004:00
-rw-r--r-- 1 root root 4096 Mar 23 22:13 fn_lock
drwxr-xr-x 3 root root    0 Mar 23 18:42 input
-r--r--r-- 1 root root 4096 Mar 23 22:13 modalias
drwxr-xr-x 2 root root    0 Mar 23 22:13 power
drwxr-xr-x 4 root root    0 Mar 23 18:42 rfkill
lrwxrwxrwx 1 root root    0 Mar 23 18:42 subsystem -> ../../../../../bus/platform
-rw-r--r-- 1 root root 4096 Mar 23 22:13 touchpad
-rw-r--r-- 1 root root 4096 Mar 23 18:42 uevent
-rw-r--r-- 1 root root 4096 Mar 23 22:13 usb_charging

 20%  22:13:59  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004\:00/conservation_mode
0

 20%  22:14:31  USER: brook HOST: ARCH-16ITH6   
 ~  ❯$ 

Thermal/Performance Mode

The effect of toggling the thermal/performance mode with the Fn + Q in Windows was described above. In Linux, with both Arch Linux and openSUSE Tumbleweed, there seems to be no effect on this LEGION 5 Pro besides a change in the color of the power button indicator light and the keyboard backlight being turned off. I have also observed the lid LED being turned off when toggling to Quiet mode, although manually toggling the lid LED with Fn + L seems to have interfered with this default behavior.

It seems that the performance mode toggling is intended to use the ACPI Platform Profile capability included in the kernel with the module platform_profile.

 100%  14:58:40  USER: brook HOST: 16ITH6-openSUSE   
 ~  ❯$ lsmod | grep idea
ideapad_laptop         32768  0
sparse_keymap          16384  1 ideapad_laptop
platform_profile       16384  1 ideapad_laptop
rfkill                 28672  10 bluetooth,ideapad_laptop,cfg80211
wmi                    40960  3 nvidia_wmi_ec_backlight,wmi_bmof,ideapad_laptop
video                  57344  2 ideapad_laptop,i915
		

Specific kernel modules from the manufacturers -- thinkpad_acpi and ideapad_laptop, in the case of Lenovo laptops -- then use the platform_profile module as a dependency (see listing above) to set the performance mode for their products. To do this, the manufacturers' modules use a kernel filesystem interface at /sys/firmware/acpi/platform_profile_choices and /sys/firmware/acpi/platform_profile provided by the platform_profile, i.e., writing one of the values in /sys/firmware/acpi/platform_profile_choices to /sys/firmware/acpi/platform_profile. The Phoronix article Lenovo Laptop Platform Profile Support Queued Ahead Of Linux 5.12 mentions this capability with respect to Lenovo laptops specifically (although in the article the kernel filesystem paths metioned are incorrect, see The Linux kernel user-space API guide » Platform Profile Selection (e.g. /sys/firmware/acpi/platform_profile)). The article also mentions that for the capability to be available, the laptops must support DYTC Version 5 or later. The article describes the basic operation:

User-space can change the current platform profile via writing to /sys/firmware/[acpi]/platform_profile and then it's up to the hardware to alter its state to match the desired use-case whether it be desiring a low-power mode, cool operation, quiet operation, balanced thermal/power, or simply wanting the best performance out of the hardware.

Unfortunately, the performance mode switching through the Fn + Q key combination does not work on this LEGION, although the ideapad_laptop module supports it. The reason for this could be that this LEGION 5 Pro does not have the mysterious DYTC -- which might be either an actual hardware backed by specific firmware or simply a firmware component -- for which even the long form of the acronym is not to be found anywhere on the Web. For some Lenovo users it seems that DYTC is not at version 5, attributed as the reason for the platform profile capability not being available in the kernel bugzilla entry Bug 212985 - ideapad_acpi: VPC2004:00: DYTC interface is not available. platform_profile interface is unavailable.

But for this particular LEGION 5 Pro, not only is it at a version lower than the minimum, the hardware and/or the firmware component does not seem to be even included in the laptop. Or if it is simply a firmware subsystem component, it has been disabled by Lenovo. The message regarding the unavailability in openSUSE Tumbleweed is

Mar 31 11:57:37 16ITH6-openSUSE kernel: ideapad_acpi VPC2004:00: DYTC interface is not available

TLP also indicates that the kernel filesystem interface that should be provided by the platform_profile module if DYTC is available is indicated in the lines of tlp-stat -p output:

+++ Platform Profile
/sys/firmware/acpi/platform_profile                    = (not available)
/sys/firmware/acpi/platform_profile_choices            = (not available)

It may be the latter of the two possibilities mentioned above for the platform profile capability not working, namely that only a firmware component that has been disabled because the capability exists in Windows and in Linux some related capability is evident. For example if the Fn + Q keys been used to toggle the mode and the power button light indicates performance mode and the energy_performance_policy is set to balance_performance at /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference, and the power adapter is unplugged, the power button indicator color changes from red to white, supposedly indicating a change from the Performance mode to Auto, or an on demand, balanced mode. The value at /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference also changes to balance_power.

I realized late that a related complicating issue is the possible interference of power-profiles-daemon and TLP with the toggling of the Lenovo thermal/performance mode as both of these can modify the performance behavior of the computer. In both Arch and openSUSE I had installed TLP and in openSUSE the power-profiles-daemon was installed automatically (it does not confilict with TLP as in Arch) and its associated Plasma GUI component was enabled. So, I tested the functionality of the Fn + Q combination on Arch without TLP and power-profiles-daemon and still the thermal/performance mode hotkeys did not work.

Keyboard Function Keys

All of the keyboard function keys, except those specifically applicable to Windows, work.

  1. volume related keys for increasing and decreasing volume, and audio muting toggle
  2. microphone muting toggle
  3. increase and decreasing backlight (the issue with backlight control in Arch with graphics set to NVIDIA is related to what backend method Plasma uses to adjust the backlight)
  4. airplane mode toggle
  5. external screen control key opens the PLasma OSD that allows selecting the external screen mode
  6. touchpad toggle
  7. all four media control keys

Two Fn combination keys, the workspace overview keys and calculator keys, do not work, but Plasma's keyboard shortcuts setting could be used to assign similar actions or any other desired action when pressing these combinations. One other Fn combination with the PrtSc key which opens the Windows screenshot tool does not work, although pressing this key without the Fn key does open Spectacle in Plasma. Again the Fn + PrtSc combination could be assigned to some other action. The function lock capability, which allows activating the actions that are normally performed with a Fn key combination with just a press of the appropriate function key and not the combination, also works.

Other nonstandard Fn combinations also work, such as Fn + Q to toggle the performance/thermal mode between low, auto, and high; and Fn + L to toggle the lid "Y" LED also work.

The Plasma interface to power profiles sets the content of /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference from the possible values power, balance-performance, and performance.

Screen

All of the observations of the screen quality I mentioned previously were made when using Linux without making any modifications to the out-of-the-box defaults of Arch Linux or openSUSE Tumbleweed, apart from making the proprietary NVIDIA driver available and installing their respective Optimus utilities. However, in order to make adjustments to certain advanced screen parameters -- the refresh rate, and ICC color calibration -- further tinkering would be necessary, although Plasma's System Settings has user interfaces for each of these parameters in two of its modules.

Update 2 - 21 July 2023:
This issue seems to have been resolved in whatever software stack culminating with the Plasma desktop's Display Configuration System Settings component. The following images show this component in both Kubuntu 22.10 and openSUSE Tumbleweed as of July 2023. Setting the refresh rate to 165Hz now works. Switching between 165Hz and 60Hz also works. This is confirmed by xrandr -q as shown in the following listing, which indicates that of the two refresh rates available for the built-in screen (eDP1), 60.01 and 165.02 Hz, 165.02 Hz is the one in active use.

Plasma Desktop's Display Configuration System Settings Component in Kubuntu and openSUSE Tumbleweed
It is now possible to set the refresh rate to 165Hz and have it persist.

 98%  19:29:38  USER: brook HOST: 16ITH6-openSUSE   
 ~  ❯$ xrandr -q
Screen 0: minimum 8 x 8, current 4480 x 1600, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 300mm x 260mm
   1920x1080     60.00 +  59.94* 
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     60.02  
   1280x720      60.00    59.94  
   1152x864      59.96  
   1024x768      60.00  
   800x600       60.32  
   720x480       59.94  
   640x480       59.94    59.93  
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
eDP1 connected primary 2560x1600+1920+0 (normal left inverted right x axis y axis) 340mm x 220mm
   2560x1600    165.02*+  60.01 +
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
DP4 disconnected (normal left inverted right x axis y axis)
DP5 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

End Update 2

In the case of the refresh rate, a refresh rate can be chosen from a drop-down list of supported refresh rates in the Display Configuration section of Plasma System Settings's Display Settings module. The following set of images shows that this drop-down is inconsistently populated with available refresh rates. In the first image, a screenshot captured during the initial period of my use of the laptop, the drop-down list is available and the refresh rate can be changed to the other of the two supported refresh rates, i.e., changed to 165Hz from the default 60Hz. After this initial period, as evidenced by the second and third images, the standard refresh rate of 60Hz was always preloaded and not able to be changed. This issue is not limited to the Plasma desktop environment; the last image, of Cinnamon desktop environment's settings display configuration section also provides an interface for specifying the screen refresh rate, but in this desktop environment also, the refresh rate is not changeable from the standard rate.

Screen Refresh Rate Settings in Plasma and Cinnamon Desktop Environments
Both Plasma and Cinnamon desktop environment settings utilities allow changing the screen refresh rate, but the refresh rate has not been consistently changeable from the standard refresh rate.

In briefly investigating this issue I saw that the EDID (see the Wikipedia page: Extended Display Identification Data ) information for the screen, as produced by edid-decode parsing /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/edid contains:

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: CSO
    Model: 5638
    Made in: 2020
			
... truncated ...
			
  Detailed Timing Descriptors:
    DTD 1:  2560x1600   60.007981 Hz   8:5    103.934 kHz    282.700000 MHz (345 mm x 215 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol N
                 Vfront    3 Vsync   6 Vback  123 Vpol N
	Display Range Limits:
      Monitor ranges (Bare Limits): 60-165 Hz V, 286-286 kHz H, max dotclock 780 MHz
				
... truncated ...

Block 2, DisplayID Extension Block:
  Version: 1.3
  Extension Count: 0
  Display Product Type: Extension Section
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  2560x1600  165.018764 Hz  16:10   285.812 kHz    777.410000 MHz (aspect 16:10, no 3D stereo, preferred)
               Hfront   48 Hsync  32 Hback   80 Hpol N
               Vfront    3 Vsync   6 Vback  123 Vpol N
  Checksum: 0x37
Checksum: 0x90

The first block (Block 0) only references a standard 60Hz refresh rate for a resolution of 2560x1600, although the absolute limits of the vertical refresh rate (60Hz to 165Hz) is also listed. The third EDID block, an EDID extension block, (Block 2) references a refresh rate of 165.018764Hz for a resolution of 2560x1600. For some reason the DTD from the extension block is not available to X as shown in its log, /var/log/X.org.0:

... truncated ...
[     5.941] (II) modeset(G0): Printing probed modes for output eDP-1-1
[     5.941] (II) modeset(G0): Modeline "2560x1600"x60.0  282.70  2560 2608 2640 2720  1600 1603 1609 1732 -hsync -vsync (103.9 kHz eP)
[     5.941] (II) modeset(G0): Modeline "2560x1600"x60.0  348.50  2560 2760 3032 3504  1600 1603 1609 1658 -hsync +vsync (99.5 kHz d)
[     5.941] (II) modeset(G0): Modeline "2560x1600"x60.0  268.50  2560 2608 2640 2720  1600 1603 1609 1646 +hsync -vsync (98.7 kHz d)
[     5.941] (II) modeset(G0): Modeline "2560x1440"x60.0  638.25  2560 2780 3064 3568  1440 1441 1444 1491 doublescan -hsync +vsync (178.9 kHz d)
[     5.941] (II) modeset(G0): Modeline "2560x1440"x60.0  469.12  2560 2584 2600 2640  1440 1441 1444 1481 doublescan +hsync -vsync (177.7 kHz d)
[     5.941] (II) modeset(G0): Modeline "2560x1440"x60.0  312.25  2560 2752 3024 3488  1440 1443 1448 1493 -hsync +vsync (89.5 kHz d)

... truncated ...

As a first solution I attempted to use xrandr to make another modeline available with the 165Hz refresh rate for a resolution of 2560x1600 on Arch Linux using Optimus Manager's mechanism for adding advanced X options (See Extra Xorg configuration and Display setup scripts), specifically by adding:

xrandr --newmode  "2560x1600_165.02" 1046.15 2560 2792 3080 3600 1600 1601 1604 1761 -HSync +Vsync
xrandr --addmode eDP1 "2560x1600_165.02"
xrandr --addmode eDP1-1 "2560x1600_165_02"
xrandr --addmode eDP-1 "2560x1600_165.02"
xrandr --addmode eDP-1-1 "2560x1600_165_02"
xrandr --output eDP1 --mode "2560x1600_165.02"
xrandr --output eDP1-1 --mode "2560x1600_165.02"
xrandr --output eDP-1 --mode "2560x1600_165.02"
xrandr --output eDP-1-1 --mode "2560x1600_165.02"

to /etc/optimus-manager/xsetup-nvidia.sh and /etc/optimus-manager/xsetup-hybrid.sh. This made the drop-down list of refresh rates selectable to allow changing to 165Hz for the internal screen in Hybrid mode -- although I didn't see an increase in frame rates with glxgears -- but there was no change to available refresh rates in Discrete, or nvidia, mode.

I also tried various other methods of manually making the higher refresh rate available, such as adding a Monitor section to a file in /etc/X11/xorg.conf.d so that it would be merged into the final X configuration generated by Optimus Manager and ensuring that the internal screen's EDID is available at boot by copying the EDID from /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/edid to /usr/lib/firmware/edid and using the kernel command line parameter drm.edid_firmware=edid/copied-edid.bin. This had no effect either so I gave up at this point.

I did come accross another possible solution suggested in 165hz internal screen stuck at 40hz, which is to ensure that the EDID information is contained in the inital ramdisk. The reason for the additional modeline not having an effect in nvidia mode is suggested by Unable to set a refresh rate higher than 60Hz after installing nvidia driver, which suggests that the NVIDIA driver interferes with xrandr, and the solution being adding a modeline option to the X configuration directly. Unfortunately this is not possible when using Optimus Manager as it generates an X configuration file itself and changes to its generated configuration would not be active until the X server is restarted, at which time Optimsu Manager would generate its own X configuration again.

Another possible root cause is indicated in the bug report Can't change resolution or refresh rate after 5.16 and its linked bugs. The kernel version referenced seems to be consistent with when the drop-down in Display Configuration stopped allowing changes to the refresh rate after the initial period of my use of the laptop.

The tinkering to allow specific color profiles are not as involved, but my attempt to make adjustments did not yield visible results. I used one of the solutions suggested by the ICC profiles Arch Linux Wiki page, namely making an ICC profile generated in Windows available in Linux. Two methods are available for doing this in Plasma. One is using the right clicking on an ICC profile file generated in Windows, in this case (which has an .icm extension in Windows) in Plasma's file manager and activating the menu item "Open with -> ICC Profile Installer". The other is the "Add Profile" toolbar item in the Color Corrections module of Plasma's System Settings. Both of these methods are shown in the following set of images. Images 1-3 show the Color Corrections module with the default set of ICC profiles, Images 4-6 show the process of right clicking on an ICC profile generated in Windows, in this case one generated by the Lenovo provided X-Rite color calibration utility, and the subsequent ICC installer dialogs, and Images 7-8 show the settings module after the ICC profiles generated in Windows have been made available.

Adding an ICC Color Profile in Plasma
One method is to make a profile generated in Windows available in Linux.
Click on any of the thumbnails to view a slideshow of the images.

Other Issues

Update 3 - 21 July 2023: The issue regarding hibernate, mentioned below, is discussed more fully in Nvidia Optimus on Linux, which describes ACPI power states -- of which hibernation is one -- in order to provide context for the NVIDIA Runtime D3 Power Management. That article describes the underlying issue and its relationship to ACPI power states, and the solution which, briefly, is a simple modification of the systemd-sleep configuration file /etc/systemd/sleep.conf. In the configuration file, or in a new file in /etc/systemd/sleep.conf.d, it is necessary to change the order of preference for the allowed hibernation modes from "platform shutdown" to "shutdown platform", or to only shutdown. A similar modification to HybridSleepMode may also be necessary in certain scenarios.

What follows is an excerpt from that article, discussing the issue and the solution:

One item of interest regarding sleep states is the that the S4 sleep state is also a type of hibernation. When the system is requested to enter the hibernation state in a laptop in which the OS uses systemd-sleep, depending on the value of configuration item "Hibernate Mode"" in /etc/systemd/sleep.conf, after the context is preserved in non-volatile storage, the system can either wait for OEM specific hibernation handling (S4) or immediately shutdown (specifically, enter the G2 global power state or S5). The value of the configuration item is a space separated list of the hibernation mode in order of preference. In the specific case of the Lenovo Legion 5i Pro in which rEFInd is set in the firmware as the default boot manager, if the first value of Hibernate Modeis "platform", after hibernation is requested, the system exits to the rEFInd interface, requiring two cycles of manual shutdown, although on the next boot the system resumes from a hibernation state. If the first value of the configuration item is set as shutdown the system immediately shuts down, entering the G2 global power state (S5) as is normally expected, and at the next power on, the system resumes from hibernation. The default state of the configuration file is shown in the following listing. Note that the comments suggest overriding configuration items in the directory, /etc/systemd/sleep.conf.d, which I did to modify the behavior during hibernation.
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it under the
#  terms of the GNU Lesser General Public License as published by the Free
#  Software Foundation; either version 2.1 of the License, or (at your option)
#  any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the sleep.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# See systemd-sleep.conf(5) for details.

[Sleep]
#AllowSuspend=yes
#AllowHibernation=yes
#AllowSuspendThenHibernate=yes
#AllowHybridSleep=yes
#SuspendMode=
#SuspendState=mem standby freeze
#HibernateMode=platform shutdown
#HibernateState=disk
#HybridSleepMode=suspend platform shutdown
#HybridSleepState=disk
#HibernateDelaySec=120min

End Update 3

There were some other issues in using Linux.

  • In both Arch and openSUSE it was necessary to enable the nvidia-suspend.service, the nvidia-hibernate.service, and the nvidia-resume.service systemd in order for to suspend or hibernate the system, besides the other more typical configuration that has nothing to do with the NVIDIA GPU.
  • On openSUSE Tumbleweed, messages are issued that appear in an open terminal and as notifications in the Plasma desktop. The messages, shown in the following image, indicate a Non-Maskable Interrupt that the kernel can not handle because it does not recognize it.
    Messages Regarding an Unknown Non-Masking Interrupt in openSUSE
    The issue has been reported to openSUSE and to Manjaro, where the messages occur soon after resuming from hibernation.
  • In openSUSE hibernate worked fully on at least one occasion, but I have noticed also on at least one occasion pressing any key or the touchpad resumes the laptop (or, now as I think of the issue, maybe the laptop had never hibernated). This should only happen when pressing the power key. Perhaps this is related to the previous issue in openSUSE.

Lenovo Resources

Lenovo provides the usual set of resources to customers, some of which are specific to LEGION branded computers. Like all large computer manufacturers, it has a support portal which is the central point for accessing its customer resources. It can be browsed or searched by model number or serial number to find the relevant software and firmware downloads, contact support for warranty service, documentation, and knowledge base, among other things. Many of the tasks that can be performed with the support portal can also be performed through the Lenovo Vantage utility.

The Various Aspects of the Lenovo Support Site
The Lenovo support site is the central point for accessing customer resources besides the Lenovo Vantage utility.
Click on any of the thumbnails to view a slideshow of the images.

Warranty

The warranty is one of the better features of the LEGION line from Lenovo, and was a pleasant surprise. LEGION laptops include -- in addition to the normal one year carry-in (or ship) warranty service, what Lenovo calls Depot service -- a free upgrade to next business day on-site service, and a further upgrade to a warranty level that includes 24/7 availability by phone, email, or chat. The next business day on site service is a valuable convenience attractive to LEGION customers who rely on the computer for productivity.

The warranty details can be viewed view in the support portal (the first two images in the above set). Here, I learned of the welcome warranty upgrade, and also the unwelcome fact that Lenovo activates the warranty period based on when the reseller receives the product and not when the product is actually registered. In this particular case, the depot warranty period began more than a month before I purchased the laptop, meaning it would end more than a month before the one year anniversary of my purchase, but the on-site warranty add-on would end after the one year anniversary. I was able to address this issue with Lenovo support through the portal, who quickly corrected the end date of the depot warranty.

Service

Documentation

The support portal provides access to manuals, including a detailed hardware maintenance manual, the availability of which, to me, is an important consideration when purchasing a laptop, and is not always provided by all computer manufacturers; Acer for example, does not provide one for my VN7-592G. Unfortunately, while extensive, the support portal has some issues, which was evident in this area as the service manual linked on the support portal generated by both the part number and the serial number applied only to the Legion 5 models and not the Legion 5 Pro.

Recovery Image Creation

The most helpful part of the support portal was the Order Recovery Media tab of the Drivers & Software section of the portal. It was necessary to use this when, in incrementally developing and testing a Bash script to install Arch Linux on a Btrfs filesystem with support for Snapper snapshots in the openSUSE style, following the process described in An Arch Linux Installation on a Btrfs Filesystem with Snapper for System Snapshots and Rollbacks, I accidentally deleted the contents of the EFI partition (and the /home partition of my Garuda installation). I completed the form on the Order Recovery Media page and was able to download the recovery media creation tool, which I then used to repair the EFI System Partition from the Windows Pre-Installation Environment included in the Windows image downloaded by the tool.

Software and Firmware Downloads

The support portal catalogs downloadable drivers, firmware, and software -- some of which are not preinstalled. I downloaded a hardware diagnostics utility to confirm that the touchpad problem I discussed earlier was not due to faulty hardware. I performed other software related tasks, such as updating the firmware, directly from the Lenovo Vantage utility, although a firmware update package could be downloaded from this part of the portal and executed independently of Lenovo Vantage.

Diagnostics and Hotkey Management Software Downloaded from the Lenovo Support Site
Software in addition to those that are preinstalled can be downloaded from the Lenovo support site, which also offer another avenue besides the Lenovo Vantage utility to update firmware and drivers.

Recommendation

Gaming laptops with a high end consumer grade processor, such as the Intel Core i7-11800H -- those which don't compromise performance for battery life -- allow those on a budget to have workstation performance without the workstation price. This particular gaming laptop is a good choice for such users. It offers excellent build quality, more than the typical number of ports, great performance as configured by Lenovo an upgrade in RAM and storage may be necessary, which I did -- and an excellent screen.

It is also an excellent value in my case as I purchased it from Costco at a significant discount. For those on a budget, it is more than suitable for use as a workstation but with a lower purchase price, compared to the ThinkPad P1 Gen 4 16" (part number 20Y3CTO1WWUS2 which is sold with Ubuntu preinstalled). This LEGION has the same processor, 8 GB more RAM, 256 GB more PCIe NVMe storage, the same screen, more ports, the same WiFi/Bluetooth module, and a better warranty. The areas in which it lacks is a consumer grade graphics card versus a professional graphics card (GeForce RTX vs Quadro) a fingerprint reader, a better laptop specific kernel module which allows finer control over battery conservation features and performance profile switching, and I assume some more and enterprise-specific features in the firmware interface.

There are a few minor issues Linux users must be aware of if considering a LEGION 5i Pro. Support for some of its higher end features is not as good in Linux as it is on Windows or as it is in Linux on a ThinkPad. For example, it will not be possible to get the 165Hz screen refresh rate instead of the standard 60Hz rate without difficulty, despite an interface for setting the refresh rate being available in the major desktop environments' settings utilities. A similar interface in Windows allows changing the refresh rate.

The Fn+Q keyboard shortcut to toggle between the three thermal/performance modes -- the feature of which Lenovo is most proud, as can be assumed by the fact it is the only feature that appears on o sticker on the palmrest -- also is not fully supported in Linux as it is in Windows. The ideapad_laptop kernel module which powers laptop specific functionality, while providing backend support for this feature, requires userland programs to interface to it for actual user control of the feature. As far as I know, this is not the case for the ThinkPad series of laptops (seeu below). ASUS laptops can make use of a utility (command line) to control thermal/performance modes, and other features such as keyboard backlight and fan functionality.

The LEGIONS strengths far outweigh these minor issues and I feel that I made a very good purchase.

References

  1. SUSE Prime GitHub Page
  2. openSUSE Wiki Page on SUSE Prime
  3. openSUSE Wiki Page on NVIDIA Drivers
  4. TLP Documentation Battery Care Vendor SpecificsPage
  5. Lenovo Product Specifications Reference for Part Number: 82JF002RUS
  6. Advanced Configuration and Power Interface (ACPI) Specification
  7. NVIDIA Accelerated Linux Graphics Driver README and Installation Guide
  8. Chapter 22. PCI-Express Runtime D3 (RTD3) Power Management of NVIDIA Accelerated Linux Graphics Driver README and Installation Guide
  9. Chapter 16. Configuring a Notebook of NVIDIA Accelerated Linux Graphics Driver README and Installation Guide
  10. Chapter 35. PRIME Render Offload
  11. Gentoo Discussion Forum: Lenovo Legion 5 pro 16ACH6H/Legion 7 installation tips.
  12. Lenovo Laptop Platform Profile Support Queued Ahead Of Linux 5.12
  13. The Linux kernel user-space API guide » Platform Profile Selection (e.g. /sys/firmware/acpi/platform_profile)
  14. How Advanced Optimus Delivers Max Performance With Optimal Battery Life
  15. Optimus ManagerGitHub Page
  16. Appendix B. X Config Options of NVIDIA Accelerated Linux Graphics Driver README and Installation Guide