FB模块调试手册

Version 1.2


1. cat

  • 调试信息

    # cat /proc/mi_modules/mi_fb0
    
    ############################ 13.1.1. OnDumpOSDAttr####################################
    Framebuffer id = MStar FB0
    xres=1280, yres=720
    xres_virtual=1280, yres_virtual=1440
    xoffset=0,yoffset=0
    fix.line_length=0xa00 Bytes
    fix.smem_start=0xf800000
    Memory Size=0x400000 Bytes
    Gop ID=0
    Gwin ID=0
    Open Count=1
    Visible State=0
    MIU Sel=0
    ColorSpace=YUV
    ColorFomrmat=ARGB1555
    StretchWindow Pos[0,0]
    StretchWindow Src[1280,720],StretchWindow Dst[1920,1080]
    Gwin Pos[0,0]
    Gwin Size[1280,720]
    Gwin PhyAddr=0x0
    ColorKey Enable=0
    ColorKey Val=[0,0,0]
    Enable Alpha Blend=1
    Enalbe Multi Alpha=0
    Global Alpha Val=0x0
    Alpha0=0x0,Alpha1=0x0,(Only for ARGB1555)
    GOP Hstart=192
    Current TimingWidth=1920,TimingWidth=1080,hstar=192
    ################################## 13.1.1.1. end##########################################
    
    #########################OnDumpHwcursorAttr####################################
    Cursor Gop ID=4
    Cursor Gwin ID=6
    Cursor MIU Sel=0
    Cursor PhyAddr=0x166000
    Cursor ColorFmt=ARGB8888
    Cursor Icon Width=44,Height=56
    Cursor HotSpot[18,9]
    Cursor request pos[712,207]
    Cursor Visible=1
    Cursor Gwin Pos[694,198]
    Cursor Gwin Size[44,56]
    Cursor Gwin Pitch=0x200 Bytes
    Curosr StretchWindow pos[0,0]
    Cursor StretchWin Src[1280,720],Dst[1920,1080]
    Cursor ColorKey Enable=0
    Cursor ColorKey Value=[0xff,0xff,0xff]
    ############################OnDumpHwcursorAttr#################################
    
  • 调试信息分析

    记录当前Fbdev && Hwcursor的使用状况以及OSD图层属性、OSD device属性、Hwcursor属性,可以动态地获取到这些信息,方便调试和测试。

  • 参数说明

    参数 描述
    OSD info Framebuffer id Framebuffer设备ID
    xres 可见分辨率宽度
    yres 可见分辨率宽高度
    xres_virtual 虚拟分辨率的宽度
    yres_virtual 虚拟分辨率的高度
    xoffset 可见分辨率到虚拟分辨率的x偏移量
    yoffset 可见分辨率到虚拟分辨率的y偏移量
    fix.line_length 虚拟分辨率每行的字节数
    fix.smem_start 帧缓冲内起始地址
    Memory Size 帧缓冲内存长度,单位字节数
    OSD device info Gop ID 图层硬件ID
    Gwin ID 图层硬件显示窗口ID
    Open Count 该图形层打开次数。在用户调用open()时增1;调用close()时减1
    Visible State 该图层显示状态。
    取值:{1表示可见,0表示不可见}
    用户显示调用FBIOSET_SHOW去设置图层可见状态。
    MIU Sel 保存帧缓冲数据的物理内存编号。
    对于MSR620设备该值为0
    ColorSpace 该图形层输出的颜色空间。
    取值:{YUV表示输出YUV color space;RGB表示输出RGB color space }。默认为YUV
    ColorFomrmat 图形层格式
    取值:{ARGB1555,ARGB4444,ARGB8888,RGB565}。
    用户设置可变屏幕信息中的格式项后更新
    StretchWindow Pos 图形层在显示设备上的起始位置。
    单位:像素
    默认为0,用户可调用FBIOSET_SCREEN_LOCATION去设置
    StretchWindow Src 图形层原始分辨率的宽度和高度。
    单位:像素
    通过硬件放大功能放大到当前timing。用户设置可变屏幕信息中的可见分辨率后更新
    StretchWindow Dst 图形层在显示设备上的宽度和高度。 默认设置为输出timing大小。可以通过FBIOSET_SCREEN_LOCATION去设置
    Gwin Pos 图形层显示窗口的起始位置
    单位:像素
    对于OSD图层来说,该值总是为(0,0)
    Gwin Size 图形层显示窗口的宽度、高度。
    单位:像素
    对于OSD图层来说,该值总是被设置为可见分辨率的宽度、高度。用户设置可变屏幕信息中的可见分辨率后更新。
    Gwin PhyAddr 图形层当前显示数据的物理地址
    ColorKey Enable 图形层ColorKey是否使能
    取值:{0表示Disable ColorKey; 1表示Enable ColorKey}用户设置可通过FBIOSET_COLORKEY去设置
    ColorKey Val 图形层ColorKey的RED,GREEN,BLUE通道数值
    取值:每个通道的取值范围从0-255。ColorKey val的数值用RGB888格式表示
    用户可通过FBIOSET_COLORKEY去设置后更新
    Enable Alpha Blend 图形层alpha是否使能。
    取值:{0表示否,1表示是}, 默认为1。
    用户可通过FBIOSET_GLOBAL_ALPHA去设置后更新。
    该项关闭,则像素alpha配置不生效。该项开启且Enable Multi Alpha关闭,仅像素alpha生效(对于ARGB1555格式,Alpha bit为1的像素使用Global Alpha作为像素alpha,Alpha bit为0的像素使用0xff作为像素alpha)。当该项目开启且Enable Multi Alpha生效时,则像素alpha和Global Alpha都生效
    Enable Multi Alpha 全局alpha是否生效开关
    取值{0时,1否}默认值为0
    Enable Multi Alpha使能,Global Alpha便生效
    Global Alpha Val 全局Alpha
    Alpha0 ARGB1555格式时,当最高位为0时,选择Alpha0作为Alpha混合的的Alpha数值
    取值: 0~255默认为0
    Alpha1 ARGB1555格式时,当最高位为1时,选择Alpha1作为Alpha混合的Alpha数值
    取值: 0~255默认为0
    GOP Hstart 图层硬件向对于显示窗口的偏移。
    取值:该值和当前输出timing相关,当输出timing发生变化时,通过FBIOSET_DISPLAYLAYER_ATTRIBUTES并将输入参数MI_FB_DisplayLayerAttr_s的u32SetAttrMask数值包含E_MI_FB_DISPLAYLAYER_ATTR_MASK_SCREEN_SIZE mask位来通知图层驱动输出timing发生变化。图层驱动会根据当前timing设置相应的hstart数值
    Current TimingWidth, 当前输出timing的宽度、高度以及当前timing下应该给图形层硬件设置的像对于显示窗口的偏移。 该项与GOP Hstart配合使用,用于检查设置给硬件图层的hstart数值是否和当前timing一致。
    Current TimingHeight,
    hstar
    Hwcursor info Cursor Gop ID 鼠标图层硬件ID
    Cursor Gwin ID 鼠标图层硬件显示窗口ID
    Cursor MIU Sel 用于保存鼠标图标数据的物理内存编号。 对于MSR620设备该值为0
    Cursor PhyAddr 鼠标层当前显示数据的物理地址
    Cursor ColorFmt 鼠标图层格式
    值:{ARGB1555,ARGB4444,ARGB8888,RGB565}。
    用户可通过FBIOSET_CURSOR_ATTRIBUTE 设置
    Cursor Icon Width 鼠标图标的宽度、高度。
    单位:像素
    户可通过FBIOSET_CURSOR_ATTRIBUTE设置
    Cursor HotSpot 鼠标图标的热点信息
    单位:像素
    热点信息通常和鼠标图标相关,用户可通过FBIOSET_CURSOR_ATTRIBUTE设置
    Cursor request pos 鼠标图标的位置信息
    单位: 像素
    用户通过FBIOSET_CURSOR_ATTRIBUTE设置
    Cursor Visible 鼠标图层是否可见
    取值:{0,表示不可见,1表示可见}
    用户通过FBIOSET_CURSOR_ATTRIBUTE设置
    Cursor Gwin Pos 鼠标图层显示窗口的起始位置
    单位:像素
    Cursor Gwin Pitch 鼠标图层每行的字节数。
    对于鼠标图层来说,该值固定为0x200
    Curosr StretchWindow pos 鼠标图层在显示设备上的起始位置。
    单位:像素
    Cursor StretchWin Src 鼠标图层原始大小
    单位:像素。该值通常和OSD的显示分辨率一致。
    Cursor StretchWin Dst 鼠标图层在显示设备上的宽度、高度
    该值和输出timing一致。
    Cursor ColorKey Enable 鼠标图层ColorKey是否使能
    取值:{0表示Disable ColorKey; 1表示Enable ColorKey}。
    用户通过FBIOSET_CURSOR_ATTRIBUTE设置
    Cursor ColorKey Value 鼠标图层ColorKey的RED,GREEN,BLUE通道数值
    取值:每个通道的取值范围从0-255。ColorKey val的数值用RGB888格式表示
    用户可通过FBIOSET_CURSOR_ATTRIBUTE去设置后更新


2. echo

功能 打开或关闭指定的图层
命令 echo GUI_SHOW [LayerID] [Status] > /proc/mi_modules/mi_fb0
参数说明 [LayerID] 图层号
[Status] on: 打开; off: 关闭
举例 echo GUI_SHOW 0 on > /proc/mi_modules/mi_fb0 显示图层fb0 echo GUI_SHOW 0 off > /proc/mi_modules/mi_fb0 显示图层fb0
功能 打开或关闭硬件鼠标
命令 echo CURSOR_SHOW [Status] > /proc/mi_modules/mi_fb0
参数说明 [Status] on: 打开; off: 关闭
举例 echo CURSOR_SHOW on > /proc/mi_modules/mi_fb0 显示鼠标图标 echo CURSOR_SHOW off > /proc/mi_modules/mi_fb0 关闭鼠标图标
功能 为指定的图层设置Colorkey
命令 echo GUI_SET_CLRKEY [LayerID] [Red] [Green] [Blue] > /proc/mi_modules/mi_fb0
参数说明 [LayerID] 图层号
[Red] 红色分量 以16进制,ARGB888 格式表示
[Green] 绿色分量 以16进制,ARGB888 格式表示
[Blue] 蓝色分量 以16进制,ARGB888 格式表示
举例 echo GUI_SET_CLRKEY 0 ff 00 00 > /proc/mi_modules/mi_fb0 设置fb0的Colorkey为红色
功能 Dump当前正在显示的鼠标图标
命令 echo CURSOR_DUMP [Path] >/proc/mi_modules/mi_fb0
参数说明 [Path] dump 的路径
举例 echo CURSOR_DUMP /mnt > /proc/mi_modules/mi_fb0 dump cursor Icon到/mnt路径,文件名为CursorData.raw,用7yuv打开,宽高设置为128,128,格式按照cursor icon的格式设置即可显示Rawdata
功能 分别为ARGB1555格式的alpha bit0,alpha bi1设置pixel alpha数值。因为目前msr620不支持这个feature,暂时未实现
命令 echo GUI_SETALPHA_ARGB1555 [LayerID] [Alpha0] [Alpha1]> /proc/mi_modules/mi_fb0
参数说明 [LayerID] 图层号
[Alpha0] alpha0 的数值
[Alpha1] alpha1 的数值
举例