d33pblue
Posts: 2
Joined: Wed Oct 26, 2016 11:37 am

Re: HOWTO: Create Custom HDMI modes

Wed Oct 26, 2016 11:55 am

I have a SONY PVM 14M4E (Awesome !!) and the provided hdmi timings work very good. You can see the current progress i made on youtube

https://www.youtube.com/watch?v=gjUBQKyeWlQ

But i need many more different resoultions/timings but its hard or nearby impossible for me to get an understanding how the values are beeing defined or calculated. All i can find are modeline settings thus i can´t use. I spend almost 6 hours -ended with a very bad headache- with a stupid trial and error method to seek for a stable image. So far, i got these two to work

384 1 0 11 28 224 1 30 0 30 0 0 0 60 0 6400000 1 #384:224x60 - CPS1 + CPS2 + CPS3
240 1 54 48 54 160 1 50 10 60 0 0 0 60 0 6400000 1 #240:160x60 - GBA

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

Re: HOWTO: Create Custom HDMI modes

Thu Oct 27, 2016 8:17 am

d33pblue wrote:I have a SONY PVM 14M4E (Awesome !!) and the provided hdmi timings work very good. You can see the current progress i made on youtube

https://www.youtube.com/watch?v=gjUBQKyeWlQ

But i need many more different resoultions/timings but its hard or nearby impossible for me to get an understanding how the values are beeing defined or calculated. All i can find are modeline settings thus i can´t use. I spend almost 6 hours -ended with a very bad headache- with a stupid trial and error method to seek for a stable image. So far, i got these two to work

384 1 0 11 28 224 1 30 0 30 0 0 0 60 0 6400000 1 #384:224x60 - CPS1 + CPS2 + CPS3
240 1 54 48 54 160 1 50 10 60 0 0 0 60 0 6400000 1 #240:160x60 - GBA
Sorry, but can you please explain what/why you need more resolutions/timings? The details behind these numbers are available from this post. In case you don't know what is a front-porch, back porch etc. I would suggest to use google/wiki for studying this.
Only you (or others using the same screen as you) will be able to support you in 'finding' the right timings. In case of using a TFT the timing detials are in the spec sheet, so you can start working from this.

ironic-FR
Posts: 6
Joined: Fri Aug 26, 2016 8:12 pm

Re: HOWTO: Create Custom HDMI modes

Fri Oct 28, 2016 6:45 pm

Others Timings :

hdmi_timings=320 1 17 33 34 224 1 14 8 18 0 0 0 60 0 6400000 1
hdmi_timings=320 1 12 32 44 240 1 6 10 6 0 0 0 60 0 6400000 1
hdmi_timings=506 1 8 44 52 240 1 6 10 6 0 0 0 60 0 9600000 1
hdmi_timings=990 1 22 94 116 240 1 6 10 6 0 0 0 60 0 19200000 1
hdmi_timings=1920 1 52 208 260 240 1 6 10 6 0 0 0 60 0 38400000 1

With 1920x240 timings and NO Hardware Bilinear Filtering, the result is ... Wonderful/Awesome !!

To calculate Timings, i use a software : Custom Resolution Utility
This software is not to calculate CRT timings but can be used to.
Use "Detailed resolution" - "Edit BUTTON" and Play !

d33pblue
Posts: 2
Joined: Wed Oct 26, 2016 11:37 am

Re: HOWTO: Create Custom HDMI modes

Sat Oct 29, 2016 9:27 am

Sorry, but can you please explain what/why you need more resolutions/timings?
This is easy to explain. Many arcade titles or consoles use a very wide range of resolutions. It depends on the game. For example, games for NEC PC Engine/Turbo Grafx16 run in almost 3 different ones, like 256×224 or320×224 or 512×256 (interlaced)

User avatar
rpdom
Posts: 11860
Joined: Sun May 06, 2012 5:17 am
Location: Essex, UK

Re: HOWTO: Create Custom HDMI modes

Sat Oct 29, 2016 9:36 am

Those timings would only be useful if the display supports them.

If not, you may be able to use the framebuffer settings and let the hardware resize the displayed output to fit the screen.

mortaca
Posts: 7
Joined: Fri Oct 14, 2016 11:11 am

Re: HOWTO: Create Custom HDMI modes

Tue Nov 01, 2016 11:41 am

ironic-FR I am using CRU 1.3 and does not generate the same values as you.

Image

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

Re: HOWTO: Create Custom HDMI modes

Sun Nov 06, 2016 2:37 pm

Hi, it seems that we are trying to achieve the same goal by different starting points.

On the Recalbox forum I proposed to use the VGA 666 as "breakout" for CRT TV (ironic-FR, I'm Scandy ;) ).
Then I saw on Youtube the video of d33pblue.

At least for arcade emulation, IMHO there is no need to search for each single video mode.
AdvanceMAME has yet the ability (from the readme) of
Automatic creation of `perfect' video modes with the correct size and clock.
Actually I've compiled and tested latest release (1.5) on my good old RPi 1, and in HDMI (my VGA 666 is on the go) actually it does switch automatically to the best / more faithful resolution available for each single game (if device_video_clock in advancemame.rc allows it).

My idea, when I will receive the VGA 666 and the VGA - SCART cable, is to understand better how to combine the two.

In the meantime I'm in contact with Andrea (author of AdvanceMAME) to inform him about all these possibilities.

UPDATE:
It seems that the creation of custom video modes with non-square pixel (very common in arcades) is actually possible via HDMI / GPIO through a "bug" of the firmware which makes the parameter sdtv_aspect = 1 valid also for the HDMI output.
For the latest firmware update we have proposed to transform this "bug" in a feature that really opens up many new possibilities in preservation and emulation of old hardware.
More here.

Grasshopper2
Posts: 14
Joined: Sat Feb 20, 2016 11:54 am

Re: HOWTO: Create Custom HDMI modes

Sun Dec 11, 2016 7:53 pm

antiriad wrote:Hi, it seems that we are trying to achieve the same goal by different starting points.

On the Recalbox forum I proposed to use the VGA 666 as "breakout" for CRT TV (ironic-FR, I'm Scandy ;) ).
Then I saw on Youtube the video of d33pblue.

At least for arcade emulation, IMHO there is no need to search for each single video mode.
AdvanceMAME has yet the ability (from the readme) of
Automatic creation of `perfect' video modes with the correct size and clock.
Actually I've compiled and tested latest release (1.5) on my good old RPi 1, and in HDMI (my VGA 666 is on the go) actually it does switch automatically to the best / more faithful resolution available for each single game (if device_video_clock in advancemame.rc allows it).

My idea, when I will receive the VGA 666 and the VGA - SCART cable, is to understand better how to combine the two.

In the meantime I'm in contact with Andrea (author of AdvanceMAME) to inform him about all these possibilities.

UPDATE:
It seems that the creation of custom video modes with non-square pixel (very common in arcades) is actually possible via HDMI / GPIO through a "bug" of the firmware which makes the parameter sdtv_aspect = 1 valid also for the HDMI output.
For the latest firmware update we have proposed to transform this "bug" in a feature that really opens up many new possibilities in preservation and emulation of old hardware.
More here.
Hi antiriad,

What you need to bear in mind is that, when you change the framebuffer resolution on the RPi, the RPi's framebuffer driver actually uses GPU scaling to create the new display mode. The signal being sent to the TV/Monitor doesn't actually change at all. This is very different to how most (all?) Linux framebuffer drivers work in the PC world. If you change the framebuffer resolution on a PC running Linux, the actual signal being sent to the monitor is changed.

I mention this because Advance MAME uses the framebuffer driver to create custom screen resolutions, and therefore, on the RPi, Advance MAME doesn't actually create 'perfect' video modes with the correct size and clock.

If you're using a modern LCD monitor this doesn't really matter, because ultimately, the image will always be displayed at the monitor's native resolution, with the scaling being done by either the monitor itself, or the RPi's GPU. However, if you're using an older CRT monitor, you will obviously get better results by creating a genuine custom video mode with the correct size and clock.

Incidentally, when I run Advance MAME on my Raspberry Pi, I have my device_video_clock parameter set as follows:

device_video_clock 1 - 200 / 1 - 200 / 1 - 200

This setting basically gives Advance MAME complete freedom to create any display mode it wants. On the RPi, there is no need to place restrictions on what modes can be created (based on the scanning range of your monitor), because the signal to the monitor is not actually changed.

What people who use CRT monitors really need is a reliable means of creating custom display modes on the RPi without having to carry out a reboot. I started a thread on GitHub about this issue some time ago, and I notice that Andrea has just contributed to it.

https://github.com/raspberrypi/firmware/issues/637

As you're in contact with Andrea, could you ask him whether a facility could be added to Advance MAME to enable a shell script to be run (with appropriate parameters) every time a custom display mode is required. This shell script could then run the vcgencmd, tvservice and fbset commands, with the supplied parameters, to enable the custom mode to be created.

Thanks

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

Re: HOWTO: Create Custom HDMI modes

Mon Dec 12, 2016 8:18 am

Grasshopper2 wrote:
Hi antiriad
...
Hi Grasshopper2, just take a look at latest AdvanceMAME release (3.0) with official Raspberry support.

If properly set (after setting device_video_clock, also display_adjust should be set to generate_) it gives real native resolution with vcgencmd (of course only on HDMI and GPIO video output).

Grasshopper2
Posts: 14
Joined: Sat Feb 20, 2016 11:54 am

Re: HOWTO: Create Custom HDMI modes

Mon Dec 12, 2016 12:05 pm

antiriad wrote:
Hi Grasshopper2, just take a look at latest AdvanceMAME release (3.0) with official Raspberry support.

If properly set (after setting device_video_clock, also display_adjust should be set to generate_) it gives real native resolution with vcgencmd (of course only on HDMI and GPIO video output).
Nice. I didn't realise that Andrea Mazzoleni was still actively developing Advance MAME.

But are the new v3.0 features documented anywhere? I'm not seeing any RPi specific instructions anywhere on the website.

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

Re: HOWTO: Create Custom HDMI modes

Mon Dec 12, 2016 12:09 pm

Here the changelog.

The documentation of AdvanceMAME for Linux is now valid also for RPi.
If you need help, just ask ;)

Grasshopper2
Posts: 14
Joined: Sat Feb 20, 2016 11:54 am

Re: HOWTO: Create Custom HDMI modes

Mon Dec 12, 2016 12:23 pm

antiriad wrote:Here the changelog.

The documentation of AdvanceMAME for Linux is now valid also for RPi.
If you need help, just ask ;)
I'm still not seeing anything specific. All the instructions say is that "With a Raspberry Pi you have the same support you have in Linux, plus some specific Raspberry functionalities, like the accelerated Framebuffer". But no further details are provided about the specific Raspberry Pi functionalities.

Maybe I should contact Andrea directly, or start a new thread about Advance MAME 3.0. Do you know whether Andrea has an account on this forum?

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

Re: HOWTO: Create Custom HDMI modes

Mon Dec 12, 2016 12:48 pm

Grasshopper2 wrote: Maybe I should contact Andrea directly, or start a new thread about Advance MAME 3.0. Do you know whether Andrea has an account on this forum?
For sure you can start a new thread on AdvanceMAME forum but I can't understand what do you mean with "specific Raspberry Pi functionalities".
Previous versions of AdvanceMAME had serious issues on RPi about audio, vsync etc., but Andrea has finally released this 3.0 version with official RPi support.
This means that, by now, you can easily compile AdvanceMAME on RPi and have same features of a PC with Linux/DOS (best video mode via framebuffer, or native video mode even at 15 Khz on arcade monitors) because now AdvanceMAME use specific instructions also for RPi (accelerated FB and vcgencmd for video mode switch).
No specific or further documentation is really needed for RPi apart from the docs yet on the website.

Chips
Posts: 188
Joined: Sat Aug 18, 2012 8:21 pm

Re: HOWTO: Create Custom HDMI modes

Sun Feb 12, 2017 4:42 pm

mortaca wrote:ironic-FR I am using CRU 1.3 and does not generate the same values as you.

Image
The value you're indicating are ideal/theoretical, but current rpi implementation support only a limited set of pixel freq (4800000, 6400000, 9600000...) hence in your example you had pixel clock of 6080000 which is not supported.

This tool is usable in the following way: first set CRT standard with resolution you want in 60Hz, then adapt pixel clock with rpi compatible one (increasing will result of narrower result and decreasing will result of more overscan) calculate vsync width using rule of three then play with back & front porch in order to be close to 60Hz for vertical and 15Khz for horizontal. If the screen is not well centered then balance between front & back porch.

Due to limitation, for some resolutions it's hard to find something acceptable: for CPS resolution (384 x 224) I either get too much overscan with 6400000 pixel clock (color even reflect from border :( ) or too narrow in 9600000

Anyway here is what I use for CPS (narrow version):

hdmi_timings=384 1 75 32 115 224 1 14 10 18 0 0 0 60 0 9600000 1 # CPS

There is an issue submitted in github regarding pixel clock limitation, we will see if they can do something...

r.home2061
Posts: 2
Joined: Mon Feb 13, 2017 2:33 am

Re: HOWTO: Create Custom HDMI modes

Mon Feb 13, 2017 2:45 am

I'm an owner of a DELL U2913WM and after the update to KODI 17 the custom hdmi mode doesn't work anymore.
After some trouble, now it works again for me and i'm happy to share this to anybody whos need.

These are my config.txt excerpt:

hdmi_drive=2
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=87
hdmi_aspect_21_9=7
hdmi_pixel_freq_limit=400000000
hdmi_cvt=2560 1080 50 7 0 0 1
config_hdmi_boost=4
max_framebuffer_width=2560
max_framebuffer_height=1080
framebuffer_width=2560
framebuffer_height=1080

I hope this will work for you, too.
If you had some improvement, please share it.

THX
greetings

rmast
Posts: 5
Joined: Fri Dec 25, 2015 11:52 am

Re: HOWTO: Create Custom HDMI modes

Sat Mar 04, 2017 12:22 am

With a bit trial and error I finally found the 576i HDMI setting in hdmi_timings, as to be able to modify these timings slightly, but I'm afraid my cheap chinese HDMI to CVBS converter just can't cope with PAL-color well, as the upper part of the screen has a color error. Luckily my TV supports NTSC-color even with PAL-timings.

hdmi_timings=1920 1 48 192 240 576 1 6 3 16 0 0 2 50 1 37560000 1 # perfect
hdmi_timings=960 1 24 96 120 576 1 6 3 16 0 0 1 50 1 18780000 1 # perfect

By the way, the pixel_rep-value of 2 makes the pixels wider with a higher pixel-clock.

Pnnkk
Posts: 1
Joined: Sat Mar 04, 2017 12:33 am

Re: HOWTO: Create Custom HDMI modes

Sat Mar 04, 2017 12:48 am

Hi, I bought this monitor to my pi 2: https://www.aliexpress.com/store/produc ... 49776.html
But it doesn´t work correctly. Look at it here: https://www.pixeltopic.com/image/rgxrhz ... ?size=full

I´ve tried to change the resolution in config.txt to 2048x1536, but it only makes it even smaller :?

Does anyone have any tips on how to fix it?

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

Re: HOWTO: Create Custom HDMI modes

Sun Mar 05, 2017 9:00 am

Read this thread to get an idea what to do viewtopic.php?f=38&t=79330

User avatar
ab1jx
Posts: 403
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: HOWTO: Create Custom HDMI modes

Mon Mar 27, 2017 3:21 pm

Love to find source code to CRU so it's useful under something besides Windoze. There was a modeline calculator I think, videogen in the Raspbian debs is close, not what I'm thinking of.

Anyway I have an Axess TVD1801-13 which has a native 1366x768 (not 1360) resolution and it looks much better using CVT
# Trying for a 1366x768 mode for my Axess
hdmi_cvt 1366 768 60 3 0 0 0
hdmi_group=2
hdmi_mode=87
It's marketed as a TV with HDMI, VGA and RCA inputs, also has a built-in DVD player, comes in several sizes from 13 to 42 inch, runs on 12 volts, plays MP3s, and it's cheap being Chinese. https://www.axessusa.com/product/tvd180 ... dvd-player I've had mine about 6 months and still like it. Paid $140 for the 13 inch version.
Last edited by ab1jx on Mon Mar 27, 2017 6:21 pm, edited 1 time in total.

mortaca
Posts: 7
Joined: Fri Oct 14, 2016 11:11 am

Re: HOWTO: Create Custom HDMI modes

Mon Mar 27, 2017 5:51 pm

rmast wrote: hdmi_timings=1920 1 48 192 240 576 1 6 3 16 0 0 2 50 1 37560000 1 # perfect
hdmi_timings=960 1 24 96 120 576 1 6 3 16 0 0 1 50 1 18780000 1 # perfect
Why interlaced modes don't work by the DPI output?

Image

How to is possible active the interlaced mode over DPI?

shookis
Posts: 1
Joined: Sat Apr 01, 2017 9:59 pm

Re: Custom HDMI modes

Sat Apr 01, 2017 10:10 pm

darseneau wrote:
dom wrote: 2560x1080 is not possible. 1920x1200 is the maximum resolution supported.
Is that a firmware limitation at present, as I had supposed, or a hardware limit of the gpu?
I have an LG 2560x1080 display and I was able to get it working using the following:
hdmi_timings=2560 0 48 32 80 1080 0 7 20 12 0 0 0 52 0 159838855 7
hdmi_group=2
hdmi_mode=87
hdmi_drive=2
framebuffer_width=2560
max_framebuffer_width=2560
framebuffer_height=1080
hdmi_pixel_freq_limit=160000000

I know this hdmi_timings from a somewhat painful experience in getting the same display to work with a somewhat older mac mini (mid 2011) which didn't support it out of the box.

Arretu
Posts: 3
Joined: Fri Jan 13, 2017 1:51 am

Re: HOWTO: Create Custom HDMI modes

Mon Apr 03, 2017 6:41 pm

Hey folks,

In the middle of a MagicMirror project, but having some (hopefully) timings related issues.

I'm using a CLAA102NA0ACW panel on a VS-TY2662-V1 controller.

While I can get an image, the colours are hilariously wrong, text is hard to read and seems to "wobble". This happens both with my Rpi and my laptop. I honestly don't know enough about the topic to be sure if this can be fixed by timing changes or not, I suppose it could also be damaged hardware or pretty much anything else. If anyone is able to point me in the right direction, I'd be hugely appreciative.

So far, I've tried using config_hdmi_boost=4 to no avail, as well as trying out hdmi_cvt=1024 600 60 and forcing the use of that profile, but neither have solved the problem.

phiber
Posts: 1
Joined: Wed May 10, 2017 12:52 am

Re: HOWTO: Create Custom HDMI modes

Wed May 10, 2017 1:02 am

I'm curious if anyone has created custom 21:9 hdmi resolutions, such as 2048 x 864, or 1920 x 800?

Geekworm
Posts: 27
Joined: Wed May 03, 2017 9:26 am
Location: China
Contact: Website

Re: HOWTO: Create Custom HDMI modes

Wed May 10, 2017 2:57 am

Thanks for sharing!
Geekworm Official Store!
Contact: gk@geekworm.net
Know more Raspberry Pi Related Product Information: http://www.raspberrypiwiki.com/index.php/Product_Manual#Raspberry_Pi

matinzk
Posts: 35
Joined: Fri Sep 28, 2012 4:26 pm
Location: UK

Re: HOWTO: Create Custom HDMI modes

Sat May 13, 2017 6:54 pm

I have a 12.3" bar type (ultra wide) LCD with 1920x720 pixels resolution.

When I set the config.txt to this resolution I get some distorted pixels at the bottom of the LCD. Any ideas how I can get rid of them?

This is the contents of the confg.txt file:-

Code: Select all

arm_freq=700
gpu_freq=250
gpu_mem=128

hdmi_force_hotplug=1

hdmi_drive=2
hdmi_ignore_edid=0xa5000080

hdmi_group=2
hdmi_mode=87

hdmi_cvt 1920 720 60 6 0 0 1
framebuffer_depth=16
					  
config_hdmi_boost=4

disable_overscan=1
Also here is an image
Image


Any help is much appreciated.

Thank you.

Return to “Advanced users”

Who is online

Users browsing this forum: itimpi and 16 guests