외부 모니터 용 xrandr에 새 모드를 추가 할 수 없습니다


16

오늘 저는 두 번째 모니터를 노트북에 연결하려고했습니다. 나는 가지고있다:

  • 엔비디아 그래픽 카드
  • 304.43 드라이버 [xrandr 1.2 지원]
  • archlinux [최신]
  • 멋진 wm
  • 크 랜더 1.3

내 문제는 외부 모니터 (VGA)의 해상도가 640x480보다 큽니다. xrandr -q :

Screen 0: minimum 8 x 8, current 1920 x 800, maximum 8192 x 8192
VGA-0 connected 640x480+1280+0 (normal left inverted right x axis y axis) 0mm
   640x480        59.9*+
   320x240       120.1  
LVDS-0 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331m
   1280x800       59.9*+
HDMI-0 disconnected (normal left inverted right x axis y axis)

보시다시피 VGA의 해상도가 더 높지 않으므로 새 모드를 추가합니다.

xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')

Windows에서 사용 가능한 해상도와 새로 고침 빈도를 확인했습니다. 그 중 하나는 1024x768x70입니다 (모니터의 OSD는 70.4HZ라고 말했습니다). 새 모드를 만든 후 추가하고 싶었습니다.

xrandr --addmode VGA-0 1280x1024_70.40

그리고 ... 실패했습니다 :

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  29
  Current serial number in output stream:  30

구글에서 나는 오래된 xrandr / nvidia 드라이버가 사용 가능한 모드 목록에 문제가 있다는 것을 알았지 만 이제는 nvidia 드라이버가 xrandr 1.2를 지원하면 더 좋습니다. 또한 낮은 해상도와 새로 고침 빈도 (예 : 1024x768x50)로 시도하지만 같은 오류가 발생합니다. 이 문제와 관련하여 아이디어가 없습니다 ...

답변:


11

문자열 xrandr --newmode을 직접 작성했는지 또는 다른 곳에서 복사 했는지 확실하지 않지만 현재 양식에서는 작동하지 않습니다.

단계별로 수행하는 것이 좋습니다.

먼저 새 모드를 생성해야합니다. LCD에서 60Hz 또는 CRT 모니터에서 85Hz를 사용하는 것이 좋습니다

gtf 1280 1024 60

당신은 다음과 같은 것을 얻을 것입니다 :

 # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz 
 Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

그런 다음이 모드를 xrandr사용하여 제시하십시오 --newmode( 'Modeline'으로 시작하는 행을 복사 하여 붙여 넣기하십시오.

 xrandr --newmode "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

그런 다음이 모드를 VGA-0에 추가하십시오.

xrandr --addmode VGA-0 "1280x1024_60.00"

그리고 마지막으로이 새로운 모드를 사용할 수 있습니다 :

 xrandr --output VGA-0 --mode 1280x1024_60.00

당신이 맞습니다, 나는 이것을 만들지 않습니다 : xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')혼자서,하지만 작은 조각으로 먼저 작동 방식을 먼저보고 gtf 1280 1024 70.4grep과 sed와 tr로 끝냅니다. 그것은 당신 xrandr --newmode이 하나의 diff로 가지고있는 것과 동일한 출력을 제공합니다 -당신은 "1280x1024_60.00", I have 1280x1024_60.00`을 가지고 있습니다 -마지막에는 tr -d '"'' "'를 삭제 하는 데 사용 하고 있습니다. 불행히도 여전히 같은 오류가 있습니다.
Borgo

왜 이렇게 이상한 재생 빈도? 70.4? LCD 인 경우 60Hz, CRT 인 경우 85Hz를 사용하십시오. 그리고 내가 쓴 그대로 정확하게 단계별로 수행하십시오.
Paweł Rumian

이제 60Hz를 사용하여 단계별로 시도했지만 여전히 동일한 오류가 있습니다.
Borgo

1
내 해상도는 1280x1024이며이 모드를 (newmode) / add (addmode)로 만들려고합니다."1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
Borgo

1
여전히 같은 오류 : X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 153 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 29 Current serial number in output stream: 30 두 개의 마지막 숫자 만 변경되었습니다.
보르고

4

큰 따옴표로 묶은 모드를 성공적으로 사용할 수 없기 때문에 이전에 추가 한 "1280x1024_60.00"을 삭제할 때까지이 BadMatch 오류 문제가 발생했습니다. 결국 더 나은 모드 이름이 도움이된다는 것을 깨달았습니다.

그래서 일반 사용자로 다음을 실행하여 "1280x1024_60.00"을 삭제했습니다.

$ xrandr --version 
reports 1.4.0 and 1.4
$ xrandr | grep 1280 #Do you see any 1280x1024 anywhere?  Does it have double quotes?
$ xrandr --verbose --delmode VGA1 '"1280x1024_60.00"'
$ xrandr --verbose --rmmode '"1280x1024_60.00"' 

시스템에서 정크를 삭제하고 제거하면 계정 및 루트에서 정크를 삭제하더라도 종종 작동하지 않거나 다시 나타납니다. 일반적으로 VGA1 대신 VIRTUAL1이라는 출력으로 돌아옵니다.

정크를 남기고 새로 만든 모드의 끝에 편지를 추가하고 .00을 떨어 뜨린 경우가 훨씬 1280x1024_60B 임을 알았습니다 . 아래에 --newmode 매개 변수 주위에 큰 따옴표가 있지만 NOT --addmode 또는 --mode는주의하십시오

$ xrandr --verbose --newmode "1280x1024_60B" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
$ xrandr --verbose --addmode VGA1 1280x1024_60B
$ xrandr --verbose --output VGA1 --mode 1280x1024_60B

화면이 약간 깜박이고 외부 19 인치 사각형 모니터가 1280x1024에서 실행 중입니다.


이것은 많은 시간의 연구 끝에 효과가 있었던 유일한 솔루션이었습니다. 덕분에 많은 시간을 절약했습니다. 건배
Shanil Soni

그러나 세션이 끝난 후에도 설정이 손실됩니다.
Shanil Soni

0

VM (특히 VirtualBox)에서 Linux를 실행하는 경우 VM에 충분한 비디오 메모리가 있는지 확인하십시오.

xrandr를 실행하려고 할 때 비디오 메모리가 너무 적 으면이 오류가 발생합니다.


0

나는 비슷한 문제를 해결하기 위해 2 시간을 보내고 문제는 vga 케이블에있었습니다. vga 케이블 교체 xrandr 또는 xorg를 사용하지 않고 해상도를 1920x1080으로 변경할 수 있습니다. 정말 이상합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.