At Midas Displays we provide a large selection of displays that work great with Raspberry Pi. We offer a range of sizes and resolutions for our HDMI and LVDs displays. To adjust the resolution of the Raspberry Pi to support a selection of our displays. Our MCIB-14 and MDIB-11 interface board’s offer a plug in and play connection between the display and Raspberry Pi. Some displays will need an alteration of the resolutions which can changed using our interface boards.
Raspberry Pi settings
Open the command line on the Pi and enter the following command to open the config.txt file:
Bullseye: sudo nano /boot/config.txt
Bookworm: sudo nano /boot/firmware/config.txt //New location in Bookworm, but currently untested. May also require using X11 to be enabled.
Scroll to the bottom to the [all]*1 section and add the following:
hdmi_group=2 //Sets the Pi to use Display Monitor Timings
hdmi_mode=87 //Sets the Pi to use custom resolutions
hdmi_timings=320 0 20 5 38 240 0 4 3 15 0 0 0 75 0 6500000 1 //Example, see below
Timings
The hdmi_timings section is the one you will need to change manually. Each number represents the following:
hdmi_timings=<h_active_pixels> <h_sync_polarity> <h_front_porch> <h_sync_pulse> <h_back_porch> <v_active_lines> <v_sync_polarity> <v_front_porch> <v_sync_pulse> <v_back_porch> <v_sync_offset_a> <v_sync_offset_b> <pixel_rep> <frame_rate> <pixel_freq> <aspect_ratio>
You will need to use the display’s datasheet to get the relevant information regarding each of these sections. Table 1 includes a description of each of these parts to help find them.
The following settings may also be needed:
config_hdmi_boost=4 //HDMI signal boost, used for longer cables. Higher values needed for longer cables.
disable_overscan=1 //Disables Overscan, image cropping and stretching
hdmi_force_hotplug=1 //Forces the HDMI to run in hotplug mode
hdmi_ignore_edid=0xa5000080 //Forces the HDMI to output 1920x1080p
*1 This can also be either put in the [HDMI 1] or [HDMI 2] if specific ports are needed.
Table 1:
Description | |
---|---|
h_active_pixels | Horizontal pixels (width/rows/X) |
h_sync_polarity | Invert HSYNC polarity |
h_front_porch | Horizontal padding from DE active edge |
h_sync_pulse | HSYNC pulse width in pixel clocks |
h_back_porch | Vertical back padding from DE active edge |
v_active_lines | Vertical Pixel height (lines/columns/Y) |
v_sync_polarity | Invert VSYNC polarity |
v_front_porch | Vertical forward padding from DE active edge |
V_sync_pulse | VSYNC pulse width in pixel clocks |
V_back_porch | Vertical back padding from DE active edge |
V_sync_offset_a | Leave at zero |
V_sync_offset_b | Leave at zero |
Pixel_rep | Leave at zero |
Frame_rate | Screen refresh rate in Hz |
interlaced | Leave at zero |
pixel_freq | clock frequency (h_active_pixels + h_front_porch + h_sync_pulse + h_back_porch)* (v_active_lines + v_front_porch + v_sync_pulse + v_back_porch)* framerate |
aspect_ratio | Use Table 2 and use the closest aspect ratio to your application |
Table 2:
aspect_ratio | Aspect Ratio | Value |
---|---|---|
HDMI_ASPECT_4_3 | 4:3 | 1 |
HDMI_ASPECT_14_9 | 14:9 | 2 |
HDMI_ASPECT_16_9 | 16:9 | 3 |
HDMI_ASPECT_5_4 | 5:4 | 4 |
HDMI_ASPECT_16_10 | 16:10 | 5 |
HDMI_ASPECT_15_9 | 15:9 | 6 |
HDMI_ASPECT_21_9 | 21:9 | 7 |
HDMI_ASPECT_64_27 | 64:27 | 8 |
Once the code has been added, you can save it with CTRL+O, then CTRL+Y. Use CTRL+X to exit.
Source: Raspberry Pi Text
Add images