본문 바로가기

Linux

라데온 그래픽카드로 듀얼 모니터를 사용하는 리눅스에서 깜빡임 현상

앞으로 티스토리 대신 blog.stackframe.dev에서 블로깅을 합니다. 이 블로그는 남겨 둘 예정입니다.

현재 리눅스 버전 5.2에서 라데온 그래픽카드에 모니터를 두 개 연결하고 커널 옵션으로 amdgpu.ppfeaturemask=0xffffffff를 설정하면 화면에 검은 줄이 깜빡이는 현상이 있습니다. 저도 그냥 한 번 듀얼 모니터가 제대로 작동하는지 테스트하기 위해 모니터를 하나 더 연결했더니 이 현상이 발생하여 알게되었습니다.

 

이 깜박임의 원인은 GPU의 메모리 클럭이 너무 빠르게 변화하여 화면 갱신 타이밍에 영향을 주기 때문에 발생합니다. 그러므로 메모리 클럭이 변화하지 않도록 설정한다면 임시방편으로 깜박임 없이 사용할 수 있습니다. 다만 낮은 클럭으로 고정한다면 성능이 문제고, 높은 클럭으로 설정한다면 idle 상태에서도 전력을 더 소비하고 열이 발생한다는 문제가 있습니다.

 

현재 이 문제를 해결하기 위한 amdgpu 드라이버 패치가 올라온 상태입니다. https://lists.freedesktop.org/archives/amd-gfx/2019-August/039006.html 패치에 관련된 메일은 4개가 입니다. 이 패치는 만약 다수의 모니터가 연결되었을 때 주사율이 모두 동일하다면 깜박임 없이 메모리 클럭을 동적으로 변화시킬 수 있도록 합니다. 다만 바로 활성화가 되어 있는게 아니고 커널 옵션에서 amdgpu.dcfeaturemask=2를 설정해야합니다.

 

아쉽게도 저 메일이 올라온 시기가 리눅스 5.3의 머지 윈도우가 끝났을 때라 정식 배포판에서 바로 사용하려면 리눅스 커널 5.4 버전이 나올 때까지 기다려야 합니다.

 

아니면 리눅스 소스코드를 직접 다운받고 메일로 올라온 패치를 적용하고 컴파일하여 사용하면 됩니다.

 

이 패치가 되더라도 아직 60Hz + 144Hz 같은 조합은 주사율이 맞지 않아 깜박임 현상이 있을 것으로 예상됩니다. 제가 144Hz 모니터를 가지고 있지 않기 때문에 실험해 볼 수 없어서 아쉽습니다.

 

윈도우즈 환경에서보다 여러모로 부족한게 보이는 라데온 드라이버지만 그래도 AMD 회사 차원에서 계속해서 버그를 고쳐나가고 있으니 언젠가는 잘 작동하지 않을까 기대해봅니다.