2 poin oleh GN⁺ 2025-09-18 | 1 komentar | Bagikan ke WhatsApp
  • Pada laptop gaming ASUS ROG, terjadi fenomena latensi DPC ACPI.sys yang menyebabkan penurunan performa serius seperti audio tersendat, mouse membeku, dan kesalahan pemutaran video
  • Penyebabnya berasal dari kode ACPI Machine Language (AML) yang tidak efisien atau cacat di dalam firmware (BIOS), sehingga tidak bisa diselesaikan dengan mengganti sistem operasi atau driver
  • Event perangkat keras periodik (GPE) dan tugas terkait embedded controller (EC) memonopoli core CPU 0, dan penanganan interupsi yang keliru seperti pemanggilan Sleep() berdampak buruk pada latensi dan respons sistem
  • Firmware berulang kali melakukan siklus daya GPU tanpa mengenali mode MUX, yang memicu berbagai gangguan mulai dari sistem membeku sementara hingga blue screen
  • Masalah ini telah dilaporkan secara konsisten pada berbagai model laptop gaming ASUS sejak 2021, dan belum ada respons resmi dari ASUS

Makna dan latar belakang proyek

Repositori open source ini adalah laporan teknis mendalam yang menganalisis akar penyebab masalah latensi DPC ACPI.sys yang berulang pada laptop gaming ASUS (termasuk seri ROG) di tingkat firmware dan tabel ACPI. Secara khusus, model performa tinggi seperti Zephyrus, Strix, dan Scar sering mengalami stutter, lag, dan error audio bahkan dalam penggunaan dasar seperti menonton YouTube, panggilan suara/video, atau menggerakkan mouse. Berbagai upaya seperti mengganti driver, memasang ulang Windows, atau berpindah ke Linux semuanya tidak menyelesaikan masalah, dan penyebabnya hanya ada pada kode AML yang salah di dalam firmware.

Gejala utama dan hasil pengukuran

  • Saat diukur dengan alat seperti LatencyMon, sistem dinilai tidak mampu menangani audio real-time dan tugas lain dengan baik
  • Dikonfirmasi bahwa driver ACPI.sys menempati core tertentu (CPU 0) dalam waktu lama pada rutin interupsi dan DPC
    • Latensi interrupt-to-process: maksimum 65,816μs, rata-rata 23.29μs
    • Latensi rutin DPC: maksimum 5,998μs
  • CPU 0 digunakan secara eksklusif untuk menangani interupsi selama lebih dari 90 detik, yang menunjukkan bahwa ini bukan kegagalan load balancing, melainkan firmware memang dirancang untuk membebani satu core saja
  • Penyebabnya bukan sekadar isu driver Windows, melainkan karena kode AML yang tidak efisien atau cacat di firmware dikirim ke ACPI.sys untuk dieksekusi. Secara khusus, lalu lintas GPE (General Purpose Events) dan Embedded Controller (EC) memicu masalah ini

Analisis detail: pelacakan log ACPI tingkat lanjut dan pola masalah

  • Berdasarkan hasil Windows Performance Analyzer dan ETW tracing, fenomena latensi ini terjadi secara berkala setiap 30–60 detik
  • Handler utama _GPE._L02 berjalan lama (misalnya 13.6ms), sehingga performa real-time menurun drastis
  • Perintah manajemen daya GPU berulang kali terjadi tanpa memedulikan status mode MUX (pemilihan grafis ganda), sehingga upaya perpindahan status yang sebenarnya mustahil terus dicoba bahkan dalam lingkungan di mana hanya dGPU yang terhubung ke display
  • Dalam proses ini, terjadi gangguan fatal seperti komputer berhenti dengan blue screen (BSOD) atau thread driver masuk ke kondisi menunggu tanpa akhir

Ekstraksi dan dekompilasi kode firmware

  • Analisis dilakukan dengan mengekstrak tabel ACPI menggunakan alat seperti acpidump, iasl, lalu mendekompilasinya
  • Handler GPE yang bermasalah secara sederhana adalah
    • _L02: \_SB.PC00.LPCB.ECLV() dipanggil
  • Namun di dalam metode ECLV()
    • Pemanggilan penghentian CPU seperti Sleep(25~100ms) berulang kali
    • Event dibuat secara artifisial meski antrean event EC kosong (self-rearm), menciptakan pola pengulangan tanpa akhir
  • Pemanggilan sleep di dalam GPE adalah tindakan yang dilarang dalam konteks interupsi, sehingga satu core bisa terkunci selama puluhan ms dan berdampak buruk pada penjadwalan real-time, input, audio, dan lain-lain

Logika pemrosesan/distribusi event dan manajemen daya

  • Event GPE berlanjut ke pemanggilan fungsi pembungkus terkait status baterai serta peralihan daya/display GPU
  • PWCG(): polling status baterai/adaptor AC dan pengulangan sinyal notifikasi ke OS
  • NOD2(): memberi tahu driver NVIDIA untuk mengevaluasi ulang status daya
  • Seharusnya sistem memeriksa status mode MUX (HGMD == 0x03) agar beroperasi pada GPU yang benar, tetapi pada bagian aktual langkah ini diabaikan sehingga perintah power cycle dikirim berulang kali tanpa pandang mode

Cacat yang sama di seluruh sistem/model

  • Pada banyak model seperti Scar 15 dan Zephyrus M16, waktu eksekusi event, siklus power GPU, dan pola pemanggilan WMI teramati hampir identik
  • Diduga Armoury Crate (layanan WMI) semakin memperburuk fenomena ini

Akar masalah dan ringkasan kegagalan desain

  • Salah memahami konteks interupsi: firmware mem-mask sinyal GPE saat metode GPE dijalankan, sehingga pekerjaan ACPI/EC diserialkan, dan pemanggilan internal Sleep() membuat latensi mencapai puluhan ms
  • Penanganan interupsi yang salah: tanpa membersihkan sumber GPE, firmware terus melakukan self-rearm tanpa akhir dan memicu GPE berulang (berperan seperti timer periodik)
  • Tidak mengenali status platform (hardware): perintah manajemen daya GPU dikirim tanpa memeriksa apakah mode MUX aktif atau tidak
  • Secara keseluruhan, ini gagal memenuhi kebutuhan jaminan real-time (audio/video, dll.) dan menjadi penyebab gagal pada uji resmi Microsoft HLK GlitchFree

Laporan pengguna dan keberlanjutan isu

  • Sejak 2021, fenomena yang sama terus diangkat di forum resmi ASUS, Reddit, dan tempat lain
  • Gejalanya konsisten di seluruh lini produk termasuk Strix, TUF, dan seri G
  • Cacat yang sama tetap ada hingga model terbaru 2023–2024, dan hanya tersedia solusi sementara

Kesimpulan: hakikat masalah dan implikasinya

  • Bukti pengukuran: handler GPE mengunci satu core selama lebih dari 13ms
  • Bukti kode: ada Sleep() yang secara eksplisit dipanggil di dalam interrupt handler
  • Bukti logika: tidak ada pemeriksaan mode MUX
  • Bukti sistem: reproduksi terkonfirmasi di banyak model/BIOS
  • Kesalahan desain yang sederhana tetapi fatal—"sleep di dalam interrupt handler yang tidak efisien dan GPU state yang tidak diperiksa"—membuat jutaan pengguna laptop ASUS mengalami gangguan bahkan pada pekerjaan dasar
  • Hingga saat analisis ini dibuat, ASUS belum mengumumkan rencana respons/perbaikan resmi

Metode analisis dan referensi

  • Laporan ini disusun melalui ekstraksi data pada perangkat nyata dan analisis langsung kode AML menggunakan alat seperti Windows Performance Toolkit, acpidump, dan iasl
  • Semua bukti utama (trace, metode, perintah) dapat direproduksi

1 komentar

 
GN⁺ 2025-09-18
Opini Hacker News
  • Penemuan, artikel, dan usulan perbaikannya benar-benar luar biasa; ini menunjukkan dengan sangat baik bagaimana PC modern bekerja, dan seberapa jauh orang bisa menggali hingga ke bagian yang "tersembunyi" Setelah bertahun-tahun menulis firmware embedded, saya selalu bermimpi ada pengguna akhir yang menemukan bug di level seperti ini Saya ingin hidup di dunia di mana Asus langsung mengundang pengguna berbakat seperti ini sebagai kontraktor jangka pendek untuk bekerja sama beberapa hari dengan para engineer firmware, diberi kompensasi puluhan ribu dolar, lalu ditukar dengan laptop baru yang sudah memakai Production BIOS terbaru Sedih rasanya melihat bug ini dibiarkan lebih dari 4 tahun

    • Analisis akar penyebab teknisnya menarik, tetapi saya juga penasaran dengan analisis penyebab dari sisi proses bisnis Jika masalah seperti ini bisa direproduksi secara luas, saya heran bagaimana hal ini tidak pernah dilaporkan lewat dukungan teknis atau RMA Apakah karena buktinya terlalu minim sehingga tidak bisa dikaitkan, atau ASUS memang menyelidikinya tetapi mengambil kesimpulan yang salah, misalnya mengira ini batch silikon yang cacat, atau justru ada cukup bukti tetapi diabaikan Jika gejalanya langsung terlihat saat dipakai, seperti apa proses QA mereka sampai ini bisa lolos Sekarang setelah penyebabnya diketahui, saya penasaran tindakan apa yang mungkin akan diambil Kalau ini merek mewah, mereka harus menuntaskan perbaikan masalah sekaligus pemulihan reputasi agar mereknya bisa bertahan Saya pernah membeli ROG, tapi setelah melihat masalah seperti ini saya rasa tidak akan beli lagi Setelah dipikir-pikir lagi, bug firmware ini sendiri benar-benar mengejutkan Bug lain mungkin bisa dijelaskan sebagai asumsi hardware yang berubah, atau kesalahan akibat mendaur ulang kode lama, tetapi memasang sleep di dalam interrupt itu sangat parah Saya penasaran bagaimana itu bisa lolos code review, dan bagaimana pengujian firmware mereka dilakukan

    • Bytecode AML milik ACPI itu seperti pedang bermata dua Sisi baiknya, reverse engineering jadi mungkin dan pengguna bisa menganalisis serta memperbaiki bug sendiri Tetapi ini lingkungan pemrograman yang mengerikan, dan juga berbahaya karena interpreter yang cukup berat harus dijalankan dengan hak kernel tertinggi Vendor integrasi sistem sering memakainya untuk trik-trik seperti ini, tetapi kualitas kodenya biasanya di bawah harapan Saat akhirnya harus membuat driver Linux sendiri, pengalaman saya hampir selalu dimulai dengan membuang kode ACPI lebih dulu

    • Sebagai pengguna sekaligus programmer, memiliki keahlian seperti ini terasa seperti mimpi Saya merasa pengetahuan ahli yang tertuang di artikel ini luar biasa Saya juga pernah menganalisis berbagai bagian laptop, tetapi mentok di bagian ACPI; saya sudah dump tabelnya dan bahkan mendekompilasi kodenya, tetapi semuanya hanya kode dummy Saya ingin membuat driver Linux untuk laptop saya sendiri, tetapi gagal Saya sangat menghormati orang-orang yang bisa melakukan hal seperti ini

    • Saya penasaran apakah memang ada perbaikan yang sudah keluar Saya bertanya apakah halaman Github yang ditautkan pada akhirnya hanya berhenti di "semua materi sudah dipublikasikan, sekarang Asus yang harus memperbaikinya"

    • Analisis yang sangat keren, dan luar biasa melihat Asus begitu bersungguh-sungguh dalam melakukan QA pada kualitas ‘sampah’ seperti ini… atau setidaknya kelihatannya begitu, padahal sebenarnya mereka sama sekali tidak berusaha, dan itu pahit

  • Mengejutkan bahwa laptop gaming bisa memiliki stutter fatal selama 4 tahun Ini membuat saya bertanya-tanya soal psikologi konsumen yang tidak mengembalikan produk secara massal Ia mengutip contoh dari posting Reddit yang ditautkan: “saya sudah mencoba semuanya tapi tidak ada yang berubah, saya sudah kirim untuk garansi dan penasaran hasilnya, hasil servisnya dinyatakan ‘tidak ada masalah’, jadi akhirnya saya terbiasa saja dan hidup sambil memakai earphone Bluetooth supaya tidak menyadari masalahnya”

    • Kedua pengalaman saya dengan laptop gaming sama-sama berakhir dengan masalah serupa yang tidak terselesaikan Salah satunya adalah Alienware M17 generasi pertama, dengan dual GTX 270M dan GPU Nvidia onboard Terjadi stutter dan noise audio, dan saya hanya bisa menyelesaikannya sebagian dengan menonaktifkan SLI dan GPU onboard lalu memakai driver yang saya temukan di sebuah forum Belakangan ada patch BIOS yang memungkinkan saya kembali memakai SLI, tetapi tidak pernah benar-benar tuntas sampai produk itu habis masa pakainya Laptop ASUS ROG kedua saya juga menunjukkan gejala yang hampir sama Saya juga tidak punya pengetahuan untuk membedah kode ACPI sampai tuntas, jadi tidak bisa menyelesaikannya sepenuhnya LatencyMon mengaitkan masalahnya ke beberapa dll, jadi saya mencoba perbaikan sementara seperti mengganti driver Wi-Fi, menonaktifkan dGPU, dan lain-lain Ada juga hal aneh seperti noise justru lebih jarang terjadi saat bermain game Pada akhirnya saya berhenti membeli laptop gaming Setelah membaca artikel ini, kesan saya situasinya sekarang pun tidak banyak membaik

    • Ini hasil dari industri komputer yang selama puluhan tahun mendidik konsumen bahwa ‘rusak itu normal’ Di industri lain, masalah seperti ini pasti sudah dikembalikan semua di hari pertama 35 tahun lalu guru saya menyamakan ini dengan sepatu yang meledak secara acak saat tali sepatunya diikat Meski begitu, sekarang setidaknya ada tren penguatan undang-undang perlindungan konsumen

    • Alasan saya sampai membeli produk ASUS (Zenphyrus G14) adalah karena pada satu masa ASUS hampir eksklusif mengadopsi Ryzen 4xxxHS dari AMD Awalnya performanya bagus, tetapi dua tahun kemudian penurunan performa akibat thermal throttling mulai terasa Mengoles ulang thermal pad hanya sedikit membantu, dan saya tidak pernah menemukan akar masalahnya Saya juga sempat menelusuri penurunan performa baterai, lalu ternyata iGPU terus berjalan pada beban penuh dan itulah penyebabnya Saat diatur agar dGPU diprioritaskan, daya tahan baterainya malah sedikit membaik Setelah ditambah berbagai cacat mekanis, saya pindah ke FW16 dan tidak lagi ingin membeli produk dari merek laptop gaming Saya merasa produsennya sama sekali tidak peduli pada konsumen, dan itu mematikan keinginan saya untuk membeli

    • Cacat ini hanya terjadi dalam mode Ultimate Ini hanya muncul ketika pengguna secara eksplisit mengatur MUX ke dGPU Fitur tambahan ini penting bila Anda terutama bermain game di layar eksternal Dalam mode Optimus, layar eksternal tetap berfungsi dengan baik, hanya ada sedikit penurunan performa dan beberapa fitur layar seperti G-Sync yang dibatasi Kemungkinan besar kebanyakan pengguna hanya memakai mode Optimus sehingga hampir tidak pernah punya kesempatan menyadari cacat ini Inti masalahnya adalah Asus mengirimkan fitur hardware tambahan tanpa QA test yang memadai Saya melihat ini sebagai kecenderungan untuk hanya benar-benar menguji ‘golden path’

    • Pengguna laptop Windows sudah terlalu terbiasa dengan kenyataan bahwa semuanya tidak pernah benar-benar bekerja sempurna, sehingga akhirnya mereka menoleransi ketidaknyamanan begitu saja

  • Di pengantar tulisan disebutkan bahwa LLM (Large Language Model) dipakai, dan itu memang sangat terasa dari gayanya Informasinya kuat, tetapi saya tidak suka nada yang terlalu diratakan seperti ini karena jadi tidak terasa seperti tulisan manusia Saya heran kenapa semua orang seolah berusaha menghindari ekspresi yang terdengar manusiawi

  • Saya heran kenapa reviewer produk, bahkan yang ramah konsumen dan punya reputasi baik seperti rtings atau notebookcheck, tidak menyebutkan kekurangan yang sebenarnya sudah diketahui semua orang dalam review mereka Rasanya pahit ketika membeli produk karena tergoda word of mouth dan review yang luar biasa, lalu mengalami masalah, dan di Reddit hanya mendapat respons "memang semuanya begitu" Saya benar-benar penasaran kenapa budaya seperti ini bisa ada

    • Untuk benar-benar menemukan masalahnya, Anda harus mengatur MUX switch ke mode dGPU only dan menjalankan LatencyMon selama lebih dari 2 menit (Saya tidak tahu apakah ini juga terjadi di mode iGPU freepass) notebookcheck sebenarnya mencatat angka LatencyMon dan bahkan secara eksplisit menyebut perangkat itu tidak cocok untuk audio real-time
      contoh review notebookcheck Tetapi mereka tetap tidak menemukan latensi ekstrem seperti ini

    • Kalau mau melihatnya lebih langsung dan lebih sensitif, masuk akal untuk mencari tahu siapa yang mendanai situs review seperti itu

  • Saya penasaran apakah “programmer” itu (meski mungkin bukan istilah yang tepat) pernah menguji sendiri kode yang melakukan sleep di dalam interrupt, atau apakah ini sekadar lolos begitu saja karena pembagian kerja lintas departemen membuat semua orang tidak peduli Besar kemungkinan mereka cuma melihat automated test lolos lalu berkata “sudah, lupakan” Kalau ada proses dogfooding ala Microsoft, yaitu developer benar-benar memakai produk mereka sendiri, saya rasa mereka akan mengalami gejala ini di laptop sendiri lalu memperbaikinya

    • Dulu saat saya mengerjakan kontrak firmware di sebuah perusahaan hardware besar di Taipei, saya sampai terbiasa mengabaikan bug sama sekali Kalau melaporkan bug, saya justru dimarahi karena dianggap mengerjakan hal di luar tugas yang ditentukan Tim hardware biasa menyebut developer firmware/driver/software dengan sebutan yang merendahkan, dan suasananya juga cenderung mengabaikan umpan balik Jadi kisah seperti ini sama sekali tidak mengejutkan
  • Masalah yang sama juga terjadi pada laptop gaming MSI saya dari 2019 (GS65 Stealth) Dalam waktu kurang dari 1 menit menjalankan LatencyMon, stutter >10ms terus muncul Jika semua perangkat ACPI dinonaktifkan, stutter-nya hilang, tetapi pada saat yang sama dGPU juga tidak bisa dipakai Saya curiga masalah ini mungkin terkait luas dengan banyak laptop gaming yang memakai dGPU Ia juga memperkenalkan post forum MSI tentang gejala latensi ACPI Ia menyarankan untuk mencari "nvidia gaming laptop stutter latencymon acpi"

  • Ringkasnya: jangan beli laptop gaming ASUS sampai cacat ini benar-benar diperbaiki, dan jika masih dalam masa garansi, disarankan mengajukan klaim garansi serta siap membawa perkara sampai Small Claims Court

    • Kebanyakan laptop sejak awal bahkan tidak punya mode dGPU only tempat bug ini muncul Faktanya, pada laptop saya sendiri saya juga tidak pernah benar-benar memakai mode dGPU only lewat MUX, karena mode itu hanya boros daya dan hampir tidak memberi manfaat
  • Saya jadi paham orang-orang yang mendorong penggunaan Mac buatan AS Sulit dipercaya masalah separah ini bisa terus dikirim selama hampir 4 tahun Setidaknya saya jadi tahu pasti apa yang tidak akan saya beli lagi ke depan

    • Apple juga pernah punya masalah serupa Sebagai contoh, pernah ada penolakan terkait isu firmware EFI
      artikel terkait

    • Bagi pengguna di luar “distortion field”, Apple jelas juga punya masalahnya sendiri

    • Saya memakai Mac di kantor selama 8 tahun, dan secara umum memang berjalan baik, tetapi pernah mengalami dua masalah besar a) Pernah tiba-tiba tidak bisa mengisi daya, jadi saat baterainya masih penuh saya langsung memindahkan data untuk penyelamatan; saya jadi merindukan media penyimpanan yang bisa dilepas b) Selama setahun, saat mulai streaming lewat iTunes, sekitar 25% kemungkinan yang keluar bukan musik melainkan noise keras; memutar ulang biasanya menyelesaikannya Ini mulai terjadi pada versi OS tertentu dan diperbaiki di versi berikutnya, dan hal seperti itu tidak pernah terjadi di aplikasi lain Karena ada anggapan bahwa ‘Mac itu pada dasarnya selalu sempurna’, informasi tentang masalah ini hampir tidak ada dan saya jadi membuang banyak waktu mencarinya sendiri Ada juga masalah yang kurang serius tetapi tetap mengganggu: jika Outlook dibuka lalu tutup laptop ditutup, baterai terkuras dan panas meningkat Outlook memang terkenal buruk, tetapi di perusahaan yang memakai Exchange saya akhirnya merasa lebih baik terima saja dan menggunakannya

    • Laptop MSI juga pernah benar-benar memiliki bug EFI yang membuat perintah rm -rf / menyebabkan sistem tidak bisa boot UEFI
      penjelasan isu

    • Tentang ungkapan "mendorong Mac", saya bertanya apakah itu juga berlaku untuk gamer atau pengguna VR

  • Sejak sekitar 2015 saya memutuskan tidak akan pernah lagi membeli laptop dengan switchable graphics, dan keputusan itu terbukti tepat Saya selalu merasa geli melihat merek ‘premium’ menginvestasikan sangat sedikit pada tenaga pengembang firmware, tetapi menghabiskan uang sangat besar untuk pemasaran

    • Saya juga memakai laptop "Optimus" pada 2013 dan bersumpah tidak akan pernah mengulanginya Memang jadi lebih repot karena harus lebih sering memakai desktop atau server, tetapi pada akhirnya saya tidak pernah menyesal beralih ke iGPU saja
  • ASUS sebenarnya cukup menginvestasikan 0,01% dari anggaran pemasaran mereka untuk memperbaiki pengalaman jutaan pengguna, menurunkan biaya penggantian, dan meningkatkan reputasi merek Fenomena seperti ini menunjukkan banyak perusahaan salah mengelola organisasi mereka karena keliru percaya bahwa pemasaran lebih efektif daripada engineering yang baik