sony / flutter-embedded-linux

Embedded Linux embedding for Flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support EGLStream

HidenoriMatsubayashi opened this issue · comments

Add EGLStream support for NVIDIA devices. Currently, this embedder doesn't work with DRM backends on NVIDIA devices such as Jetson Nano. Because NVIDIA basically doesn't support GBM. So, we need to add EGLStream support.

Would this output from PinebookPro (rk3399 with Panfrost) match the same requirement for EGLStream to be implemented?

lldb ./flutter-drm-backend ./sample/build/linux/arm64/release/bundle
(lldb) target create "./flutter-drm-backend"
Current executable set to '/home/pak0st/flutter-embedded-linux/build/flutter-drm-backend' (aarch64).
(lldb) settings set -- target.run-args  "./sample/build/linux/arm64/release/bundle"
(lldb) run
Process 10917 launched: '/home/pak0st/flutter-embedded-linux/build/flutter-drm-backend' (aarch64)
[ERROR][context_egl.h(95)] Failed to create EGL off-screen surface.(eglGetError: EGL_BAD_ALLOC)
[ERROR][linuxes_surface_gl_drm.h(50)] Off-Screen surface is invalid.
[ERROR][native_window_drm.cc(89)] TODO: implement here!!
[ERROR][flutter_linuxes_view.cc(60)] Failed to change surface size.
[ERROR:flutter/shell/platform/embedder/embedder_surface_gl.cc(102)] Could not create a resource context for async texture uploads. Expect degraded performance. Set a valid make_resource_current callback on FlutterOpenGLRendererConfig.
[ERROR:flutter/shell/platform/embedder/embedder_surface_gl.cc(102)] Could not create a resource context for async texture uploads. Expect degraded performance. Set a valid make_resource_current callback on FlutterOpenGLRendererConfig.

No, I think that's different from EGLstream.

I will start deal with this issue.

@Mai-Matsuura Did you see #15 ?

@HidenoriMatsubayashi
Yes, I saw #15 .
I think that issue is specific with Ubuntu20.04 and I have no Ubuntu20.04 environment.
I can prepare an environment of Ubuntu 20.04, but it takes time to save the existing data of Ubuntu18.04 that I am currently using.
So I decided to deal with this issue first.
Is there a problem with this policy?