欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 操作系统 >> Linux >> 入门基础 >> 教程正文

  没有公告

教程: Linux教程-入门课程-FRramebuffer HOWTO英文(续) 更多...
教程: Linux教程-入门课程-FRramebuffer HOWTO英文(续)


18. How do I convert XFree86 mode-lines into framebuffer device tim- ings?

If you have XFree86 (X11) installed on your machine, and you can use it successfully, it is a simple matter to convert the mode-lines in your XF86Config to the required timings needed by the framebuffer
devices.

The framebuffer device requires the following fields
o pixclock - pixel clock in pico seconds
o left_margin - time fron sync to picture
o right_margin - time from picture to sync
o upper_margin - time from sync to picture
o lower_margin - time from picture to sync
o hsync_len - length of horizontal sync
o vsync_len - length of vertical sync

An XFree86 mode line has the following fields
Modeline "1280x1024" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL

It is necessary to do some simple calculations to translate the XF86 mode-lines into a set of framebuffer device timings. As an example, we shall examine how to convert a mode-line taken from my XF86Config
file.

Modeline "1280x1024" 110.00 1280 1328 1512 1712 1024 1025 1028 1054

First, calculate the required pixclock rate. XFree86 uses megahertz whilst framebuffer devices uses picoseconds (Why, I don't know). Divide one million by DCF. For example, 1,000,000 / 110.0 = 9090.9091

Now we need to calculate the horizontal timings.
o left_margin = HFL - SH2
o right_margin = SH1 - HR
o hsync_len = SH2 - SH1

In our example, this would be:
o left_margin = 1712 - 1512 = 200
o right_margin = 1328 - 1280 = 48
o hsync_len = 1512 - 1328 = 184

And now we need to calculate the vertical timings.
o upper_margin = VFL - SV2
o lower_margin = SV1 - VR
o vsync_len = SV2 - SV1

For our example, this would be:
o upper_margin = 1054 - 1028 = 26
o lower_margin = 1025 - 1024 = 1
o vsync_len = 1028 - 1025 = 3


Now we can use this information to set up the framebuffer for the desired mode. For example, for the matroxfb framebuffer, it requires: video=matrox:xres:<>,yres:<>,depth:<>,left:<>,right:<>,hslen:<>,upper:<>,lower:<>,vslen:<>

I put in my /etc/lilo.conf the following line:
append = "video=matrox:xres:1280,yres:1024,depth:32,left:200,right:48,hslen:184,upper:26,lower:0,vslen:3"

Note that in this case the pixclock isn't used. It's only necessary if you don't like the default pixclock rates. You can supply this as a parameter as well. Setting the pixclock is documented in other parts of this HOWTO.

19. Looking for further information?
For those of you interested in working with the framebuffer drivers, point your browser at
http://www.csoft.net/~systems/jim/fb.html
French speakers, there is a translation at
http://www.freenix.org/unix/linux/HOWTO/mini/Vesafb.html



教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    dos入门教程

    dos入门教程-2

    dos入门教程-1
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网