我正在开发一款基于嵌入式 Linux 和 Qt 框架的嵌入式产品,该产品专为在我们构建的 i.Mx6 定制板上运行而开发。我们有 LVDS 显示接口,设置为1366x768解决。
/ # cat /sys/class/graphics/fb0/mode U:1380x768p-59
现在我尝试将显示器连接到 HDMI 上,并注意到 HDMI 显示器上的分辨率设置不正确,显示1280x1024。
/ # cat /sys/class/graphics/fb0/mode V:1280x1024p-60
我尝试中断启动过程,并尝试通过运行以下步骤强制解决问题并继续启动
U-Boot > set hdmi_video video=mxcfb0:dev=hdmi,1366x768M@60,if=RGB24 fbmem=10M,28M vmalloc=400M
我注意到分辨率没有再次设置。我通过运行以下命令确认了这一点:
/ # cat /proc/cmdline root=/dev/mmcblk0p2 console=ttymxc2,115200 rootwait fixrtc consoleblank=0 lpj=7905280 video=mxcfb0:dev=hdmi,1366x768M@60,if=RGB24 fbmem=10M,28M vmalloc=400M uboot_version=01.00.00
/ # cat /sys/class/graphics/fb0/mode U:1280x720p-60
无论我尝试什么分辨率,-xres 都会在我使用的显示器上被强制设置为 1280。我验证了我的显示器是否支持这些分辨率,直到 1680x1050。
我尝试了以下选项:
fbset -xres 1366 -yres 768 -match
但是,这会导致屏幕变黑并且 什么也没有cat
显示 /sys/class/graphics/fb0/mode
。
我尝试更改分辨率的所有选项都不起作用。任何帮助我都非常感谢。提前致谢。
答案1
在 u-boot 中将启动参数设置为:
setenv bootargs mxcfb0:dev=hdmi,1280x720M@60,if=RGB24
根据您的要求,替换1280x720M
需要设置的分辨率。
參閱本网站,它会起作用。