-
Notifications
You must be signed in to change notification settings - Fork 330
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
Implement offscreen rendering in Wayland in OSGLContext #765
Conversation
816310b
to
209ff91
Compare
Interesting! |
Could check rendering with |
Can you be more specific about this?
Shadertoy being widely used and a supported plugin, this should be considered a serious issue. |
Speaking in the context of offscreen rendering in Natron RB-2.5 with a display (either an X11 or a Wayland session), Shadertoy does not work because of an argument named |
Do you see anything in the console output that says OpenGL was disabled for some reason? I would like to understand more precisely which configurations are broken. Is the execution with the Natron GUI always using hardware-accelerated OpenGL rendering, whether it's 2.4 or 2.5 or 2.5+this_PR? Is NatronRenderer always failing, or only in some configurations? Do you get the "Available OpenGL renderers" message in the console? |
My console output doesn't display any mention of OpenGL being disabled, in fact it finds a proper renderer
In the GUI it was for sure using OpenGL rendering, which was confirmed by checking the OpenGL settings in Preferences, running Shadertoy and monitoring GPU usage. Shadertoy works under GUI (in X11 with and without this PR) but surprisingly not in Renderer (in X11 with and without this PR).
As of Although this makes me think that we should defer this conversation under a new issue either in |
blocked by #779 |
See #779 as I've found out that it was due to a misconfiguration in the engine and not by this PR itself. |
209ff91
to
cbe83a8
Compare
cbe83a8
to
34cf297
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks OK to me, I don't have time to test and I'm just wondering if the build was tested on systems that don't support wayland.
I'll approve and let you merge
34cf297
to
11b2405
Compare
Thanks so much for approving, I'm very grateful 🙏 🙌 👏 |
It seems like this broke the CI builds (undefined symbol when linking NatronRenderer) - can you please take a look at it? |
Yeah, because I've forgot about including |
Can you commit just that line without a PR? I'm not sure about #829 |
Happens that I cannot commit directly to protected branches as of now so that's why I need somebody else with that kind of permissions. |
Ok I changed your role. You should be able to do it now |
PR Description
What type of PR is this? (Check one of the boxes below)
What does this pull request do?
This PR adds support for Wayland offscreen rendering through EGL and OpenGL. Due to the OpenGL API is only bindable in EGL versions 1.4 and onwards, the context creation will only admit those versions. And because of the Qt Wayland plugin being introduced in Qt 5 only that version and subsequent ones are supported. An
OSGLContext_xdg
class was implemented as an interface for both X11 and Wayland OpenGL context handling. In case users may want to force X11 in Natron they'll have to set theQT_QPA_PLATFORM
environment variable toxcb
and set theNATRON_DISABLE_WAYLAND
to any value.Show a few screenshots (if this is a visual change)
See #764.
Have you tested your changes (if applicable)? If so, how?
By building and running Natron and NatronRenderer (with
NatronRenderer --opengl enabled
) on a project that uses the Shadertoy plugin.Futher details of this pull request
With #764 Wayland is now supported by Natron.