summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-05-19 16:57:09 +0200
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2016-06-14 09:51:11 +0000
commit23d08dec0b80a4e15f92bf54ff2ead1dffe8329e (patch)
treec6d2d1b859decfbaf590ebfc5da223d3c70d7471 /mkspecs
parentc2d3c2b9f97cd842f2cbcc28acbc7a140b45222f (diff)
Add Mesa VC4 based RPi3 device spec
The rpi3 spec added previously is only half of the story now that we have the option to use another GL driver. Change-Id: I1b1edde77bcc6d2f382f1021de9c594c27c34d6f Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf44
-rw-r--r--mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h34
2 files changed, 78 insertions, 0 deletions
diff --git a/mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf b/mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf
new file mode 100644
index 0000000000..75b6ad7db5
--- /dev/null
+++ b/mkspecs/devices/linux-rpi3-vc4-g++/qmake.conf
@@ -0,0 +1,44 @@
+# qmake configuration for the Raspberry Pi 3 (32-bit) using the
+# *experimental* VC4 driver for Mesa and DRM.
+#
+# This should allow accelerated EGL and OpenGL with eglfs via
+# KMS/DRM/GBM (instead of the Broadcom-specific backend), under X11
+# with xcb, and also enables (Qt)Wayland via the standard wayland-egl
+# path. See https://dri.freedesktop.org/wiki/VC4
+#
+# Note that this is not the same as the default, Broadcom proprietary
+# driver. Some functionality and extensions may therefore be missing,
+# in particular when it comes to accelerated multimedia (video,
+# camera).
+#
+# At the time of writing Raspbian has to be switched explicitly to the
+# experimental VC4 driver. To do this, run raspi-config and enable it
+# in Advanced Options -> GL Driver.
+#
+# Example configure command below. We disable using the GNU gold
+# linker as it apparently has issues with ARMv8. In the configure
+# output check that "EGLFS GBM .......... yes" is present, otherwise
+# eglfs will not be functional.
+#
+# ./configure -release -opengl es2 -device linux-rpi3-vc4-g++ \
+# -device-option CROSS_COMPILE=~/raspbian/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- \
+# -sysroot ~/raspbian/sysroot \
+# -prefix /usr/local/qt5pi -extprefix ~/raspbian/qt5pi -hostprefix ~/raspbian/qt5 \
+# -v -nomake examples -nomake tests -no-use-gold-linker
+
+include(../common/linux_device_pre.conf)
+
+QMAKE_LIBS_EGL += -lEGL
+QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
+
+QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+
+DISTRO_OPTS += hard-float
+DISTRO_OPTS += deb-multi-arch
+
+EGLFS_DEVICE_INTEGRATION = eglfs_kms
+
+include(../common/linux_arm_device_post.conf)
+
+load(qt_config)
diff --git a/mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h b/mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h
new file mode 100644
index 0000000000..6fe3b52454
--- /dev/null
+++ b/mkspecs/devices/linux-rpi3-vc4-g++/qplatformdefs.h
@@ -0,0 +1,34 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../linux-g++/qplatformdefs.h"