Documentation/fb/modedb.rst

Source file repositories/reference/linux-study-clean/Documentation/fb/modedb.rst

File Facts

System
Linux kernel
Corpus path
Documentation/fb/modedb.rst
Extension
.rst
Size
8152 bytes
Lines
183
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

=================================
modedb default video mode support
=================================


Currently all frame buffer device drivers have their own video mode databases,
which is a mess and a waste of resources. The main idea of modedb is to have

  - one routine to probe for video modes, which can be used by all frame buffer
    devices
  - one generic video mode database with a fair amount of standard videomodes
    (taken from XFree86)
  - the possibility to supply your own mode database for graphics hardware that
    needs non-standard modes, like amifb and Mac frame buffer drivers (which
    use macmodes.c)

When a frame buffer device receives a video= option it doesn't know, it should
consider that to be a video mode option. If no frame buffer device is specified
in a video= option, fbmem considers that to be a global video mode option.

Valid mode specifiers (mode_option argument)::

    <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
    <name>[-<bpp>][@<refresh>]

with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.
Things between square brackets are optional.

Valid names are::

  - NSTC: 480i output, with the CCIR System-M TV mode and NTSC color encoding
  - NTSC-J: 480i output, with the CCIR System-M TV mode, the NTSC color
    encoding, and a black level equal to the blanking level.
  - PAL: 576i output, with the CCIR System-B TV mode and PAL color encoding
  - PAL-M: 480i output, with the CCIR System-M TV mode and PAL color encoding

If 'M' is specified in the mode_option argument (after <yres> and before
<bpp> and <refresh>, if specified) the timings will be calculated using
VESA(TM) Coordinated Video Timings instead of looking up the mode from a table.
If 'R' is specified, do a 'reduced blanking' calculation for digital displays.
If 'i' is specified, calculate for an interlaced mode.  And if 'm' is
specified, add margins to the calculation (1.8% of xres rounded down to 8
pixels and 1.8% of yres).

       Sample usage: 1024x768M@60m - CVT timing with margins

DRM drivers also add options to enable or disable outputs:

'e' will force the display to be enabled, i.e. it will override the detection
if a display is connected. 'D' will force the display to be enabled and use
digital output. This is useful for outputs that have both analog and digital
signals (e.g. HDMI and DVI-I). For other outputs it behaves like 'e'. If 'd'
is specified the output is disabled.

You can additionally specify which output the options matches to.
To force the VGA output to be enabled and drive a specific mode say::

    video=VGA-1:1280x1024@60me

Specifying the option multiple times for different ports is possible, e.g.::

    video=LVDS-1:d video=HDMI-1:D

Options can also be passed after the mode, using commas as separator.

       Sample usage: 720x480,rotate=180 - 720x480 mode, rotated by 180 degrees

Valid options are::

  - margin_top, margin_bottom, margin_left, margin_right (integer):

Annotation

Implementation Notes