Nouveau, GDM3 및 Debian 8.6을 사용하는 다중 GPU, 다중 헤드, 3+ 모니터 디스플레이

Nouveau, GDM3 및 Debian 8.6을 사용하는 다중 GPU, 다중 헤드, 3+ 모니터 디스플레이

xrandr을 조사하는 데 많은 시간을 보낸 후 나에게 "효과가 있는" 솔루션을 찾았습니다.

나는 이 포럼을 다른 사람들에게 내 문제에 대한 해결책을 제공하고 내가 이해하지 못하는 특정 사항에 대해 질문하는 방법으로 사용합니다.

설정:

  • 2x Nvidia GT 630(각각 2x DVI, 1x HDMI 장착)
  • 모니터 3개(Acer 1680x1050(DVI) 2개 및 LG 1680x1050(DVI) 1개)
  • Debian 8.6 기본 설치(GnomeDesktop Manager 3)
  • Nouveau 드라이버(기본적으로 설치됨)

카드 1에 Acer 1개와 LG 1개가 연결되어 있습니다. 기본 설치를 통해 원활한 데스크탑으로 완벽하게 실행할 수 있습니다. 카드 2의 마지막 Acer는 GDM에서 감지되지 않으므로 제대로 작동하지 않습니다. 자신이 무엇을 하고 있는지 아는 사람에게서 배운 BASH 마법을 사용하여 시스템 더 깊은 곳에서 감지되었습니다.

ls /sys/class/drm/*/status | xargs -I {} -i bash -c "echo -n {}: ; cat {}"

/sys/class/drm/card0-DVI-I-1/status:connected
/sys/class/drm/card0-DVI-I-2/status:connected
/sys/class/drm/card0-HDMI-A-1/status:disconnected
/sys/class/drm/card1-DVI-I-3/status:connected
/sys/class/drm/card1-DVI-I-4/status:disconnected
/sys/class/drm/card1-HDMI-A-2/status:disconnected

나는 먼저 타자를 친다

xrandr --listproviders

그리고 얻다

Providers: number : 2
Provider 0: id: 0x64 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 1 name:nouveau
Provider 1: id: 0x36a cap: 0x2, Sink Output crtcs: 2 outputs: 3 associated providers: 1 name:modesetting

공급자 0의 "이름" 항목이 "nouveau"로 설정되고 공급자 1의 "이름" 항목이 "modesetting"으로 설정되어 있는 것을 즉시 확인할 수 있습니다.

각 제공업체마다 고유한 개별 그래픽 카드가 있다고 확신합니다. 한 설정은 nouveau를 "사용"하고 다른 모드 설정(아마도 KernelModesetting)을 사용하는 이유는 무엇입니까? Nouveau는 KMS 위에서 실행되어야 합니다...

dmesg는 두 카드가 모두 nouveau로 실행되고 있음을 보여줍니다...

유형

xrandr --setprovideroutputsource nouveau nouveau

두 공급자 모두의 "이름" 항목을 "nouveau"로 강제하는 것 같습니다. X가 즉시 다시 시작(또는 충돌)되고 로그인 화면으로 돌아갑니다.

로그인 후 X 터미널에 다음을 입력하세요.

xrandr --listproviders

확인을 받았습니다 :

Providers: number : 2
Provider 0: id: 0xbf cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 0 name:nouveau
Provider 1: id: 0x64 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 3 associated providers: 0 name:nouveau

두 캡 항목은 모두 동일합니다. 왜 이런거야? 모자는 무슨 뜻인가요?

여기에서 실제로 xrandr을 활성화하여 두 번째 카드(공급자 1)와 통신할 수 있습니다.

xrandr --setprovideroutputsource 1 0

이제 다음을 입력하면 추가 DVI 및 HDMI 포트가 나타납니다.

xrandr

여기에서 세 번째 모니터를 활성화합니다.

xrandr --output DVI-I-1-3 –auto

(내 세 번째 모니터가 DVI-I-1-3에 있기 때문에)

설정 아래에 GDM GUI 애플리케이션을 통해 모니터를 활성화하는 옵션이 있습니다.

여기에서 더 많은 xrandr 출력 위치 지정 명령 또는 GUI 작업이 다른 모니터를 기준으로 내 모니터의 위치를 ​​지정하고 모든 것이 잘 작동합니다. 이제 xrandr은 재부팅 시 설정을 저장하지 않기 때문에 이러한 모든 명령을 스크립트로 래핑해야 합니다. 나중에 스크립트가 작동하게 되면 스크립트에 대해 논의하겠습니다.

현재 문제 중 일부는 창을 이동할 때 그래픽 성능이 저하되고 때로는 마우스가 한 번에 몇 초 동안 정지되는 것입니다. 독점 Nvidia 드라이버가 이 문제를 해결할 수 있지만 다른 솔루션도 매우 환영합니다.

나는 이 실수를 저질렀으며 xrandr를 계속 사용하면서 방금 한 일을 달성할 수 있는 "더 나은" 방법이 있다고 생각하지 않을 수 없습니다. (저는 또한 ZaphodHeads로 xorg.conf를 사용자 정의하려고 시도했지만 결과가 없었습니다.) 왜 입력해야 합니까:

xrandr --setprovideroutputsource nouveau nouveau

먼저 나머지 명령을 설정해야 합니까?

Xrandr –help

보여주다:

--setprovideroutputsource  <prov-xid> <source-xid>

source-xid 목록은 어디서 찾을 수 있나요?

xrandr과 /sys/class/drm/ 간에 DVI 포트 태그가 다른 이유는 무엇입니까?

관련 정보