Framebuffer 使用测试

这两天拾起以前做过的Framebuffer,不相同的是以前在嵌入式上做的,现在在自己电脑上Debian上进行测试,不过都类似罢了,嵌入式里要初始化很多东西。下面具体列一下步骤。至于Framebuffer的原理,就我的理解是比较简单的,无非往mmap好的fb上填写显示数据罢了,不对这些数据进行处理,FrameBuffer 只是一个提供显示内存和显示芯片寄存器从物理内存映射到进程地址空间中的设备,它需要真正的显卡驱动的支持。在这次测试中,我用了默认就安装的vesafb,好像又被称为万能Fb驱动。

1、   首先在系统Grub启动时按e进入命令启动行的编辑模式,改为:kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/sda6 ro vga=791vga=791表示fb1024 * 768 * 16bpp,其他模式的参数可以上网查查);

2、   进入系统的命令行模式,编译fb测试例子:gcc fb_test.c

3、   允许测试例子:sudo ./a.out >> fb.txt(必须要用超级用户权限,>>将屏幕打印写到fb.txt中),效果如下:

打印如下:


Fixed screen info:
    id: VESA VGA
    smem_start: 0xf0000000
    smem_len: 3145728
    type: 0
    type_aux: 0
    visual: 2
    xpanstep: 0
    ypanstep: 0
    ywrapstep: 0
    line_length: 2048
    mmio_start: 0x0
    mmio_len: 0
    accel: 0

Variable screen info:
    xres: 1024
    yres: 768
    xres_virtual: 1024
    yres_virtual: 768
    yoffset: 0
    xoffset: 0
    bits_per_pixel: 16
    grayscale: 0
    red: offset: 11, length: 5, msb_right: 0
    green: offset: 5, length: 6, msb_right: 0
    blue: offset: 0, length: 5, msb_right: 0
    transp: offset: 0, length: 0, msb_right: 0
    nonstd: 0
    activate: 0
    height: -1
    width: -1
    accel_flags: 0x0
    pixclock: 12714
    left_margin: 128
    right_margin: 32
    upper_margin: 16
    lower_margin: 4
    hsync_len: 128
    vsync_len: 4
    sync: 0
    vmode: 0

Frame Buffer Performance test...
        Average: 2508 usecs
        Bandwidth: 1196.172 MByte/Sec
        Max. FPS: 398.724 fps


4、还可以通过fb在命令行模式下看视频,如:sudo mplayer –vo fbdev ./air_nessesity.mpg



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值