Skip to main content

FBIOGET_FSCREENINFO

FBIOGET_VSCREENINFO

函数功能

获取Framebuffer屏幕的可变信息,包括分辨率、像素格式等信息。

约束说明

  • 高清设备的图形层默认分辨率为1920*1080,鼠标层的默认分辨率为256*256,标清设备的图形层的默认分辨率为720*576,像素格式默认为ARGB8888。
  • 使用HIFB接口需先调用hi_mpi_vo_enable启用VO设备。
  • 该接口不支持多进程,多线程。

函数原型

int ioctl (int fd, FBIOGET_VSCREENINFO, fb_var_screeninfo *var)

参数说明

参数名输入/输出说明
fd输入Framebuffer设备文件描述符。 应用程序中调用open("/dev/fbx"),会返回当前VO设备对应的Framebuffer设备文件描述符。
FBIOGET_VSCREENINFO输入ioctl号。
var输出可变信息结构体指针。

返回值说明

  • 0:成功
  • 非0:失败,返回Linux内核原生错误码,请单击Link查看详细说明

父主题: HIFB叠加图形层管理功能

FBIOPUT_VSCREENINFO

功能描述

设置Framebuffer屏幕的可变信息,包括分辨率、像素格式等信息。

约束说明

  • 可见屏幕宽度(xres)与宽度方向的偏移(xoffset)的和不能超过虚拟分辨率宽度(xres_virtual),yres同理。

  • 虚拟分辨率的设置需要在当前图层的显存约束范围内(各个图层的最大/最小分辨率及显存限制如表1所示)。虚拟分辨率所需显存的计算公式如下:

  • 必须保证实际分辨率与偏移的和在虚拟分辨率范围内,否则系统会自动调整实际分辨率的大小让其在虚拟分辨率范围内。

  • 使用HIFB接口需先调用hi_mpi_vo_enable启用VO设备。

  • 该接口不支持多进程,多线程。

函数原型

int ioctl (int fd, FBIOPUT_VSCREENINFO, fb_var_screeninfo *var)

参数说明

参数名输入/输出说明
fd输入Framebuffer设备文件描述符。 应用程序中调用open("/dev/fbx"),会返回当前VO设备对应的Framebuffer设备文件描述符。
FBIOPUT_VSCREENINFO输入ioctl号。
var输入可变信息结构体指针。

返回值说明

  • 0:成功
  • 非0:失败

父主题: HIFB叠加图形层管理功能

FBIOGET_FSCREENINFO

功能描述

获取Framebuffer的固定信息,包括显存用户态地址、显存大小等信息。

约束说明

  • 使用HIFB接口需先调用hi_mpi_vo_enable启用VO设备。

  • 显存通过内核mmap函数获取用户态虚拟地址;注意该用户态虚拟地址无法被加速器访问,若需配置给加速器的用户态地址,则需使用fb_fix_screeninfo中mmio_start参数。

  • 无需显示图形层时,用户需调用内核munmap接口释放用户态虚拟地址,否则会导致该图形层不可用,且驱动无法退出。

  • 该接口不支持多进程、多线程。

函数原型

int ioctl (int fd, FBIOGET_FSCREENINFO, fb_fix_screeninfo *fix)

参数说明

参数名输入/输出说明
fd输入Framebuffer设备文件描述符。 应用程序中调用open("/dev/fbx"),会返回当前VO设备对应的Framebuffer设备文件描述符。
FBIOGET_FSCREENINFO输入ioctl号。
fix输出固定信息结构体指针。

返回值说明

  • 0:成功
  • 非0:失败

父主题: HIFB叠加图形层管理功能

FBIOPAN_DISPLAY

功能描述

设置从虚拟分辨率中的不同偏移处开始显示,实际分辨率不变,如下图所示,(xres_virtual, yres_virtual)是虚拟分辨率,(xres, yres)是实际显示的分辨率,(xoffset, yoffset)是显示的偏移。

约束说明

  • 使用HIFB接口需先调用hi_mpi_vo_enable启用VO设备。

  • 必须保证实际分辨率与偏移的和在虚拟分辨率范围内,否则设置不成功。

  • 该接口不支持多进程、多线程。

函数原型

int ioctl (int fd, FBIOPAN_DISPLAY, fb_var_screeninfo *var)

参数说明

参数名输入/输出说明
fd输入Framebuffer设备文件描述符。 应用程序中调用open("/dev/fbx"),会返回当前VO设备对应的Framebuffer设备文件描述符。
FBIOPAN_DISPLAY输入ioctl号。
var输入可变信息结构体指针。

返回值说明

  • 0:成功
  • 非0:失败

父主题: HIFB叠加图形层管理功能

FBIOGET_CMAP

功能描述

获取颜色表信息。

约束说明

  • 使用HIFB接口需先调用hi_mpi_vo_enable启用VO设备。

  • 只有G3和G4图形层才支持颜色表格式,支持格式为CLUT4/CLUT2。

  • 该接口不支持多进程、多线程。

函数原型

int ioctl (int fd, FBIOGET_CMAP, fb_cmap *cmap)

参数说明

参数名输入/输出说明
fd输入Framebuffer设备文件描述符。 应用程序中调用open("/dev/fbx"),会返回当前VO设备对应的Framebuffer设备文件描述符。
FBIOGET_CMAP输入ioctl号。
cmap输出颜色表结构体指针。

返回值说明

  • 0:成功
  • 非0:失败

父主题: HIFB叠加图形层管理功能

FBIOPUT_CMAP

功能描述

设置颜色表信息。

约束说明

  • 使用HIFB接口需先调用hi_mpi_vo_enable启用VO设备。

  • 只有G3和G4图形层才支持颜色表格式,支持格式为CLUT4/CLUT2。

  • 该接口不支持多进程、多线程。

函数原型

int ioctl (int fd, FBIOPUT_CMAP, fb_cmap *cmap)

参数说明

参数名输入/输出说明
fd输入Framebuffer设备文件描述符。 应用程序中调用open("/dev/fbx"),会返回当前VO设备对应的Framebuffer设备文件描述符。
FBIOPUT_CMAP输入ioctl号。
cmap输入颜色表结构体指针。

返回值说明

  • 0:成功
  • 非0:失败

父主题: HIFB叠加图形层管理功能

在线提单