Pjhants
Posts: 2
Joined: Fri Jan 25, 2019 7:45 am

Re: STICKY: HOWTO: Create Custom HDMI modes

Fri Jan 25, 2019 7:51 am

I am helping a friend interface an HDMI LCD display to a Pi. The display is borderless and a specific size to replicate a flight simulator instrument panel. I have tried creating a custom resolution but without success. I can't get a stable display at all. I get a flashing backlight or if anything is displayed it is intermittent and repeated across the panel.

The display will work on a PC graphics card (GTX1080Ti) with the following settings:

- 720 x 1280.
- 60Hz.
- 8 bit.
- Colour Format RGB
- Colour spacing SDR.

The display itself is a: Sharp LS060R1SX01.
The driver chip is Toshiba 358870XBG.
So far we have failed to find any detailed data sheets for the Sharp display.

I think it's default resolution is 1440 X 2560 which is probably too much for the Pi but I can't even get a custom setting to run:

Amongst other settings suggested on this thread I have tried even standard 16x9 resolutions. I also tried:

hmdi_cvt 1440 720 60
hdmi_group=2
hdmi_mode=87

I can't find any timings info for the display Does anyone have any ideas or suggestions?

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5370
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: STICKY: HOWTO: Create Custom HDMI modes

Tue Jan 29, 2019 12:23 pm

Pjhants wrote:
Fri Jan 25, 2019 7:51 am
hmdi_cvt 1440 720 60
hdmi_group=2
hdmi_mode=87

I can't find any timings info for the display Does anyone have any ideas or suggestions?
Unless the data sheet says it supports 1440x720@60 then this is very unlikely to work.

The actual resolution 1440x2560x60 requires a pixel clock of 221MHz (actually more due to blanking),
so that won't work without overclock settings.
May be some info here: https://www.raspberrypi.org/forums/view ... 3#p1348063

chrhartz
Posts: 1
Joined: Tue Feb 26, 2019 10:54 pm

Re: STICKY: HOWTO: Create Custom HDMI modes

Tue Feb 26, 2019 11:41 pm

Hi all,

I made a pcb with the CM3L compute module and TFP401A HDMI to ttl decoder. I am using the DS90C385A
ttl to LVDS driver from TI to drive a 10.1" 1280x800 IPS display from Duobond displays.

It works generally. I am getting a stable picture with expected size, no flickering and colors are displayed normally.
So it seems the h- and v-sync is working and the color channels are connected the right way.

But the display is almost unreadable. It seems that there is still a problem with the pixel clock or something else.
I have tried different hdmi_timings without success. Also different cvt modes, driver settings and so on with no luck.

I made the pcb very carefully with impedance control, 4 layers, length matching and differential pair length matching better
than 0.2 mm. So I am hoping the pcb is not forcing the problem. :?

In fact this is my first HDMI and LVDS design and I have no experience so far. I grabbed all informations about it from
the datasheets, Adafruit designs, reference design from TI and other resources.

It would be very helpful if someone can give me a hint for the correct display timing. There are a lot of parameters that
can be changed and I don´t know where to start. :(

I bought a RTD2660 driver board together with the lcd. Unfortunally the RPi is not able to readout the EEDID EEPROM.
I was hoping the chinese guys programmed the EEDID correctly so I can fetch the correct timing values but no hope
from this side. The RTD2660 is displaying the picture perfectly... Should I switch to this chip? :roll:

Chris

Image

Image

Image

mosoto
Posts: 1
Joined: Tue Mar 12, 2019 12:30 am

Re: STICKY: HOWTO: Create Custom HDMI modes

Tue Mar 12, 2019 12:53 am

I have a Samsung Ultra Widescreen Monitor s34e790c (3440 x 1440 resolution) and I was recently struggling to get it to work with my raspberry pi 3b+ at that resolution. I finally got it to work so I figured I'd share my findings here in case it helps anyone else.

Ultimately, what helped me the most was running:

Code: Select all

/opt/vc/bin/tvservice -d edid.dat; /opt/vc/bin/edidparser edid.dat
This dumped the various modes for the monitor including a 50hz 3440x1440 and a 30hz 3440x1440 which were unrecognized. Running at 30hz worked right off the bat with a custom hdmi timing.

Code: Select all

hdmi_drive=2
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=87
hdmi_timings=3440 0 48 32 80 1440 1 3 10 8 0 0 0 30 0 157788000 7
max_framebuffer_width=3440
max_framebuffer_height=1440
framebuffer_width=3440
framebuffer_height=1440
Trying to run it at 50hz, however, was another matter. The edidparser dump showed that this should be the timings:

Code: Select all

hdmi_timings=3440 1 48 32 80 1440 0 3 10 21 0 0 0 50 0 265320000 7
hdmi_pixel_freq_limit=265320000
I adjusted the hdmi pixel freq limit since I read in one of these pages that the limit is somewhere around 160mhz. Unfortunately, did this not work. The monitor would continously fail.

Ultimately, I found that I needed to overclock the raspberry pi to get it to work. I suppose this is too high a resolution for the standard raspberry pi settings. This is what I ended up using for the overclocking. I can't claim to understand all of it and I wouldn't recommend doing this but I'll paste them in case anyone wants to play around with it.

Code: Select all

gpu_mem=256
force_turbo=1
hdmi_ignore_cec_init=1
arm_freq=1050
core_freq=500
sdram_freq=600
over_voltage=6
gpu_freq=500
This page was useful in understanding some of this:
https://elinux.org/RPiconfig

With the overclock and I did get the monitor to work at 50hz though ultimately I reverted to 30hz as I'm not sure what the overclocking will do to the longevity of my pi.

Anyway, hope that is useful.

aBUGSworstnightmare
Posts: 1508
Joined: Tue Jun 30, 2015 1:35 pm

Re: STICKY: HOWTO: Create Custom HDMI modes

Tue Mar 19, 2019 11:47 am

chrhartz wrote:
Tue Feb 26, 2019 11:41 pm
Hi all,

I made a pcb with the CM3L compute module and TFP401A HDMI to ttl decoder. I am using the DS90C385A
ttl to LVDS driver from TI to drive a 10.1" 1280x800 IPS display from Duobond displays.

It works generally. I am getting a stable picture with expected size, no flickering and colors are displayed normally.
So it seems the h- and v-sync is working and the color channels are connected the right way.

But the display is almost unreadable. It seems that there is still a problem with the pixel clock or something else.
I have tried different hdmi_timings without success. Also different cvt modes, driver settings and so on with no luck.

I made the pcb very carefully with impedance control, 4 layers, length matching and differential pair length matching better
than 0.2 mm. So I am hoping the pcb is not forcing the problem. :?

In fact this is my first HDMI and LVDS design and I have no experience so far. I grabbed all informations about it from
the datasheets, Adafruit designs, reference design from TI and other resources.

It would be very helpful if someone can give me a hint for the correct display timing. There are a lot of parameters that
can be changed and I don´t know where to start. :(

I bought a RTD2660 driver board together with the lcd. Unfortunally the RPi is not able to readout the EEDID EEPROM.
I was hoping the chinese guys programmed the EEDID correctly so I can fetch the correct timing values but no hope
from this side. The RTD2660 is displaying the picture perfectly... Should I switch to this chip? :roll:

Chris

Image

Image

Image
Your timing is incorrect! post your config.txt settings. Is your TFP401A configured/wired correctly?

User avatar
antiriad
Posts: 143
Joined: Sun Nov 17, 2013 7:38 pm
Location: Italy
Contact: Twitter

Re: STICKY: HOWTO: Create Custom HDMI modes

Sat Mar 23, 2019 1:54 pm

Hello,
it is technically possible to set a custom video resolution of 320x200 with a VGA666?

Thank you!

gigawat
Posts: 2
Joined: Wed Jun 19, 2019 9:15 pm

Re: STICKY: HOWTO: Create Custom HDMI modes

Wed Jun 19, 2019 9:44 pm

Hello All,

I am new to the PI.

I have designed my own compute module carrier board with a TI SN75LVDS83ADGGR for LVDS. It works very well with my 10.1" 1280x800 LVDS display.

My config.txt is as follows:
---------------------
dtparam=audio=on

dtoverlay=dpi18-666-cff
hdmi_ignore_edid=0xa5000080
framebuffer_width=1280
framebuffer_height=800
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
dpi_output_format=0x6f217
hdmi_timings=1280 0 40 48 88 800 0 13 3 32 0 0 0 60 0 71000000 5
gpu_mem=256

dtoverlay=i2c-gpio,i2c_gpio_sda=28,i2c_gpio_scl=29,i2c_gpio_delay_us=2
enable_uart=1
---------------------
I have even used the following and it works perfectly:
---------------------
dtparam=audio=on

dtoverlay=dpi18-666-cff

hdmi_ignore_edid=0xa5000080
framebuffer_width=1280
framebuffer_height=800
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=87
dpi_output_format=0x6f217

gpu_mem=256

hdmi_cvt=1280 800 60 5 0 0 1

dtoverlay=i2c-gpio,i2c_gpio_sda=28,i2c_gpio_scl=29,i2c_gpio_delay_us=2
enable_uart=1
---------------------

My problem is when I switch to a 7" 1280x800 LVDS display. I get a black screen. No matter what I change, I get a black screen.

I have checked my hardware by doing the following:

I have a 10.1" HDMI to LVDS driver board that came with my 10.1" screen. It works great with the 10.1" screen. I am able to connect this same driver board with no changes to my 7" screen, with the same cable, and it works perfectly. I have confirmed the 7" screen is getting all of the various voltages it requires. Again, the same LVDS cable from my 10.1" HDMI to LVDS driver board works perfectly. So in my mind, disconnecting my LVDS cable going to my 10.1" display from my compute module carrier board and connecting it to my 7" display should work. I can tell the back light comes on, but there is just a black image. No raspberry pie symbols during the boot sequence. Nothing...

I have tried using the following:

hdmi_timings=1280 0 64 1 5 800 0 40 1 2 0 0 0 60 0 68200000 5

Which is based on the timings found in the 7" display data sheet, which I have attached here.
Would somebody please check and see that my hdmi_timings= parameters are matching what the data sheet is saying? Maybe that is my problem.

I don't know what else to check or try. Any ideas? This would be greatly appreciated. Thank you so much!
Attachments
7-timing.jpg
7-timing.jpg (242.86 KiB) Viewed 5411 times

merefield
Posts: 3
Joined: Mon May 23, 2016 7:46 pm

Re: Custom HDMI modes

Mon Jul 01, 2019 5:02 pm

mrillinthebrain wrote:
Mon Aug 17, 2015 10:54 pm
i will never know why but max_framebuffer_height was the problem.

i have now 2560x1080 60hz 21x9 on my LG 29UM65 on raspbian(!)

here is my confix.txt

Code: Select all

hdmi_ignore_cec_init=1
hdmi_drive=2
disable_overscan=1

hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=87
hdmi_timings=2560 1 64 64 96 1080 1 3 10 31 0 0 1 60 0 185580000 8

config_hdmi_boost=4

max_framebuffer_width=2560
max_framebuffer_height=1280
framebuffer_width=2560
framebuffer_height=1080

gpu_mem=128
arm_freq=900
gpu_freq=275
sdram_freq=500
hdmi_pixel_freq_limit=400000000
avoid_pwm_pll=1
This works on the Raspberry Pi 4B :geek: with my 21:9 29" Asus monitor :cool:

Totally awesome! So nice to use the full width with a Pi!

Really appreciate you posting, thank you!!

If i'm really picky it's a bit 'teary' but that's probably an issue with Pi not keeping up with the 59Hz monitor refresh rate?

aBUGSworstnightmare
Posts: 1508
Joined: Tue Jun 30, 2015 1:35 pm

Re: STICKY: HOWTO: Create Custom HDMI modes

Mon Jul 01, 2019 6:59 pm

I'm surprised to see your posting and your hdmi_timings processed correctly. Here https://www.raspberrypi.org/forums/view ... 0#p1486790 I was told that hdmi_timings is an issue with FKMS and the recommendation is to provide the EDID dato to the firmware via edid.dat in boot directory.

Have you tested with that option as well by chance?
And. what is the effect of 'avoid_pwm_pll'?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7550
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: STICKY: HOWTO: Create Custom HDMI modes

Mon Jul 01, 2019 7:29 pm

aBUGSworstnightmare wrote:
Mon Jul 01, 2019 6:59 pm
I'm surprised to see your posting and your hdmi_timings processed correctly. Here https://www.raspberrypi.org/forums/view ... 0#p1486790 I was told that hdmi_timings is an issue with FKMS and the recommendation is to provide the EDID dato to the firmware via edid.dat in boot directory.

Have you tested with that option as well by chance?
And. what is the effect of 'avoid_pwm_pll'?
I'd expect the monitor to report the correct details in the edid, and fkms will then make the appropriate mode available.
The firmware will always switch back to one of the standard resolutions unless it is given explicit timings.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

heymac
Posts: 4
Joined: Tue Aug 06, 2019 3:44 pm

Re: STICKY: HOWTO: Create Custom HDMI modes

Fri Aug 30, 2019 11:12 am

Where does the value for hdmi_pixel_freq_limit come from ?

User avatar
antiriad
Posts: 143
Joined: Sun Nov 17, 2013 7:38 pm
Location: Italy
Contact: Twitter

Re: STICKY: HOWTO: Create Custom HDMI modes

Sat Oct 12, 2019 6:07 am

Hello,
it is true that custom video modes (hdmi_mode 87) are not supported on RPI4?

Thank you

aBUGSworstnightmare
Posts: 1508
Joined: Tue Jun 30, 2015 1:35 pm

Re: STICKY: HOWTO: Create Custom HDMI modes

Sat Oct 12, 2019 6:33 am

antiriad wrote:
Sat Oct 12, 2019 6:07 am
Hello,
it is true that custom video modes (hdmi_mode 87) are not supported on RPI4?

Thank you
seems to work for some folks.

But you might be better off with putting them into an EDID.dat file - under detailed timings section.
But this is work in progress as it requires new firmware (which is still beta at the time of writing rhis post)

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 7550
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: STICKY: HOWTO: Create Custom HDMI modes

Sat Oct 12, 2019 8:26 am

aBUGSworstnightmare wrote:
Sat Oct 12, 2019 6:33 am
antiriad wrote:
Sat Oct 12, 2019 6:07 am
Hello,
it is true that custom video modes (hdmi_mode 87) are not supported on RPI4?

Thank you
seems to work for some folks.

But you might be better off with putting them into an EDID.dat file - under detailed timings section.
But this is work in progress as it requires new firmware (which is still beta at the time of writing rhis post)
I believe the latest apt kernel does bump up to 4.19.75, in which case it does support mode 87, and will pass kms that single mode and bypass edid parsing entirely. Certainly the rpi-update firmware supports it.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

User avatar
antiriad
Posts: 143
Joined: Sun Nov 17, 2013 7:38 pm
Location: Italy
Contact: Twitter

Re: STICKY: HOWTO: Create Custom HDMI modes

Sat Oct 12, 2019 8:31 am

I did rpi-update a week ago, and I can't get dpi_mode=87 working (I'm using a VGA666). I'll check again.

May I ask which command related to KMS driver should be present in config.txt? (kms, fkms...)

Thanks

stt
Posts: 1
Joined: Sat Dec 07, 2019 3:19 pm

Re: STICKY: HOWTO: Create Custom HDMI modes

Sat Dec 07, 2019 4:03 pm

Recently I bought a 14.9" 1280x390 LTA149B780F LCD panel for a project, it comes with a controller board that by default shows a picture at 1280x768 but of course it's quite squashed. This happens with Raspbian and Windows and is likely explained by the generic controller board only returning standard 4:3, 16:9 resolutions as tested with tvservice/edidparser.

Got the display working well enough but wanted to write down some notes about it in case it helps anyone.

Here's the specsheet for the panel https://www.beyondinfinite.com/lcd/Libr ... 9B780F.pdf
Using the timings listed I couldn't get a picture it only displayed "Out of range". Plugging display via HDMI into Win10 with an NVidia card and testing custom resolutions this one gave a good picture:

Image

Specsheet says the native refresh rate is 60Hz but ~67Hz is what worked, similarly it lists pixel clock range of 31-37MHz but what works is 42MHz, I'm not sure if this is due to the controller board or what, please comment with any ideas.

Using this information here's my Raspbian configs:

/boot/config.txt:

Code: Select all

hdmi_group=2
hdmi_mode=87
hdmi_timings=1280 0 8 128 64 390 0 1 3 24 0 0 0 67 0 42009500 8
And plugging those into Tomi's calculator http://www.epanorama.net/faq/vga2rgb/calc.html it gave working xorg.conf:

Code: Select all

    HorizSync      26 - 29
    VertRefresh    66 - 68
    Modeline "1280x390"   42.0095   1280 1288 1416 1480   390 391 394 418  -hsync

Return to “Advanced users”