xrandr의“–scale 2×2”로 인해 모니터에 아무것도 표시되지 않음

4k 외부 기본 모니터가 있는데 왼쪽에 1680×1050 외부 모니터를 연결하려고합니다.

나는 다음을 사용하려고 시도했다.

 xrandr --output HDMI-0 --scale 2x2 --pos 0x0 --fb 7200x2160 --output DP-4 --pos 3360x0

컴퓨터가 nvidia 설정에서 진행되고 있다고 생각하면 4k 모니터 왼쪽에 3200×2160 모니터가 올바르게 표시됩니다.

그러나 내 외부 모니터의 상단에는 깜박이는 선이 검은 색으로 표시됩니다.

이 문제를 해결할 수있는 유일한 방법은 이미지를 반환하는 지점에서 배율을 1×1로 다시 설정하는 것입니다 (X 서버 크기를 유지하면서 모니터 사이를 이동하기 위해 스크롤해야하는 데드 스페이스가 있음을 의미합니다).

따라서 문제는 특히 xrandr의 2×2 스케일링과 관련이 있다고 생각합니다. 어떻게해야할지 모르겠습니다.

컴퓨터가 14.04를 실행 중이고 권장 드라이버 (352.63)와 함께 nvidia GTX960이 내장되어 있습니다.

내 xrandr 출력은 다음과 같습니다.

  Screen 0: minimum 8 x 8, current 7200 x 2160, maximum 16384 x 16384
  DVI-I-0 disconnected (normal left inverted right x axis y axis)
  DVI-I-1 disconnected (normal left inverted right x axis y axis)
  DP-0 disconnected (normal left inverted right x axis y axis)
  DP-1 disconnected (normal left inverted right x axis y axis)
  DP-2 disconnected (normal left inverted right x axis y axis)
  DP-3 disconnected (normal left inverted right x axis y axis)
  HDMI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
     1680x1050      59.9*+   60.0
     1280x1024      75.0     60.0
     1280x960       60.0
     1152x864       75.0
     1024x768       75.0     70.1     60.0
     800x600        75.0     72.2     60.3     56.2
     640x480        75.0     72.8     59.9
  DP-4 connected primary 3840x2160+3360+0 (normal left inverted right x axis y axis) 527mm x 296mm
     3840x2160      60.0*+   30.0
     2560x1440      60.0
     2048x1280      60.0
     1920x1200      59.9
     1920x1080      60.0     60.0     59.9     50.0     24.0     60.0     50.0
     1600x1200      60.0
     1600x900       60.0
     1280x1024      75.0     60.0
     1280x720       60.0     59.9     50.0
     1152x864       75.0
     1024x768       75.0     60.0
     800x600        75.0     60.3
     720x576        50.0     50.1
     720x480        59.9     60.1
     640x480        75.0     59.9     59.9


답변

방금 이것과 내가 오랫동안 싸워온 무언가이고, 내가 포기했을 때마다-나는 그것을 한 번에 알아 내기로 결정할 때까지 덧붙였다. 아래 솔루션이 저에게 효과적입니다.

tl; dr : 구성 ForceFullCompositionPipeline=On

배경

이 중 일부는 비슷한 문제가있는 사람이 솔루션을 찾게 될 경우 더 많은 키워드를 제공하기를 희망합니다.

내 설정은 다음과 같습니다

  • 3840 × 2160 (기본)의 내장 4K 디스플레이가 장착 된 ThinkPad P50
  • 보조 디스플레이로서의 외부 모니터-Dell U2412M-1920 × 1200

Ubuntu Gnome 16.04 LTS를 사용합니다.

HDMI 케이블 + HDMI-DVI 변환기 (모니터에 HDMI 입력이 없기 때문에)를 통해 모니터를 연결하면 모든 것이 너무 큽니다. 온라인의 다양한 기사 에서 해당 디스플레이 xrandr를 구성 --scale 2x2하는 방법 을 제안 했으며, 그 결과 얇은 선만 보이는 거의 검은 색으로 표시되었습니다.

나는이 질문에 부딪 쳤고 2x2.001스케일링 솔루션으로 모니터가 실제로 물건을 표시 할 수 있었지만 X 화면 아래에 여분의 픽셀을 추가하여 커서가 화면의 상단 / 하단에 도달하면 약간 위 / 아래로 스크롤되었습니다.

많은 인터넷 검색 후 많은 문제가 발생하고 해결책이 없었지만, 나는 이것을 우연히 발견했습니다 : https://devtalk.nvidia.com/default/topic/891207/-355-11-358-09-viewportin-on-2nd 값에 대한 모니터 결과가 왜곡으로 표시됨-3211×1800 이상

그래서 그것을 테스트하기 위해 다음 명령을 사용하여 이것을 구성했습니다- xrandr아직 스케일링으로 구성되지 않았다고 가정하십시오 .

$ nvidia-settings -q CurrentMetaMode

  Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}

이것은 CurrentMetaMode값을 표시하며 여기 ForceFullCompositionPipeline=On에서 두 디스플레이에 옵션을 추가했습니다 . 참고 DPY-4내 내장 된 노트북 디스플레이, 반면입니다 DPY-1외부 모니터입니다.

구성해야하는 실제 문자열 ::은 해당 명령의 출력에 나오는 문자열입니다 .

$ nvidia-settings --assign CurrentMetaMode="DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0, ForceFullCompositionPipeline=On}"

이 후, 나는 달렸다.

$ xrandr --output DP-1 --scale=2x2

마지막으로 스크롤이나 다른 문제없이 외부 디스플레이 해상도가 좋았습니다.

해당 명령을 실행 한 후에 CurrentMetaMode는 스케일링이 적용되어 할당 된 것과 약간 다릅니다.

$ nvidia-settings -q CurrentMetaMode

  Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @3840x2400 +3840+0 {Transform=(2.000000,0.000000,0.000000,0.000000,2.000000,0.000000,0.000000,0.000000,1.000000), ViewPortIn=3840x2400, ViewPortOut=1920x1200+0+0, ResamplingMethod=Bilinear, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}

이것이 다른 누군가의 문제를 해결하기를 바랍니다!


답변

나는 정확히 같은 문제가 있었다. 로 해결되었습니다 --scale 2x2.001. 이상하게도, --scale 2x1.999또는 2x2.0001작동하지 않았으므로 2 주위에 몇 가지 숫자를 시도하십시오.


답변

훌륭한 솔루션을 제공해 주신 Milos에게 감사드립니다.

나는 작은 추가했습니다. 명령 줄을 사용하는 것 외에도 ForceFullCompositionPipelineNvidia-Settings UI에서 편안하게 설정할 수 있습니다 . 이를 위해 “X 서버 디스플레이 구성”으로 이동하여 “고급”을 클릭하고 “강제 전체 구성 파이프 라인”옵션을 활성화하십시오. 예는 https://imgur.com/a/3jE78 을 참조 하십시오 .


추신 : 두 개의 외부 모니터 (1920×1080; 1680×1050)와 내부 3k 모니터 (3840×2160)가있는 트리플 헤드 설정을 사용하고 있습니다. 이것이 작동하려면 다음 xrandr-config를 적용하십시오.

xrandr --output eDP-1-1 --auto --output HDMI-0 --auto --scale 2x2 --above eDP-1-1 --output DP-1 --auto --scale 2x2 --rotate left --right-of eDP-1-1