Advanced display settings

From SpinetiX Support Wiki

Jump to: navigation, search

This page is related to Display Settings page.

Contents

Custom configuration

Display Settings, Display tab, Configuration: Custom

In case your screen is using a non-standard resolution, you can set the HMP to output a custom video mode:

  1. Set the "Configuration type" option to "Custom".
  2. Set the "Custom video mode" field to your custom video mode (video timings), either as a CVT Mode or as a Fixed Mode.
    • Note that when setting a custom mode, some limits apply.
    • If the custom resolution is not matching the standard aspect ratio values, then the content may appear stretched - in that case, add the following attribute into your index.svg file, under svg element: preserveAspectRatio="none".
  3. Click the "Check" button to verify the validity of the custom video mode.
  4. If the custom video mode valid, click the "Apply" button.

CVT Mode

For CVT modes (VESA Coordinated Video Timings), use the following format:
<width> <height> <refresh> <type> <interlace>
  • <width>, <height> = the number of pixels (e.g. 1920, 1280, 1080, 720 etc.).
  • <refresh> = the vertical refresh rate (24, 25, 30, 50, 60)
  • For <type>, use one of the following:
    • "cvt-R" for CVT with "reduced blanking", normally OK with LCD or plasma displays
    • "cvt" for CVT compatible with CRT displays, which need longer blanking intervals
    • "cvt-Rm" is like "cvt-R" but with extra margin on the blanking intervals, to try if "cvt-R" does not work well
    • "cvt-m" is like "cvt" but with extra margin on the blanking intervals
  • For the <interlace> attribute, always write "p" since the video output of the HMP is always progressive.

For instance, the string to select 1024x768 @ 60 Hz for LCD panels with automatic aspect ratio is: 1024 768 60 cvt-R p.

Fixed Mode

For a fixed mode, completely specified by the user, use the following format:
<width> <height> <refresh> <LM> <RM> <UM> <BM> <HS> <VS> <HP><VP> <interlace>
  • <width>, <height>, <refresh> and <interlace> are the same as above.
  • LM = left-margin, number of pixel clocks between the horizontal sync end and the first active pixel, decimal integer; in VESA standards this is known as the horizontal back porch.
  • RM = right-margin, number of pixel clocks between the last active pixel and the end of the video line; decimal integer; in VESA standard this is known as the horizontal front porch.
  • UM = upper-margin, number of video lines between the vertical sync end and the first active line; decimal integer; in VESA standard this is known as the vertical back porch.
  • BM = lower-margin, number of video lines between the last active line and the end of the video frame; decimal integer; in VESA standard this is known as the vertical front porch.
  • HS = horizontal sync duration in pixel clocks.
  • VS = vertical sync duration in video lines.
  • HP = horizontal sync polarity, either the + or - character (ie high or low active, respectively).
  • VP = Vertical sync polarity, either the + or - character (ie high or low active, respectively).
    • Note that there is no space between the HP and VP characters used for the sync.

For instance, the string for the standard VGA 640x480 is: 640 480 60 48 16 33 10 96 2 -- p

Limits

Not any custom video mode is supported by the HMP. The limits of the HMP are as following:

  1. The Pixel Clock Frequency (PCF) can be between 13.5 MHz and 150 MHz for HMP200, respectively 13.5 MHz and 75 MHz for HMP130 / HMP100.
    • To calculate the pixel clock frequency (PCF) of a custom video mode, use the following formula:
      PCF = <refresh> * ( <width> + <LM> + <RM> + <HS> ) * ( <height> + <UM> + <BM> + <VS> ) / 1000000
    • You can also use the cvt linux command to calculate the PCF when having only <width>, <height> and <refresh>.
  2. The maximum values for active width (e.g. <width>), horizontal blanking (e.g. <LM> + <RM>) and total height (e.g. <height> + <UM> + <BM>) are 2047.
  3. For HMP200, there is an additional limit of active pixels (e.g. <width> * <height>) of 2 073 600 pixels.

Low resolution

In case of low resolutions, the first thing to try is to use a standard resolution (for instance 640x480) and see if the screen accepts that resolution and displays just a part of the entire image (i.e. the image is trimmed). If so, you can create a regular project and simply put your content only in a small area (with a size equal to the size of the resolution) positioned on the top-left corner.

Otherwise, the corresponding small resolution needs to be set on the HMP, which is not a straightforward process since very often the minimum PCF limit is not reached in such cases. The solution is to artificially increase the PCF past 13.5 MHz limit by increasing the blanking intervals (we recommend increasing only <RM>, <BM> and <HS>). Note that the display may or may not support such artificially large blanking intervals. Here are some examples of such custom video modes:

  • 480 160 60 56 384 3 72 80 10 -+ p (for 480 x 160 at 60Hz)
  • 320 160 60 40 320 3 120 96 10 -+ p (for 320 x 160 at 60Hz)
  • 768 48 60 96 576 3 72 288 10 -+ p (for 768 x 48 at 60Hz)
  • 192 96 60 24 480 3 180 128 10 -+ p (for 192 x 96 at 60Hz)
  • 192 288 60 24 192 6 287 48 10 -+ p (for 192 x 288 at 60Hz)
  • 288 240 60 32 280 3 105 48 10 -+ p (for 288 x 240 at 60Hz)

Troubleshooting

  • When setting a resolution of 1920x1080 on the HMP100/HMP130, you need to manually set the "Force vertical refresh" option to 24, 25 or 30Hz; depending on your screen one of these could look better. Otherwise you get an error like: "The selected settings do not result in a video mode supported by the HMP100(HMP130) [...]".
    • Note that this does not refer to the video decoding capabilities of the player. To display a Full HD video, an HMP200 must be used.
  • If the content displayed on the screen is partially truncated, then it's a problem of overscan.