RockPro64 linux console video mode

I have a weird issue with the linux console. I am trying to setup a rockpro64 and in doing that I am using an old Dell monitor with a 1680x1050 resolution.

When the rockpro64 boots, the first thing that I see is the output from uboot. This is OK. Then linux is booted and for a short time I see a patterned screen. After this, there is the linux boot output.

The issue is that as soon as uboot gives control to the linux kernel, the display becomes terrible: all trembling and slightly distorted. The monitor reports that the output is at 1400x1050@55Hz, which is obviously not correct. However, /sys/class/graphics/fb0/modes correctly shows U:1680x1050p-0.

Obviously, I suspect that the poor display is due to using an output format that is not suited for the monitor. However:

  • Why does uboot pick the right display mode and linux does not?
  • What would be the proper way to instruct linux to use a more correct display mode for its console?
    • Should I use some Uenv.txt file in /boot? Should I set some bootargs in it? Is the relevant kernel parameter to add video=... or something else? Do arm SOCs employing mali graphics use KMS?

Note that issue is cross-distro (also seen with debian). Asking here because I am particularly interested in finding a solution for Manjaro (and particularly confident on the helpfulness of this community!)

Thanks for any help!

HDMI modes for rockchip on mainline is pretty limited although Iā€™ve seen someone started working on it, so having non-standard resolution monitors can be a bumpy ride.

I know that @Pak0st has been messing with a kernel that should add new HDMI modes/resolutions, so you can try installing that one. You can search the forum for the post about it.

@Strit thanks for your help and pointer. I have also found out the repo at GitHub - Kwiboo/linux-rockchip: Linux kernel for Rockchip SoC (where more videomode are introduced) thanks to your post.

I still have a question, though, in case you know the answer.

Even if the set of HDMI modes for RK on mainline is restricted, 1400x1050@55 seems a weird choice and almost surely my monitor would be able to do better with 1024x768 that is so standard that I cannot imagine being unupported on RK. If this is the case, what would be the way to force the kernel to use 1024x768?

@callegar , I believe @Strit was talking about my experimental 5.16 kernel here: GitHub - psstoyanov/linux-rockchip-hdmi-fixes

I keep postponing updating it to 5.19ā€¦ I really need to get my act together this week :smiley:

The full thread is here with a lot more info: RK3399 HDMI output for resolutions different than 1080p