외부 모니터 용 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.