2011-01-12 36 views
1

我有一個液晶顯示器,支持30至82千赫和vsync 50-85千赫之間的hsync。最低支持的分辨率是640x350。我想以400x240分辨率運行它。我想我需要編輯modedb.c的modedb結構和我剛剛想出什麼領域需要:如何在Linux的framebuffer中定義不支持的屏幕分辨率?

我跑了CVT,最大垂直同步(85千赫),並得到這樣的模式行:

Modeline "400x240_85.00" 10.50 400 416 448 496 240 243 253 256 -hsync +vsync 

我用calculator來計算hsync和vsync,hsync會是21.17 kHz,對於這個顯示器來說太低了。

有沒有辦法解決這個問題?我想測試某些事情在解決方案上的工作方式,所以即使運行在800x480(這將產生可以接受的hsync和vsync)的監視器,只要X和它上面的應用程序像處理它一樣400X240。

回答

0
  "Sharp-VGA", 
      56, 800, 480, 
      33805, 
      84, 40, 
      35, 1, 
      80, 3, 
      0 | FB_SYNC_OE_ACT_HIGH, 
      FB_VMODE_NONINTERLACED, 
      0, 

嘗試之一,在發現2.6.19.2與飛思卡爾修補

編輯:

其實,如果你使用fbset和模式是從/etc/fb.modes中可讀

你應該能夠太使用:

mode "800x480" 
    geometry 800 480 800 480 16 
    timings 33805 90 50 35 1 80 3 
    accel false 
    rgba 5/11,6/5,5/0,0/0 
    endmode 

如: FB設置-n 800X480

# mode 
# geometry <xres> <yres> <vxres> <vyres> <depth> 
# timings <pixclock> <left> <right> <upper> <lower> <hslen> <vslen> 
# options <value> 
# rgba <red,green,blue,alpha> 
# endmode