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.
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 various model families currently available as of February 2012 on the Lenovo website are presented in the following table, with an overview of their characteristics.
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.
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 |
|Discrete Graphics Processor||NVIDIA GeForce RTX 3050 |
|Integrated Graphics Processor:||Intel TigerLake-H GT1 UHD Graphics|
|Memory as shipped||2x 8GB DDR-3200 SODIMMs|
|Storage as shipped||One SK Hynix 512GB M.2 2280 PCIe 3.0x4 NVMe SSD|
|Network and Bluetooth|
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.
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:
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.
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 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 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 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
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 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.
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 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 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.
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.
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.
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.
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.
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.
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.
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.
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.)
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.
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.
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.
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 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
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
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.
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.
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.
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.
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 ~ ❯$
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.
The TLP Documentation Battery Care Vendor Specificspage, 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
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.
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 ~ ❯$
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.
All of the keyboard function keys, except those specifically applicable to Windows, work.
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.
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.
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.
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.
There were some other issues in using Linux.
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 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.
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.
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.
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.
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.