2P by GN⁺ 3시간전 | ★ favorite | 댓글 1개
  • ASUS ROG 게이밍 노트북에서는 ACPI.sys DPC 지연 현상으로 인해 오디오 끊김, 마우스 멈춤, 비디오 재생 오류 등 심각한 성능 저하 문제 발생함
  • 원인은 펌웨어(BIOS) 내 비효율적이거나 결함이 있는 ACPI Machine Language(AML) 코드에서 비롯된 것으로, 운영체제나 드라이버 교체로는 해결 불가능함
  • 주기적인 하드웨어 이벤트(GPE) 와 내장 컨트롤러(EC) 관련 작업이 CPU 0 코어를 독점하며, Sleep() 호출 등 잘못된 인터럽트 처리로 인해 대기 시간과 시스템 반응성에 악영향을 미침
  • 펌웨어는 MUX 모드 인식 없이 GPU 전원 주기를 반복하며, 이로 인해 시스템 일시정지부터 블루스크린까지 다양한 장애 유발함
  • 이 문제는 2021년 이후 다양한 ASUS 게이밍 노트북 모델에서 일관되게 보고되고 있으며, ASUS 공식 대응은 진행되지 않음

프로젝트 의의 및 배경

이 오픈소스 리포지토리는 ASUS 게이밍 노트북(ROG 시리즈 등)에서 반복적으로 발생하는 ACPI.sys DPC 지연 문제의 근본 원인을 펌웨어 및 ACPI 테이블 단에서 분석한 심층 기술 리포트임. 대표적으로 Zephyrus, Strix, Scar 제품 등의 고성능 모델이 유튜브 시청, 음성/화상 통화, 마우스 움직임 등 기본적인 사용 환경에서도 끊김 현상, 랙, 오디오 오류를 빈번히 경험함. 문제는 드라이버, 윈도우 재설치, 리눅스 전환 등 다양한 시도가 모두 무효하며, 원인은 오직 펌웨어 내 잘못된 AML 코드에 있음.

주요 증상 및 측정 결과

  • LatencyMon 등 툴로 측정 시, 실시간 오디오 및 기타 작업 처리 불가 판정
  • ACPI.sys 드라이버가 인터럽트와 DPC 라우틴에서 특정 코어(CPU 0)를 장시간 점유함이 확인됨
    • 인터럽트-프로세스 지연: 최고 65,816μs, 평균 23.29μs
    • DPC 루틴 지연: 최고 5,998μs
  • CPU 0이 독점적으로 90초 이상 인터럽트 처리에 사용되며, 이는 로드 밸런싱 실패가 아니라 펌웨어가 단일 코어를 점유하도록 설계됨을 의미함
  • 원인은 단순 윈도우 드라이버 이슈가 아니라, 펌웨어에서 비효율적이거나 결함이 있는 AML 코드가 ACPI.sys에 전달되어 실행됨에서 기인함. 특히 GPE(General Purpose Events) 및 Embedded Controller(EC) 트래픽이 문제를 유발함

세부 분석: 고급 ACPI 로그 추적 및 문제 패턴

  • Windows Performance Analyzer 및 ETW 트레이싱 결과, 해당 지연 현상이 30~60초 주기로 정기적으로 발생함이 드러남
  • 주요 이벤트인 _GPE._L02 핸들러가 길게 실행되며(예: 13.6ms), 이로 인해 실시간 성능이 심각하게 저하됨
  • GPU 전원 관리 명령이 MUX(다중그래픽 선택) 모드 상태와 무관하게 반복적으로 발생, 실제로는 dGPU만이 디스플레이에 연결된 환경에서 불가능한 상태 전환 시도가 계속됨
  • 이 과정에서 컴퓨터가 블루스크린(BSOD)으로 종료되거나, 드라이버 스레드가 무한 대기 상태에 빠지는 등 치명적 장애가 유발됨

펌웨어 코드 추출 및 디컴파일

  • acpidump, iasl 등 도구로 ACPI 테이블을 추출 후 디컴파일하여 분석
  • 문제의 GPE 핸들러는 간단하게
    • _L02: _SB.PC00.LPCB.ECLV() 호출
  • 하지만 ECLV() 메서드 내부에서는
    • Sleep(25~100ms) 등 CPU 정지 호출 반복
    • EC 이벤트 큐가 비어도 인위적으로 이벤트 생성(자기 재무장), 무한 반복 패턴 생성
  • GPE 내부 슬립 호출은 인터럽트 컨텍스트에서 금기시되는 행위로, 한 코어가 수십 ms간 봉쇄되어 실시간 스케줄링/입력/오디오 등에 악영향을 줌

이벤트 처리/디스패치 및 전원 관리 로직

  • GPE 이벤트는 배터리 상태 및 GPU 전원/디스플레이 전환 관련 래퍼 함수 호출로 이어짐
  • PWCG(): 배터리/AC 어댑터 상태 폴링 및 OS 알림 신호 반복
  • NOD2(): NVIDIA 드라이버에 전원 상태 재평가 알림
  • MUX 모드 상태(HGMD == 0x03)을 체크해서 올바른 GPU를 대상으로 동작해야 하는데, 실제 구간에서는 이를 생략하여 모드 불문 무차별 전원사이클 명령을 반복함

시스템/모델 전반의 동일한 결함

  • Scar 15, Zephyrus M16 등 여러 모델에서 이벤트 실행 시간, GPU 전원 사이클 주기, WMI 호출 패턴이 거의 동일하게 관측됨
  • Armoury Crate(WMI 서비스)가 해당 현상을 더 악화시키는 것으로 추정됨

근본 원인 및 설계 실패 요약

  • 인터럽트 컨텍스트 오해: 펌웨어에서 GPE 메서드 실행 중 GPE 신호를 마스킹하여 ACPI/EC 작업이 직렬화되고, 내부 Sleep() 호출로 지연 시간이 수십 ms에 달함
  • 인터럽트 잘못 처리: GPE 소스 클리어 없이 무한 자기 재무장으로 반복 GPE 유발(주기 타이머 역할)
  • 플랫폼(Hardware) 상태 비인식: MUX 모드 여부를 확인하지 않고 GPU 전원 관리 명령 전송
  • 전체적으로 실시간 보장 요구(오디오/비디오 등)를 충족하지 못하며, 마이크로소프트 공식 HLK GlitchFree 테스트 불합격 요인이 됨

사용자 리포트 및 이슈 지속성

  • 2021년부터 ASUS 공식 포럼, Reddit 등에서 같은 현상 반복 제기
  • Strix, TUF, G시리즈 포함 전 라인업에서 증상 일관
  • 2023~2024 최신 모델까지 동일 결함 지속, 임시 우회법만 존재

결론: 문제의 본질과 시사점

  • 측정 증거: GPE 핸들러가 한 코어를 13ms 이상 봉쇄
  • 코드 증거: 인터럽트 핸들러 내 Sleep() 명시
  • 논리 증거: MUX 모드 체크 결여
  • 시스템 증거: 여러 모델/BIOS에서 재현 확인
  • "단지 비효율적 인터럽트 핸들러 내부 슬립과 GPU 상태 미확인"이라는 단순하지만 치명적인 설계 오류로, 수백만 ASUS 노트북 사용자가 기본 작업조차 끊김을 겪음
  • ASUS는 본 분석 시점까지 공식 대응/수정 계획을 내놓지 않음

분석방법 및 참고

  • 본 리포트는 Windows Performance Toolkit, acpidump, iasl 등 도구로 실기기에서 데이터 추출 및 AML 코드 직접 분석을 통해 도출
  • 모든 주요 증거(트레이스, 메서드, 명령)는 재현 가능
Hacker News 의견
  • 정말 놀라운 발견과 기사, 그리고 수정 제안임에 감탄함, 현대 PC에서 어떻게 작동하는지, 그리고 '숨겨진' 부분까지 얼마나 파고들 수 있는지 잘 보여줌에 감동을 느낌 수년간 임베디드 펌웨어를 작성하면서, 엔드 유저가 이런 수준의 버그를 발견해 주길 꿈꿔왔음 Asus가 바로 이런 재능의 유저를 단기 계약직으로 초청해 펌웨어 엔지니어들과 며칠간 협력해서, 수만 달러 대우에 최신 Production BIOS로 노트북을 새로 내주는 그런 세상에서 살고 싶음 이 버그가 4년 넘게 방치된 현실이 슬픔

    • 기술적 원인 분석도 흥미롭지만 비즈니스 프로세스 측면의 원인 분석도 궁금함 이런 문제가 널리 재현된다면, 어떻게 기술 지원 또는 RMA 통해 보고되지 않았는지 궁금함 증거가 아주 부족했어서 연관 짓지 못했는지, 아니면 ASUS가 조사했음에도 불구하고 잘못된 결론(예: 불량 실리콘 배치) 내렸는지, 혹시 충분한 증거가 있는데도 무시했는지 의문임 사용 중후에 바로 드러나는 현상이면 QA 프로세스는 어땠던 것인지, 놓칠 수가 없는 문제 아닐지 이제 알게 됐으면 어떤 조치를 할 가능성이 있을지 궁금함 만약 럭셔리 브랜드라면, 문제 해결과 평판 복구 모두 확실히 처리해야 브랜드가 살아남음 ROG를 과거에 샀었지만, 이런 문제를 본 뒤로는 다시 안 살 것 같음 다시 생각해보니, 이 펌웨어 버그 자체가 정말 충격적임 다른 버그는 하드웨어 가정이 바뀌었거나, 기존 코드를 재사용해서 생긴 실수로 볼 수 있는데, 인터럽트에서 슬립을 거는 방식은 심각함 그게 어떻게 코드 리뷰를 통과했고, 펌웨어 테스트는 어떻게 했던 건지 궁금함

    • ACPI의 AML 바이트코드는 양날의 검과 같음 리버스 엔지니어링과 사용자가 직접 버그를 분석하고 수정할 수 있단 점이 장점임 하지만 끔찍한 프로그래밍 환경인데다가, 상당히 무거운 해석기를 커널 최고 권한으로 돌려야 해서 위험함 시스템 통합벤더들이 이런 꼼수에 쓰곤 하는데, 코드 품질은 기대 이하임 리눅스 드라이버를 직접 만들게 되면 늘 ACPI 코드를 버리는 것부터 시작하는 경험임

    • 유저이자 프로그래머로서 이런 노하우를 가지는 것은 꿈만 같은 일임 기사 안에 담긴 전문 지식이 대단하다고 느낌 나도 노트북의 여러 부분을 분석해봤지만 ACPI 부분에서 벽에 막혔고, 테이블을 덤프하고 코드도 디컴파일해 봤지만 전부 더미 코드뿐이었음 내 노트북 리눅스 드라이버를 직접 만들고 싶었지만 실패했음 이런 일을 해내는 사람들에게 큰 존경을 보냄

    • 혹시 어떤 수정이 나온 건지 궁금함 링크된 Github 페이지는 "자료 다 공개했으니 Asus에서 수정하라"로 끝나지 않았는지 질문함

    • 정말 멋진 분석이고, Asus가 이런 ‘쓰레기’ 품질을 QA하는 데 공 들였다는 점이 대단하다…라는 척 하지만, 사실 전혀 노력하지 않아서 씁쓸함

  • 게임용 노트북에서 4년 동안 치명적인 스터터가 나왔다는 사실이 놀라움 소비자들이 제품을 대량 반환하지 않은 심리를 궁금하게 만듦 링크된 Reddit 글에서, “다 해봤지만 변한 게 없다, 보증 보내봤는데 결과가 궁금, 서비스 결과는 ‘이상 없음’ 판정이라 결국 그냥 써버릇 해서 블루투스 이어폰 끼고 문제를 못 느끼고 산다”는 예시를 인용함

    • 두 번의 게이밍 노트북 경험 모두 비슷한 이슈가 해결되지 않았음 하나는 첫 세대 Alienware M17이었고, 듀얼 GTX 270M 및 온보드 Nvidia GPU가 탑재됐었음 스터터와 오디오 잡음이 발생했고, SLI와 온보드 GPU를 비활성화해서 어떤 포럼에서 찾은 드라이버를 쓰면서 부분적으로 해결했었음 나중에 BIOS 패치로 SLI 쓸 수 있게 됐지만, 끝내 완전한 해결은 없었고 제품 수명이 다함 두 번째 ASUS ROG 노트북도 거의 같은 현상 나도 ACPI 코드를 파고갈 지식이 없어서 완전히 해결하지 못함 Latencymon에서 여러 dll에 문제를 할당했는데, 와이파이 드라이버 교체, dGPU 비활성화 등으로 임시 개선을 시도함 게임에서는 오히려 잡음이 적게 발생하는 등 이상한 점도 있었음 결국 게이밍 노트북 구매를 그만둠 이 기사를 보고나니 지금도 상황이 별로 나아진 것 같지 않다는 인상임

    • 컴퓨터 산업이 수십 년간 소비자에게 ‘고장난 상태가 정상’이라는 교육을 한 결과임 다른 산업이었다면 첫날 다 반품될 사안임 35년 전 내 선생님이 신발 끈 묶을 때 랜덤으로 폭발하는 신발과 비슷하다고 했음 그래도 현재는 소비자 보호법이 정착되는 흐름임

    • 내가 ASUS 제품(Zenphyrus G14)을 사게 된 이유는 한때 ASUS가 AMD의 Ryzen 4xxxHS를 독점 채택한 덕분임 처음엔 성능 좋았으나 두 해 지나니 열 스로틀로 성능 저하가 드러남 써멀 패드 재도포는 부분적 도움만 될 뿐 근본 원인은 찾지 못함 배터리 성능 감소도 따져봤는데, 알고 보니 iGPU가 항상 풀로드로 동작해서 문제가 발생했음 dGPU 우선으로 설정하면 오히려 배터리 지속 시간이 약간 나아졌음 기계적 결함까지 쌓이면서 FW16으로 갈아타고, 다시 게이밍 노트북 브랜드 제품을 살 생각이 없어짐 제조사가 소비자를 신경도 안 쓴다는 느낌을 받고 구매 의욕이 사라짐

    • 이 결함은 Ultimate 모드에서만 발생함 유저가 MUX에서 dGPU로 전환을 명시적으로 지정한 상황일 때만 일어남 이 기능은 외부 디스플레이로 게임을 주로 할 때 중요한 추가 기능임 Optimus 모드에선 외부 디스플레이도 잘 작동하지만, 약간의 성능 저하와 일부 디스플레이 기능(G-Sync 등)만 제한됨 대부분의 사용자는 Optimus 모드로만 써서 이런 결함을 알 기회가 거의 없을 가능성이 높음 문제의 핵심은 Asus가 추가 하드웨어 기능을 QA테스트 제대로 안 하고 출하했다는 점임 ‘골든패스’만 확실히 테스트하는 경향이라고 봄

    • Windows 노트북 유저들은 작동이 완벽하지 않다는 현실에 이미 무감각해져서, 불편을 그냥 견디는 습성을 가지게 됨

  • 글 머릿말에 LLM(Large Language Model)을 썼다고 했는데, 확실히 그런 스타일이 너무 느껴짐 정보는 탄탄하지만, 이런 과도하게 평준화된 톤 때문에 사람 작업물 같지 않아서 마음에 안 듦 모두가 왜 인간스러운 표현을 피하려 드는지 의문임

  • 제품 리뷰어, 심지어 소비자 친화적이고 명망 있는 rtings나 notebookcheck 같은 곳도, 모두가 다 아는 단점조차 왜 리뷰에서 언급하지 않는지 의문이 듦 입소문과 stellar 리뷰에 혹해 제품을 샀다가 문제를 겪고, Reddit에서 "원래 다 이렇다"는 반응만 보면 씁쓸함 왜 이런 문화가 있는지 진짜 궁금함

    • 실제로 문제를 찾으려면, MUX 스위치로 dGPU only 모드로 두고 LatencyMon을 2분 이상 돌려야 함 (iGPU 프리패스 모드에서도 그런지는 모르겠음) notebookcheck는 latencymon 수치를 실제로 기록했으며, 실시간 오디오에 부적합하다고 까지 명시함
      notebookcheck 예시 리뷰 하지만 이런 극단적인 레이턴시는 실제로 발견하지 못함

    • 좀 더 직접적이고 민감하게 보면, 그런 리뷰 사이트가 누구의 후원을 받는지 찾아보는 게 합리적임

  • 그 “프로그래머”(정확한 표현은 아니지만)가 인터럽트 안에서 슬립하는 코드를 직접 테스트나 했는지, 아니면 업무 분산화된 다른 부서에서 무관심하게 넘어갔는지 궁금함 자동화 테스트만 통과했다고 “신경 끌” 했을 가능성도 큼 마이크로소프트식 dogfooding, 즉 개발자가 자사 제품을 실제로 써보는 프로세스가 있었다면 자기 노트북에서 이런 현상 겪으면서 고쳤을 가능성이 크다고 생각함

    • 예전에 타이페이 어느 대형 하드웨어 회사에서 펌웨어 용역을 했을 때, 버그를 아예 무시하는 습관이 생김 버그를 보고하면, 정해진 일 외에 딴 짓 했다는 이유로 혼남 하드웨어팀은 펌웨어/드라이버/소프트웨어 개발자를 하위 호칭으로 부르고, 피드백도 무시하는 분위기였음 이런 사연이 놀랍지 않음
  • 동일한 이슈가 내 2019년산 MSI 게이밍 노트북(GS65 Stealth)에서도 발생함 LatencyMon 돌린 지 1분 내에 >10ms 스터터가 계속 나타남 모든 ACPI 장치 비활성화하면 스터터가 사라지지만, 동시에 dGPU 사용도 안 됨 이 문제가 dGPU 탑재된 다수 게이밍 노트북에 널리 연관됐을 수 있다고 의심함 MSI 포럼 ACPI 지연 현상 글도 소개함 "nvidia gaming laptop stutter latencymon acpi"로 검색해보길 권장함

  • 요약: ASUS 게이밍 노트북은 결함이 완전히 해결될 때까지 사지 말 것, 보증 기간 내라면 보증 클레임 제기 및 Small Claims Court까지 각오할 준비를 권장함

    • 대부분의 노트북은 애초에 이 버그가 드러나는 dGPU only 모드 자체가 없음 실제로 내 노트북에서는 MUX 통해 dGPU only 모드로 써본 적도 없으며, 그 모드는 전력 소모만 심하고 얻을 게 거의 없음
  • 미국산 mac을 밀어붙이는 사람들이 이해됨 이렇게 심각한 문제가 4년 가까이 출하됐다는 게 믿기지 않음 앞으로 뭘 안 살지는 확실히 정함

    • Apple도 유사한 문제 있었음 예시로, EFI 펌웨어 이슈 denial 건이 있었음
      관련 기사

    • "왜곡장 밖" 유저에게도 Apple의 자체적인 이슈는 분명 존재함

    • 회사에서 맥을 8년 써봤고, 대체로 잘 돌아갔지만 두 가지 큰 트러블을 겪었음 a) 충전이 갑자기 안 됐던 적이 있어 꽉 충전돼 있을 때 바로 데이터 이동해서 복구함, 착탈식 저장장치가 아쉬웠음 b) 1년간 iTunes로 스트리밍 시작 때 약 25% 확률로 음악 대신 심한 노이즈가 나옴, 다시 재생하면 대부분 해결됨 특정 OS 버전에서 시작됐고 다음 버전에서 해결됨, 다른 앱에선 그런 일이 없었음 ‘mac은 원래 완벽하다’는 인식 탓에 정보도 없고 삽질만 했음 덜 심각하지만 Outlook 켜고 랩탑 덮개 닫으면 배터리 소모와 발열이 생기는 문제도 있었음 Outlook이 악명이 높지만 Exchange 회사에서는 그냥 쓰는 게 낫다고 생각하게 됨

    • MSI 노트북도 EFI 버그로 인해 rm -rf / 명령 실행 시 UEFI 부팅 불가 문제가 실제로 있었음
      이슈 설명

    • "맥을 밀어붙인다"는 표현에 대해, 게이머나 VR 유저한테도 그럴 수 있는지 질문함

  • 2015년쯤부터는 스위처블 그래픽 노트북을 다시는 안 사기로 결심했고, 이게 잘 통했음 ‘프리미엄’ 브랜드가 펌웨어 개발 인력에 쥐꼬리만 투자하면서 마케팅에는 엄청난 돈을 쓰는 현상을 보면 항상 우습게 느껴짐

    • 나 역시 2013년 "Optimus" 노트북을 썼다가 다시는 안 쓰겠다고 맹세함 데스크톱이나 서버를 쓰는 수고가 늘었지만, 결국 iGPU만 쓰게 된 걸 후회한 적 없음
  • ASUS는 마케팅 예산의 0.01%만 투자해도 수백만 사용자의 경험을 개선하고, 교환 비용을 줄이며, 브랜드 명성도 올릴 수 있었을 것임 이런 현상은 많은 회사가 좋은 엔지니어링보다 마케팅이 더 효율적이라고 잘못 믿으면서 조직을 잘못 운영하는 증거임