Linux에서 다중 모니터 / 멀티 GPU에 하드웨어 가속 및 Xinerama 사용 (1920×1200) Windows 7에서는 매력처럼

현재 설정은 다음과 같이 연결된 세 개의 모니터입니다 (왼쪽에서 오른쪽으로 나열된 모니터).

GPU0 (nVidia GTX 280) :
-Dell 2405FPW (1920×1200)
-Dell U2410 (1920×1200)
GPU1 (nVidia 210) :
-Dell 2405FPW (1920×1200)

Windows 7에서는 매력처럼 작동하지만 Linux에서는 그다지 중요하지 않습니다. 세 가지 실제 옵션 만있는 것 같습니다.

  1. 세 개의 모니터를 모두 별도의 X 화면으로 실행하면 하드웨어 가속이 발생하지만 모두 독립적 인 X 세션이므로 창 사이를 이동할 수 없으며 주어진 시간에 하나의 Firefox 만 열 수 있습니다.
  2. TwinView 모드에서 GPU0에서 2 개를 실행하고 별도의 X 화면으로 GPU1을 갖습니다. 1과 동일한 제한이 있지만 최소한 두 대의 모니터가 함께 작동합니다. 때로는 리눅스가 GPU0의 두 모니터를 하나의 큰 모니터로 보는 문제가있었습니다.
  3. Xinerama를 활성화하고 원하는대로 작동하지만 하드웨어 가속이 사라지고 디스플레이가 Windows 95 스타일의 고르지 않습니다.

필자의 이상적인 솔루션은 하드웨어 가속을 비활성화하지 않고 Xinerama에서 모든 화면을 작동시키는 것입니다. 그것이 GPU0에서 세 가지를 모두 렌더링하고 어떻게 든 세 번째 모니터의 디스플레이를 GPU1로 농업하는 것을 의미하는지는 신경 쓰지 않습니다.

내 질문은 이것입니다 : 이것을 달성 할 수있는 방법이 있습니까? 유스 케이스가 너무 이상 없어서 적어도 위에 언급 된 세 가지 제한된 옵션을 넘어서는 어떤 형태의 지원이 없어야하거나 내 선택이 빨라지고 선택하는 것이 가장 좋은 방법이라고 생각하지 않습니다. 세 개의 출력만으로 처리 할 수있는 두 가지를 모두 대체 할 수있는 더 나은 카드를 만드십니까?



답변

이것은 같은 종류의 설정을 위해 Linux Mint에서 XFCE로 만든 스크립트입니다. Xinerama를 사용하지 않습니다. 내 설정은 첫 번째 모니터 세로, 두 번째 및 세 번째 가로입니다. 매력처럼 일했다. 시작시 5 초의 일시 중지는 세션으로 시작하도록 설정되었으므로 너무 일찍 실행 된 경우 제대로 작동하지 않은 것입니다.

또한 특정 예에서는 화면이 화면보다 아래에 정렬되어 있어야합니다. 맨 위에 정렬하면 예상 된 동작이 나타나지 않았습니다.

결국 xrandr을 사용하는 것이 내가 원하는 방식으로 작동하도록하는 유일한 방법이었습니다.

자신의 설정으로 시도해보십시오

#!/bin/bash
sleep 5
xrandr --size 5040x1920 --output HDMI-0 --mode 1920x1080 --pos 1200x840 --primary \
--output DVI-1-1 --mode 1920x1080 --pos 3120x840 \
--output DVI-0 --mode 1920x1200 --pos 0x0 --rotate left

내 블로그에 기사를 만들었지 만 프랑스어로되어 있습니다 : https://akim.sissaoui.com/linux-attitude/un-bureau-etendu-sur-trois-ecrans-avec-deux-cartes-graphiques/


답변

당신은 기본적으로 자신에게 대답했습니다. Linux는 현재 여러 GPU를 올바르게 지원하지 않기 때문에 Linux에서는 불가능합니다.

Google Summer of Code 프로젝트로 Linux에 대한 여러 GPU 지원이 제안 되었습니다 . 그러나 만약 당신이 저에게 물어 보면, 언제라도 프라임 타임에 대비할 수 없을 것입니다.


답변