The
directfbrc
file is a configuration file read by all DirectFB applications on startup.
There are two of these: a system-wide one stored in
/etc/directfbrc
and a per-user
$HOME/.directfbrc
which may override system settings.
The same parameters that can be used in the
directfbrc
file can also be passed to DirectFB applications on the command-line
by prefixing them with
--dfb:
SYNTAX
The
directfbrc
file contains one parameter per line. Comments are introduced by a
hash sign (#), and continue until the end of the line. Blank lines
are ignored.
Most parameters are switches that turn certain features on or off.
These switches have a no- variant that disables the feature. This
man-page describes the positive variant and will also note which
setting is the compiled-in default.
PARAMETERS
The following parameters may be specified in the
directfbrc
file:
fbdev=<device>
Opens the given frame buffer device instead of /dev/fb0.
mode=<width>x<height>
Sets the default screen resolution. If unspecified DirectFB will use
the first mode from
/etc/fb.modes
Some frame buffer devices (namely vesafb) don't support mode switches
and can only be used in the resolution that is set on boot time.
depth=<pixeldepth>
Sets the default pixel depth in bits per pixel. If unspecified
DirectFB will use the depth specified in the first mode from
/etc/fb.modes
DirectFB supports color depths of 15, 16, 24 and 32 (support for 8 bit
can optionally be compiled in as well). What values are available
depends on the frame buffer device you are using. Some frame buffer
devices (namely vesafb) don't support mode switches at all and can
only be used in the pixel depth that is set on boot time.
quiet
Suppresses console output from DirectFB. Only error messages will be
displayed.
[no-]banner
Enables the output of the DirectFB banner at startup. This is on by
default.
[no-]debug
Enables debug output. This is on by default but you won't see any
debug output unless you compiled DirectFB with debugging support.
force-windowed
Forces the primary surface to be a window. This allows to run
applications that were written to do fullscreen access in a window.
[no-]hardware
Turns hardware acceleration on. By default hardware acceleration is
autodetected. If you disable hardware acceleration, the driver for
your graphics card will not be loaded and all graphics operations will
be performed by the software renderer.
[no-]sync
Flushes all disk buffers before initialising DirectFB. This can be
useful if you working with experimental device drivers and expect
crashes. The default is not to sync.
[no-]mmx
The no-mmx options allows to disable the use of MMX routines even if
support for MMX was detected. By default MMX is used if is available
and support for MMX was compiled in.
[no-]argb-font
Instead of using A8 surfaces (alpha masks), load glyphs into ARGB
surfaces. This uses more memory but some graphics cards do weird
things with A8 surfaces. Try this option if your fonts look strange.
[no-]sighandler
By default DirectFB installs a signal handler for a number of signals
that cause an application to exit. This signal handler tries to
deinitialize the DirectFB engine before quitting the application.
Use this option to enable/disable this feature.
dont-catch=<num>[[,<num>]...]
As described with the
sighandler
option, DirectFB installs a signal handler for a number of signals.
By using this option you may specify a list of signals that shouldn't
be handled this way.
[no-]deinit-check
By default DirectFB checks if the application has released all allocated
resources on exit. If it didn't, it will clean up after the application.
This option allows to switch this feature on or off.
[no-]vt-switch
By default DirectFB allocates a new virtual terminal and switches to
it.
[no-]vt-switching
Allow to switch virtual terminals using <Ctrl>+<Alt>+<F?>. This is an
experimental feature that is usually disabled; use at your own risk.
[no-]graphics-vt
Puts the virtual terminal into graphics mode. This has the advantage
that kernel messages won't show up on your screen while the DirectFB
application is running.
[no-]motion-compression
Usually DirectFB compresses mouse motion events. This means that
subsequent mouse motions are delivered to the application as a single
mouse motion event. This leads to a more responsive but less exact
mouse handling.
mouse-protocol=<protocol>
Specifies the mouse protocol to use for a serial mouse. The following
protocols are supported:
MS
Two button mouse using the Microsoft mouse protocol.
MS3
Three button mouse using an extended Microsoft mouse protocol.
MouseMan
Three button mouse using a different extension to the Microsoft mouse
protocol introduced by Logitech.
MouseSystems
The most commonly used protocol for three button mice.
The different protocols for serial mice are described in more detail
in mouse(4).
[no-]lefty
Swaps left and right mouse buttons. Useful for left-handers.
[no-]cursor
By default DirectFB shows a mouse cursor when an applications make use
of windows. This options allows to switch the cursor off. Note that
applications may nevertheless switch it on explicitely.
bg-none
Completely disables background handling. Doesn't make much sense since
the mouse and moving windows will leave ugly traces on the background.
bg-color=AARRGGBB
Controls the color of the background. The color is specified in
hexadecimal notation. The alpha value defaults to full opacity and may
be omitted. For example to choose a bright magenta background, you'd
use bg-color=FF00FF.
bg-image=<filename>
Fills the background with the given image file. The image is stretched to
fit to the screen dimensions.
bg-tile=<filename>
Like
bg-image
but tiles the image to fit to the screen dimensions instead of
stretching it.
[no-]translucent-windows
By default DirectFB windows may be translucent. If you disable this
feature, windows are forced to be either fully opaque or fully
transparent. This is useful if your graphics card doesn't support
alpha-transparent blits.
videoram-limit=<amount>
Limits the amount of Video RAM used by DirectFB. The amount of Video
RAM is specified in Kilobytes.
[no-]matrox-sgram
Some older Matrox G400 cards have SGRAM and a number of graphics
operations are considerably faster on these cards if this feature
is enabled. Don't try to enable it if your card doesn't have SGRAM!
screenshot-dir=<directory>
If specified DirectFB will dump the screen contents in PPM format
into this directory when the <Print> key gets pressed.
fbdebug=<device>
Allows to specify a second frame buffer device that is used to display
how surface memory is allocated on the video card. This is highly
experimental and only useful for debugging.
window-surface-policy=<policy>
Allows to control where window surfaces are stored. Supported values
for <policy> are:
auto
DirectFB decides depending on hardware capabilities. This is the
default.
videohigh
Swapping system/video with high priority.
videolow
Swapping system/video with low priority.
systemonly
Window surfaces are stored in system memory.
videoonly
Window surfaces are stored in video memory.
desktop-buffer-mode=<mode>
Allows to control the desktop buffer mode. Whenever a window is moved,
opened, closed, resized or its contents change DirectFB recomposites
the window stack at the affected region. This is done by blitting the
windows together that are visible within that region. Opaque windows
are blitted directly while translucent windows are blitted using alpha
blending or color keying. If there's a backbuffer the recomposition is
not visible since only the final result is copied into the front
buffer. Without a backbuffer each step of the recomposition is visible.
This causes noticeable flicker unless all windows are opaque.
Supported values for <mode> are:
auto
DirectFB decides depending on hardware capabilities. This is the
default. DirectFB chooses a backbuffer in video memory if the hardware
supports simple blitting (copying from back- to frontbuffer). If
there's no acceleration at all the backbuffer is allocated in system
memory since that gives much better performance for alpha blended
recomposition in software and avoids reading from the video memory
when the result is copied to the frontbuffer.
backsystem
The back buffer is allocated in system memory. This is the recommened
choice if your hardware supports simple blitting but no alpha blending
and you are going to have many alpha blended windows.
backvideo
Front and back buffer are allocated in video memory. It's not required
to set this mode explicitely because the 'auto' mode chooses it if
blits are accelerated. Without accelerated blits this mode is not
recommended.
frontonly
There is no back buffer. This is the best choice if you are using
opaque windows only and don't use any color keying.
vsync-after
Wait for the vertical retrace after flipping. The default is to wait
before doing the flip.
vsync-none
Disables polling for vertical retrace.
EXAMPLES
Here are some examples that demonstrates how the parameters described
above are passed to DirectFB application on the command-line.
df_neo --dfb:no-hardware
Starts df_neo without hardware acceleration.
df_neo --dfb:help
Lists the DirectFB options that can be passed to df_neo.
OTHER INFO
The canonical place to find informations about DirectFB is at
http://www.directfb.org/. Here you can find the FAQ, tutorials,
mailing list archives, the CVS tree and can download the latest
version of the DirectFB library as well as a number of applications.