BOSON Help

Installation

Boson brings together a set of components, each handling a key part of the system:

  • Runtime — acts as the bridge between your PHP code and the underlying operating system. This is the main API that you can use both in runtime and during development.

  • Compiler – allows you to build the results of your work into a finished project ready for distribution.

Together, they create a seamless environment for building rich desktop applications with web technologies — without the bloat.

Runtime

Boson runtime provides the core of the library and allows you to run your wonderful applications.

Library is available as Composer repository and can be installed using the following command in a root of your project:

composer require boson-php/runtime

Don't forget to include the autoload file in your application.

<?php require __DIR__ . '/vendor/autoload.php'; $app = new Boson\Application();

Compiler

Boson compiler gives you the ability to assemble the result of your work into a final product. That is, into an executable file for the target platform.

Library is available as Composer repository and can be installed using the following command in a root of your project:

composer require boson-php/compiler --dev

Requirements

List of dependencies required for development.

  • Windows 10+

  • x86 or Amd64

  • PHP 8.4+

    • An ext-ffi extension

  • MacOS 12+

  • x86, Amd64 or Arm64

  • PHP 8.4+

    • An ext-ffi extension

  • Linux

  • x86, Amd64 or Arm64

  • PHP 8.4+

    • An ext-ffi extension

  • Frontend dependencies (one of):

    • gtk4

    • webkitgtk-6.0

    • qt5-qtwebengine

    • qt5-qtwebchannel

    • qt5-qtbase-gui

    • qt5-qtbase

    • qt6-qtwebengine

    • qt6-qtwebchannel

    • qt6-qtbase-gui

    • qt6-qtbase

List of dependencies required for build target.

  • Windows 10+

  • x86 or Amd64

  • MacOS 12+

  • x86, Amd64 or Arm64

  • Linux

  • x86, Amd64 or Arm64

  • Frontend dependencies (one of):

    • gtk4

    • webkitgtk-6.0

    • qt5-qtwebengine

    • qt5-qtwebchannel

    • qt5-qtbase-gui

    • qt5-qtbase

    • qt6-qtwebengine

    • qt6-qtwebchannel

    • qt6-qtbase-gui

    • qt6-qtbase

Troubleshooting

An [ext-ffi] disabled in your php.ini

FFI\Env\Exception\EnvironmentException: An [ext-ffi] disabled in your php.ini

An [ext-ffi] not available

FFI\Env\Exception\EnvironmentException: An [ext-ffi] not available

Failed loading '.../libboson-linux-xxx.so'

Illegal instruction (core dumped)

Linux prebuild was compiled with some assumptions, such as the presence of sse and avx2 instructions.

libEGL warning: egl: failed to create dri2 screen

Failed to fully launch dbus-proxy: Child process exited with code 1

06 June 2025