Broadway - gd-99/symbiogd GitHub Wiki

Broadway enables you to use your GTK apps right in the web desktop.

Broadway doesn't virtualize apps, it's a GTK backend (thus, it's faster). Instead of rendering apps on the screen (with the X server/Wayland/other), it's streaming it via WebSockets (compressed, and only updated regions are refreshed).

Resources:

This is an experimental technology! Use it carefully!

Installing Broadway

You'll have to install Broadway on your server:

You'll have to install the branch feat-broadway of Symbiose in order to get latest Broadway updates in the webos.

Running an app

From Broadway

First, start the Broadway server:

broadwayd -a 0.0.0.0 -p 8080 :2

Options:

  • -a: the bind address
  • -p: the server port
  • :2: the display name

Open a terminal on your server, and execute the following commands:

export GDK_BACKEND=broadway
export BROADWAY_DISPLAY=:2

And execute the app you want to use, for example gnome-calculator or soffice --writer (LibreOffice).

To use LibreOffice, you must execute export SAL_USE_VCLPLUGIN=gtk3 before running soffice --writer, in order to use GTK3. See https://wiki.documentfoundation.org/Using_LibreOffice_in_a_Web_Browser

Then, you should be able to access http://localhost:8080 (replace the domain by yours).

You should be able to run multiple instances of broadwayd, just be sure to use a different port and display for each of them.

Enabling Broadway support in the webos

Once configured, enable Broadway support in the webos. For the moment, you'll have to execute this command in a Symbiose terminal: broadway.

Options:

  • -H or --host: specify the host to connect to (e.g. broadway --host http://example.com:8081). Defaults to http://localhost:8080.

From Symbiose

To start the Broadway server, execute broadwayd from a Symbiose terminal. You will then be able to start an app by typing its name.

Config

Config is stored in /etc/broadway.

Logs

You can find logs in:

  • /var/log/broadway-server.log for the server
  • /var/log/broadway-apps.log for GTK3 apps

Change GTK theme (optional)

You can change the GTK theme by editing ~/.config/gtk-3.0/settings.ini (see http://worldofgnome.org/running-gtk-apps-on-web-with-node-broadway/ section Theming):

[Settings]
gtk-application-prefer-dark-theme=0
gtk-theme-name=Adwaita

Assumed you have Adwaita theme installed (you can choose another e.g. Elementary if you want).

Here are a full list of settings you can tweak: https://developer.gnome.org/gtk3/stable/GtkSettings.html#GtkSettings.properties