Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

external/qt5-layer: fix egldevice backend for L4T 32.7.1 #959

Merged
merged 1 commit into from
Apr 15, 2022

Conversation

kekiefer
Copy link
Contributor

This change adds two patches to support tegra devices in qt5 with
the L4T release 32.7.1. The newer version of L4T appears to unify
the capabilities of tegra-udrm and drm-nvdc drivers in the NVIDIA's
libdrm, and this enables us to more easily support Qt using either
method, but does require some fixups.

The first patch is a backport from newer versions of Qt which will
allow the egldevice backend to function with the tegra-udrm. It is
not strictly necessary, but is nice because then users don't have
to worry about removing this driver if they want to e.g. switch
between Weston and Qt.

The second patch adds a default framebuffer to the initial calls
to libdrm to set modes and planes. The default value of -1 that was
used by Qt before wouldn't have been valid for any other platform,
and now it is not valid for tegra either.

Fixes #956

Signed-off-by: Kurt Kiefer kurt.kiefer@arthrex.com

This change adds two patches to support tegra devices in qt5 with
the L4T release 32.7.1. The newer version of L4T appears to unify
the capabilities of tegra-udrm and drm-nvdc drivers in the NVIDIA's
libdrm, and this enables us to more easily support Qt using either
method, but does require some fixups.

The first patch is a backport from newer versions of Qt which will
allow the egldevice backend to function with the tegra-udrm. It is
not strictly necessary, but is nice because then users don't have
to worry about removing this driver if they want to e.g. switch
between Weston and Qt.

The second patch adds a default framebuffer to the initial calls
to libdrm to set modes and planes. The default value of -1 that was
used by Qt before wouldn't have been valid for any other platform,
and now it is not valid for tegra either.

Fixes OE4T#956

Signed-off-by: Kurt Kiefer <kurt.kiefer@arthrex.com>
@kekiefer
Copy link
Contributor Author

It's probably worth mentioning that I experimented with enabling the gbm integration for Qt as well. With the work we did for Weston, this was very close to working. Surfaces were sent to the display, but with the wrong tiling modifiers, as Qt wasn't using the version of addfb2 that includes passing along the modifiers the way Weston did. If we want to, this could probably be addressed (maybe with a Qt patch, maybe with a patch to our libgbm backend), but I chose to go down the path of fixing egldevice, since this fix wants backporting to dunfell as well.

@madisongh madisongh merged commit 47b1426 into OE4T:master Apr 15, 2022
@kekiefer kekiefer deleted the master+qt5-fixes branch April 15, 2022 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Blank screen with Qt5 (EGLFS + KMS/DRM) since 32.7.1
2 participants