|  | Home · All Classes · All Functions · Overviews

[Platform Notes]

# Platform Notes - Symbian

As with any port, the maturity for Qt for Symbian has not yet reached the same level as other established Qt ports. This page documents the current notes for the Symbian port.

### Source Compatibility

Qt for Symbian provides the same level of source compatibility guarantee as given for other platforms. That is, a program which compiles against a given version of Qt for Symbian will also compile against all future versions of the same major release.

### Binary Compatibility

As with every supported platform, we will strive to maintain application behavior and binary compatibility throughout the lifetime of the Qt 4.x series. However, due to the fact that Symbian support is newly added in 4.6.0, there is a slight possibility that minor corrections to the application binary interface (ABI) might be required in 4.6.1, in order to ensure compatibility going forward. Any such change will be clearly documented in the release notes for 4.6.1.

### Supported Devices

Qt is designed to work on any device which runs one of the following versions of Symbian:

Symbian Version
S60 3.1
S60 3.2
S60 5.0 (Symbian ^1)

Qt has received Tier 1 testing on the following phone models:

Phone
Nokia 5800
Nokia E71
Nokia E72
Nokia N78
Nokia N95
Nokia N97
Samsung i8910

### Supported Functionality

The following technologies and classes are not currently supported:

Technology | Note
--- | ---
QtConcurrent | Planned for future release.
QtDBus | No current plans to support this feature.
QtOpenGL ES | Planned for future release.
Printing support | No current plans to support this feature.
Qt3Support | No current plans to support this feature.

The following technologies have limited support:

Technology | Note
--- | ---
QtSql | The only driver supported is SQLite.
QtMultimedia | Although the module itself is supported, no backend for Symbian is currently available. However, there is a backend available for Phonon.

### Known Issues

Known issues can be found by visiting the wiki page with an up-to-date list of known issues, and the list of bugs can be found by browsing the S60 component in Qt's public task tracker, located at http://bugreports.qt.nokia.com/.

For information about mixing exceptions with Symbian leaves, see Exception Safety with Symbian.

### Required Capabilities

The Qt libraries are typically signed with `All -TCB` capabilites, but that does not mean your Qt application needs to be signed with the same capabilities to function properly. The capabilities your application needs to function properly depends on which parts of Qt you use, here is an overview:

Module | Required Symbian Capability
--- | ---
QtCore | `PowerMgmt` if QProcess::kill(...) or QProcess::terminate(...) is called.
QtCore | `AllFiles` when accessing specific areas.
QtNetwork | `NetworkServices` is basically always required for this module.
QtMultiMedia | `UserEnvironment` if QAudioInput is used.

Note that some modules rely on other modules. If your application uses QtXmlPatterns, QtWebkit or QtScript it may still require `NetworkServices`

as these modules rely on QtNetwork to go online.

For more information see the documentation of the individual Qt classes. If a class does not mention Symbian capabilities, it requires none.

### Multimedia and Phonon Support

Qt provides a backend for Qt's Phonon module, which supports video and sound playback through Symbian's Multimedia Framework, MMF.

In this release the support is experimental. Video playback may have flickering issues, and support for effects and playback queueing is incomplete.

The audio and video formats that Phonon supports depends on what support the platform provides for MMF. The emulator is known to have limited codec support.

In addition, there exists a backend for the Helix framework. However, due to it not shipping with Qt, its availability depends on the Symbian platform in use. If available, it is loaded in preference over the MMF plugin. If the Helix plugin fails to load, the MMF plugin, if present on the device, will be loaded instead.

[Platform Notes]