TobiBS wrote:I am trying to make a display work with the DPI interface via GPIO, hence I am using my own HDMI mode for configuration. My problem is, that when trying to set the mode with any frequency as low as 18MHz (according to datasheet), there is no clock or other output from Raspberry on GPIOs whatsoever. Might it be, that there is an internal check with the aspect ratio, that calculates a minimum frequency and forbids to set "too low frequencies"? The settings start to work somewhere around 32MHz, which is already too fast according to the spec (signals highs are too short according to spec).
Right now the display is displaying console and desktop, but with a lot of blurries and vertically displaced, so my guess is, that the readings are just not sharp enough. Or might there be another issue with dpi_output_format as well?
Hi,
using a custom HDMI mode will allow you do connect even quite unusual display resolutions to RPi.
Here is an example of an 768x128pixel TFT module.
- Sharp LQ060B3DW02 connected to Raspberry Pi Zero
- 6in1demo_04_small.jpg (59.94 KiB) Viewed 66198 times
Although the display resolution is 768x128pixels only my hdmi_timings looks like this:
Code: Select all
hdmi_timings=800 0 30 10 30 480 0 10 3 10 0 0 0 60 0 32000000 6
As you can see the timing lets the RPI think there is an WVGA display (800x480pixels) display connected. The timing is also not matching the values from the data sheet (
https://www.sharpsde.com/fileadmin/prod ... 27402A.pdf) but were 'tweaked' to give a clear/crisp picture.
The rest of 'the magic' is then done by frame buffer and oversan settings. This is what it looks like for this display:
Code: Select all
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
overscan_left=0
overscan_right=32
overscan_top=0
overscan_bottom=352
# uncomment to force a console size. By default it will be display's size minus
# overscan.
framebuffer_width=768
framebuffer_height=128
To make it complete:
So, not only stick with the timing setting, use frame buffer and overscan settings in addition.
Start with timing first and change values until you have a stable image (test with primary colors (!) to check that mapping is correct), then change frame buffer to the display resolution and start to 'move' it by using overscan.
Note: Front- Backporch changes can have the same result as changing oversan.
Cheers
aBUGSworstnightmare
EDIT:
made a small video showing the RPi Zero displaying 4 videos on the screen simultaneously:
- 6in_4video.jpg (36 KiB) Viewed 66028 times
The video is here:
https://youtu.be/trY4hLSOpjw