(→Future improvements) |
(→Configuration file examples) |
||
| Line 125: | Line 125: | ||
== Configuration file examples == | == Configuration file examples == | ||
| - | + | ||
| - | + | <pre> | |
| + | # Parameter configuration for blts-fbdev | ||
| + | |||
| + | # Valid framebuffer devices for HW. | ||
| + | [parameter] | ||
| + | name framebuffer_device | ||
| + | const "/dev/fb0" | ||
| + | [end_parameter] | ||
| + | |||
| + | # Valid backlight subsystem for HW | ||
| + | [parameter] | ||
| + | name backlight_subsystem | ||
| + | const "/sys/class/backlight/<enter_valid_sysfs_entry_here>" | ||
| + | [end_parameter] | ||
| + | |||
| + | # Minimum light level | ||
| + | [parameter] | ||
| + | name minimum_level | ||
| + | const 0 | ||
| + | [end_parameter] | ||
| + | |||
| + | # Maximum light level | ||
| + | [parameter] | ||
| + | name maximum_level | ||
| + | const 255 | ||
| + | [end_parameter] | ||
| + | |||
| + | # Minimum light level for logarithmic tests | ||
| + | [parameter] | ||
| + | name logarithmic_min | ||
| + | const 1 | ||
| + | [end_parameter] | ||
| + | |||
| + | # Maximum light level for logarithmic tests | ||
| + | [parameter] | ||
| + | name logarithmic_max | ||
| + | const 255 | ||
| + | [end_parameter] | ||
| + | |||
| + | # Test case configurations | ||
| + | [test] | ||
| + | name "Core-Framebuffer read frame buffer information with ioctl" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Framebuffer set blanking levels" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Framebuffer 1-pixel uncached read" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Framebuffer 1-pixel uncached write" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Framebuffer 1-pixel uncached modify" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Framebuffer fullscreen buffer read" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Framebuffer fullscreen buffer write" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Framebuffer fullscreen buffer modify" | ||
| + | params framebuffer_device | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Backlight verify backlight levels" | ||
| + | params backlight_subsystem minimum_level maximum_level | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Backlight linear backlight level changes" | ||
| + | params backlight_subsystem minimum_level maximum_level | ||
| + | [end_test] | ||
| + | |||
| + | [test] | ||
| + | name "Core-Backlight logarithmic backlight level changes" | ||
| + | params backlight_subsystem logarithmic_min logarithmic_max | ||
| + | [end_test] | ||
| + | </pre> | ||
= Module Design and Architecture = | = Module Design and Architecture = | ||
Contents |
The framebuffer device is a device-independent interface for reading and writing raw data to the video memory. Uses of the device typically include things like text consoles, graphical boot progress indicators and so on. It is also possible to use the framebuffer device as a X11 window system display device.
The framebuffer device is typically used by memory-mapping the device file. The fbdev kernel driver translates any operations to the device-specific display driver. The blts-fbdev-tests asset tests the functionality and performance of this subsystem.
The display backlight driver registers a sysfs based directory upon device activation. This is how the blts-fbdev-tests asset uses the backlight system to change display brightness.
Sources can be found in gitorius:
To clone a copy of the repository, see guides in:
Latest binary release is planned to be available via MeeGo OBS, see MeeGo Build Infrastructure for more information.
Check the package README file (essentially contains same info as this page):
Supported
Not supported
blts-fbdev-tests (0.0.8) is testing Linux kernel framebuffer ioctls and backlight subsystem via sysfs. The test driver accesses /dev/fbX directly with open(), close(), ioctl() and m(un)map(). Sysfs is accessed directly via fopen(), fprintf(), fscanf() and fclose().
Hardware coverage is device-dependent, but includes at least the data path diplay device - video memory - system memory.
Current framebuffer coverage matrix:
The build environment must have the following packages installed:
The source package includes the pack.sh script, which is used for building RPM and Debian packages and source tar packages. To build an RPM package with the script, execute this command in the top level source directory of asset:
./pack.sh -r
To get help about the packaging script, execute
./pack.sh -h
The asset can also be built manually by executing:
./autogen.sh ./configure make
# Parameter configuration for blts-fbdev # Valid framebuffer devices for HW. [parameter] name framebuffer_device const "/dev/fb0" [end_parameter] # Valid backlight subsystem for HW [parameter] name backlight_subsystem const "/sys/class/backlight/<enter_valid_sysfs_entry_here>" [end_parameter] # Minimum light level [parameter] name minimum_level const 0 [end_parameter] # Maximum light level [parameter] name maximum_level const 255 [end_parameter] # Minimum light level for logarithmic tests [parameter] name logarithmic_min const 1 [end_parameter] # Maximum light level for logarithmic tests [parameter] name logarithmic_max const 255 [end_parameter] # Test case configurations [test] name "Core-Framebuffer read frame buffer information with ioctl" params framebuffer_device [end_test] [test] name "Core-Framebuffer set blanking levels" params framebuffer_device [end_test] [test] name "Core-Framebuffer 1-pixel uncached read" params framebuffer_device [end_test] [test] name "Core-Framebuffer 1-pixel uncached write" params framebuffer_device [end_test] [test] name "Core-Framebuffer 1-pixel uncached modify" params framebuffer_device [end_test] [test] name "Core-Framebuffer fullscreen buffer read" params framebuffer_device [end_test] [test] name "Core-Framebuffer fullscreen buffer write" params framebuffer_device [end_test] [test] name "Core-Framebuffer fullscreen buffer modify" params framebuffer_device [end_test] [test] name "Core-Backlight verify backlight levels" params backlight_subsystem minimum_level maximum_level [end_test] [test] name "Core-Backlight linear backlight level changes" params backlight_subsystem minimum_level maximum_level [end_test] [test] name "Core-Backlight logarithmic backlight level changes" params backlight_subsystem logarithmic_min logarithmic_max [end_test]
The test asset (blts-fbdev-tests) is built directly on top of the Linux kernel. Backlight tests use sysfs to test the functionality. The asset has been test to work with at least following Linux kernel versions: 2.6.28, 2.6.31 and 2.6.32.
The test driver should attemp to access the edges of the reported display area. Advanced improvements might include things like external camera use to determine whether the output from the test driver matches the actual on-screen results, aka test automation.