|
IntroductionThe 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:
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:
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 FormatsThe colour depth of the framebuffer can be changed using the -depth option, for example:
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:
Which would select ARGB1555, instead of the default 16bit format RGB565. The following colour formats are supported on the 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 Modefbset 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:
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.
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.
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 StandardsWhen 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.
Note the the PAL-N standard is not currently supported. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||