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
Limited Support for graphical acceleration on downstream-based modules #51
Comments
This is blocked because we are having some issues with the
From #57 |
For the Qt6 we need to wait until we have the packages build with OpenGL ES support. |
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
@tronical Slint supports OpenGL ES? We need to toggle something to work?
|
Yes, it uses EGL and GLESv2. Both libraries are opened dynamically at run-time. The error message suggests that libEGL.so could not be found on the system (at runtime). I’ve run this code before on the vivante containers before without issues. Were there any changes? |
Yes, the previous version probably was using software renderer, because we are not passing the The Slint template from here: https://github.com/microhobby/vscode-torizon-templates/commits/gpu-prefix is the repo that we are working to fix this. |
@tronical Yeah, there is an issue on my |
I mean here for example: https://github.com/slint-ui/slint/pkgs/container/slint%2Ftorizon-demos-arm64-vivante Based on https://github.com/slint-ui/slint/blob/master/docker/Dockerfile.torizon-demos
Thx. I can take a look at that next week. |
Ah Great :) |
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This is useful for machines that use proprietary GPU drivers and libraries. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GP Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GP Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. NOTE: The Avalonia GTK uses XWayland, anyway, this should not work with the Vivante GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. NOTE: The Avalonia GTK uses XWayland, anyway, this should not work with the Vivante GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. NOTE: The Avalonia GTK uses XWayland, anyway, this should not work with the Vivante GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
Uno Platform does not support openGL ES 2.0, so does not make sense to have this flags in launch.json for now. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com> diff --git a/dotnetUno/.vscode/launch.json b/dotnetUno/.vscode/launch.json index 7617fed..f6c304e 100644 --- a/dotnetUno/.vscode/launch.json +++ b/dotnetUno/.vscode/launch.json @@ -8,7 +8,7 @@ // Use IntelliSense to find out which attributes exist for C# debugging // Use hover for the description of the existing attributes // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md - "name": "Skia.GTK openGL", + "name": "Debug Local", "type": "coreclr", "request": "launch", "preLaunchTask": "build-torizon-local", @@ -18,28 +18,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", "GDK_BACKEND": "x11", - "UNO_DISABLE_OPENGL": "false", - "UNO_FULLSCREEN": "false" - }, - "cwd": "${workspaceFolder}/__change__.Skia.Gtk", - // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console - "console": "internalConsole", - "stopAtEntry": false - }, - { - // Use IntelliSense to find out which attributes exist for C# debugging - // Use hover for the description of the existing attributes - // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md - "name": "Skia.GTK noGL", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build-torizon-local", - // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/__change__.Skia.Gtk/bin/Debug/net6.0/__change__.Skia.Gtk.dll", - "args": [], - "env": { - "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "false" }, "cwd": "${workspaceFolder}/__change__.Skia.Gtk", @@ -58,8 +36,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", //"GDK_BACKEND": "x11", - //"GDK_GL": "gles", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], @@ -94,7 +70,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", // "GDK_BACKEND": "x11", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], @@ -130,7 +105,6 @@ "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", //"GDK_BACKEND": "x11", //"GDK_GL": "gles", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], diff --git a/dotnetUno/__change__.Skia.Gtk/Program.cs b/dotnetUno/__change__.Skia.Gtk/Program.cs index caf2e7d..cca7b89 100644 --- a/dotnetUno/__change__.Skia.Gtk/Program.cs +++ b/dotnetUno/__change__.Skia.Gtk/Program.cs @@ -15,16 +15,8 @@ namespace __change__.Skia.Gtk }; var host = new GtkHost(() => new App(), args); - - if (!Environment.GetEnvironmentVariable("UNO_DISABLE_OPENGL") - .Equals("true")) - { - host.RenderSurfaceType = RenderSurfaceType.OpenGL; - } - else - { - host.RenderSurfaceType = RenderSurfaceType.Software; - } + // FIXME: if your machine supports openGL remove this + host.RenderSurfaceType = RenderSurfaceType.Software; host.Run(); }
If we are not using the downstream Vivante GPU drivers we need to install the mesa drivers to have OpenGL support. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GP Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. NOTE: The Avalonia GTK uses XWayland, anyway, this should not work with the Vivante GPU. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
Uno Platform does not support openGL ES 2.0, so does not make sense to have this flags in launch.json for now. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com> diff --git a/dotnetUno/.vscode/launch.json b/dotnetUno/.vscode/launch.json index 7617fed..f6c304e 100644 --- a/dotnetUno/.vscode/launch.json +++ b/dotnetUno/.vscode/launch.json @@ -8,7 +8,7 @@ // Use IntelliSense to find out which attributes exist for C# debugging // Use hover for the description of the existing attributes // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md - "name": "Skia.GTK openGL", + "name": "Debug Local", "type": "coreclr", "request": "launch", "preLaunchTask": "build-torizon-local", @@ -18,28 +18,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", "GDK_BACKEND": "x11", - "UNO_DISABLE_OPENGL": "false", - "UNO_FULLSCREEN": "false" - }, - "cwd": "${workspaceFolder}/__change__.Skia.Gtk", - // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console - "console": "internalConsole", - "stopAtEntry": false - }, - { - // Use IntelliSense to find out which attributes exist for C# debugging - // Use hover for the description of the existing attributes - // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md - "name": "Skia.GTK noGL", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build-torizon-local", - // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/__change__.Skia.Gtk/bin/Debug/net6.0/__change__.Skia.Gtk.dll", - "args": [], - "env": { - "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "false" }, "cwd": "${workspaceFolder}/__change__.Skia.Gtk", @@ -58,8 +36,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", //"GDK_BACKEND": "x11", - //"GDK_GL": "gles", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], @@ -94,7 +70,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", // "GDK_BACKEND": "x11", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], @@ -130,7 +105,6 @@ "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", //"GDK_BACKEND": "x11", //"GDK_GL": "gles", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], diff --git a/dotnetUno/__change__.Skia.Gtk/Program.cs b/dotnetUno/__change__.Skia.Gtk/Program.cs index caf2e7d..cca7b89 100644 --- a/dotnetUno/__change__.Skia.Gtk/Program.cs +++ b/dotnetUno/__change__.Skia.Gtk/Program.cs @@ -15,16 +15,8 @@ namespace __change__.Skia.Gtk }; var host = new GtkHost(() => new App(), args); - - if (!Environment.GetEnvironmentVariable("UNO_DISABLE_OPENGL") - .Equals("true")) - { - host.RenderSurfaceType = RenderSurfaceType.OpenGL; - } - else - { - host.RenderSurfaceType = RenderSurfaceType.Software; - } + // FIXME: if your machine supports openGL remove this + host.RenderSurfaceType = RenderSurfaceType.Software; host.Run(); }
If we are not using the downstream Vivante GPU drivers we need to install the mesa drivers to have OpenGL support. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: #51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This is useful for machines that use proprietary GPU drivers and libraries. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GP Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. NOTE: The Avalonia GTK uses XWayland, anyway, this should not work with the Vivante GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
Uno Platform does not support openGL ES 2.0, so does not make sense to have this flags in launch.json for now. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com> diff --git a/dotnetUno/.vscode/launch.json b/dotnetUno/.vscode/launch.json index 7617fed..f6c304e 100644 --- a/dotnetUno/.vscode/launch.json +++ b/dotnetUno/.vscode/launch.json @@ -8,7 +8,7 @@ // Use IntelliSense to find out which attributes exist for C# debugging // Use hover for the description of the existing attributes // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md - "name": "Skia.GTK openGL", + "name": "Debug Local", "type": "coreclr", "request": "launch", "preLaunchTask": "build-torizon-local", @@ -18,28 +18,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", "GDK_BACKEND": "x11", - "UNO_DISABLE_OPENGL": "false", - "UNO_FULLSCREEN": "false" - }, - "cwd": "${workspaceFolder}/__change__.Skia.Gtk", - // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console - "console": "internalConsole", - "stopAtEntry": false - }, - { - // Use IntelliSense to find out which attributes exist for C# debugging - // Use hover for the description of the existing attributes - // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md - "name": "Skia.GTK noGL", - "type": "coreclr", - "request": "launch", - "preLaunchTask": "build-torizon-local", - // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/__change__.Skia.Gtk/bin/Debug/net6.0/__change__.Skia.Gtk.dll", - "args": [], - "env": { - "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "false" }, "cwd": "${workspaceFolder}/__change__.Skia.Gtk", @@ -58,8 +36,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", //"GDK_BACKEND": "x11", - //"GDK_GL": "gles", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], @@ -94,7 +70,6 @@ "env": { "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", // "GDK_BACKEND": "x11", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], @@ -130,7 +105,6 @@ "DOTNET_MODIFIABLE_ASSEMBLIES": "debug", //"GDK_BACKEND": "x11", //"GDK_GL": "gles", - "UNO_DISABLE_OPENGL": "true", "UNO_FULLSCREEN": "true" }, "args": [], diff --git a/dotnetUno/__change__.Skia.Gtk/Program.cs b/dotnetUno/__change__.Skia.Gtk/Program.cs index caf2e7d..cca7b89 100644 --- a/dotnetUno/__change__.Skia.Gtk/Program.cs +++ b/dotnetUno/__change__.Skia.Gtk/Program.cs @@ -15,16 +15,8 @@ namespace __change__.Skia.Gtk }; var host = new GtkHost(() => new App(), args); - - if (!Environment.GetEnvironmentVariable("UNO_DISABLE_OPENGL") - .Equals("true")) - { - host.RenderSurfaceType = RenderSurfaceType.OpenGL; - } - else - { - host.RenderSurfaceType = RenderSurfaceType.Software; - } + // FIXME: if your machine supports openGL remove this + host.RenderSurfaceType = RenderSurfaceType.Software; host.Run(); }
If we are not using the downstream Vivante GPU drivers we need to install the mesa drivers to have OpenGL support. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
This fixes the build for machines that use a different docker image with special libs for the specific vendor GPU. Related-to: toradex#51 Signed-off-by: Matheus Castello <matheus.castello@toradex.com>
We are moving it to the next development cycle because the Vivante GPU stuff is not ready yet from the Torizon Containers and packaging side. |
with the merge of #125 this can be closed |
There are templates that use the container wayland-base as a base for their application containers, regardless of SoC/SoM.
This results in limited hardware acceleration support for downstream-based modules (i.MX 8/i.MX 8M/i.MX 8X).
The downstream-based modules should use the container wayland-base-vivante instead, to allow hardware acceleration within the container.
As it is right now, the templates have hardware accelerated compositing, in the separate weston-vivante container, but the OpenGL provider in the application container itself is LLVMpipe, a software implementation.
The affected templates are:
The fix can be as simple as using a build arg for the GPU or may require further changes to these templates.
The text was updated successfully, but these errors were encountered: