테스트환경 : Debian linux(데비안), KDE


X window의 설정 메뉴에 없는 설정으로 화면 해상도를 변경하는 법.

설정에 1600x900 해상도가 없어서 직접 추가해보게 되었다.




1. cvt명령으로 원하는 해상도의 modeline을 계산한다.


$ cvt 1600 900





아래와 같은 결과가 출력된다.

이 출력 결과를 잠시 다른 곳에 복사해 둔다.


1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync


modeline에서 각각의 수치는 video timing에 관련된 것이고 아래와 같다.

이름, pixelclock, hdisp, hsync-start, hsync-end, htotal, vdisp, vsync-start, vsync-end, vtotal

(관련 내용은 http://www.arachnoid.com/modelines/ 참고.)

(pixelclock는 초당 뿌려줄 수 있는 픽셀 수)






2. xrandr명령으로 현재 디스플레이 정보를 본다.


$ xrandr





아래 결과가 출력되는데,  xxxx connected 라는 부분이 있다.

디스플레이 장치마다 다르게 나오므로 이 부분의 이름을 기억해 둔다.


Screen 0: minimum 320 x 200, current 1360 x 768, maximum 8192 x 8192
xxxx connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1920x1080     59.93 +
   1680x1050     59.95    59.88 
   1600x1024     60.17 
   1400x1050     59.98 
   1280x1024     60.02 
   1440x900      59.89 
   1280x960      60.00 
   1360x768      59.80*   59.96 
   1152x864      60.00 
   1024x768      60.00 
   800x600       60.32    56.25 
   640x480       59.94 





3. xrandr의 newmode와 addmode로 추가한다.

newmode에서 1번에서 복사한 modeline수치들을 붙여넣는다.

(xxxx는 2번에서 확인한 이름)


$ xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
$ xrandr --addmode xxxx 1600x900_60.00





다시 xrandr를 쳐서 확인해 보면 방금 설정한 해상도가 추가되어 있는 것을 볼 수 있다.

해상도를 적용하려면 xwindow의 디스플레이 설정 메뉴에서 설정해도 되고, 터미널에서도 할 수 있다.


$ xrandr --output xxxx --mode 1600x900_60.00






그러니 이 설정은 컴퓨터를 재부팅하면 초기화된다.

아래와 같이 쉘스크립트로 작성해 두고 xwindow시작 시 자동으로 실행되게 하면 편하다.

(x 시스템마다 다르므로 별도 설정)

#!/bin/sh
xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode xxxx 1600x900_60.00
xrandr --output xxxx --mode 1600x900_60.00







+ Recent posts