
내 컴퓨터에서 GNOME과 함께 Arch를 실행하는 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 문제가 해결됩니다. 그럼에도 불구하고 이것은 제가 적용하려고 했던 일부 그놈 테마에도 영향을 미치는 매우 성가신 문제입니다. 이 동일한 문제가 다른 응용 프로그램에도 영향을 미치는 것으로 의심됩니다.
웹에서 문제를 조사하고 다양한 솔루션을 시도하는 데 최대 1시간 30분을 소비했지만 소용이 없었습니다.
xorg.conf의 TripleBuffering 및 IndirectGLXProtocol 옵션 없이 모드 설정(예: nvidia-drm.modeset=1)을 수행하면 일시 중단 문제가 발생하지 않지만 심각한 화면 찢어짐 현상이 발생합니다.
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에 대한 모든 그래픽 문제가 사라졌습니다.