Here is my elegant workaround to the problem: ``` [Unit] Description=Fixes many issues with the 2022 LG Grams running linux and sets charging limit to 80
# save this script to /etc/systemd/system/lg-gram.service # then run: # sudo systemctl daemon-reload # sudo systemctl enable lg-gram.service # sudo systemctl start lg-gram.service # more documentation: https://www.reddit.com/r/LGgram/comments/150p3rg/critical_bug_affecting_the_2022_lineup_on_linux/ [Service] Type=oneshot # Unmask GPE interrupts to resolve the issue of high temperatures and fan noise even on idle when the laptop is charging through USB-C/TB: ExecStart=/bin/bash -c "echo 'unmask' > /sys/firmware/acpi/interrupts/gpe6E" # sets charging limit to 80 to increase battery longevity: ExecStart=/bin/bash -c "echo 80 > /sys/class/power_supply/CMB0/charge_control_end_threshold" # Disable "Silent mode": ExecStart=/bin/bash -c "echo 1 > /sys/devices/platform/lg-laptop/fan_mode" # Unload the int3403 temp sensor library from the kernel to fix ACPI flood issue: # ExecStart=/bin/sh -c "rmmod int3403_thermal" # Disable turbo boost (trade single threaded performance for lower heat output and maybe battery life) # ExecStart=/bin/sh -c 'echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo' # ExecStop=/bin/sh -c 'echo 0 > /sys/devices/system/cpu/intel_pstate/no_turbo' # Fix for thermal throttle issue that on some distros can put the CPU running on low wattages: # ExecStart=/bin/bash -c "systemctl disable --now thermald" RemainAfterExit=yes [Install] WantedBy=multi-user.target ``` -- The issue seems to be caused by: ```some miscommunication between Linux thinking it can probe for thermal info on a device which did not register a handler to do so``` Source - https://www.reddit.com/r/linuxhardware/comments/x97m6l/fedora_lg_gram_16_2022_12th_gen_alder_lake/ (added to the original post) I'm happy to confirm that the kernel parameter acpi_mask_gpe=0x6E seems to fix the issue of fans blasting and high temperatures even on idle! An observed drawback from this solution is that is breaks the functionality of the screen brighness buttons: it still works, but you can hold it, and it also has a big delay in applying each setting - This doesn't bother me as I already use some scripts with a custom keyboard shortcut to set the brighness of all my displays at once. Another solution is unmasking the GPE interrupts not through a kernel parameter, but after boot with: echo unmask > /sys/firmware/acpi/interrupts/gpe6E - This way the brightness button issues don't manifest. Furthermore, setting the kernel parameter acpi_mask_gpe=0x6E, it could be affecting idle power draws if the values returned by GPE are used to put cpus into idle states. Thankfully the issue only happens when the laptops are charging, so it wouldn't kill battery life. >From the kernel documentation I could find: acpi_mask_gpe= [HW,ACPI]Due to the existence of _Lxx/_Exx, some GPEs triggeredby unsupported hardware/firmware features can result inGPE floodings that cannot be automatically disabled bythe GPE dispatcher.This facility can be used to prevent such uncontrolledGPE floodings.Format: <byte> or <bitmap-list> So the documentation is aligned with the observations of the fix/workaround. -- Furthermore, there is another possible fix: journalctl seems to output many ACPI errors, probably due to the miscommunication between Linux thinking it can probe for thermal info on a device which did not register a handler to do so. The ACPI issue is a flood caused by the int3403 temp sensor library, which can be unloaded from the kernel without any other visible system effect sudo rmmod int3403_thermal is how it's unloaded A permanent fix seems to be patching the int3403 library to add something like if (sensorNotPresent) then skip or unregister until next launch -- There seems to be yet another issue related to this: power usage goes way up to around 10W at idle (instead of like 3W) and there's a kernel thread with high load (visible in powertop) related to the i915 graphics driver The solution seems to be: echo 1 > /sys/kernel/debug/dri/1/i915_hpd_short_storm_ctl That should be run on every boot to stop another interrupt flooding from happening, but this solution: it might break multi-stream transport on DisplayPort - the short storm detection is enabled by default unless multi-stream transport is supported -- Another finding: The laptop is by default running on "Silent mode" which can be disabled by: echo 1 > /sys/devices/platform/lg-laptop/fan_mode -- The laptop indeed seems to have no BIOS updates. -- Another issue seems to be that on some distros the laptop might thermal throttle to very low wattages, and the fix is: systemctl disable --now thermald -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1987829 Title: LG Gram 12gen high CPU use when USB-C/TB is in use Status in linux package in Ubuntu: Confirmed Status in linux package in Fedora: New Bug description: LG Gram laptop 17Z90Q with a Core i7-1260P CPU. Whenever an external monitor is connected to USB-C/Thunderbolt 4, average load goes above 3.0 and the machine is getting very hot. Output from top -H shows a lot of kworker CPU usage: top - 11:45:06 up 33 min, 2 users, load average: 3,30, 3,08, 2,79 Threads: 1442 total, 2 running, 1440 sleeping, 0 stopped, 0 zombie %Cpu(s): 0,1 us, 3,7 sy, 0,0 ni, 96,1 id, 0,0 wa, 0,0 hi, 0,1 si, 0,0 st MiB Mem : 15684,6 total, 8510,2 free, 2580,8 used, 4593,6 buff/cache MiB Swap: 3815,0 total, 3815,0 free, 0,0 used. 11326,9 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ WCHAN COMMAND 7766 root 20 0 0 0 0 R 19,8 0,0 0:56.05 worker_th+ kworker/0:2-events 196 root 20 0 0 0 0 D 15,8 0,0 1:18.12 ec_guard kworker/u32:2+USBC000:00-con0 10237 root 20 0 0 0 0 I 12,9 0,0 0:26.44 worker_th+ kworker/0:0-events 1027 root 20 0 0 0 0 I 6,6 0,0 0:43.30 worker_th+ kworker/1:3-events 10971 root 20 0 0 0 0 I 4,0 0,0 0:00.20 worker_th+ kworker/15:0-events 175 root 20 0 0 0 0 I 2,3 0,0 0:03.24 worker_th+ kworker/11:1-events 2410 root 20 0 0 0 0 I 1,7 0,0 0:05.49 worker_th+ kworker/9:3-events Perf shows a lot of time spent inside handle_irq_event/acpi_ev_gpe_detect/acpi_hw_gpe_read. Additionally, kernel log is getting spammed with these lines every 4 seconds (but also without any USB-C device attached): [ 223.514304] ACPI Error: No handler for Region [XIN1] (00000000f2ad4f1f) [UserDefinedRegion] (20210730/evregion-130) [ 223.514323] ACPI Error: Region UserDefinedRegion (ID=143) has no handler (20210730/exfldio-261) [ 223.514337] Initialized Local Variables for Method [_TMP]: [ 223.514339] Local0: 0000000021495082 <Obj> Integer 0000000000000034 [ 223.514349] No Arguments are initialized for method [_TMP] [ 223.514354] ACPI Error: Aborting method \_SB.PC00.LPCB.LGEC.SEN2._TMP due to previous error (AE_NOT_EXIST) (20210730/psparse-529) ProblemType: Bug DistroRelease: Ubuntu 22.04 Package: linux-image-5.15.0-46-generic 5.15.0-46.49 ProcVersionSignature: Ubuntu 5.15.0-46.49-generic 5.15.39 Uname: Linux 5.15.0-46-generic x86_64 ApportVersion: 2.20.11-0ubuntu82.1 Architecture: amd64 AudioDevicesInUse: USER PID ACCESS COMMAND /dev/snd/controlC0: me 1678 F.... pulseaudio /dev/snd/controlC1: me 1678 F.... pulseaudio CRDA: N/A CasperMD5CheckResult: pass Date: Fri Aug 26 11:57:05 2022 InstallationDate: Installed on 2022-08-25 (1 days ago) InstallationMedia: Ubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809.1) MachineType: LG Electronics 17Z90Q-G.AA78N ProcFB: 0 i915drmfb ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.15.0-46-generic root=UUID=e2f96916-a67c-432e-b687-730071271216 ro quiet splash vt.handoff=7 PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon. RelatedPackageVersions: linux-restricted-modules-5.15.0-46-generic N/A linux-backports-modules-5.15.0-46-generic N/A linux-firmware 20220329.git681281e4-0ubuntu3.4 SourcePackage: linux UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 07/06/2022 dmi.bios.release: 0.1 dmi.bios.vendor: Phoenix Technologies Ltd. dmi.bios.version: A1ZG0380 X64 dmi.board.asset.tag: Base Board Asset Tag dmi.board.name: 17Z90Q dmi.board.vendor: LG Electronics dmi.board.version: FAB1 dmi.chassis.asset.tag: Asset Tag dmi.chassis.type: 10 dmi.chassis.vendor: LG Electronics dmi.chassis.version: 0.1 dmi.ec.firmware.release: 33.0 dmi.modalias: dmi:bvnPhoenixTechnologiesLtd.:bvrA1ZG0380X64:bd07/06/2022:br0.1:efr33.0:svnLGElectronics:pn17Z90Q-G.AA78N:pvr0.1:rvnLGElectronics:rn17Z90Q:rvrFAB1:cvnLGElectronics:ct10:cvr0.1:skuEVO: dmi.product.family: LG gram PC dmi.product.name: 17Z90Q-G.AA78N dmi.product.sku: EVO dmi.product.version: 0.1 dmi.sys.vendor: LG Electronics To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1987829/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp