Message ID | 20210427120438.1192346-1-gary.bisson@boundarydevices.com |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | package/freescale-imx/imx-gpu-viv: force wayland backend for all i.MX8 | expand |
Hello Gary, On 4/27/21 2:04 PM, Gary Bisson wrote: > - As Vivante blobs only support Wayland for all i.MX 8 Are you sure about that ? The examples (vv_launcher, tiger and cover_flow) are working fine on my i.MX8MM platform with the Framebuffer output. The libraries need libdrm, though. I will send a patch to fix the missing dependency here. Regards, > - Previously was only checking on IMX8M platform, allowing other > platforms to select another backend which was wrong > > Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> > --- > Hi, > > I know creating such empty config is not recommended, but it appeared to > be the cleanest solution not to copy the platform names many times. > But I'm open to another approach, let me know. > > Regards, > Gary > --- > package/freescale-imx/imx-gpu-viv/Config.in | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in > index cca2689905..ba1baa6b7b 100644 > --- a/package/freescale-imx/imx-gpu-viv/Config.in > +++ b/package/freescale-imx/imx-gpu-viv/Config.in > @@ -29,6 +29,15 @@ config BR2_PACKAGE_IMX_GPU_VIV > > if BR2_PACKAGE_IMX_GPU_VIV > > +config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY > + bool > + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \ > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \ > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \ > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \ > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP || \ > + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X > + > choice > prompt "Output option" > help > @@ -40,19 +49,19 @@ config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 > bool "X11" > depends on BR2_PACKAGE_XORG7 > # The i.MX8 blob doesn't support X11 output > - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M > + depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY > select BR2_PACKAGE_XLIB_LIBXDAMAGE > select BR2_PACKAGE_XLIB_LIBXEXT > select BR2_PACKAGE_XLIB_LIBXFIXES > > comment "X11 backend needs Xorg package" > depends on !BR2_PACKAGE_XORG7 > - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M > + depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY > > config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB > bool "Framebuffer" > # The i.MX8 blob doesn't support FB output > - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M > + depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY > > config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL > bool "Wayland" >
Hi, On Tue, Apr 27, 2021 at 03:04:46PM +0200, Sébastien Szymanski wrote: > Hello Gary, > > On 4/27/21 2:04 PM, Gary Bisson wrote: > > - As Vivante blobs only support Wayland for all i.MX 8 > > Are you sure about that ? The examples (vv_launcher, tiger and > cover_flow) are working fine on my i.MX8MM platform with the Framebuffer > output. Well the thing is the package doesn't include a framebuffer backend, so you really use the libraries meant for Wayland. > The libraries need libdrm, though. I will send a patch to fix the > missing dependency here. Yes, the Wayland libraries can be used with with libgbm without a Wayland compositor (what Qt does), but the libraries are still for "Wayland" backend. Please review the ARM32 package and compare with ARM64, you'll see the difference. Regards, Gary
Hi, On Tue, Apr 27, 2021 at 03:25:03PM +0200, Gary Bisson wrote: > Hi, > > On Tue, Apr 27, 2021 at 03:04:46PM +0200, Sébastien Szymanski wrote: > > Hello Gary, > > > > On 4/27/21 2:04 PM, Gary Bisson wrote: > > > - As Vivante blobs only support Wayland for all i.MX 8 > > > > Are you sure about that ? The examples (vv_launcher, tiger and > > cover_flow) are working fine on my i.MX8MM platform with the Framebuffer > > output. > > Well the thing is the package doesn't include a framebuffer backend, so > you really use the libraries meant for Wayland. > > > The libraries need libdrm, though. I will send a patch to fix the > > missing dependency here. > > Yes, the Wayland libraries can be used with with libgbm without a > Wayland compositor (what Qt does), but the libraries are still for > "Wayland" backend. > > Please review the ARM32 package and compare with ARM64, you'll see the > difference. Actually I stand corrected, it was the case in the previous aarch64 packages but indeed at least the latest version seem to have new backends: $ readelf -d fb/libEGL.so| grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libGAL.so] 0x0000000000000001 (NEEDED) Shared library: [libdrm.so.2] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [ld-linux-aarch64.so.1] $ readelf -d wayland/libEGL.so| grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libGAL.so] 0x0000000000000001 (NEEDED) Shared library: [libwayland-server.so.0] 0x0000000000000001 (NEEDED) Shared library: [libwayland-client.so.0] 0x0000000000000001 (NEEDED) Shared library: [libdrm.so.2] 0x0000000000000001 (NEEDED) Shared library: [libgbm.so.1] 0x0000000000000001 (NEEDED) Shared library: [libgbm_viv.so] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [ld-linux-aarch64.so.1] $ readelf -d x11/libEGL.so| grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libGAL.so] 0x0000000000000001 (NEEDED) Shared library: [libX11.so.6] 0x0000000000000001 (NEEDED) Shared library: [libXext.so.6] 0x0000000000000001 (NEEDED) Shared library: [libdrm.so.2] 0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0] 0x0000000000000001 (NEEDED) Shared library: [libc.so.6] 0x0000000000000001 (NEEDED) Shared library: [ld-linux-aarch64.so.1] So let's discard this patch for now. NXP still only advertise Wayland support. Also, the Qt use of Wayland libs via libgbm still applies, but maybe we could restore other backends. Thanks for your feedback. Regards, Gary
diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in index cca2689905..ba1baa6b7b 100644 --- a/package/freescale-imx/imx-gpu-viv/Config.in +++ b/package/freescale-imx/imx-gpu-viv/Config.in @@ -29,6 +29,15 @@ config BR2_PACKAGE_IMX_GPU_VIV if BR2_PACKAGE_IMX_GPU_VIV +config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MM || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MN || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8MP || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X + choice prompt "Output option" help @@ -40,19 +49,19 @@ config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 bool "X11" depends on BR2_PACKAGE_XORG7 # The i.MX8 blob doesn't support X11 output - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY select BR2_PACKAGE_XLIB_LIBXDAMAGE select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXFIXES comment "X11 backend needs Xorg package" depends on !BR2_PACKAGE_XORG7 - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB bool "Framebuffer" # The i.MX8 blob doesn't support FB output - depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + depends on !BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL_ONLY config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL bool "Wayland"
- As Vivante blobs only support Wayland for all i.MX 8 - Previously was only checking on IMX8M platform, allowing other platforms to select another backend which was wrong Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> --- Hi, I know creating such empty config is not recommended, but it appeared to be the cleanest solution not to copy the platform names many times. But I'm open to another approach, let me know. Regards, Gary --- package/freescale-imx/imx-gpu-viv/Config.in | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)