---
title: fb_var_screeninfo
description: "定义HIFB的可变屏幕信息，此为Linux FrameBuffer原生结构体。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_1327.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_1327.html
indexId: 99dad6e9e222c2209a8a45b91cb66931fee9ffafafd46dfa757202006649d6ca105
---
# fb_var_screeninfo

#### 说明

定义HIFB的可变屏幕信息，此为Linux FrameBuffer原生结构体。


#### 定义

```
struct fb_var_screeninfo {
__u32 xres;             /* visible resolution       */
__u32 yres;
__u32 xres_virtual;     /* virtual resolution       */
__u32 yres_virtual;
__u32 xoffset;          /* offset from virtual to visible */
__u32 yoffset;          /* resolution           */
__u32 bits_per_pixel;
__u32 grayscale;        /* 0 = color, 1 = grayscale,    */
/* >1 = FOURCC          */
struct
fb_bitfield
red;     /* bitfield in fb mem if true color, */
struct
fb_bitfield
green;   /* else only length is significant */
struct
fb_bitfield
blue;
struct
fb_bitfield
transp;  /* transparency         */
__u32 nonstd;           /* != 0 Non standard pixel format */
__u32 activate;         /* see FB_ACTIVATE_*        */
__u32 height;           /* height of picture in mm    */
__u32 width;            /* width of picture in mm     */
__u32 accel_flags;      /* (OBSOLETE) see fb_info.flags */
/* Timing: All values in pixclocks, except pixclock (of course) */
__u32 pixclock;         /* pixel clock in ps (pico seconds) */
__u32 left_margin;      /* time from sync to picture    */
__u32 right_margin;     /* time from picture to sync    */
__u32 upper_margin;     /* time from sync to picture    */
__u32 lower_margin;
__u32 hsync_len;        /* length of horizontal sync    */
__u32 vsync_len;        /* length of vertical sync  */
__u32 sync;             /* see FB_SYNC_*        */
__u32 vmode;            /* see FB_VMODE_*       */
__u32 rotate;           /* angle we rotate counter clockwise */
__u32 colorspace;       /* colorspace for FOURCC-based modes */
__u32 reserved[4];      /* Reserved for future compatibility */
};
```


#### 成员

G0、G1图层，下表中的Gx_min、Gy_min为32；G2、G3、G4图层，下表中的Gx_min、Gy_min为8。Gx_min表示当前图层支持的最小宽度，Gy_min表示当前图层支持的最小高度。

| 成员名称 | 描述 |
| --- | --- |
| xres | 可见屏幕宽度（像素数），需要为偶数。 取值范围：[Gx\_min, xres\_virtual]。 |
| yres | 可见屏幕高度（像素数），需要为偶数。 取值范围：[Gy\_min, yres\_virtual]。 |
| xres\_virtual | 虚拟屏幕宽度（显存中图像宽度）。 取值范围：大于或等于Gx\_min。 |
| yres\_virtual | 虚拟屏幕高度（显存中图像高度）。 取值范围：大于或等于Gy\_min。 |
| xoffset | 在x方向上的偏移像素数。 取值范围：[0, xres\_virtual \- xres]。 |
| yoffset | 在y方向上的偏移像素数。 取值范围：[0, yres\_virtual \- yres] |
| bits\_per\_pixel | 每个像素所占的比特数。 取值范围：32/16/4/2 注：4和2分别对应CLUT4和CLUT2模式，需要使能CMAP功能。 |
| red | 颜色分量中红色的位域信息。 |
| green | 颜色分量中绿色的位域信息。 |
| blue | 颜色分量中蓝色的位域信息。 |
| transp | 颜色分量中alpha分量的位域信息。 |
| grayscale | 颜色模式，当前版本不支持。 |
| nonstd | 是否为标准像素格式，当前版本不支持。 0：是 1：否 |
| activate | 设置生效的时刻，当前版本不支持。 |
| height | 屏幕高，单位为mm，当前版本不支持。 |
| width | 屏幕宽，单位为mm，当前版本不支持。 |
| accel\_flags | 加速标志，当前版本不支持。 |
| pixclock | 显示一个点需要的时间，单位为ns，当前版本不支持。 |
| left\_margin | 左消隐信号，当前版本不支持。 |
| right\_margin | 右消隐信号，当前版本不支持。 |
| upper\_margin | 上消隐信号，当前版本不支持。 |
| lower\_margin | 下消隐信号，当前版本不支持。 |
| hsync\_len | 水平同步时长，当前版本不支持。 |
| vsync\_len | 垂直同步时长，当前版本不支持。 |
| sync | 同步信号方式，当前版本不支持。 |
| vmode | 扫描模式，当前版本不支持。 |
| rotate | 顺时针旋转的角度，当前版本不支持。 |
| colorspace | FOURCC模式的色彩空间， 当前版本不支持。 |
| reserved[4] | 预留参数，当前版本不支持。 |
