Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/giucam/orbital

A Wayland compositor based on Weston and Qt
https://github.com/giucam/orbital

Last synced: about 2 months ago
JSON representation

A Wayland compositor based on Weston and Qt

Awesome Lists containing this project

README

        

Orbital
=======

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.

## Dependencies
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](https://github.com/giucam/weston),
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`.

## Building Orbital
To compile Orbital run this commands from the repository root directory:
```sh
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:
```sh
cmake -DCMAKE_INSTALL_PREFIX=/my/prefix ..
```

## Running Orbital
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/[email protected]`, 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 ;).

## Configuring Orbital
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](http://qt-apps.org/content/show.php/Qt5+Configuration+Tool?content=168066)
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