Renders a QML application to a SSD1306 OLED display.
import QtQuick 2.6
Item {
    id: root
    visible: true
    width: 128
    height: 64
    Rectangle {
        id: indicator
        anchors.bottom: parent.bottom
        anchors.bottomMargin: 5
        x: 5
        width: 15
        height: width
        radius: width / 2
        color: "black"
    }
    Text {
        anchors.centerIn: parent
        text: "Hello World!"
    }
}Tested on the CHIP single board computer conected to TWI2.
Requires Qt Version 5.4 or higher. For the Debian package install this means that you need at least the packages from Debian Stretch.
sudo apt install qtdeclarative5-dev qt5-default qtchooser qtbase5-dev qml-module-qtquick2Then you can install the qml-oled-renderer with:
qmake
make
sudo make installsage: qml-oled-renderer [options] source
Renders QML applications to a SSD1306 OLED display
Options:
  -h, --help               Displays this help.
  -w, --width <weight>     OLED screen width
  -b, --bus <bus>          I2C bus to which the OLED is connected
  -a, --address <address>  I2C address of the OLED screen
  -f, --fps <fps>          Number of frames to render per second
Arguments:
  source                   QML source file`
The OLED renderer does not work without any display device. You can easily create visual framebuffer device using XVfb:
sudo apt-get install xvfbAnd the start the application as follows:
Xvfb -shmem -screen 0 128x64x16 &
DISPLAY=:0 qml-oled-renderer main.qml
