24 ms·
The Asus gaming laptop ACPI firmware bug
- dlcarrier 1y agoOne laptop model with buggy ACPI down, 5,387 to go.
- orbital-decay 1y agoIt says it affects all ASUS laptops since 2021, making them stutter at the most basic tasks. Which I'm ready to believe, knowing the state of most laptops... but this entire thing is pretty clearly generated by Gemini with its over-the-top dramatic style, italics emphasis, and -isms like "It's not just X, it's Y", which was unable to handle the article of this size and started looping over. Not sure I should believe any of it, or at least be sure that it didn't mess up the specifics. Why would one do this in a technical writeup?
- immibis 1y agoI don't know why everyone uses AI for important writing now. The other day management showed us a ChatGPT presentation apologising for being terrible at managing.
- LeonM 1y agoYeah, please let this guy tackle Lenovo next. My Lenovo X1E regularly burns 20% of its CPU cycles on some high frequency recurring interrupt. I did get pretty far with debugging it, but eventually gave up since I can't justify spending so much time on fixing a 'professional' laptop that I paid top dollar for. It also has a multi-GPU setup that has never worked reliably under Linux, which is ironic as I opted for Lenovo due to its supposedly good Linux compatibility. Switching between GPU modes is a hit or mis, waking up from stand-by often results in a blank screen, screen flickering, sporadic high fan speeds, etc. And then there's the coil whine, which seems to be fixed in some BIOS versions, then returns in the next. Supposedly it has something to do with power-saving measures. Since I owned it there have been at least 20 BIOS version releases for 'improved performance and security', but none seem to actually fix anything. It's such a mess. /rant
- dlcarrier 1y agoIf you are running Linux, you can suspend using the following command, to re-initialize the GPU when resuming, which works around some ACPI bugs: pm-suspend --quirk-vbe-post I have a 1st-gen Lenovo X1 Yoga, and it is the only laptop series that has everything I want: an OLED display, a stylus, and a TrackPoint input. ACPI worked fine when I first bought it, and I can't remember if it's had one BIOS update or two, but after the most recent update, it sometimes won't wake from sleep. When that happens, he power LED fades on and off, no matter how many times I press the power button or close and open the lid. I have to hold the power button to force it off, then power it back on from a fresh boot. Also, the Linux kernel added support for adjusting the OLED's brightness through ACPI, years ago, but it's never been supported on my laptop, and I have to resort to using xrandr to output dimmer images, which reduces bit depth. My fan sometimes gets stuck on full speed, too.
- rangestransform 1y agoif I have to touch a terminal to do "happy path" things like suspend/resume and browsing the internet, the laptop is dead on arrival for me
- dlcarrier 1y agoIt's a workaround for sure, but the joy of Linux, at least when not using systemd, is that I could just changed my Window manager to use the command.
- nitinreddy88 1y agoOut of curiosity, why not release BIOS mod with a fix? Atleast personal laptops (out of warranty) can benefit out of it until Asus fixes their sht. People blame Windows being slow and etc but most of the times hardware manufactures don't even get into this level to make best out of thier hardware. This is the reason why Apple is so successful, they control hardware, software while in open world, software like Linux/Windows is written by someone while hardware is designed by someone else.
- kaladin-jasnah 1y agoPerhaps there is firmware signing.
- worthless-trash 1y agoI dont think it even needs a bios mod, i think you could get away with updating the acpi tables ( See https://docs.kernel.org/admin-guide/acpi/initrd_table_override.html https://docs.kernel.org/admin-guide/acpi/initrd_table_overri... )
- immibis 1y agoRight, and Windows probably has something similar (maybe it requires loading a driver). This is BIOS-style code interpreted by the OS, so you can patch it at the OS level.
- mrheosuper 1y agoMaybe the risk is too high ?, bricking UEFI means time for soldering/reflowing, because you won't be able to software-recover it(unless it has dual bios mechanism).
- yusyusyus 1y agonot that simple to apply necessarily. lots of security junk on modern bios. keeps ya safe, ya know.
- Panzer04 1y agoNo wonder people end up pushing macs. It's unbelievable that something this bad has been shipping for four years. I guess I know what I'm not buying, at least...
- jsiepkes 1y agoApple also had issues like these. For example this one where it also first denied the issue: https://9to5mac.com/2019/10/24/efi-firmware/ https://9to5mac.com/2019/10/24/efi-firmware/
- nebula8804 1y agoTo be fair they are talking about a small number of machines...that are also already 5 years old... The ASUS machine would be in the trash long before this Apple laptop.
- SchemaLoad 1y agoReminds me of when MSI laptops were getting properly bricked after users ran `rm -rf /` because of a UEFI bug where the board could not boot after some variables got deleted https://github.com/systemd/systemd/issues/2402 https://github.com/systemd/systemd/issues/2402
- pjmlp 1y agoThey have their own issues as well, for those of us outside the distortion field.
- bzzzt 1y agoThe big difference is Apple can't hold other companies accountable since they delivered the software, the hardware and the integration and they have an incentive to fix their stuff. The few issues I've had with Macs the last decade did get fixed within a reasonable amount of time. Lots of PC hardware bugs simply don't get fixed at all since there is no party that really cares about them. The author of the linked write-up should have been an Asus employee instead of a disgruntled user...
- taurath 1y agoI have one of these, a Zephyrus G15. That it had an AMD CPU and Nvidia GPU should have been a red flag that support would be really poor. Only a year out of warranty, it is a brick on a shelf because the thermals are so atrocious it pretty much burned itself out, and even with a thorough new application of thermal paste through a multi hour process there just isn't any way to get it to perform within spec. Supposedly, if you RMA it through ASUS they will charge you something like $700 and be unlikely to fix it. They have an insane dud rate, and even when it does work the hardware is barely hanging on. Several acquaintances have had similar problems. It drastically reduced my perception of Asus as a brand - I wanted something I could game with, it promised the moon of portability and performance but they couldn't pull it off.
- branko_d 1y agoCurious, my experience could not have been more different. I still use Asus Zephyrus G15 (GA503QR from 2021) as my main development machine, and also game occasionally on it. It's AMD Zen 3 CPU with GeForce 3070. As I write this, the fans are either completely stopped or so slow that I cannot hear them. The fans can get a little "whooshy" under load, but nothing out of line with other Windows laptops, as far as I can tell. I'm running under Windows profile (not one of the ASUS-specific ones in Armory Crate). I also limit the battery to 60%, since I'm mostly using it plugged-in, with external monitor and keyboard. A month ago, I upgraded RAM to 40 GB and added another 4 TB SSD (and cleaned the fans in the process, so it's even quieter). I think I'll keep this machine for a few more years... That being said, I did experience occasional cursor stuttering, but mostly when the machine is under load (typically during Visual Studio build).
- taurath 1y agoI believe I have the same one! For me, almost out of the box I needed to disable CPU boost due to the thermals and instability. That worked for a while, though I considered replacing it and didn’t because there was just no others available at the time due to the pandemic. Apparently my issue is common but not the majority - a lot of folks seem to just have gotten a bad batch. I’m curious though, have you not even had any issues with sleep mode on the laptop? It seems extremely common that it just doesn’t work/crashes. I got a good 2.5 years out of it, but I was hoping to use it for at least 6 or 7.
- frnx 1y agoI have an older ASUS laptop from 2015 which also has (more minor than this!) ACPI state management bugs. I initially bought that machine because it was a pretty high-end and was somewhat disappointed about both the build quality and the firmware/software support.
- kingstnap 1y agoSomehow laptop makers all write complete garbage firmware. I'm sure dell does the same terrible handling of DGPU power and badly written ISRs that pointless raise system latency. I had shoddy crashes for months that would cause my dell laptop to BSOD and burn up in my backpack because the DGPU got stuck on I a loop during some ridiculous windows modern standby wakeup.
- SchemaLoad 1y agoOnly devices I've had which seem to work flawless are macbooks and the steam deck. The ability to properly suspend and wake without issue is so rare.
- jeroenhd 1y agoI was pretty disappointed when my work MacBook ran into the same "Bluetooth headset connected, set as audio sink, but the OS refuses to acknowledge its existence further and routes audio through the speakers" but that I've seen on every other desktop OS. I really hoped Apple would be better, considering their hardware costs more than twice as much. I also ran into weird Wi-Fi issues that required a reboot, and getting that thing to recognize external displays without corrupting video is some kind of dark art while my Lenovo and Steam Deck work just fine with the same USB C plug. Apple beats some brands for sure (especially the cheap "consumer" lines with a starting price lower than Apple's headphones) but their computers are hardly flawless. I have yet to run into issues with my Steam Deck, which is very impressive, but I'm sure I'll run into an issue at some point. No computer works flawlessly.
- argsnd 1y ago
- worthless-trash 1y agoI hacked the ACPI firmware on my system, linux is able to apply "my firmware" rather than use the operating system supplied firmware. Does anyone know if windows can do the same ?
- jeroenhd 1y agoMicrosoft documents replacing the ACPI table with their API: https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/generate-acpi-tables-by-using-acpigenfx https://learn.microsoft.com/en-us/windows-hardware/drivers/b... (bottom of the page) Unfortunately you need to disable signing for that, which will trigger anticheat in online games and makes Windows nag you about it. Someone wrote a bootloader specifically to patch ACPI on boot in CSM mode if you're okay with reinstalling Windows on an older system that can't play certain games: https://github.com/MovAX0xDEAD/ACPI-Patcher https://github.com/MovAX0xDEAD/ACPI-Patcher
- p_l 1y agoIIRC you can resign everything with your own key, but anticheat might still explode about it.
- phs318u 1y agoThis is what I was going to ask, but I assume that the ACPI.SYS driver (which wraps the ASUS ACPI BIOS implementation) is signed by Microsoft, which means "not unless you allow unsigned drivers", which I don't even know if that's possible in current Windows (my deep Windows-fu is about 20 years out of date).
- mananaysiempre 1y agoThe ACPI.SYS driver itself is not at fault here, it’s just a generic bytecode interpreter that’s the same in every Windows install. The problem lies with the bytecode—the “ACPI tables”—that the firmware of these specific devices feeds it. There is nothing physically forcing it to run the code that’s stored in the motherboard flash, though; it could, say, use a patched version instead. The equivalent function is well-supported on Linux, because Linux uses a different interpreter (the reference one from Intel, in fact) and in general manages the hardware differently enough to regularly expose bugs in the ACPI code of manufacturers whose QC pass condition is “boots Windows” (all of them) and who can’t be bothered to fix bugs not affecting Windows (almost all of them).
- M95D 1y ago... and people are looking forward to signed UEFI and ACPI on ARM systems too. How do they expect an ACPI written in a chinese sweatshop will work if Asus quality is this low?
- SchemaLoad 1y agoI assume all of these gaming laptops are largely developed by outsourced sweatshops today so I don't imagine much difference.
- p_l 1y agoThe firmware is amalgamated from a bunch of vendors with core solution coming from few common ones. Sometimes you get hilarious errors, like Intel not having any way to verify if their driver is actually loading a dumped memory image (intel rapid start), so if you forgot to disable Rapid Start and installed anything on a drive in the bay that was specified for rapid start, on boot the intel driver would just... blit it into RAM and be happy dumb
- hypercube33 1y agoI don't follow. My X13s is a Snapdragon, has full uefi, and works like a normal laptop, mostly. It can't stop from overheating and has no cooling but that's besides the point.
- M95D 1y ago> I don't follow. Open source devicetree + u-boot can be maintained independently of any manufacturer's support.
- taneq 1y agoI have a 2024 Zephyrus G14 and it has bursts of stuttering which seem to be directly linked to running off USB-C power. It doesn't do it on the original power brick, but on a 70W USB power brick, it slows down massively every now and then, to the point where the mouse cursor is only updating every few seconds and any playing audio starts underrunning buffers. Unplugging USB power immediately clears the issue up for a while. It's fine running off battery, and it's fine when I plug USB power back in, even straight away. It does other stupid things with power management, too: - There seems to be some "cooldown" logic that keeps it awake with the fan running for a while (sometimes minutes) after closing the lid. If I just unplug the laptop stick it straight in a backpack, it'll keep doing this (getting hotter and hotter, and burning half of the battery capacity) until it hits the critical high temp shutdown. It's great fun taking it out at the start of a plane flight and finding out it's on low battery and has bbq'd itself. - Even if I do wait for the fan to turn off before stashing the laptop, when I open the lid and wake it up, it immediately goes into hibernate mode, and I have to wait for it to finish hibernating, turn it back on, and wait for it to boot up, which is really frustrating. The solution to both of these (for me) is to reassign the power button to be 'hibernate' instead of 'sleep', and to explicitly hibernate it every time I'm packing it up. It's still stupid and annoying, and a damn shame because it's otherwise a really nice laptop. The OLED screen is beautiful and the build quality feels great. I just wish it wasn't crippled.
- p_l 1y agoDunno about 2024, but 2023 G14 explicitly documents it can't work at full power when powered by USB-C, because it's USB-C PD supports only 100W compared to the >200W draw of the system. So it throttles just like macbooks with i9 (but those throttled always because one of the problems was overheating VRMs)
- taneq 1y agoI don't expect max performance gaming on USB-C, but it should at least run as fast as it does on battery alone. It should definitely be able to update a mouse cursor and play an MP3. This isn't just throttling, it's unusable. And it instantly goes away for a while when you disconnect and reconnect the USB-C power supply, even when gaming etc.
- Animats 1y agoShort version: don't buy ASUS gaming laptops until this is definiteively fixed, and if you one under warranty, file a warranty claim, being prepared to go to Small Claims Court.
- izacus 1y agoMost other laptops don't even have the mode you need to put the ASUS in to get this bug. I don't think I ever put any of my laptops into dGPU-only mode via MUX, it's stupidly power hungry with little upside.
- alias_neo 1y ago> it's stupidly power hungry with little upside Unless you specifically bought that model because you want low-latency output to an external display with G-SYNC. I've used Asus motherboards in my gaming PCs for years, and their BIOS/UEFI firmwares there are equally awful, their Ryzen AGESA stuff has been a complete mess.
- izacus 1y agoMy G14 functioned just fine with G-Sync in Optimus mode via nVidia connected USB-C port (and didn't need reboot to switch between GPUs) so I never found real use for the MUX mode. It's telling that most other gaming laptops don't spend on that piece of hardware.
- anonymars 1y agoThe switch solves a fundamental trade-off: an external port can only be physically connected to one GPU. If the dGPU you get GSYNC/etc but high power consumption if you connect an external display. If the iGPU, then the dGPU is basically sending its frame buffer through the iGPU and is limited by it.
- LeifCarrotson 1y agoI don't think I ever put any of my laptops into iGPU-only mode, it's stupidly low-performance with little upside.
- fulafel 1y agoImpressive that they managed to ship crippling stuttering for 4 years in gaming laptops specifically. Makes you wonder about the end user psychology, evidently they didn't get a show stopping rate of product returns. A quote from one of the linked reddit threads. I wonder if the warranty trip is part of their scheme. "I did everything you suggested , but nothing changed. I send it back via garante. I am curious what they do whit it." "what was it at the end? did they respond?" "They have claimed that the plato works perfectly. So basically i just got use to it. I am using bluetooth earbuds all the time so i cant notice the problems."
- pjmlp 1y agoThat is what happens when the industry has spent decades educating users that is normal computers are broken. In any other industry everyone would be returning their acquisitions day one. About 35 years ago, I had a teacher asserting computers are like buying shoes that randomly explode when tying them. Thankfully consumer laws are finally happening.
- Aldo_Malkinson 1y agoGOD, thank you for saying this, I was thinking I was alone and going crazy. How come people have become so obedient ?! That's crazy.
- LoganDark 1y ago> How come people have become so obedient ?! That's crazy. Most people have always been that way, will always be that way. IME the vast majority of people who don't stand for this shit are autistic.
- CyberDildonics 1y agoWhere are you getting these ideas?
- 1y ago
- brian-armstrong 1y agoExcellent sleuthing. I feel like this has some great quick debugging ideas for system wonkiness that I never knew existed. It feels a bit of a shame to wrap it all up in an AI-written summary, but I guess if that was the only way to get the info out, so be it.
- spyridonas 1y agoMy HP screen (HP Aero 13, not a gaming laptop, with a integrated gpu only) does flicker, turning completely off and then on, and this issue doesn't appear when connecting to external monitor. The same happens under linux as well. This post had me curious about the ACPI now... maybe I can follow along !
- thrdbndndn 1y agoExcellent article. I do not have the same technical depth to dig this far as the author, but this kind of problem seems pretty common on laptops, especially those with "switchable" iGPU/dGPU setups. I had an Acer laptop about 7-8 years ago with almost the exact same latency symptoms. In the end I just disabled the dGPU in the BIOS (since I only used it for office work), and that instantly solved the issue. This kind of thing is very infuriating because not only is it hard to track down the root cause (which I am very grateful the author did), but it is also even harder to get the vendor to actually acknowledge or fix it.
- hypercube33 1y agoIntel laptops with igpu and Nvidia chips and thunderbolt docks are absolutely a nightmare between the 3 trips video has to go to even leave the laptop and the drivers and firmware mismatches. I've had weird issues with this setup since the core2duo days upgrading once a year. when it works it's amazing, however. AMD igpu and dgpu work super well together but I feel like over time, since I use this configuration the most things either improve or go to hell with driver updates. depends on the laptop OEM really. This all said, where the hell are the strix points igpus where they rival desktop cards (yes the lower mid end) at laptops where stuff just works without compromise ...if there is power and cooling. Side note - I have a rog g14 that until I loaded a beta bios for thunderbolt over usb4 would reboot when shut down and shut down randomly. (amd CPU and GPU)
- userbinator 1y agoI wonder if the "programmer" (and I use this term very loosely) who wrote that sleep-in-an-interrupt code ever tested the code personally, or if it was some other distant responsibility-diluted department of a hundred other lamers who didn't care "because the automated tests all pass". This is a situation where dogfooding, in the original Microsoft sense, would definitely be beneficial as among the developers experiencing this on their own machines, surely one would be tempted to fix it.
- MountainTheme12 1y agoA long time ago I did some contract work writing firmware for a major hardware manufacturer in Taipei. I quickly learned to ignore bugs, because reporting them would get me reprimanded for doing things other than the task I was assigned. Even worse, the hardware team saw the firmware/driver/software devs as lowly servants and dismissed any feedback outright. I am not surprised by this story.
- reyqn 1y agoIt's crazy how the hardware sector just can't grasp that software is actually important too. Everywhere I've worked at we were just second class citizens, last to get a new hire or any budget, and then it was our fault when the software was subpar. It seems like they think going down to our level will actually sully them.
- webdevver 1y ago>hardware sector just can't grasp that software is actually important too they are treating software as important as they need to in order to turn a profit. it is ofcourse disappointing that you can sell such trash to willing buyers, but the market is what it is.
- nebula8804 1y agoDon't worry, a few companies understand the importance of software, they will eventually come for the others.
- makendo 1y ago[dead]
- attila-lendvai 1y agoi'm craving for a world where hw manufacturers exist who fully embrace opensource development, and are rewarded for that...
- trelane 1y ago>i'm caving for a world where hw manufacturers exist who fully embrace opensource development, Those do very much exist! My go-to is System76. There are others, e.g. arguably Framework. > and are rewarded for that... Oh well, one can dream anyway. The freedom Linux gives you also gives you the freedom to slap Linux on some random bit of Windows kit and then blame Linux for failing to work around the broken firmware. Apparently this is preferable to buying hardware that works with Linux.
- giantpotato 1y agoarticle is great but it feels like its rewritten by an llm. " a crucial insight", "occurring like clockwork"
- contrarian1234 1y agowhy is that a problem..? Maybe the author is ESL or just not very good at writing... If it's clearer and the information is still all correct - then isn't that great? More people can engage in clear communication with each other
- orbital-decay 1y ago>and the information is still all correct That's a pretty big if in technical writeups like this, all you do by rewriting those is obfuscate the actual inputs you had. Was is generated from scattered notes? Entirely vibe-written? How many details are actually verified to be correct by a human? Seeing how even the structure seems generated, it's clear that there was little input, and I'm not sure about any of the above. I can deal with poor writing, and in case of ESL it's enough to tell the LLM to proofread/rephrase the piece (and check it yourself afterwards). But lazy generations just make you trust the article less.
- anal_reactor 1y agoThis is literally the same discussion when some people insisted that nothing on the internet can be trusted and physical books are the only reliable source of information.
- account42 1y agoNo it literally is not.
- contrarian1234 1y ago> Was is generated from scattered notes? Entirely vibe-written? Why does that matter? Maybe the person hates writing. You need people to suffer and put effort for the end result to be worth your time? > How many details are actually verified to be correct by a human? I mean.. assume the best..? The author could also have written it by hand and just lied. Or he's a paid troll from an Asus competitor - it's all just made up and it's a work of fiction. You implicitly have to assume the author tried their best and be okay there might be some errors. If the writing is more clear thanks to an LLM then you're likely to catch errors more easily. If you feel the thing has errors, then engage with the material and point out the errors. You're not judging the end result on its merits
- unwind 1y agoThis is an amazing discovery, article, and fix proposal. Fantastic work, very impressive and also very instructive on how things work on modern PCs and how far you can actually dig to get at stuff that is "supposed" to be hidden. As someone who has written embedded firmware for many years (not for PCs), I can only dream of an end user being this capable to discover a bug. I want to live in the world where Asus immediately send an e-mail offering some kind of short-term contracting work to fly in and talk to their firmware people for a few days and get $FIVE_FIGURES or something, and leave with an updated laptop running their new production BIOS. Obviously this bug has gone un-fixed for four years so that is not the world we're in. That makes me sad. :| Edit: s/fix/fix proposal/.
- _zoltan_ 1y agosorry, what fix? the linked github page ends in "here is everything, ASUS, please fix it", right?
- unwind 1y agoYeah, sorry, that was a bit unclear. I just meant that the article went as far as propose rather clearly what is needed to fix the issue ("don't sleep() in an interrupt service routine").
- f311a 1y agoHe knows how to fix it, and he fixed his system. It's not universal, you need a custom patch for each model and fw version.
- matheusmoreira 1y agoAs a user and programmer, I can only dream of being this knowledgeable about things. There's a ton of domain knowledge embedded in the article, it's pretty amazing. I managed to reverse engineer a lot of my laptop's features but hit a wall when it came to this ACPI stuff. I dumped the tables and decompiled the code but all I got was stub code. I wanted to be the guy who wrote the Linux drivers for his own laptop but I just didn't manage it. Massive respect for anyone who can do this.
- xr8 1y agoGreat write up. As annoying failures are, always learn most from debugging sessions
- puzzlingcaptcha 1y agoSometime around 2015 I promised myself to never buy a laptop with switchable graphics again. This has worked well so far. But it never ceases to amuse me watching brands that position themselves as 'premium' spending pennies on firmware development team somewhere down in a basement compared to millions they spend on shiny marketing.
- daemonologist 1y agoLikewise - I bought one laptop with "Optimus" in 2013 and swore to never do so again. I sometimes have to break out the desktop or rent a server but I have never regretted going iGPU only.
- webdevver 1y agowow lots of us burned by the same thing apparently! clever hardware suffers the burden of having lots of edge cases spread across a small customer base. going for dumb hardware that has lots of buyers is less exciting but statistically more likely to "just work". for me: from now on, its either lenovo business laptops (which sell probably 10s of millions of enterprise users), or macs (which sell the same.) volume > being clever p.s. infact, even the lenovo TB docks are a bit shaky. ugh, more cleverness! i think sticking to their proprietary docks would have been the better play. with their volume, it would have made a better product.
- _zoltan_ 1y agoASUS should hire someone in QA with the original github author's skills. I know that will (most likely) never happen...
- speed_spread 1y agoBug reports would be actively ignored and pile up. They. Don't. Care.
- ta988 1y agoCongratulations ASUS for 0.01% of your marketing budget you could have fixed the experience of your millions of users, reduced the amount of replaced computers, improved your brand positive views... This once again proves that many companies are absolutely mismanaged and think marketing will make them more efficient than good engineering...
- kimixa 1y agoI'm honestly a little surprised that ACPI has a Sleep()-like function at all, I can't really imagine many situations where the firmware actually wants the user operating system to wait for any real length of time, as that would block any other ACPI events, even if it wasn't in an interrupt handler. I feel there's pretty easy ways to deadlock the system in that sort of situation. And also surprised that windows actually allows the ACPI driver to sleep in an interrupt handler - on Linux that'll immediately BUG()... Unless windows doesn't and the above ACPI blocking is what they're measuring here.
- bubblethink 1y agoFriends don't let friends buy laptops with nvidia GPUs. I can't believe optimus is still such a mess.
- auguzanellato 1y agoThis could also have happened on a laptop with a discrete AMD GPU and SmartAccess MUX, this time it’s not really an Nvidia fault.
- hnuser123456 1y agoI got an HP Pavilion laptop in 2011 with an intel i5-2540m, I believe, and a Radeon 6750 or thereabouts. For the first year I owned it, GPU switching was utterly broken and the dedicated GPU was basically dead silicon. Sometime in 2012, they released an updated BIOS that allowed changing the GPU switch logic from "dynamic" to "fixed dedicated", and that allowed you to actually use the builtin dGPU. That being said, the documented issue in TFA arises specifically when trying to exclusively use the dGPU...
- vient 1y agoThe problem here is not with Optimus though.
- jonathanlydall 1y agoWhen we're buying work laptops, them not having discrete GPUs is a feature I insist on. On the (these days) very rare occasion I game, I have a desktop.
- Aldo_Malkinson 1y ago[dead]
- secondcoming 1y agoBack when Hackintoshes were a thing I remember that I had to tinker with ACPI bytecode stuff in order to get the battery icon displayed on the screen. Unfortunately I can't remember the details now.
- hyperman1 1y agoReminds me of a cursed HP keyboard I had at work once. You plug it into USB, then your irq rate goes way, way up. All keyboard events telling you the key pressed last millisecond is still pressed. You literally gained 5 to 10% speed when compiling without it. Apart from that, and the way its sleep-state-destroying irqs ate battery, it was a nice keyboard, so some data entry person got it in the end.
- nopurpose 1y agoIt always puzzles me how apparently well known flaws never mentioned by product reviewers, even genuinely pro-consumer and generally well respected, like rtings or notebookchecks. You buy product after stellar review, encounter problem, search for solution, find reddit thread where everyone is "yeah, it is always like that, why do you act surprised?" Why indeed?
- enricotr 1y agoI really never did this question to myself, but if will happens I would start, trivially, looking for who sponsor those review sites.
- nopurpose 1y agoUsually their revenue is from affiliate links. YouTube channels have ad spots, merch sales etc. There are many shills of course, but some are doing their best to give accurate reviews and don't shy away from bashing manufacturers for their missteps. Yet widely known (to enthusiasts) problems, like stutters from the OP, are often not mentioned at all. LinusTechTips doesn't depend on ASUS money in any meaningful way, but still failed to mention stutters in their Zephyrus G16 review. Some might say LTT is not a reviewer, he is an entertainer, but he undeniably thrives to be accurate while doing so.
- ysleepy 1y agoIt's not trivial to find it, you need to set it to dGPU only mode via mux switch and then let the LatencyMon test running for more than 120seconds. (I'm not sure if it lags in igpu pass-through mode) notebookcheck does report latencymon numbers and even remarks when it says the laptop is not recommended for real time audio: https://www.notebookcheck.net/The-RTX-5090-Laptop-and-mini-LED-inside-a-gaming-laptop-Asus-ROG-Strix-SCAR-16-2025-review.1012778.0.html#c13329919 https://www.notebookcheck.net/The-RTX-5090-Laptop-and-mini-L... They don't see these extreme values though.
- trelane 1y agoThis really underscores how complex a computer is these days. This complexity is why you get a ton of little glitches when you slap Linux on a Windows PC--and this is even on Windows, as designed!
- vbezhenar 1y agoSo if I understood it right, every single Asus gaming laptop have easily measurable stutters? That's insanity. And I thought about buying Asus RoG Strix laptop, because for some reason marketing made me believe they're the best gaming laptops out there.
- makeitdouble 1y agoFWIW, I'm using an X13 for some standard gaming, but mostly VR and it performs as advertised for about a year and half now. I'd have sent it back immediately if it stuttered every 30 sec with cracking sound. I won't defend Asus, they have a crowd of skeletons in the closet and need to pay more attention to feedback, I'm just saying there will be a set of use cases were issues won't be plagging the experience.
- deleted 1y ago[deleted]
- Thaxll 1y agoWhat are the equivalent tools on Linux to capture those traces / events / interruption ect...?
- zokier 1y agoProbably you can start with stuff mentioned here https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/start https://wiki.linuxfoundation.org/realtime/documentation/howt...
- hnuser123456 1y agoThis happens on a 2019 MSI gaming laptop (GS65 Stealth) I have too. Latencymon shows >10ms stutters within a minute of being open. Found out disabling all ACPI devices fixes the stutter. Also found out disabling all ACPI drivers disables the dedicated GPU. It's possible this affects a large portion of gaming laptops with dGPUs. Here's a link to MSI forums also discovering the ACPI hiccups with Latencymon: https://forum-en.msi.com/index.php?threads/constant-micro-stutters-msi-vector-16-hx-ai-a2xwhg.412859/ https://forum-en.msi.com/index.php?threads/constant-micro-st... Just google "nvidia gaming laptop stutter latencymon acpi"
- netbioserror 1y agoI have a Zephyrus G14 and have experienced these issues. Audio crackling, lots of stuttering when playing back video on the iGPU. Throttling has been less of an issue for me. I'm on Linux Mint, so the problems are definitely BIOS related and not OS-dependent. Stuttering continued even after I manually expanded the iGPU's available memory pool in the AMD kernel settings. The laptop was a nice deal on fire sale, but I guess I get what I pay for.
- vindex10 1y agoI will just share my struggles with Asus Tuf A15 (FA507UI) bought in March 2024. It was really frustrating, and I spent so many hours debugging. Unfortunately I wasn't as skilled to decompile dsdt/acpi, but all these keywords look familiar from my deep dives into the issue. In the beginning I had sticky keyboard issue, with a button repeatedly triggered for no reason. This got fixed after one of the bios updates. Later, for a while I had the stuttering issue when the GPU was in standby (when loaded in hybrid mode) [1]. I then switched from PopOS to Manjaro with a hope that newer kernel might fix it, and it did. Today I'm struggling with a new issue - GPU sometimes gets disconnected, and requires system reboot to turn it on again. I generally use GPU for compute, not for graphics - so you don't see it until you do. New Nvidia drivers might have fixed this [2]. [1] https://forums.developer.nvidia.com/t/random-freezes-rtx-4070-due-to-kworker-acpi-interrupts-in-ubuntu-6-8/293192 https://forums.developer.nvidia.com/t/random-freezes-rtx-407... [2] https://forums.developer.nvidia.com/t/bug-sporadic-hang-on-suspend-gpu-failed-to-query-display-engine-channel-state/334745/22 https://forums.developer.nvidia.com/t/bug-sporadic-hang-on-s...
- perching_aix 1y agoNow I wonder if this is why my laptop (Dell) is so goddamn annoying too. LatencyMon does show elevated ISR and DPC max exec times (i.e. reports that for realtime tasks my system is busted), and they're also primarily carried out by CPU0. But it's on the order or 2 ms, not 30 ms. Still a long time though for interrupts I guess. ACPI.sys taking the lead too, with NDIS.sys being close second, and then pretty much nothing else.
- deleted 1y ago[deleted]
- OrvalWintermute 1y agoGreat read! Suspect may be in other products too, have seen similar issues elsewhere in Asus produce line
- daedrdev 1y agoI either had this, or a similar issue with an ASUS laptop years ago that would cause stuttering similar to what the article described. I have a Mac now, and have yet to experience similar hardware bugs. My only phantom issue is that safari sometimes doesn't save a google search page to history and ignores it when hitting the back arrow, though I suspect that might be google being fancy with their loading.
- mjg59 1y agoThere's a lot of good work here and I don't want to minimise the issue in any way but: unless the Windows ACPI stack is implemented in an extremely fucked up way, I'd be surprised if some of the technical conclusions here are accurate. (Proviso: my experience here is pretty much all Linux, with the bits that aren't still being the ACPI-CA stack that's used by basically every OS other than Windows. Windows could be bizarre here, but I'd be surprised if it diverged to a huge degree) AML is an interpreted language. Interrupts need to be handled quickly, because while a CPU is handling an interrupt it can't handle any further interrupts. There's an obvious and immediate conflict there, and the way this is handled on every other OS is that upon receipt of an ACPI interrupt, the work is dispatched to something that can be scheduled rather than handled directly in the interrupt handler. ACPI events are not intended to be performance critical. They're also not supposed to be serialised as such - you should be able to have several ACPI events in flight at once, and the language even includes mutex support to prevent them stepping on each other[1]. Importantly, "Sleep()" is intended to be "Wake me when at least this much time has passed" event, not a "Spin the CPU until this much time has passed" event. Calling Sleep() should let the CPU go off and handle other ACPI events or, well, anything else. So there's a legitimate discussion to be had about whether this is a sensible implementation or not, but in itself the Sleep() stuff is absolutely not the cause of all the latency. What's causing these events in the first place? I thought I'd be able to work this out because the low GPE numbers are generally assigned to fixed hardware functions, but my back's been turned on this for about a decade and Intel's gone and made GPE 2 the "Software GPE" bit. What triggers a software GPE? Fucked if I can figure it out - it's not described in the chipset docs. Based on everything that's happening here it seems like it could be any number of things, the handler touches a lot of stuff. But ok we have something that's executing a bunch of code. Is that in itself sufficient to explain video and audio drops? No. All of this is being run on CPU 0, and this is a multi-core laptop. If CPU 0 is busy, do it all on other cores. The problem here is that all cores are suddenly not executing the user code, and the most likely explanation for that is System Management Mode. SMM is a CPU mode present in basically all Intel CPUs since the 386SL back in 1989 or so. Code accesses a specific IO port, the CPU stops executing the OS, and instead starts executing firmware-supplied code in a memory area the OS can't touch. The ACPI decompilation only includes the DSDT (the main ACPI table) and not any of the SSDTs (additional ACPI tables that typically contain code for additional components such as GPU-specific methods), so I can't look for sure, but what I suspect is happening here is that one of the _PS0 or _PS3 methods is triggering into SMM and the entire system[2] is halting while that code is run, which would explain why the latency is introduced at the system level rather than it just being "CPU 0 isn't doing stuff". And, well, the root cause here is probably correctly identified, which is that the _L02 event keeps firing and when it does it's triggering a notification to the GPU driver that is then calling an ACPI method that generates latency. The rest of the conclusions are just not important in comparison. Sleep() is not an unreasonable thing to use in an ACPI method, it's unclear whether clearing the event bits is enough to immediately trigger another event, it's unclear whether sending events that trigger the _PS0/_PS3 dance makes sense under any circumstances here rather than worrying about the MUX state. There's not enough public information to really understand why _L02 is firing, nor what is trying to be achieved by powering up the GPU, calling _DOS, and then powering it down again. [1] This is absolutely necessary for some hardware - we hit issues back in 2005 where an HP laptop just wouldn't work if you couldn't handle multiple ACPI events at once [2] Why the entire system? SMM is able to access various bits of hardware that the OS isn't able to, and figuring out which core is trying to touch hardware is not an easy thing to work out, so there's a single "We are in SMM" bit and all cores are pushed into SMM and stop executing OS code before access is permitted, avoiding the case where going into SMM on one CPU would let OS code on another CPU access the forbidden hardware. This is all fucking ludicrous but here we are.
- manchmalscott 1y ago> I used an LLM for wording It's incredibly obvious. I'm not doubting the actual information here, it's clearly thorough and well researched. The issue is that I cannot _stand_ the hyper-homogenized cadence and style that all LLMs use. It's "Corporate Memphis" all over again. I don't understand why everyone is so violently afraid of something looking like a human being made it?
- 7bit 1y agoBecause not everyone speaks English so good that they could write an article, or want to invest a massive amount of time only to get a barely readable result. For example...
- BobbyTables2 1y agoGreat writeup but surprised the author didn’t try patching the ACPI table. I believe the GRUB bootloader can do this, and Microsoft seems to have its own way too: https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/microsoft-asl-compiler#using-the-microsoft-asl-compilers-acpi-table-load-feature https://learn.microsoft.com/en-us/windows-hardware/drivers/b... I’m also curious if the debugging of the timing and ACPI events could have m been done under Linux…
- xbar 1y agoFantastic reverse engineering and debugging. Bad ACPI is the #1 reason I don't buy gaming laptops. Mac for mobile, parts-built PCs for desktop/gaming.
- cwsx 1y agoThanks so much for this! I've had an ROG Zeph collecting dust for a couple years now, specifically for the reasons you described, which I now have a good reason to dig out and poke around in. Got my weekend sorted :)
- vbezhenar 1y agoWhat kind of expertise one should have to do that kind of debug? Windows driver developer? Or even someone who wrote firmware? I wrote some embedded firmware for simpler ARM CPUs, but I have very little understanding of this technical explanation. I feel like these kind of issues are guarded from ordinary developers by being too complex to understand, although it might just be me. May be if technical stack was more approachable, we would have more quality reports and workarounds? If there're 100 people in the world who could understand the problem, it's bad situation.
- ValdikSS 1y agoIMO, the hardest is to initially find the faulty subsystem, and then to find a suitable instrument to trace/debug it. It's great if you have a working software which shows the possible culprit (as in this case), but often you have only vague guess what could be the reason, and you need to test everything one by one, write you own code, or sometimes use hardware probe.
- nwellinghoff 1y agoIts totally unacceptable that a customer, albeit a very skilled one, has to reverse engineer ASUS's code to solve this problem And even more unacceptable that all an executive would have to do is hand their engineering team this article and they are hand held through fixing it. Asus has what looks like some great offerings and they are just loosing customers over the simple stuff. Dell has the same kind of problems. I have had a XPS with dual graphics since 2017 and only in 2023 did I finally get the magical combination of drivers and "old" firmware such that its perfectly stable. Of course its thunderbolt dock has a firmware issue where it detects external TB drives wrong about 50% of the time when it wakes from sleep. I just know its some bone head firmware code similar to this issue. Message to the CEOs of these companies: Stop outsourcing your firmware dev to the lowest bidder! One can argue its kinda of the easiest part to get right! And then have a support channel that recognizes technically gifted people and fast track their issues to the top of your backlog! It will pay for itself in sales I promise!