Orbital is a Wayland compositor and shell, using Qt5 and Weston. The goal of the project is to build a simple yet flexible and good looking Wayland desktop. It is not a full fledged DE but rather the analogue of a WM in the X11 world, such as Awesome or Fluxbox.
Orbital depends on two things: Weston and Qt 5.
Since it uses QtQuick 2 to draw the interface it will make use of OpenGL,
so it is advisable to use a decent graphics driver, otherwise the performance
will not be good.
Orbital currently needs a patched weston from here,
branch libweston. You also need QtWayland, which is shipped with Qt starting with the 5.4 version.
You do not need QtCompositor, the platform plugin is enough.
There are also some optional dependencies: currently Orbital can use Solid from
KDE Frameworks 5, ALSA and Logind, but it can also work without them, losing some
functionality. You can enable or disable these dependencies by passing some options
to cmake: -Duse_alsa=ON/OFF
, -Duse_logind=ON/OFF
and -Duse_solid=ON/OFF
.
To compile Orbital run this commands from the repository root directory:
mkdir build
cd build
cmake ..
make
sudo make install
Orbital will be installed in the /usr/local prefix, unless you specified
otherwise using the CMAKE_INSTALL_PREFIX
variable:
cmake -DCMAKE_INSTALL_PREFIX=/my/prefix ..
Now you can just run orbital, to run it if you are inside an X or a Wayland session. To start its own dedicated session run orbital-launch from a tty.
If you are using a systemd system you can use this unit to start Orbital at startup automatically:
[Unit]
Description=Orbital compositor
[Service]
ExecStartPre=/usr/bin/chvt %I
ExecStart=/usr/bin/dbus-launch --exit-with-session /usr/local/bin/orbital-launch
User=giulio
TTYPath=/dev/tty%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
PAMName=login
WorkingDirectory=/home/giulio
Environment=XDG_RUNTIME_DIR=/run/user/1000
Environment=QT_WAYLAND_FORCE_DPI=96
Environment=QT_PLUGIN_PATH=/usr/lib/kde4/plugins/
Environment=QT_QPA_PLATFORMTHEME=qt5ct
Restart=always
RestartSec=2
StandardInput=tty
StandardError=journal
StandardOutput=journal
Nice=-5
[Install]
WantedBy=graphical.target
Save it as /etc/systemd/system/orbital@.service
, change the 'User' option to your
own user, and then enable it with
sudo systemctl enable orbital@7
for having it run on tty7, or change the option to the tty you prefer. Note that there must not be getty running on that tty or else the unit will fail. If you know how to get it running on all ttys please tell me ;).
The first time you start Orbital it will load a default configuration. If you
save the configuration (by closing the config dialog or by going from edit mode
to normal mode) it will save the configuration file orbital/orbital.conf, in
$XDG_CONFIG_HOME
or, if not set, in $HOME/.config
. You can manually modify
the configuration file, but Orbital has (or will have) graphical tools
for configuring the environment.
You can use a tool like qt5ct to configure Qt5 apps, and Orbital will obey many of those settings.
You can see a screencast of some of Orbital functionalities at this link: http://www.youtube.com/watch?v=bd1hguj2bPE