若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/133685938
红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...
瑞芯微开发专栏
需求
RK3588基于weston,不能自适应hdmi显示,设置固定分辨率为1920x1080。
查看当前HDMI口支持的分辨率
shell
cat /sys/class/drm/card0-HDMI-A-1/modes
拔掉HDMI,重启后再看:
所以,这是hdmi口支持的,与屏幕无关,至于插入屏幕为什么没有自适应1080p,现在不清楚。
基于weston指定支持的分辨率
这里需要添加额外的,默认是没有的(注意HDMI口的名称):
shell
vi /etc/xdg/weston/weston.ini
额外添加如下:
shell
[output]
name=HDMI-A-1
mode=1920x1080
然后,插入hdmi重启测试:
这里已经是去掉弹出菜单栏了,如何去掉弹出菜单栏查看《RK3568开发笔记(十):开发板buildroot固件移植开发的应用Demo,启动全屏显示》
实际输出与桌面分辨率
输出到hdmi是1920x1080 ,但是全屏应用桌面的分辨是1024x600,先这样,后续有进展再补充
cpp
void MainWindow::resizeEvent(QResizeEvent *event)
{
ui->label->setText(QString("%1,%2,%3,%4").arg(rect().x()).arg(rect().y()).arg(rect().width()).arg(rect().height()));
}
hdmi实际是副屏,主屏是mirror,如何取消mirror
修改 /etc/profile.d/weston.sh
去掉export WESTON_DRM_MIRROR=1 ,则让副屏不mirror镜像主屏:
这时候我们发现,定制的主屏应用就是1024x600的,主屏不支持1200x800,所以这部分不用弄了。
若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/133685938