Changes between Version 5 and Version 6 of qt


Ignore:
Timestamp:
09/27/2021 07:40:40 PM (11 months ago)
Author:
Tim Harvey
Comment:

added configuration for lvds display

Legend:

Unmodified
Added
Removed
Modified
  • qt

    v5 v6  
    2525EGLFS forces the first top-level window (either a QWidget or a QQuickView) to become full screen and chosen to be the root widget window into which all other top-level widgets are composited. There are a number of env variables that can be used to configure EGLFS: see https://doc.qt.io/qt-5/embedded-linux.html#eglfs
    2626
    27 To use the EGLFS platform plugin with a KMS/DRM backend you need to define a screen configuration file customized to your board and display. For a Gateworks Ventana board with 1080p HDMI the configuration would be:
     27To use the EGLFS platform plugin with a KMS/DRM backend you need to define a screen configuration file customized to your board and display.
     28
     29Examples:
     30 * 1080p HDMI:
    2831{{{#!bash
    29 cat << EOF > /etc/ventana.json
     32cat << EOF > /etc/eglfs_hdmi.json
    3033{
    3134  "device": "/dev/dri/card1",
     
    4447}
    4548EOF
    46 export QT_QPA_EGLFS_KMS_CONFIG=/etc/ventana.json
     49export QT_QPA_EGLFS_KMS_CONFIG=/etc/eglfs_hdmi.json
    4750export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
    4851export QT_QPA_PLATFORM=eglfs
    4952}}}
     53 * 1024x600 LVDS:
     54{{{#!bash
     55cat << EOF > /etc/eglfs_lvds.json
     56{
     57  "device": "/dev/dri/card1",
     58  "hwcursor": false,
     59  "pbuffers": true,
     60  "outputs": [
     61    {
     62      "name": "HDMI-A-1",
     63      "mode": "off"
     64    },
     65    {
     66      "name": "LVDS-1",
     67      "mode": "1024x600"
     68    }
     69  ]
     70}
     71EOF
     72export QT_QPA_EGLFS_KMS_CONFIG=/etc/eglfs_lvds.json
     73export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
     74export QT_QPA_PLATFORM=eglfs
     75}}}
     76
    5077
    5178In order to use EGLFS you need to be using a kernel with the etnaviv KMS/DRM driver enabled, libdrm (userspace lib to interface with Linux DRM drivers), and libmesa. Note that the etnaviv driver uses cma memory - if you get memory allocation errors when trying to run applications try increasing the cma memory via the kernel command-line.