Responsive shell for qmlOS.
Qt >= 5.7.0 with at least the following modules is required:
The following modules and their dependencies are required:
Optional, but recommended dependencies:
- hawaii-icon-themes for the default icon theme
- hawaii-wallpapers for the default wallpaper
If you do not install those dependencies, please configure the desktop with an alternative icon theme and wallpaper.
From the root of the repository, run:
mkdir build; cd build
cmake .. -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
make
make install # use sudo if necessary
On the cmake
line, you can specify additional configuration parameters:
-DCMAKE_INSTALL_PREFIX=/path/to/install
(for example,/opt/qmlos
or/usr
)-DCMAKE_BUILD_TYPE=<build_type>
, where<build_type>
is one of:- Debug: debug build
- Release: release build
- RelWithDebInfo: release build with debugging information
Licensed under the terms of the GNU General Public License version 3 or, at your option, any later version.
Qt 5.2 introduced logging categories and Hawaii takes advantage of them to make debugging easier.
Please refer to the Qt documentation to learn how to enable them.
-
Compositor:
- hawaii.compositor: Compositor
- hawaii.processlauncher: Process launcher and application tracker
- hawaii.screensaver: Lock, idle and inhibit interface
- hawaii.session: Manages the session
- hawaii.loginmanager: login manager subsystem
- hawaii.loginmanager.logind: login manager subsystem (logind backend)
-
Launcher QML plugin:
- hawaii.qml.launcher: Launcher model and items
- hawaii.qml.launcher.appsmodel: Applications model
hawaii
Compositor executable that links to Green Island.
hawaii-session
Manages the session, drives the compositor, runs autostart programs and launches applications for the application launcher.
Autostarts the D-Bus session if needed and can logout an existing session with:
hawaii-session --logout
Supports the following modes:
- eglfs: runs the compositor directly on KMS or other supported systems
- hwcomposer: runs the compositor directly with Android drivers
- nested: runs the compositor inside Weston
For eglfs mode the user must be in the video
and input
groups.
KMS support requires Qt 5.5 or better.
libinput is automatically used with Qt 5.5 or better, built with libinput support.
For hwcomposer mode the user must be in the video
and input
groups.
libinput is automatically used with Qt 5.5 or better, built with libinput support.
The mode can be specified with the --mode
argument, here's an example:
hawaii-session --mode=eglfs
The best mode is automatically detected if you run hawaii-session
without the --mode
argument.
Developers can debug Hawaii Shell with Qt Creator and the QML JavaScript debugger.
Run Hawaii setting the debugger port:
HAWAII_SHELL_DEBUG_PORT=3768 hawaii
In the example above we are using the default port which is 3768. Now from Qt Creator click on Debug -> Start Debugging -> Attach to QML port and specify the 3768 port.
See the Qt Creator manual for more information.