Skip to content
@Phorepoc

Phorepoc

Phorepoc

A mobile operating system for hardware you can buy today, with its roots in Symbian.

Try it in VirtualBox · On a PinePhone · Build it


Phorepoc OS is an open-source operating system for phones and PCs. It grew out of Symbian, the system that ran on hundreds of millions of phones. In 2010 Nokia and the Symbian Foundation released Symbian's source code and then shut the project down, and that code sat untouched for years.

We started from that source, and build it with a modern compiler. Phorepoc OS runs on any x86-64 PC or virtual machine and on the PINE64 PinePhone, with the Symbian^3 interface and its apps, networking with modern TLS, and OpenGL ES on the GPU through Mesa. It runs apps made for Symbian^3, and it keeps going where Symbian stopped: Catalogue for apps, drivers and codecs, a developer shell, a modern web engine.

Phorepoc is the whole project around it: the operating system, the tools to build and debug it (the pdk and PhoneLab), and services like the Cloud Companion.

Phorepoc OS on a PinePhone: the home screen, the Menu, Applications and Calculator
Phorepoc OS on a PinePhone, in the built-in Haze theme.

The About screen: Phorepoc is a free and open-source operating system built from the Symbian platform The Music player library
About. Music player.

The operating system and devices

  • Phorepoc OS for PCs release: a VirtualBox appliance and a bootable ISO for QEMU and real PCs. The easiest way to try it.
  • Phorepoc OS for the PinePhone release: a microSD card image. Boot Phorepoc OS on the phone, take the card out and its own system is back.
  • core: everything that is the same on every device, built for an architecture, never for a device.
  • adaptation-x86-64 and adaptation-a64: the kernel on x86-64 (64-bit CPU, 32-bit pointers, SMP) and the Allwinner A64 drivers shared by every A64 board.
  • tls: TLS 1.2 and 1.3 through mbedTLS, built into Phorepoc OS and usable as a drop-in on older Symbian phones.
  • mesa-symbian: OpenGL ES 1.1/2.0 and EGL through Mesa, in software on any board or on the Mali-400 GPU of the A64.

Catalogue and apps

  • Catalogue release: the software store. It reads the index, shows what's there by category with search, checks each download's SHA-256 and installs it. Drivers, codecs, web engines and apps get onto a device this way, not by being built into the image.
  • index: the list of software Catalogue offers. Add yours with a pull request.
  • webengine: the plug-in interface between the browser and its web engines. The browser draws pages with whichever engine you install from Catalogue:
    • webkit-symbian release: WPE WebKit 2.54 with JavaScriptCore, behind the browser-control API apps have used since 2010.
    • netsurf-symbian release: NetSurf, a small, fast engine with https and JavaScript (QuickJS-ng), for devices with little memory.
  • codecpack release: FFmpeg and OpenH264 video and AAC support, installed from Catalogue.
Catalogue on the phone: the welcome banner, Free and Open Source Symbian Software The Catalogue website: download Catalogue, browse apps by category
Catalogue on the phone. The Catalogue website.
The Catalogue website on a phone A Catalogue listing: the WebKit web engine, its ARM and x32 files with their SHA-256
The website on a phone. A listing, with each file's SHA-256.

Compatibility

  • Proteus release: runs ARM Symbian programs on the PC edition. An app installed from an ARM SIS starts like any other; Proteus runs its ARM code in user space, with the program's own SecureId and capabilities.
  • qt-symbian release: Qt 4.8.7, so Qt apps made for Symbian^3 keep running. A Catalogue package, never part of an image.
  • cxxrt: the modern C++ runtime (libstdc++, C++17/20) and the POSIX functions ported libraries need.

Interfaces

Phorepoc OS starts with the Symbian^3 interface. Other shells install from Catalogue and are chosen in Settings, Device, UI shell.

  • hildon-ui release: the Maemo / Leste Hildon widgets and home and status plug-ins, on gtk-symbian release (GTK 2), glib-symbian release and dbus-symbian release, with the hildon-theme-alpha release theme.
  • orbit-ui release: Orbit, the Hb interface and Qt home screen of Symbian^4, published in 2010 and never shipped on a phone. On the PC edition for now.
  • clutter-symbian: Clutter and Cogl on OpenGL ES. The libraries build and a test program draws a Clutter stage; not released yet.

The developer kit

  • pdk release: phe builds Phorepoc OS from source (components, resources, ROMs, skins, icons, SIS packages), and PhoneLab puts a running phone's screen, files and log in your browser.
  • toolchain: the Linux build images: GCC x32, Arm GNU 14.2 and the Symbian host tools built from the 2010 source.

Beyond Phorepoc

  • Cloud Companion release: a server you run yourself that brings the modern internet to legacy phones: a cloud browser, your mail, messages and calendar.

The Cloud Companion web desktop: a Chats window with a text conversation in front, partly over the cloud browser showing the Wikipedia article on Symbian and a Files window, with the dock on the left
Cloud Companion: a desktop in your browser, with your messages, files and the cloud browser in overlapping windows.

  • dav-sync: syncs contacts and calendars with any CalDAV or CardDAV server, in small C99.
  • tailscale-symbian: a small Tailscale client in plain C99. An early prototype.

PhoneLab

PhoneLab in a browser: a phone running Phorepoc OS on the live screen, its files, keypad and log

Every Phorepoc OS development image has a debug link, and PhoneLab turns it into a workbench in your browser: the live screen you can tap on, one-step flashing with a report of each boot, the full log of every boot, the phone's files and a shell, and a REST API and MCP server so scripts and AI agents can do all of it too. It runs anywhere with one docker run, and it works with stock Nokia Symbian phones as well. See the pdk.

Try it

The easiest way is VirtualBox. Download the .ova file from the latest PC release and import it with File > Import Appliance.

If you have a PinePhone, download phorepoc-pinephone-sdcard.img.xz from the latest PinePhone release and write it to a microSD card with balenaEtcher.

Where things are

Phorepoc OS is built in layers, and each repository only knows about the ones below it:

Layer Repositories
Boards: one device each adaptation-pc, adaptation-pinephone
Chips: kernel ports and drivers adaptation-x86-64, adaptation-a64
Optional layers tls, mesa-symbian, cxxrt, webkit-symbian, codecpack
The operating system core, built for an architecture, never for a device
The tools pdk (the phe command, PhoneLab, the CI pipeline) and toolchain (the compilers)

So bringing Phorepoc OS to a new device means writing a board repository, plus a chip repository if nobody has done that chip yet. You don't change core or the pdk. The pdk's docs/layering.md explains how.

If you're curious about where it all started, symbian-2010 is the 2010 release with as few changes as possible, booting in the Symbian QEMU from qemu-syborg. The oss.* repositories are untouched mirrors of the 2010 source packages.

Licences and contributing

Code we wrote is Apache-2.0. Symbian files we've changed are EPL-2.0, with GPL-2.0-or-later as a Secondary License, and Symbian files we use unchanged stay EPL-1.0. Ported projects keep their own licences: Mesa is MIT, mbedTLS is Apache-2.0 and FFmpeg is LGPL.

Phorepoc was started by Kyriakos Bompotis. Contributions are very welcome, and each repository's README explains how to get going.

Phorepoc is an independent project, not affiliated with Nokia or the Symbian Foundation, and ships no Nokia firmware files.

Popular repositories Loading

  1. FCL.sf.incubator.modemadaptation FCL.sf.incubator.modemadaptation Public

    Forked from SymbianSource/FCL.sf.incubator.modemadaptation

    Symbian Modem Adaptation Incubator Project

    C++

  2. oss.API_REF.Public_API oss.API_REF.Public_API Public

    Forked from SymbianSource/oss.API_REF.Public_API

    Symbian OS Public API Reference

    C

  3. oss.API_REF.SHAI oss.API_REF.SHAI Public

    Forked from SymbianSource/oss.API_REF.SHAI

    Symbian OS Hardware Abstraction Public API

    C++

  4. oss.FCL.examples.QT oss.FCL.examples.QT Public

    Forked from SymbianSource/oss.FCL.examples.QT

    Symbian QT Example Code

    C++

  5. oss.FCL.examples.WebRT oss.FCL.examples.WebRT Public

    Forked from SymbianSource/oss.FCL.examples.WebRT

    Symbian Web Runtime Example Code

    JavaScript

  6. oss.FCL.examples.app.NPR oss.FCL.examples.app.NPR Public

    Forked from SymbianSource/oss.FCL.examples.app.NPR

    Symbian OS NPR Streaming Example App

    C++

Repositories

Showing 10 of 248 repositories
  • webkit-symbian Public

    A modern WebKit (WPE WebKit 2.54) ported to Phorepoc OS: JavaScriptCore, WebCore and their dependencies, behind the BrCtl browser-control API apps have used since 2010.

    Phorepoc/webkit-symbian's past year of commit activity
    C++ 0 BSD-2-Clause 0 0 0 Updated Nov 15, 2026
  • core Public

    Phorepoc OS core: everything that is the same on every device, the component registry that builds each component from its real .mmp, and the pinned Symbian source it grew from. Build it with phe from the pdk.

    Phorepoc/core's past year of commit activity
    C++ 0 EPL-1.0 0 0 0 Updated Nov 15, 2026
  • adaptation-pc Public

    Phorepoc OS on PC hardware: the device adaptation for QEMU, VirtualBox, VMware and real PCs (display, input, disk, network, board configuration), on top of adaptation-x86-64.

    Phorepoc/adaptation-pc's past year of commit activity
    Python 0 EPL-1.0 0 0 0 Updated Nov 15, 2026
  • adaptation-pinephone Public

    Phorepoc OS on the PINE64 PinePhone: the device adaptation (board configuration, Bluetooth and Wi-Fi bring-up, modem, sensors), on top of adaptation-a64.

    Phorepoc/adaptation-pinephone's past year of commit activity
    C++ 0 EPL-1.0 0 0 0 Updated Nov 15, 2026
  • pdk Public

    Phorepoc PDK: phe, the Linux/Docker tools that build Phorepoc OS from source (components, resources, ROMs, skins, icons, SIS packages), plus PhoneLab for working on a running phone.

    Phorepoc/pdk's past year of commit activity
    Python 0 AGPL-3.0 0 0 0 Updated Nov 15, 2026
  • catalogue Public
    Phorepoc/catalogue's past year of commit activity
    C++ 0 AGPL-3.0 0 0 0 Updated Nov 15, 2026
  • Phorepoc/netsurf-symbian's past year of commit activity
    C 0 GPL-2.0 0 0 0 Updated Nov 14, 2026
  • codecpack Public

    Phorepoc OS's optional codec pack: FFmpeg (LGPL) and OpenH264, with the AAC and video plug-ins that use them. Released as SIS files and installed from Catalogue, never part of an OS image.

    Phorepoc/codecpack's past year of commit activity
    C++ 0 EPL-1.0 0 0 0 Updated Nov 14, 2026
  • proteus Public
    Phorepoc/proteus's past year of commit activity
    C++ 0 AGPL-3.0 0 0 0 Updated Nov 14, 2026
  • cloud-companion Public

    A self-hosted server that brings the modern internet to legacy phones: a cloud browser, a web app for messages, mail and calendar, and optional Exchange ActiveSync, CalDAV and CardDAV.

    Phorepoc/cloud-companion's past year of commit activity
    Go 0 AGPL-3.0 0 0 0 Updated Nov 14, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.