Nvidia 독점 드라이버를 사용하여 가상 디스플레이를 추가하는 방법

Nvidia 독점 드라이버를 사용하여 가상 디스플레이를 추가하는 방법

Nvidia 독점 드라이버를 사용하여 가상 모니터를 추가하는 방법은 무엇입니까? 이전에는 이 솔루션에 Intel 카드를 사용했는데 훌륭하게 작동했습니다.Xorg에 가상 출력 추가.

이제 Intel 카드가 아닌 새 하드웨어로 전환하고 싶습니다. 언급된 솔루션VNC-Server를 가상 X11 모니터로 사용하여 화면 확장내 경우에는 작동하지 않습니다. 출력에 패턴을 추가하려고 하면 xrandr오류가 발생합니다.

xrandr --newmode test 173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr --addmode "DP-1" test
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  41
  Current serial number in output stream:  42

기본적인 정보:

  • 하드웨어: 개별 그래픽으로 구성된 HP ZBook 15 G3(Optimus는 작동하지 않습니다!)
  • 소프트웨어: Debian 10.0.2, 커널: 4.19.0, Nvidia 드라이버 모듈: xserver-xorg-video-nvidia-legacy-390xx

제가 왜 이렇게 하는지 묻는다면 저는 이더넷을 통해 가상 화면을 다른 컴퓨터로 전송하는 소프트웨어를 사용하여 두 대의 노트북에 대한 듀얼 모니터를 구현합니다. (https://github.com/B-LechCode/sooScreenShare)

업데이트: 이제 내 컴퓨터에서 작동하는 제안 솔루션이 있지만 1920x1200과 같은 새 모드를 추가하지 못합니다. 누군가 아이디어가 있을까요?

답변1

완전히 임의의 해상도를 선택할 수 있는 기능은 부족하지만 나에게 맞는 솔루션이 있습니다. 분명히 말하면 이는 독점 nvidia 드라이버에서만 작동합니다. 오픈 소스 nouveau 드라이버는 다른 그래픽 카드 드라이버와 다르게 작동합니다.

짧은 버전은 ConnectedMonitornvidia xorg.conf 화면 옵션을 사용하여 기본 모니터 외에 추가 출력을 활성화하는 것입니다.

긴 버전은 다음과 같습니다.

xrandr --query기본 출력의 이름과 가상 화면에 예약된 연결되지 않은 출력의 이름을 가져오려면 실행하세요 . 예를 들어 다음과 같은 결과가 나타납니다.

기본에 연결된 LVDS-0 1440x900+0+0(일반 왼쪽 및 오른쪽 x축 및 y축) 331mm x 207mm
   [각종 모니터링 모드 생략]
DP-0 연결이 끊어졌습니다(일반 왼쪽 및 오른쪽 x축 및 y축)
DP-1 연결이 끊어졌습니다(정상 왼쪽 및 오른쪽 x축 및 y축)
DP-2 연결이 끊어졌습니다(정상 왼쪽 및 오른쪽 x축 및 y축)
DP-3 연결이 끊김(정상 왼쪽 및 오른쪽 x축 및 y축)
DP-4가 연결되지 않은 경우(정상 왼쪽 및 오른쪽 x축 및 y축)
DP-5 연결이 끊어졌습니다(정상 왼쪽 및 오른쪽 x축 및 y축)

그래서 내가 아는 한 노트북 화면을 LVDS-0사용할 수 있습니다 . 당신처럼 나도 가상 화면을 선택하겠습니다.DP-0DP-5DP-1

xorg.conf 화면 구성과 사용할 화면에 대한 장치 섹션을 추가해야 합니다. xorg가 찾을 수 있는 모든 곳에서 찾을 수 있습니다. 나는 에 내 것을 넣었다 /etc/X11/xorg.conf.d/30-virtscreen.conf. 이 파일에서 최소 설정은 다음과 같습니다.

'장치' 섹션
    식별자 "nvidiagpu"
    드라이버 "엔비디아"
끝 부분

"화면"섹션
    식별자 "nvidiascreen"
    장치 "nvidiagpu"
    옵션 "ConnectedMonitor" "LVDS-0, DP-1"
끝 부분

이는 드라이버가 DP-1연결된 모니터를 감지하지 못하더라도 출력을 사용하도록 지시합니다. 노트북 모니터(또는 실제 물리적 모니터)를 사용하려면 해당 모니터도 나열해야 합니다. 가상 출력만 나열된 경우 드라이버는아니요연결된 모니터가 감지되더라도 다른 출력을 활성화합니다.

이제 X를 다시 시작하세요. 두 개의 활동 모니터 xrandr와 기타 디스플레이 쿼리 프로그램이 표시됩니다 .

내 시스템에서 새로 활성화된 가상 출력에는 여러 가지 해상도를 사용할 수 있습니다. 그 중 하나를 선택할 수 있으며(예: via xrandr --output DP-1 --mode 1600x900) 가상 출력의 크기가 자동으로 조정됩니다. 하지만 새 모드를 추가할 수는 없습니다(예: 1920x1080 해상도를 원하는 경우). 여전히 "잘못된 매개변수 속성" 오류가 발생합니다. 다행히도 나는 사용할 수 있는 패턴에 열려 있습니다. 운이 좋다면 몇 가지 유용한 사전 설정도 얻을 수 있습니다.

답변2

https://askubuntu.com/a/803053/1568608해결하다ASCII를 좋아하는문제가 있지만 해상도를 1920x1080으로 변경할 수 없습니다(asciiphil의 답변에서 잘못된 매개변수 속성 문제). 이 문제를 해결하려면 "화면" 섹션에 두 번째 옵션을 추가하세요.

Section "Screen"
    Identifier  "nvidiascreen"
    Device      "nvidiagpu"
    Option      "ConnectedMonitor" "LVDS-0,DP-1"
    Option      "ModeValidation" "NoDFPNativeResolutionCheck,NoVirtualSizeCheck,NoMaxPClkCheck,NoHorizSyncCheck,NoVertRefreshCheck,NoWidthAlignmentCheck"
EndSection

답변3

가상 디스플레이를 연결하려면 다음을 사용하십시오.

Option         "ConnectedMonitor" "HDMI-0"

xorg.conf의 "Screen" 섹션에서 HDMI-0을 그래픽 카드가 가상 디스플레이에 사용할 디스플레이 포트로 바꾸세요. 다음 줄을 추가하면 최신 NVIDIA 그래픽 카드에서 지원되지 않는 해상도를 설정하는 데 필요한 모든 검사가 비활성화됩니다. '화면' 섹션에서:

Option         "UseEDIDFreqs" "False"
Option         "ModeValidation" "NoDFPNativeResolutionCheck,NoVirtualSizeCheck,NoMaxPClkCheck,NoHorizSyncCheck,NoVertRefreshCheck,NoWidthAlignmentCheck AllowNonEdidModes"

그런 다음 cvt의 결과를 사용하여 패턴을 추가하면 모든 준비가 완료됩니다! 여전히 해상도를 설정할 수 없는 경우 모니터 섹션에 ModeLine을 추가하고 디스플레이 섹션에 모드를 추가하여 로드할 수 있습니다. 더 완전한 예:

Section "Monitor"
Modeline "2560x1440_120.00" <cvt output stuff>
EndSection

그리고

Section "Screen"
    SubSection     "Display"
        Depth       24
        Modes      "2560x1440_120.00"
    EndSubSection
    Option         "ConnectedMonitor" "HDMI-0"
    Option         "UseEDIDFreqs" "False"
    Option         "ModeValidation" "NoDFPNativeResolutionCheck,NoVirtualSizeCheck,NoMaxPClkCheck,NoHorizSyncCheck,NoVertRefreshCheck,NoWidthAlignmentCheck AllowNonEdidModes"
EndSection

이러한 옵션은 실행을 통해 생성하는 구성 파일에 추가되어야 하며 nvidia-xconfig완전하거나 기능적이지는 않습니다 xorg.conf.

관련 정보