Nvidia 드라이버 업데이트로 인해 Arch에서 일시 중지 + 화면 찢어짐 문제가 발생함

Nvidia 드라이버 업데이트로 인해 Arch에서 일시 중지 + 화면 찢어짐 문제가 발생함

내 컴퓨터에는 Arch와 GNOME을 실행하는 GeForce RTX 2070 SUPER가 있습니다.

최근 nvidia 드라이버 업데이트(특히 Arch의 450.66-21에서 450.66-22로) 전에 화면이 찢어지는 현상을 경험했지만 전체 구성 파이프라인을 활성화하면 문제가 해결되었습니다. 그런데 업데이트 이후 화면 찢김 현상이 다시 나타났습니다. nvidia-455로 업그레이드해도 화면 잘림 문제가 해결되지 않았습니다. 전체 합성 파이프라인은 전체적으로 활성화되어 일부 화면 찢어짐을 줄일 수 있지만 항상 그런 것은 아닙니다.

커널 모드 설정이 없고 xorg.conf에 전체 컴포지션 파이프라인 이외의 옵션이 없기 때문에 화면이 찢어지지는 않지만 정지 현상이 발생합니다. 즉시 깨어나 빈 화면이 나타나고 화면이 로드되기 전에 1~2초 정도 멈춥니다. 위에서 언급한 NVIDIA 드라이버 업데이트 이전에는 이러한 중단 문제가 발생하지 않았습니다. Anki 및 vscode와 같은 일부 애플리케이션에서는 화면이 로드된 후 검은색 아티팩트 및 기타 그래픽 문제가 발생합니다. 예를 들어, anki에서는 전체 화면이 검은색이지만 vscode에서는 측면에 검은색 직사각형이 보이고 터미널 프롬프트 텍스트가 사라집니다. 작업 공간을 변경하면 빈 anki 화면이 제거될 수 있으며, 아티팩트 위로 마우스를 가져가서 인앱 터미널을 다시 열면 vscode 문제를 해결할 수 있습니다. 그럼에도 불구하고 이것은 제가 적용하려고 하는 일부 그놈 테마에도 영향을 미치는 매우 성가신 문제입니다. 동일한 문제가 다른 응용 프로그램에도 영향을 미치는 것으로 생각됩니다.

나는 이 문제를 온라인으로 조사하고 다른 해결책을 시도해 보는데 한 시간 반을 소비했지만 성공하지 못했습니다.

TripleBuffering 및 IndirectGLXProtocol 옵션(예: nvidia-drm.modeset=1)이 없는 xorg.conf의 모드 설정은 정지 문제를 일으키지 않지만 심각한 화면 찢김을 일으킬 수 있습니다.

TripleBuffering을 켜거나 IndirectGLXProtocol을 끄면 위에서 언급한 정지 문제가 발생하지만 화면 찢김은 발생하지 않습니다(커널 모드 설정 유무에 관계 없음).

보시다시피 화면이 찢어지고 일시 중지 문제가 없거나 화면이 찢어지지 않고 일시 중지 문제가 없습니다. 드라이버 업데이트로 인해 lightdm이 중단되어 설정이 중단되기 전에 nvidia 패키지를 버전으로 다운그레이드했습니다. 9월 17일(드라이버 업데이트 전)에 미러로 다운그레이드하는 것은 가능하지만 컴퓨터를 마비시키는 것보다 그래픽적으로 어색한 소프트웨어 업데이트를 원하기 때문에 이상적이지는 않습니다.

이것이 nvidia 드라이버의 특정 문제인지는 확실하지 않지만 위의 이벤트를 고려하면 상당히 합리적이라고 생각합니다.

동일한 문제가 발생하면 알려주시기 바랍니다. 또한 어떤 해결 방법을 시도해 보셨는지 알고 싶습니다.

답변1

문제를 해결했습니다!

Arch Linux 포럼의 좋은 사람들은 부팅 중에 경험했던 화면 잘림 및 경쟁 조건과 관련된 일관되지 않은 문제를 발견했습니다. NVIDIA 모듈이 올바르게 로드되면 화면이 찢어지지 않습니다. 그러나 그렇지 않은 경우 컴퓨터는 다른 드라이버로 되돌아가고(확신합니다) 화면 찢김이 발생합니다. 이 문제를 해결하기 위해 MODULES다음과 같이 /etc/mkinitcpio.conf의 목록에 nvidia 모듈을 추가하여 nvidia 모듈이 항상 올바르게 로드되도록 했습니다 .

MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)

또한 내가 겪고 있는 그래픽 정지 문제는 정지 중에 "불필요한" 비디오 메모리로 간주되는 NVIDIA 처리로 인해 발생한다는 사실도 알게 되었습니다. 이 문제를 해결하기 위해 /etc/modprobe.d/nvidia.conf에 다음 줄을 추가하여 실험적인 옵션이 포함된 nvidia 모듈을 로드했습니다.

options nvidia NVreg_PreserveVideoMemoryAllocations=1

마지막으로 initramfs 이미지를 다시 빌드 sudo mkinitcpio -p linux하고 재부팅했습니다. 이제 nvidia는 부팅 중에 항상 로드되며(더 이상 화면이 찢어지지 않기 때문에 알 수 있습니다!) anki 및 vscode와 관련된 모든 그래픽 문제가 사라졌습니다.

관련 정보