我试图通过u-boot args在yocto linux上设置640x480分辨率,给出以下参数:
videomode=mxcfb0:dev=ldb,640x480p@60,if=RGB666
或使用
videomode=mxcfb0:dev=ldb,LDB-VGA-NL,if=RGB666
但两个参数都不起作用: 我得到了正确的垂直分辨率,但水平分辨率更大, 我可以看到水平屏幕的3/4左右。
相反,如果我以更高的分辨率启动,让我们说WVGS(800x600), 我可以通过xrandr解决问题,给出以下命令:
xrandr --fb 640x480
屏幕获得正确的分辨率,无论如何在命令后我得到xrandr消息
specified screen 640x480 not large enough for output DISP3 BG (800x480+0+0)
在第一种情况下(600x480启动参数),即使我给xrandr命令没有任何改变。 我可以获得严格的分辨率,而无需使用更高的分辨率启动,然后给出xrandr --fb 640x480命令吗?
我确实尝试将启动脚本放在etc / init.d文件夹中,但是没有用。
答案 0 :(得分:0)
根据您的目标分辨率验证您的显示时间(hactive,vactive等)。
例如:
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
crtc = "ipu1-di0";
reg = <0>;
primary;
status = "okay";
display-timings {
native-mode = <&timing1>;
timing0: dgt4 {
clock-frequency = <61627500>;
****hactive = <1280>;
vactive = <720>;****
hback-porch = <250>;
hfront-porch = <75>;
vback-porch = <20>;
vfront-porch = <5>;
hsync-len = <40>;
vsync-len = <5>;
linux,phandle = <&timing0>;
你从boot mode / kernel命令给出的命令是帧缓冲区,但不是显示硬件。
根据目标显示分辨率调整lvds的时序参数。