xrandr을 통해 다중 모니터 설정에 새로운 해상도 추가

xrandr을 통해 다중 모니터 설정에 새로운 해상도 추가

최대값이 다른 두 개의 모니터가 있습니다. 해상도(2560x1440 및 1920x1080). Windows에서는 두 모니터 모두에 대해 최대 해상도를 구성할 수 있지만 Linux(manjaro, 독점 nvidia 드라이버 및 xrandr 1.5)에서는 더 큰 모니터의 해상도가 2048x1152로 제한됩니다. xrandr을 통해 사용자 정의 해상도를 추가하는 방법에 대한 몇 가지 질문/스레드/기사를 읽었지만 이들 중 어느 것도 나에게 적합하지 않습니다. 내 문제는 다음과 같습니다.

xrandr의 출력:

Screen 0: minimum 8 x 8, current 3968 x 1152, 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)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
   1920x1080     60.00*+
   ... skipped few lines .... 
   640x480       75.00    72.81    59.94  
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
   2048x1152     60.00*+
   ... skipped few lines ...                                                                              
   640x480       75.00    59.94    59.93                                                                      
DVI-I-3 disconnected (normal left inverted right x axis y axis)

cvt를 사용하여 새로운 사용자 정의 해상도를 생성합니다.

$ cvt 2560 1440 60
# 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz
Modeline "2560x1440_60.00"  312.25  2560 2752 3024 3488  1440 1443 1448 1493 -hsync +vsync

이제 새로운 결과를 만들고 싶습니다.

xrandr --newmode 2560x1440_60.00 312.25  2560 2752 3024 3488  1440 1443 1448 1493 -hsync +vsync

xrandr의 출력은 이제 다음과 같습니다:

Screen 0: minimum 8 x 8, current 3968 x 1152, 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)                                               
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm                   
   1920x1080     60.00*+                                                                                      
   ... skipped few lines ...                                                             
   640x480       75.00    72.81    59.94                                                                      
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm               
   2048x1152     60.00*+                                                                                      
   ... skipped few lines ...  
   640x480       75.00    59.94    59.93  
DVI-I-3 disconnected (normal left inverted right x axis y axis)
  2560x1440_60.00 (0x313) 312.250MHz -HSync +VSync
        h: width  2560 start 2752 end 3024 total 3488 skew    0 clock  89.52KHz
        v: height 1440 start 1443 end 1448 total 1493           clock  59.96Hz

이제 이 해상도를 HDMI-0 출력에 추가하려면 다음 오류가 발생합니다.

$ xrandr --addmode HDMI-0 2560x1440_60.00
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:  33
  Current serial number in output stream:  34

과거에는 이 방법을 사용하여 다른 PC(노트북 + 외부 모니터, 둘 다 동일한 해상도)에서 문제 없이 필요에 따라 모니터를 설정할 수 있었습니다. 어떤 제안이라도 정말 감사하겠습니다.

답변1

nVidia 드라이버는 버그가 있더라도 EDID를 따르는 엄격한 정책을 가지고 있습니다.

  • EDID를 무시하고 그래픽 어댑터가 지원하는 모든 해상도 중에서 선택하는 xorg 옵션이 있습니다. 다음 중 하나를 사용합니다.

    Option "UseEDID" "boolean"
    Option "ModeValidation" "NoEdidModes"
    

    다음과 같은 경우 부분 기능을 무시할 수 있습니다.

    Option "UseEDIDFreqs" "FALSE"
    Option "IgnoreEDIDChecksum" "<con-1>, <con-2>"
    

    또는 EDID 검증에 대한 고급 조정이 필요합니다. 지원되는 값은 참조를 참조하세요.

    Option "ModeValidation" "string"
    
  • 또한 수정된 EDID 사본을 삽입하는 옵션도 있습니다. 경고: 이는 위험합니다. 모든 모니터가 견고하게 제작되는 것은 아닙니다.

    Option "CustomEDID" "<con-1>:</pathto/edid1.bin>; <con-2>:</pathto/edid2.bin>"
    

참조:

메모:

그런데 다음을 사용하여 EDID 데이터를 검색했는지 확인하십시오.

xrandr --verbose

관련 정보