Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Incorrect CPU Long Term Power Limit (Cross Loading) applied and cannot be changed #220

Open
mesaprotector opened this issue May 16, 2024 · 1 comment

Comments

@mesaprotector
Copy link

mesaprotector commented May 16, 2024

Installed lenovolegionlinux-git and lenovolegionlinux-dkms-git from the AUR a couple days ago to be able to see fan speeds on Linux. I use Windows 11 for gaming. The very next time I booted into Windows, I observed abnormally low FPS in-game.

Had not updated the Windows driver, or changed any Windows settings at all for at least two weeks prior to this happening. Doing a clean reinstall of the Windows driver did not help. I use Lenovo Legion Toolkit on Windows and had not changed its settings either.

All I did with LenovoLegionLinux is load into the GUI, check the various fan curves, enable the daemon and logging, and exit - and then I disabled the daemon and logging again after finding this issue, but it did not fix the problem.

Model and Debug Info

Distribution: Arch Linux 6.8.9-arch1-2
Model name: Lenovo LOQ 15IRH8
CPU model: Intel i5-13420H
GPU model: NVIDIA RTX 3050 6GB Mobile
GPU driver (Linux): nvidia-525xx-dkms 525.147.05-2 (have had problems with every newer driver)
GPU driver (Windows): 552.44
Keyboard backlight: N/A (white, two brightness levels + off)
Light in lid or logo: N/A (none)
Light at IO-Ports at back: N/A (none)

Output of sudo dmidecode -t system.

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 82XV
	Version: LOQ 15IRH8
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_82XV_BU_idea_FM_LOQ 15IRH8
	Family: LOQ 15IRH8

Handle 0x0024, DMI type 12, 5 bytes
System Configuration Options
	Option 1: ConfigOptions1
	Option 2: ConfigOptions2
	Option 3: ConfigOptions3

Handle 0x0027, DMI type 15, 29 bytes
System Event Log
	Area Length: 0 bytes
	Header Start Offset: 0x0000
	Header Length: 8192 bytes
	Data Start Offset: 0x2000
	Access Method: General-purpose non-volatile data functions
	Access Address: 0x0000
	Status: Valid, Not Full
	Change Token: 0x12345678
	Header Format: OEM-specific
	Supported Log Type Descriptors: 3
	Descriptor 1: POST memory resize
	Data Format 1: None
	Descriptor 2: POST error
	Data Format 2: POST results bitmap
	Descriptor 3: Log area reset/cleared
	Data Format 3: None

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

Output of sudo dmidecode -t bios:

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: LENOVO
	Version: LZCN23WW
	Release Date: 02/22/2023
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 16 MB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
		Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
		5.25"/360 kB floppy services are supported (int 13h)
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		8042 keyboard services are supported (int 9h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 1.23
	Firmware Revision: 1.23

Handle 0x0025, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 8
		en|US|iso8859-1,0
		fr|FR|iso8859-1,0
		zh|TW|unicode,0
		ja|JP|unicode,0
		it|IT|iso8859-1,0
		es|ES|iso8859-1,0
		de|DE|iso8859-1,0
		pt|PT|iso8859-1,0
	Currently Installed Language: en|US|iso8859-1,0

Output of sudo cat /sys/kernel/debug/legion/fancurve:

EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 4245487636
temperature access method: 5
CPU temperature error: 0
CPU temperature: 34
CPU temperature EC error: 0
CPU temperature EC: 0
CPU temperature ACPI error: -5
CPU temperature ACPI: 0
CPU temperature WMI error: 0
CPU temperature WMI: 34
CPU temperature WMI2 error: 0
CPU temperature WMI2: 0
CPU temperature WMI3 error: 0
CPU temperature WMI3: 34
GPU temperature error: 0
GPU temperature: 35
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: -5
GPU temperature ACPI: 0
GPU temperature WMI error: 0
GPU temperature WMI: 35
GPU temperature WMI2 error: 0
GPU temperature WMI2: 0
GPU temperature WMI3 error: 0
GPU temperature WMI3: 35
fan speed access method: 5
1 fanspeed error: 0
1 fanspeed: 1400
1 fanspeed EC error: 0
1 fanspeed EC: 41120
1 fanspeed ACPI error: -5
1 fanspeed ACPI: 41120
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 0
1 fanspeed WMI3 error: 0
1 fanspeed WMI3: 1400
2 fanspeed error: 0
2 fanspeed: 1400
2 fanspeed EC error: 0
2 fanspeed EC: 41120
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1400
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 0
2 fanspeed WMI3 error: 0
2 fanspeed WMI3: 1400
powermode access method: 3
powermode error: 0
powermode: 3
powermode EC error: 0
powermode EC: 98
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 3
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: false
EC lockfancontroller error: -1
EC lockfancontroller: error
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: -1
fanfullspeed EC: 0
EC fan curve current point id: 10
EC fan curve points size: 10
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
1400	1400	0	0	0	60	0	58	0	0
4300	4300	0	0	0	84	0	70	0	0
4300	4300	0	0	0	97	0	70	0	0
4300	4300	0	0	0	97	0	70	0	0
4300	4300	0	0	0	97	0	70	0	0
4300	4300	0	0	0	97	0	70	0	0
4300	4300	0	0	0	97	0	70	0	0
4300	4300	0	0	0	97	0	70	0	0
4300	4300	0	0	0	99	0	94	0	0
4300	4300	0	0	0	100	0	14	0	0
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
@mesaprotector
Copy link
Author

mesaprotector commented May 16, 2024

I found a workaround, which is to use Custom Mode on Windows and raise the CPU Power Limit (Cross-Loading), in my case from 30 to 45 watts. Even when the GPU was not being fully used, the CPU was underutilized, which was never the case before. I should note that this value cannot be set (is not read correctly) in LenovoLegionLinux. It is listed as 0 and if I try to set to anything it reverts to 0.

Haven't found a way to fix the FPS drops on Performance Mode, unfortunately. I suppose this isn't high priority but I'll leave the issue here in case anyone else has this problem.

@mesaprotector mesaprotector changed the title [BUG] Performance regression in Windows immediately after installing LenovoLegionLinux on Arch [BUG] Incorrect CPU Long Term Power Limit (Cross Loading) applied and cannot be changed May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant