Framework 13 마이크 문제 우회하기

2026년 8월 24일

AMD Ryzen AI 300 시리즈 CPU를 달고 있는 Framework 13에서는 UEFI가 윈도우 플랫폼을 위한 오디오 장비를 리눅스 플랫폼에도 그대로 노출시킵니다. 별 큰 문제는 아니어야 하는데, 문제가 되는 이유는 바로 리눅스에서 해당 장비를 사용하면 마이크가 동작하지 않기 때문이죠.

물론 GitHub에서는 이것과 관련된 긴 글이 존재하고, 최근 들어 GitHub issue 쓰레드를 보면 문제를 LLM에 던지는 사람들이 부쩍 늘은 것 같습니다. 슬프게도, 올라온 답글들은 보면 리눅스의 UCM을 비활성화한다거나, 아니면 pactl을 사용하여 기기의 프로필을 설정하는 것들이 올라옵니다. (이건 KDE의 오디오 picker로도 설정할 수 있어서 정확히 무엇을 이루어내는지는 모르겠네요.)

이 “해결책”들은 3.5 mm 잭에다가 헤드셋을 연결하면 아무런 도움이 되질 않죠. 프로필이 자동 전환되지 않고, 결국에는 마이크가 작동하지 않으니까요. 실제 해결책은 변경사항을 듣고 있다가 프로필 개수가 변경되면 자동으로 프로필을 바꿔주면 되는데, 내부 스피커만 있을때엔 프로필이 3개고 헤드셋을 연결하면 프로필이 5개로 늘어버리니까요. 수정: 그러다가 pactl list cards를 사용하면 어차피 헤드셋 연결 여부를 알려주는 것을 diff로 찾아, 이 방식으로 하니 오히려 더 안정적으로 작동하더라고요. 프로필 개수가 계속해서 바뀌지 않는 부분에 의존하지도 않죠.

그래서 Gist로 한번 올려봅니다:

3초동안 이벤트를 무시하는 이유는 프로필을 변경하게 되면, 그게 또 이벤트를 발생시키고 이를 통해 스크립트가 재실행되기 때문입니다. 물론 헤드셋을 3초안에 꼈다 뺐다 하시는 분들은 없겠죠.

어딘가에 저장하고, 실행 플래그를 설정한 다음, jq가 설치되어 있는지 확인하면 됩니다. (그리고 pactl도 있어야 하지만 솔직히 그게 안 깔려 있는 리눅스 베포판을 찾는게 더 어려울껄요?)

Gist상에는 해당 스크립트를 지속적으로 실행하기 위한 systemd 서비스 파일도 있을 겁니다.

이제 Framework이 이 문제를 제대로 고쳐주면 좋겠죠. (적어도, UEFI 토글로 기기를 숨겨주면 안될까요? Framework 16의 스피커와 같이 특정 모듈은 해 주면서…)