Skip to content

Firmware and emulator compatibility

Select a local image using the firmware guide. Firmware is supplied separately; its DLL exports and system services determine which application profiles can run.

Application requirements

The modern C++ runtime requires the ARM EABI/EKA2 application ABI and the imports used by the selected components. The GUI starter needs EUSER, WS32 and GDI; the task/thread profile also requires libpthread.dll. Missing DLLs are reported before process creation. Building without firmware is possible. EKA1 executables use a separate legacy profile; they cannot use the modern GUI or runtime archives.

The starter adapts to displays down to 176x208 logical pixels and supports touch, Enter/centre, Backspace and Clear/Exit softkeys. The model retains twelve rows and displays the newest rows that fit. Full orientation handling and all vendor/server ABIs are unsupported.

Runtime profiles

The RM-807 executive profile is selected only for its matching ROM/EUSER pair. Other firmware uses the default executive map. A mismatched explicit profile is rejected; ambient EKA2L1_EXPERIMENTAL_SVC_PROFILE cannot override selection. Launch reports record the selected profile and mappings.

Symbian::NativeAtomics64 requires selected EUSER 64-bit exports. RM-807, RM-675 and RM-609 profiles provide them; RM-243 and RM-346 do not. Compatibility must be checked against the actual firmware, rather than a product name alone.

Unknown font-server requests return KErrNotSupported. Inspect the guest exit record even when the frontend exits zero: -4 maps to RESOURCE_EXHAUSTED, -5 to UNIMPLEMENTED, and panic records retain their native reason.

Emulator system-service coverage is incomplete. Firmware import, application launch and full OS boot are different operations; test installation and the required services on the target phone before deployment.