Welcome to the Linux Foundation Forum!

How to add support for custom display resolution


the following problem: I have various HDMI screens with EDID support.
Some of them are working fine.
The pixelclock is 32MHz and the resolution 1024x600. But on some models the pixelclock is 44,58MHz (same resolution 1024x600) and the dmesg tolds: No videomode found.

Changing afterwards with fbset aqnd timing values isn`t possible, because it changes only the virtual resolution, also with -xres -yres and -match.

Ok - so I had a look in the video-section of the kernel. The HDMI comes with a default set of 640x480pixel and was overwritten with custom values. This isn´t the problem - I can set all timings.

The timings I have (from readout of the EDID values).
In fbdev/core/fbmon.c I found, that the values from EDID are checked and used to configure the display. But I can´t find the database of the "allowed" videomodes.

So, where can I add my new resolution/timing?
The 1024x600 isn´t a standard format, but with 32MHz pixelclock works an default.

I found also this documentation:

And in the arch/arm/boot/dts folder I can find some device descriptions. But how it works?
The only thin is to create a file mydisplay.dts and add a section with the timing parameters? Thats all?

Can someone point me in the right direction?


Upcoming Training