HMDI显示分辨率是自适应的,你试一下L5.10.35_2.0.0的demo images
测过了,可以自动识别4K。
lvds 和 hdmi共享同一个drm框架生成的fb0节点
--》这不是只能有一个分辨率吗?在你共享fb0的情况下,LVDS和HDMI屏幕分辨率是一样的吗?
我还以为hdmi会自适应切换分辨率
-->基于DRM API可以实现不同CRTC下的buffer分配,但是直接写fb0的话,就是会出现这种显示不匹配的问题。你在应用层分配的buffer肯定是针对某个屏幕,比如LVDS分辨率大小的buffer,那你写进去了,底层驱动只是直接把这块buffer丢进lcd控制器,驱动层很傻的不会自适应。你丢进去多大分辨率的buffer,他就原封不动显示这么大。
桌面系统不使用fb0,使用drm节点,即使fb0是可以用的,我们也不推荐,主流就是drm框架。
我现在lvds屏幕是1200*768的,hdmi支持的分辨率最大是1920*1080的。所以你意思是如果要lvds和hdmi显示正常的话,hdmi的分辨率也要手动设置为1200*768这种或者相近的分辨率才行吗? 我还以为hdmi会自适应切换分辨率,我从hdmi显示器设置里看到现在的屏幕显示分辨率是1920*1080的,同时hdmi上显示的图像也是只有左上角有一块,且大小跟lvds大小相近