[Previous] [Contents] [Index] [Next]


Start the Photon graphics server


io-graphics [-c config file]
            [-C crtc_settings_file]
            [-d driver [driver_options]] ...
            [-F font_options] [-f]
            [-p plugin [plugin_options]] ...]


The location of the io-graphics configuration file. You can use this file instead of the command line options to set io-graphics options. You can't use both the command line and the configuration file. See The io-graphics Configuration File below for a description of this file's format.
The location of the crtc-settings file. If unspecified, the default is /etc/system/config/crtc-settings.
-ddriver [driver_options]
Load the specified driver and pass it the optional driver_options. The driver is a shared object named devg-driver.so. For example, -dbanshee loads devg-banshee.so.
For more information on the available graphics drivers, see the devg-* entries:
Driver Shared object
3dfx VooDoo devg-banshee.so
ATI Mach64 devg-mach64.so
ATI RADEON devg-radeon.so
ATI RAGE devg-rage.so
ATI RAGE 128/128 Pro devg-ati_rage128.so.
Fujitsu Coral devg-coral.so
Fujitsu MB86292 devg-orchid.so
Generic (SVGA) devg-svga.so
Generic (Vesa 2.0) devg-vesabios.so
Generic (VGA) devg-vga.so
Hitachi Q2SD devg-q2sd.so
Intel I810 and I815 devg-i810.so
Intel I830 devg-i830.so
Intel PXA250 devg-pxa250.so
Matrox Millenium G-series devg-matroxg.so
Matrox Millenium, Mystique, and G100 devg-matrox.so
MediaQ MQ-200 devg-mq200.so
National Semiconductor Geode and Media GX devg-geode.so
NEC Ravin devg-ravin.so
NeoMagic devg-neomagic.so
Rotate display 90 degrees devg-rotate90.so
Rotate display 270 degrees devg-rotate270.so
NVIDIA devg-tnt.so
RPX-lite development board devg-rpxlite.so
S3 Savage devg-s3_savage.so
S3 Vision, Virge, and Trio devg-s3.so
SA1100 LCD controller devg-sa1110.so
Silicon Motion Lynx devg-smi7xx.so
Silicon Motion SM501 devg-smi5xx.so
SIS devg-sis630.so
STPC devg-stpc.so
Tvia CyberPro 50xx devg-igs5000.so
Tvia CyberPro devg-tvia.so
The driver_options are:
The PCI Vendor ID of the graphics device.
The PCI Device ID of the graphics device.
The PCI index of the graphics device. Default is 0.
The horizontal resolution of the display.
The vertical resolution of the display.
The bits per pixel color depth of the display.
The refresh rate, in Hz. The default value depends on the driver, though it is typically 60.
Load the palette_file as the graphics driver's initial palette. The palette data is stored as 4 bytes per pixel arranged as blue, green, red, and a spare.
The driver's hook modules. Multiple modules can be specified using a quoted, space-separated string. For example: hook="devg-rotate90.so devg-stats.so".

Hook modules are modules that are used to replace driver functions. The hook module calls the driver to accomplish the task it is performing, but allows statistics and transformations to occur prior to the driver being called.

The following hooks are shipped with Neutrino:

Disable the driver version mismatch validation.
Specify an argument_string to pass to the initialization function of a hardware-level driver module. The interpretation of the argument_string is driver dependent. See the device driver documentation for details.
Enable double buffering. You can optionally set the double buffer interval in ns. The default is calculated from the time it takes the display controller to enter the vertical-retrace period, as returned by wait_vsync().
The size of the graphics driver's internal workspace, in bytes. Default is 16K.
The maximum message length, in bytes. Default is 32K.
The maximum reply length, in bytes. Default is 16K.
Enable the Photon interface for this device. Optionally, you can specify the name of the Photon server as photon_name to attach to. photon_name is passed literally as the name parameter to PhAttach().

These options are available only if the photon option is enabled:

If Y|y, emit an expose event on initialization. This requests a redraw from all Photon objects. Default: y.
Set the driver region input group. Default: 1.
Place the driver region at a specific location in the Photon event space. Default: 0, 0.
Don't load the internal font server.
-F font_options
Command-line options for the local font DLL. See phfont for a list of options. Options must be quoted. For example, the phfont command line -d /usr/photon/font -A becomes "-d=/usr/photon/font -A"
-p plugin [plugin_options]
Load a plugin, and optionally pass it the given plugin_options. For example: -p photon. There is one plugin available, gri-photon.so.


The io-graphics command starts a graphics driver.

The command line options format for this utility changed in Neutrino 6.3. However, io-graphics will accept and understand the previous legacy command line format.

The io-graphics configuration file

You can pass a configuration file to io-graphics on startup using the -c option. This file is processed before any other command line options. The same device may not be configured in both the file and the command line.

The configuration file allows you to configure multiple displays, on one or more device. These device drivers support multiple displays on a single device:

When multiple displays are supported by a single device, the following functions will only work on one display:

In addition, PdSetTargetDevice() may not work correctly, and video overlays will probably only work on one display.

Note: QNX doesn't guarantee support for arbitrary combinations of multiple video cards.

The configuration file has these rules:

For some sample configuration files, see "Setting up multiple displays" in the Connecting Hardware chapter of the Neutrino User's Guide.


These sections make up the configuration file:

This section enumerates devices.
This section is required for each device in the [GLOBAL] section. This section specifies properties for a device loaded for device.
Specifies properties for each display supported by the device. The entries in this section override the entries in [DEVICE.device].
Displays are numbered from n = 0 to displays-1.
Specifies the default initial properties for each plugin listed in the [GLOBAL] section.
Specifies properties for a plugin to be mounted at /dev/io-graphics/device/plugin. The entries in this section override the entries in [PLUGIN.plugin].

[GLOBAL] section

This is a space-delimited list of devices in the form devices=device [device [device]...] where each device must be a valid pathname component. The default is an empty string. Example:

devices = radeon matroxg

[DEVICE.device] section

This section sets options for each device listed in the GLOBAL section. It has the following entries:

dllpath=[dll [dll...]]
A space-delimited list of driver pathnames, in the form devg-driver.so. (The path to the DLL may be included.) Drivers are loaded in the order specified. The default is an empty string. This entry is required. Example:
dllpath  = devg-radeon.so /dev/shmem/devg-test.so
transform_modules = module [module [module]...]
Space-delimited list of transform module pathnames. The default is an empty string. Example:
transform_modules = devg-stats.so
mode_options = arguments_string
mem_options = arguments_string
misc_options = arguments_string
vid_options = arguments_string
vcap_options = arguments_string
Driver-specific initialization strings. The default is an empty string.
driver_workspace = value
The size of the graphics driver's internal workspace. Default: 16K.
enable_doublebuffer = value
Enable double-buffering. value can be 0 or 1. The default is 0.
doublebuffer_interval = value
Optionally specify double-buffer interval in nanoseconds. The default is calculated from wait_vsync().
expose = YES|NO
Emit an expose event at the Photon root region on initialization. This entry can be set to YES (the default) or NO.
allow_version_mismatch = YES|NO
Overrides driver version validation. This entry can be set to YES or NO (the default). Example:
allow_version_mismatch = NO
pci_vendor_id = value
pci_device_id = value
pci_index = value
Specify PCI device information as an integer Defaults: 0. Example:
pci_vendor_id = 0x1002
pci_device_id = 0x5144
pci_index = 0
displays = value
The number of displays to initialize on this device. This value is bounded by the number of displays supported by the driver. Default: 1 Example:
displays = 1
plugins = module [module [module]...]
Space-delimited list of plugins to mount. Default: an empty string. Example:
plugins = photon

Note: module is a logical name that is used to find the corresponding plugin configuration section, PLUGIN.module.

xres = value
yres = value
bitpp = value
refresh = value
Initial display properties. Defaults: 0. Example:
xres = 1024
yres = 768
bitpp = 16
refresh = 60

palette = palette_file
Set the default palette file. The default is an empty string. For example:
palette  =
gamma_factor_r|g|b = value
Gamma color correction as a 16.16 fixed point value. Default: 0.2. Example:
gamma_factor_r = 0x3333
gamma_offset_r|g|b = value
Offset level for gamma color correction as a 16.16 fixed point value. Default: 0.16. Example:
gamma_offset_g = 0x1000
gamma_white_r|g|b = value
White level for gamma color correction as a 16.16 fixed point value. Default: 1.0. Example:
gamma_white_b = 0x10000
receive_buffer_length = value
The maximum message length in bytes. This usually bounds drawstream length. Default: 32K. Example:
receive_buffer_length = 0x8000
reply_buffer_length = value
The maximum reply length in bytes. Default: 16K. Example:
reply_buffer_length = 0x4000
photon = photon_server
Name of photon server. The existence of this entry enables the photon server interface on this device. The empty string is an acceptable value, and indicates that the default value should be used. The default is $PHOTON.
region properties
Graphics driver region properties. These entries are processed only if the photon entry exists. These properties are:

[DEVICE.device.n] section

This section sets the options for the device number n. This allows you to set options for multiple displays. The possible entries are a subset of the DEVICE section (see above):

[PLUGIN.plugin] section

This section configures each plugin listed in the plugins entry in the DEVICE section. Entries are:

dllpath = [path]plugin
Plugin pathname in the form gri-plugin.so. This entry is required for each plugin. Example:
dllpath  = gri-photon.so


dllpath  = /dev/shmem/gri-photon.so
options = option_string
Initialization string for the plugin. See the plugin documentation for its specific options.


The devg-* drivers generally require libffb.so.2 and libdisputil.so.2 at runtime.

Environment variables:

If this environment variable exists, io-graphics does not run an internal font server. You should set this environment variable for systems that have remote clients accessing font services on the host machine (e.g. phindows, phditto).

See also:

crttrap, phfont, phgrafx

"Graphics drivers (devg-*)" in the Utilities Summary

Connecting Hardware in the Neutrino User's Guide

[Previous] [Contents] [Index] [Next]