| 123 | |
| 124 | Example Applications: |
| 125 | * [https://gitlab.freedesktop.org/mesa/kmscube kmscube] - a demonstration program showing how to drive bare metal graphics without a compositor like X11, Wayland or similar using DRM/KMS/GBM and EGL. |
| 126 | * Ubuntu pre-built packages: |
| 127 | {{{#!bash |
| 128 | # install pre-packaged |
| 129 | apt install kmscube |
| 130 | kmscube -D /dev/dri/card1 |
| 131 | }}} |
| 132 | * [https://github.com/glmark2/glmark2 glmark2] - an OpenGL 2.0 and ES2.0 benchmark |
| 133 | {{{#!bash |
| 134 | # build from source as the pre-packaged one is too old to be of use |
| 135 | apt install build-essentials git |
| 136 | apt install python libpng-dev libgbm-dev libegl1-mesa-dev libgl1-mesa-dev libgles2-mesa-dev |
| 137 | git clone https://github.com/glmark2/glmark2 |
| 138 | cd glmark2 |
| 139 | ./waf configure --with-flavors=drm-glesv2 |
| 140 | ./waf |
| 141 | ./waf install |
| 142 | glmark2-es2-drm |
| 143 | }}} |
| 144 | * GStreamer - A Multimedia framework/library which provides kmssink for rendering to a DRM/KMS driver and glimagesink for rendering to EGL: |
| 145 | {{{#!bash |
| 146 | # install GStreamer packages |
| 147 | apt-get install gstreamer1.0-x gstreamer1.0-tools libgstreamer1.0-0 \ |
| 148 | gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \ |
| 149 | gstreamer1.0-libav gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio \ |
| 150 | v4l-utils |
| 151 | gst-launch-1.0 videotestsrc ! kmssink |
| 152 | }}} |
| 153 | |
| 154 | The above examples were performed on an Ubuntu 19.10 root filesystem with the Linux 5.3.8 kernel built with imx_v6_v7_defconfig |