Suspend w/ Linux on Lunar Lake (2024 MSI Prestige 13 AI+ Evo A2VM)

I recently bought a 2024 MSI Prestige 13 AI+ Evo A2VM w/ a Intel Core Ultra 7 258V since I was looking for something lightweight (0.99kg!) which might have decent battery life (75Wh battery!) and figure I’d roll the dice on Linux compatibility.

For those interested, I’m keeping notes here: 2024 MSI Prestige 13 AI Evo A2VM · lhl/linuxlaptops Wiki · GitHub

And here’s my HW probe: HW probe of MSI Prestige 13 AI+ Evo ... #9be89b2454

I’m giving CachyOS a spin (basically Arch btw, w/ some optimized repos available). The GUI installer on their latest install ISO doesn’t work (probably due to display driver issues?) so I just did a straight manual install.

A number of things are spotty (GPU drivers, wifi) w/ the current default Arch kernel (6.11) but are cleared up if you use linux-mainline (currently 6.12rc1). I am also running linux-firmware-git for the latest firmware (and sof-firmware, required for the sound system to work).

So, the good news:

  • Performance is pretty decent. Also on Geekbench, Linux outperforms Windows 11 by a few percent: MSI Prestige 13 AI+ Evo A2VMG vs MSI Prestige 13 AI+ Evo A2VMG - Geekbench
  • While the 32GB of LPDDR5X-8533 is on-package/soldered, I was able to swap to a 4TB SSD w/o much problem. I went with an Acer Predator GM7, a Maxio/YMTC TLC drive that was very cheap, relatively performant, and like the almost identical Lexar NM790, has extremely low power draws
  • Basically everything works w/ 6.12 - the only thing that doesn’t seem to have drivers is the Goodix fingerprint reader (expected). There is an IR camera so at some point I might try to setup howdy logins
  • The hardware is great to me, from the 500 nit 2880x1800 OLED (I run it at at 200% and it looks great), the incredibly light weight, decent if not amazing ports, etc.
  • Running powertop and powerstat, I’m measuring ~2.3W idle on TTY w/ 50% display brightness, and in GNOME tooling around, it’s usually hangs around at 5-8W, so while more testing is needed, it looks like all-day battery life under light use looks very possible

Now, the not so good news:

I have been getting some intermittent suspend lockups. Not all the time, but enough. There seems to be core dumps on wakeup due to RCU timeouts (starts with an rcu_preempt detected stalls on CPUs/tasks). Stack traces look like this:

Oct 02 17:58:29 p13 kernel: rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
Oct 02 17:58:29 p13 kernel: rcu:         2-...!: (0 ticks this GP) idle=6708/0/0x0 softirq=15740/15740 fqs=1 (false positive?)
Oct 02 17:58:29 p13 kernel: rcu:         (detected by 6, t=18005 jiffies, g=28877, q=45 ncpus=8)
Oct 02 17:58:29 p13 kernel: rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
Oct 02 17:58:29 p13 kernel: rcu:         2-...!: (1 GPs behind) idle=6730/0/0x0 softirq=15740/15741 fqs=0 (false positive?)
Oct 02 17:58:29 p13 kernel: rcu:         (detected by 4, t=18006 jiffies, g=28881, q=207 ncpus=8)
Oct 02 17:58:29 p13 kernel: rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
Oct 02 17:58:29 p13 kernel: rcu:         0-...!: (1 GPs behind) idle=7f88/0/0x0 softirq=16649/16650 fqs=0 (false positive?)
Oct 02 17:58:29 p13 kernel: rcu:         2-...!: (0 ticks this GP) idle=6758/0/0x0 softirq=15743/15744 fqs=0 (false positive?)
Oct 02 17:58:29 p13 kernel: rcu:         3-...!: (0 ticks this GP) idle=a370/0/0x0 softirq=13150/13150 fqs=0 (false positive?)
Oct 02 17:58:29 p13 kernel: rcu:         (detected by 4, t=18005 jiffies, g=28889, q=204 ncpus=8)
Oct 02 17:58:29 p13 kernel: rcu: rcu_preempt kthread starved for 18005 jiffies! g28889 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=3
Oct 02 17:58:29 p13 kernel: rcu:         Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
Oct 02 17:58:29 p13 kernel: rcu: RCU grace-period kthread stack dump:

A bunch of the times it’s been boltd.service dumping, but when I added shutting down boltd.service and unloading the thunderbolt module on suspend, it just sort of goes to the next thing, so there’s something more to it.

One interesting thing about these core-dumps is that the keyboard lights up, but the display doesn’t, but it also doesn’t hard-lock. While I can’t SSH in, when I review the logs after a hard reboot (journalctl -b -1), it appears that the system actually keeps logging, and just goes right back into suspend after being unable to successfully resume.

I’m doing a little bit of debugging but honestly out of my depth, so if anyone has experience or advice, that’d be great, as besides this suspend issue, there’s no other “dealbreakers” I can spot in terms of having a relatively pleasant user experience.

That’s not to say that suspend is 100% perfect otherwise, though. Currently, my suspend battery drain is not very good. Using my batterylog tool, here’s what 8h of suspend looks like atm:

Slept for 8.01 hours
Used 7.17 Wh, an average rate of 0.89 W
At 0.89/Wh drain you battery would be empty in 45.24 hours
For your 75.99 Wh battery this is 1.18%/hr or 28.25%/day

I’ve run S0ixSelftestTool and there are a couple things. When checking for PC10 residency, it looks like it simply doesn’t go there:

The CPU runtime PC10 residency when screen ON: %
The CPU runtime PC8 residency when screen ON: 78.26%

And when checking suspend:

---Check S2idle path S0ix Residency---:

The system OS Kernel version is:
Linux p13 6.12.0-rc1-1-mainline #1 SMP PREEMPT_DYNAMIC Tue, 01 Oct 2024 19:05:54 +0000 x86_64 GNU/Linux

---Check whether your system supports S0ix or not---:

Low Power S0 Idle is:1
Your system supports low power S0 idle capability.

...

---Judge PC10, S0ix residency available status---:

Test system supports S0ix.y substate

S0ix substate before S2idle:
  S0i2.0 S0i2.1 S0i2.2

S0ix substate residency before S2idle:
  0 0 0
CPU Core C7 residency after S2idle is: 48.00
CPU Package C-state 2 residency after S2idle is: 0.00
CPU Package C-state 3 residency after S2idle is: 0.00
CPU Package C-state 8 residency after S2idle is: 0.06
CPU Package C-state 10 residency after S2idle is: 0.05
S0ix residency after S2idle is: 

Your system supports S0ix substates, but did not achieve the shallowest s0i2.0
    
Here is the S0ix substates status: 
Substate   Residency      
S0i2.0     0              
S0i2.1     7350           
S0i2.2     0              

...

Did not detect the potential blockers from substate_requirements,     
need to check substate_status_registers file for the advanced debug.

...

Your system south port controller power gating state is OK after 30 seconds runtime check.

It looks like there isn’t anything obviously wrong, but again, I’m not an expert on S0ix suspend so who knows.

I’ll probably try setting up suspend-then-hibernate, as I’m not worried about a few percent here or there, it’d just be nice to close the lid overnight and not wake up to a dead system.

There don’t seem to be a lot of active Linux laptop forums for digging into this stuff, but if anyone has any pointers on where to possibly get the best help in getting to the bottom of things on the suspend lockups (before collecting all my logs and filing a bug with on the kernel mailing list) I’m all ears!

1 Like

Oh, one additional issue I have is that I am getting some occasional stuttering and keyboard lag (and very intermittent key repeats). I’m wondering if this might be IRQ issues or some other weird race condition, or if it might be related to some of the power management I’m running going wild (I am running tuned, thermald, and auto-cpufreq atm, so maybe I need to uninstall all of that and see if I am still experiencing problems).

Again, anyone with any recent (Intel?) laptops experiencing anything like that, it’d be great to hear. My last couple laptops didn’t have any of these types of problems (I know, a good reason not to buy random non-validated laptops for Linux, but between the battery size/battery life and weight, there really isn’t anything out there that is close to this MSI laptop, hardware-wise).

1 Like

I have bought the same laptop and I have also a few (painful) issues with Linux. I have installed Ubuntu 24.10.

  • Most painful, I have the same occasional stuttering since day 1. Usually the touchpad freezes for 100ms and the events are caught up just after. I also got a few keys repeat though less frequent than the touchpad. It’s strange because it seems to happen more frequently after a cold boot and then disappear a little bit over runtime.

  • the audio sizzles after 5-10 minutes for 1 minutes. But plugging/unplugging an analog cable removes the sizzle immediately.

  • VMware hosts has a major problem for vmnet. The screen becomes blank and the kernel seems crashing. I had to completely disable vmnet to make work VMWare.

  • The fingerprint works for me.

  • I haven’t managed to make work the webcam. They are using an Intel-lunar-lake CSI camera. You need the right kernel modules but a string of new libraries + gstreamer. Nightmare. I gave up when I realized that I had to pull 100MB of packages. And cheese would even NOT work…

Otherwise, the laptop is good, very light. The screen is super bright though glossy. Lunar lake is fast. Right now, I think that this laptop is the cheapest Lunar Lake laptop in the market and I don’t reget it.

If you’re on Ubuntu, have you tried a mainline kernel (eg w/ the mainline PPA) and seen if an up-to-date kernel has helped? I know there are a lot of Lunar Lake updates in 6.12

Ah, my webcam doesn’t work either, I just never tried it.

I’ve been playing a 20 minute audio file and haven’t gotten any issues w/ sizzling output. I’m using pipewire, btw. (Also this is with speakers, are you having the issue w/ the audio jack output, if so, I haven’t tested that yet either.)

BTW, have you enabled performance mode in the BIOS? This unlocks the 17W PL and I’m able to get up to 29.5W when running stress -c 8.

Also, have you encountered any suspend issues like my original post’s issue?

For audio, sizzle happens in external speaker very often like every 2 or 3 minutes. I have got sizzle in analog headset but only once after a 20-minute playback. I’m using whatever Ubuntu is using + VLC. I don’t remember if Chrome is doing the same thing (I would be surprised it’s not).

No, I don’t have any problem with suspend activated via close lid (strangely, the option is not any more in Ubuntu/Gnome settings panel). But the laptop does suspend and it resumes fine without any problem on my system.

Once again, the only painful issue is the 100ms lag. It happens also when watching a movie even without any touchpad input. So it doesn’t seem to be related to human input but more an IRQ problem or a power issue or something similar. The next step would be to figure out if it’s MSI-only or Lunar-Lake or 6.11-kernel.

Mainline PPA doesn’t have 6.12. Am I missing something? I guess that it’s going to appear later this week after 24.10 is official released.

I have also GIMP 2.10.38 crashing the whole system when selecting a portion of an image! Blank screen similar to the VMware vmnet crash.

I don’t use Ubuntu on desktop machines so maybe I was making assumptions I shouldn’t have on how the Mainline PPA works. I’m now on 6.12rc2.

  • I got my first sound issue (after a week of using it with sound playback). It made a robotic style output. I fixed it with: systemctl restart pipewire pipewire-pulse - hasn’t reoccured
  • I am still getting intermittent lockup resumes, maybe 1 in 5 times? I have a busy week but will spend some time writing up a bug report I guess. Note, when I set /sys/power/mem_sleep to deep it just straight doesn’t wake up, no logs
  • I’ve noticed the lag before, but I can’t say it’s something that is very consistent, and I’ve been doing a lot of typing lately in browser windows and haven’t noticed it at all. This might be something that is fixed with the latest kernel? (I’ve noticed a linux-firmware update as well)

Good luck w/ your issues. I’ll update this thread if anything turns up.

Appreciate your work & glad to see 6.12 runs upon Lunar Lake!

Abort the lockup issue, it occurs on my AMD 8845H laptop as well. In my occasion, the OEM does not provide a wake-up trigger from deep (or S3) suspend state. And thus, Linux can fall in to deep hibernate but never wakes again. My solution is simply use the combination of S2Idle (or S0) and hibernate (or S4) by using systemctl suspend-then-hibernate.

Good luck! Looking forward for further progress.

I’m still running Ubuntu 24.10 with kernel 6.11 and I have figured out the following things on the two main issues (lag and kernel crash):

  • in “power mode” “balanced”, I have the choppiness/lag mentioned in the thread. If I go to “power mode” “performance”, the lag disappears. Also, my sound problem (speakers sizzle) almost disappears too - the problem happens every 15 minutes instead of every 30 seconds…

In “power mode” “performance”, the motherboard makes a tiny click sound at 10~100Hz.

I would be interested to know exactly what changes happen in the kernel when selecting power mode. What /proc or /sys command line is run when changing the power mode?

  • I still get some crashes with vmware vmnet as well as with gimp (!) when resizing very big images. In such scenario, the screen goes blank and a hard reboot is needed. There is no kernel dump… I have tested the same disk (so still Ubuntu 24.10 + kernel 6.11) on an old Intel laptop and such crash doesn’t happen. So it’s definitely linked to Lunar Lake.

I would be very much interested to test kernel 6.12 but it’s still not available via Ubuntu kernel upstream as of October 15, 2024.

If people have installed Ubuntu on Lunar Lake, please share your experiences/problems/solutions.

Typically the change is in EPP and EPB. I have some references/information on that in my 12th Gen Framework laptop review where I spent a lot of time digging into power usage optimizations: 2022 Framework Laptop DIY Edition 12th Gen Intel Batch 1 · lhl/linuxlaptops Wiki · GitHub

Hello!
I’ve installed Ubuntu 24.10 on the new Zenbook s14 wiith lunar lake… and its quite unusable so far. I have updated to kernel 6.11 (which I had read online should work fine) and I am facing several issues (and have seen no changes from the previous kernel 6.8):

  • No wifi
  • No audio
  • Only 60 Hz
  • Can’t change screen brightness
  • Atleast once per 2 minutes I get a freeze of a second
  • No bluetooth

If you have any suggestions or stuff you want me to try let me know!!

You really need 6.12 for minimal Lunar Lake support, so I’d start there!

@iandresolares My lpatop is new MSI and I have Ubuntu 24.01 + 6.11.0-8-generic (comes with Ubuntu 24.10).

Wi-Fi, audio are working. Bluetooth is not working.

For the freeze, put yourself in performance power mode. It might help a little bit.

Hello everyone,
I am on an asus zenbook 14 running nixos. Initially i was running kernel 6.11 and had no bluetooth, wifi or audio. Display resolution was not detected either. Switching to 6.12, everything works except bluetooth. I am gonna a solution i saw on nixos forums of pushing the windows drivers in the linux-firmware. As for for the freezes, i still have them. I tried multiple things, setting the powermode to “performance” in gnome did not work for me. With tlp and hyprland, it seems to be a bit better. Here is the configuration:

+++ System Info
System         = ASUSTeK COMPUTER INC. 1.0        ASUS Zenbook S 14 UX5406SA_UX5406SA
BIOS           = UX5406SA.300
EC Firmware    = 3.14
OS Release     = NixOS 24.11 (Vicuna)
Kernel         = 6.12.0-rc3-cachyos #1-NixOS SMP PREEMPT_DYNAMIC Sun Oct 13 21:33:32 UTC 2024 x86_64
/proc/cmdline  = initrd=\EFI\nixos\fd5xajpsnqyjw026k3fdbf70b81rqzqj-initrd-linux-6.12-rc3-initrd.efi init=/nix/store/3xp00m8cy05r62sfm2548kipj1clbg0y-nixos-system-aelita-24.11.20241018.4c2fcb0/init usbcore.autosuspend=-1 loglevel=4 vt.default_red=0x1e,0xf3,0xa6,0xf9,0x89,0xcb,0x94,0xcd,0x45,0xf3,0xa6,0xf9,0x89,0xcb,0x94,0xf5 vt.default_grn=0x1e,0x8b,0xe3,0xe2,0xb4,0xa6,0xe2,0xd6,0x47,0x8b,0xe3,0xe2,0xb4,0xa6,0xe2,0xe0 vt.default_blu=0x2e,0xa8,0xa1,0xaf,0xfa,0xf7,0xd5,0xf4,0x5a,0xa8,0xa1,0xaf,0xfa,0xf7,0xd5,0xdc
Init system    = systemd 
Boot mode      = UEFI
Suspend mode   = [s2idle] deep

+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 12:11:38 PM, 390 sec(s) ago
Mode           = AC
Power source   = AC

+++ Processor
CPU model = Intel(R) Core(TM) Ultra 7 258V

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver    = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = performance
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq  =  4700000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq  =   400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq  =  4700000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = performance [EPP]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power 

Also weirdly, the stuttering seems to disappear when having the display ufo test opened.

Update: i was able to get rid of the freezes by adding intel_idle.max_cstate=1 to the boot kernel parameters.

@emiseno It seems that I’m also getting rid of the lags with intel_idle.max_cstate=1. This is a mega huge fix. Many thanks. I would love to know how you figured out this!

Still, like for any distro, bluetooth and webcam are not working. For webcam, Intel thought they were smarter than everybody else by forcing CSI camera to the lunar lake chip instead of allowing an old standard USB-based camera. They are currently developing the whole stack and you need to pull 100MB of binaries and you are even still not getting a simple /dev/video0… We will have a camera for Linux in 2027 at best. :frowning:

For Bluetooth, I guess that it’s a lack of firmware/driver. Any pointer?

There is more information at bbs archlinux org viewtopic.php?id=300155

For Bluetooth, if someone can send me or put somewhere the missing firmwares /lib/firmware/ibt-0190-0291* ?

Unfortunately I don’t think we can legally redistribute them until intel gives the go-ahead (by pushing them to linux-firmware) but the instructions from the repo should be doable (github melvyn2/intel-bt-fw-imgextract).

I’m also having the headphone distortion issue on my galaxy book5 and it’s really quite annoying. It doesn’t look like anyone’s found a fix for that yet but I’d love to know when it’s found.

I also had the keyboard repeat issue previously but I haven’t noticed it recently, maybe since the upgrade to 6.12rc4? I still do see the trackpad freezes though, but the worst is that I’m sometimes getting full-system freezes. This is usually only when the system is under heavy load (i.e. gaming) but I’ve also just had it happen while doing normal web work. I’ll give intel_idle.max_cstate=1 a try and see how it goes.

Also, I’ve been getting internal compiler errors and segfaults when trying to compile linux on this machine, which made me suspect a hardware failure. The thing is, I left it on mprime/prime95 small FFTs for a few hours and saw no errors at all (although I guess I need to try a memory test next).

If anyone’s seen full freezing or similar errors on this platform I’d love to know.

@melvyn2 I’m experiencing similar issues with periodic stuttering occurring on an Ultra 7 258V. This is readily apparent when typing in LibreOffice Writer. I’m currently testing this CPU on Linux 6.12.0-rc6.

The intel_idle.max_cstate=1 also seems to work here, however, I believe that this causes the CPU to use more power, so this doesn’t seem like a good fix for the long-term.

I’m starting to wonder if this should be reported as a bug to the upstream kernel.

I’ve reported the stuttering issue at the upstream kernel bugtracker, but I unfortunately can’t post a link to it.