Tux
Communication
Mailing lists
Documentation
User Manual
Target board info.
Target chip info.
Support
Linux support
Bugzilla
Downloads
STLinux
Updates
Search
Google


The web
stlinux.com
Graphics and Video Drivers
Using fbset
ST Logo

Introduction

The ST Linux distribution provides a standard application called fbset, which allows you to query and change the framebuffer configuration dynamically after the framebuffer driver has been loaded. For example, to view the current display parameters, use:

target# fbset

mode "720x576-50"
    # D: 13.500 MHz, H: 15.625 kHz, V: 50.000 Hz
    geometry 720 576 720 2083 16
    timings 74074 80 0 43 0 64 6
    laced true
    rgba 5/11,6/5,5/0,0/0
endmode

fbset can be used to change the display mode, virtual vertical dimensions and colour format. The full list of options for the version of fbset supplied can be obtained using:

target# fbset --help

When the kernel does not have virtual terminal support enabled fbset effectively controls the physical display. However when virtual terminals are enabled fbset controls the mode associated with the currently active virtual terminal. For more information see the Virtual Terminals User Guide.

Colour Formats

The colour depth of the framebuffer can be changed using the -depth option, for example:

target# fbset -depth 32

This will pick a default pixel format for the colour depth if more than one exists. Alternatively the actual pixel format could be specified like this:

target# fbset -depth 16 -rgba 5,5,5,1

Which would select ARGB1555, instead of the default 16bit format RGB565. The following colour formats are supported on the STi5528 and STm8000.

Colour Formats
Bitdepth Formats
16 RGB565, ARGB1555, ARGB4444
24 RGB888
32 ARGB8888

Note that two modes commonly available on other devices, the 16bit mode RGBx555 and the 32bit mode RGB888 (top byte unused), are not supported on STi5528 and STm8000.

Changing the colour depth will change the amount of graphics memory required by the driver. If the new format cannot fit into the memory allocated, when the driver module was loaded, then fbset will return an error. On ST devices, changing the colour depth of the framebuffer can be done without stopping and resetting the display system.

Changing Display Mode

fbset can also be used to change the display mode timings. This can be done using its individual options for size and pixel clock. However there is a more convenient method, by using the predefined modes listed in /etc/fb.modes . For example:

target# fbset 720x480-59i

will select the previously mentioned 720x480@59.94Hz interlaced mode. Note that all the modes listed in /etc/fb.modes will select the default 16bit colour format, however additional options can be given, e.g.

target# fbset 720x576-50i -depth 32

fbset will fail if there is insufficient framebuffer memory (as specified when the module is loaded) for the new configuration. Additionally, not all display modes are available on all platforms.

Supported Modes
Platform Modes
STi5528 All interlaced SD modes
STm8000 720x480-59i, 720x576-50i, 720x483-59p, 720x576-50p

The framebuffer driver will also refuse to change the display mode if another API, such as V4L2, has an active "plane" visible on the display. On ST devices, more than one API may be used to control a number of display surfaces (planes) which are composed together to produce the final image seen on the screen. The framebuffer driver uses just one of those planes for the actual framebuffer surface.

The framebuffer driver determines the display timings to use entirely from the X and Y resolution, the pixelclock and the "laced" (interlaced) flag. The margins and H&V sync parameters are not used. Additionally the display positioning controls are not supported at this time.

Broadcast Colour Standards

When the framebuffer driver is installed a default mode with a particular broadcast standard (PAL, NTSC, SECAM) is selected. The framebuffer API has no understanding of this concept, so there is no explicit way of selecting the broadcast standard. This would not be an issue if each standard had a unique timing mode, but they don't. So when changing the display mode, the framebuffer driver uses the choices shown below, based on the broadcast standard of the default mode.

Broadcast Standard Selection
Mode PAL NTSC SECAM
720x480-60i NTSC NTSC NTSC
720x480-59i PAL-M NTSC NTSC
640x480-60i NTSC NTSC NTSC
640x480-59i PAL-M NTSC NTSC
720x576-50i PAL-BDGHI PAL-BDGHI SECAM
768x576-50i PAL-BDGHI PAL-BDGHI SECAM

Note the the PAL-N standard is not currently supported.

Valid HTML 4.01! Last updated: 2007/08/22 10:30:38
© Copyright STMicroelectronics Limited, 2005
Printer