rk3568-framebuffer界面不显示

本章主要讲述rk3568在开机启动时,有几率进不去用framebuffer写的图形化界面(一直停留在内核的界面),但是后台能看见gui在运行这一问题。

刚开始认为可能是weston的问题影响到了framebuffer的gui,于是把weston进行了关闭,可问题还是存在。

解决方案

实际上,是我们在代码中没有唤醒屏幕,导致一直是内核的那个界面。具体情况如下图代码所示。
在这里插入图片描述
把这句(21行)代码加上之后,我们发现开机即可启动gui,不会出现界面一直卡在内核的情况。问题到此解决。

函数介绍

ioctl(fbfd,FBIOBLANK,FB BLANK UNBLANK)主要用于控制 framebuffer 设备的电源状态,具体来说,它可以用来唤醒(unblank)屏幕。它的作用是确保屏幕在程序运行时处于打开状态。如果不调用这句话,通常不会直接导致 framebuffer 无法运行,但可能会导致屏幕在某些情况下无法显示图像,特别是在屏幕被设置为节能模式(blank)的情况下。
具体影响

1 屏幕节能模式:

如果系统或之前的程序将屏幕设置为节能模式(blank),屏幕可能会变黑。此时,如果没有FBIOBLANK命令来唤醒屏幕,framebuffer 操作可能不会显示在屏幕上。

2 屏幕状态控制:

FBIOBLANK命令提供了一种程序化的方式来控制屏幕的显示状态。如果不使用这个命令你可能需要依赖其他机制来确保屏幕在需要时处于打开状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值