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

Release 4.0.4 #548

Open
lepalom opened this issue Feb 6, 2025 · 21 comments
Open

Release 4.0.4 #548

lepalom opened this issue Feb 6, 2025 · 21 comments

Comments

@lepalom
Copy link

lepalom commented Feb 6, 2025

Hi,

we have seen that 4.0.3 has problems with EGL [1] in Linux. The bug was solved in the repo but no release with the changes. Could you please release a new version?

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050302

@VolkerEnderlein
Copy link
Member

@tritao what do you think is EGL stuff production ready or are there any objections releasing it in version 4.0.4?

@tritao
Copy link
Contributor

tritao commented Feb 6, 2025

I think it should be production ready, though I have only tested it on my system.

What I mentioned before is that for FreeCAD it would be preferable if Coin supported both EGL and non-EGL backends, switchable at runtime, but we can postpone that for the next release.

So no objections 👍

Hopefully that doesn't cause distro packagers any issue, if it does, and you see this, please let us know.

@lepalom
Copy link
Author

lepalom commented Feb 6, 2025

If you release it soon, I push it to unstable. I hope it is ABI compatible, if not, please, bump ABI number.

@VolkerEnderlein
Copy link
Member

@lepalom I will do the test for ABI compatibility and the release over the weekend.

@lepalom
Copy link
Author

lepalom commented Feb 7, 2025

@VolkerEnderlein Great!!! thanks!!

@Rexbas
Copy link
Contributor

Rexbas commented Feb 7, 2025

I am not so sure it is production ready. Like I mentioned earlier (#531 (comment), #531 (comment)), I have a problem when using the EGL combined with the NVIDIA proprietary drivers, but it works fine with nouveau. Maybe a release of 4.0.4 is good so more FreeCAD devs can test with it but I think we need more people with NVIDIA proprietary drivers to confirm or reject the problems I have before pushing a Coin version with EGL to the masses. Maybe some sort of beta release is a better option?!

@lepalom
Copy link
Author

lepalom commented Feb 7, 2025

@Rexbas could you show a simple example of problems with EGL + NVIDIA proprietary drivers + Linux so I can test it?

@Rexbas
Copy link
Contributor

Rexbas commented Feb 7, 2025

Currently I have driver version 565.77. Build Coin with COIN_BUILD_EGL = ON. Then use that build for FreeCAD and I get this:

Image

and this:

Log
FreeCAD 1.1.0, Libs: 1.1.0devR39980 +1 (Git)
(C) 2001-2024 FreeCAD contributors
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.

Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
Coin warning in cc_glglue_instance(): Error when setting up the GL context. This can happen if there is no current context, or if the context has been set up incorrectly.
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin warning in SbRotation::SbRotation(): axis parameter has zero length => undefined axis.
Coin warning in SbRotation::setValue(): axis parameter has zero length.
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin warning in SoGLPointSizeElement::updategl(): 2.000000 is outside the legal range of [0.000000, 0.000000] for this OpenGL implementation's glPointSize() settings. It was now clamped.

See the documentation of SoGLPointSizeElement for information on how the application programmer should acquire the boundary values for the legal range.
Coin warning in SoGLLineWidthElement::updategl(): 2.000000 is outside the legal range of [0.000000, 0.000000] for this OpenGL implementation's glLineWidth() settings. It was now clamped.

See the documentation of SoGLLineWidthElement for information on how the application programmer should acquire the boundary values for the legal range.
Coin warning in SoGLPolygonOffsetElement::updategl(): OpenGL driver doesn't support z-buffer offsetting
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin warning in cc_glglue_instance(): Error when setting up the GL context. This can happen if there is no current context, or if the context has been set up incorrectly.
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin warning in SbRotation::SbRotation(): axis parameter has zero length => undefined axis.
Coin warning in SbRotation::setValue(): axis parameter has zero length.
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Switch (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Material (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)

...

@Rexbas
Copy link
Contributor

Rexbas commented Feb 7, 2025

Alternatively, running examples from https://github.com/coin3d/ivexamples results in similar problems but black instead of white:

Image

Log
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
Coin warning in cc_glglue_instance(): Error when setting up the GL context. This can happen if there is no current context, or if the context has been set up incorrectly.
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_ENUM', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoGLDisplayList::SoGLDisplayList(): Could not reserve 1 displaylist. Expect flawed rendering.
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)
Coin error in SoNode::GLRenderS(): GL error: 'GL_INVALID_OPERATION', nodetype: Separator (set envvar COIN_GLERROR_DEBUGGING=1 and re-run to get more information)

@VolkerEnderlein
Copy link
Member

@Rexbas I could prepare a release candidate or beta release but I doubt it will find its way into the distributions as the maintainers add only real releases or patch sets to a release. Can you tell me how you build Coin libraries when developing for FreeCAD? Are you using tagged version to build Coin?

@Rexbas
Copy link
Contributor

Rexbas commented Feb 7, 2025

but I doubt it will find its way into the distributions as the maintainers add only real releases or patch sets to a release.

Ah yes you are right, it was just an idea but better make sure to not push a release that only works for half of the users.

Can you tell me how you build Coin libraries when developing for FreeCAD?

For FreeCAD I use the pixi environment from the FreeCAD repo which contains Coin 4.0.3. When I want to use a custom build of Coin then I usually change the target of the links in the .pixi folder to the output of my Coin build folder.

Are you using tagged version to build Coin?

No, I usually use the master branch.

@lepalom
Copy link
Author

lepalom commented Feb 7, 2025

I have built coin and soqt from last version of git. coin with COIN_BUILD_EGL = ON.
I have built ivexamples.
I have try several options but I always see the cone but this message:
./02.1.HelloCone
Coin warning in cc_glglue_instance(): Error when setting up the GL context. This can happen if there is no current context, or if the context has been set up incorrectly.
Coin error in eglglue_init(): Couldn't initialize EGL. EGL_NOT_INITIALIZED

I run a Debian Stable bookworm with Nvidia proprietary drivers:
$ eglinfo
EGL client extensions string:
EGL_EXT_platform_base EGL_EXT_device_base EGL_EXT_device_enumeration
EGL_EXT_device_query EGL_KHR_client_get_all_proc_addresses
EGL_EXT_client_extensions EGL_KHR_debug EGL_KHR_platform_x11
EGL_EXT_platform_x11 EGL_EXT_platform_device
EGL_MESA_platform_surfaceless EGL_EXT_explicit_device
EGL_KHR_platform_wayland EGL_EXT_platform_wayland
EGL_KHR_platform_gbm EGL_MESA_platform_gbm EGL_EXT_platform_xcb

GBM platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
EGL extensions string:
EGL_EXT_buffer_age EGL_EXT_client_sync
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export
EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_protected_content
EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode
EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs
EGL_KHR_create_context_no_error EGL_KHR_context_flush_control
EGL_KHR_create_context EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context
EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base
EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib
EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd
EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface
EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync
EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage
EGL_NV_stream_cross_display EGL_NV_stream_cross_object
EGL_NV_stream_cross_process EGL_NV_stream_cross_system
EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata
EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket
EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix
EGL_NV_stream_sync EGL_NV_stream_fifo_next
EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv
EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time
EGL_NV_output_drm_flip_event EGL_NV_triple_buffer
EGL_NV_robustness_video_memory_purge EGL_EXT_present_opaque
EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream
Configurations:
bf lv colorbuffer dp st ms vis cav bi renderable supported
id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces

0x01 32 0 8 8 8 8 24 8 0 0 0x34325241-- y y y win,pb,str
0x02 32 0 8 8 8 8 24 0 0 0 0x34325241-- y y y win,pb,str
0x03 32 0 8 8 8 8 0 8 0 0 0x34325241-- y y y win,pb,str
0x04 32 0 8 8 8 8 0 0 0 0 0x34325241-- y y y win,pb,str
0x05 32 0 8 8 8 8 24 8 2 1 0x34325241-- y y y win,pb,str
0x06 32 0 8 8 8 8 24 0 2 1 0x34325241-- y y y win,pb,str
0x07 32 0 8 8 8 8 0 8 2 1 0x34325241-- y y y win,pb,str
0x08 32 0 8 8 8 8 0 0 2 1 0x34325241-- y y y win,pb,str
0x09 32 0 8 8 8 8 24 8 4 1 0x34325241-- y y y win,pb,str
0x0a 32 0 8 8 8 8 24 8 4 1 0x34325241-- y y y win,pb,str
0x0b 32 0 8 8 8 8 24 0 4 1 0x34325241-- y y y win,pb,str
0x0c 32 0 8 8 8 8 24 0 4 1 0x34325241-- y y y win,pb,str
0x0d 32 0 8 8 8 8 0 8 4 1 0x34325241-- y y y win,pb,str
0x0e 32 0 8 8 8 8 0 8 4 1 0x34325241-- y y y win,pb,str
0x0f 32 0 8 8 8 8 0 0 4 1 0x34325241-- y y y win,pb,str
0x10 32 0 8 8 8 8 0 0 4 1 0x34325241-- y y y win,pb,str
0x11 32 0 8 8 8 8 24 8 8 1 0x34325241-- y y y win,pb,str
0x12 32 0 8 8 8 8 24 0 8 1 0x34325241-- y y y win,pb,str
0x13 32 0 8 8 8 8 0 8 8 1 0x34325241-- y y y win,pb,str
0x14 32 0 8 8 8 8 0 0 8 1 0x34325241-- y y y win,pb,str
0x15 24 0 8 8 8 0 24 8 0 0 0x34325258-- y y y win,pb,str
0x16 24 0 8 8 8 0 24 0 0 0 0x34325258-- y y y win,pb,str
0x17 24 0 8 8 8 0 0 8 0 0 0x34325258-- y y y win,pb,str
0x18 24 0 8 8 8 0 0 0 0 0 0x34325258-- y y y win,pb,str
0x19 24 0 8 8 8 0 24 8 2 1 0x34325258-- y y y win,pb,str
0x1a 24 0 8 8 8 0 24 0 2 1 0x34325258-- y y y win,pb,str
0x1b 24 0 8 8 8 0 0 8 2 1 0x34325258-- y y y win,pb,str
0x1c 24 0 8 8 8 0 0 0 2 1 0x34325258-- y y y win,pb,str
0x1d 24 0 8 8 8 0 24 8 4 1 0x34325258-- y y y win,pb,str
0x1e 24 0 8 8 8 0 24 8 4 1 0x34325258-- y y y win,pb,str
0x1f 24 0 8 8 8 0 24 0 4 1 0x34325258-- y y y win,pb,str
0x20 24 0 8 8 8 0 24 0 4 1 0x34325258-- y y y win,pb,str
0x21 24 0 8 8 8 0 0 8 4 1 0x34325258-- y y y win,pb,str
0x22 24 0 8 8 8 0 0 8 4 1 0x34325258-- y y y win,pb,str
0x23 24 0 8 8 8 0 0 0 4 1 0x34325258-- y y y win,pb,str
0x24 24 0 8 8 8 0 0 0 4 1 0x34325258-- y y y win,pb,str
0x25 24 0 8 8 8 0 24 8 8 1 0x34325258-- y y y win,pb,str
0x26 24 0 8 8 8 0 24 0 8 1 0x34325258-- y y y win,pb,str
0x27 24 0 8 8 8 0 0 8 8 1 0x34325258-- y y y win,pb,str
0x28 24 0 8 8 8 0 0 0 8 1 0x34325258-- y y y win,pb,str
0x29 16 0 5 6 5 0 24 8 0 0 0x36314752-- y y y win,pb,str
0x2a 16 0 5 6 5 0 24 0 0 0 0x36314752-- y y y win,pb,str
0x2b 16 0 5 6 5 0 16 0 0 0 0x36314752-- y y y win,pb,str
0x2c 16 0 5 6 5 0 0 8 0 0 0x36314752-- y y y win,pb,str
0x2d 16 0 5 6 5 0 0 0 0 0 0x36314752-- y y y win,pb,str
0x2e 16 0 5 6 5 0 24 8 2 1 0x36314752-- y y y win,pb,str
0x2f 16 0 5 6 5 0 24 0 2 1 0x36314752-- y y y win,pb,str
0x30 16 0 5 6 5 0 16 0 2 1 0x36314752-- y y y win,pb,str
0x31 16 0 5 6 5 0 0 8 2 1 0x36314752-- y y y win,pb,str
0x32 16 0 5 6 5 0 0 0 2 1 0x36314752-- y y y win,pb,str
0x33 16 0 5 6 5 0 24 8 4 1 0x36314752-- y y y win,pb,str
0x34 16 0 5 6 5 0 24 8 4 1 0x36314752-- y y y win,pb,str
0x35 16 0 5 6 5 0 24 0 4 1 0x36314752-- y y y win,pb,str
0x36 16 0 5 6 5 0 24 0 4 1 0x36314752-- y y y win,pb,str
0x37 16 0 5 6 5 0 16 0 4 1 0x36314752-- y y y win,pb,str
0x38 16 0 5 6 5 0 16 0 4 1 0x36314752-- y y y win,pb,str
0x39 16 0 5 6 5 0 0 8 4 1 0x36314752-- y y y win,pb,str
0x3a 16 0 5 6 5 0 0 8 4 1 0x36314752-- y y y win,pb,str
0x3b 16 0 5 6 5 0 0 0 4 1 0x36314752-- y y y win,pb,str
0x3c 16 0 5 6 5 0 0 0 4 1 0x36314752-- y y y win,pb,str
0x3d 16 0 5 6 5 0 24 8 8 1 0x36314752-- y y y win,pb,str
0x3e 16 0 5 6 5 0 24 0 8 1 0x36314752-- y y y win,pb,str
0x3f 16 0 5 6 5 0 16 0 8 1 0x36314752-- y y y win,pb,str
0x40 16 0 5 6 5 0 0 8 8 1 0x36314752-- y y y win,pb,str
0x41 16 0 5 6 5 0 0 0 8 1 0x36314752-- y y y win,pb,str

Wayland platform:
eglinfo: eglInitialize failed

X11 platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
EGL extensions string:
EGL_EXT_buffer_age EGL_EXT_client_sync
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export
EGL_EXT_output_base EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse
EGL_IMG_context_priority EGL_KHR_config_attribs
EGL_KHR_create_context_no_error EGL_KHR_context_flush_control
EGL_KHR_create_context EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context
EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base
EGL_KHR_image_pixmap EGL_KHR_reusable_sync EGL_KHR_stream
EGL_KHR_stream_attrib EGL_KHR_stream_consumer_gltexture
EGL_KHR_stream_cross_process_fd EGL_KHR_stream_fifo
EGL_KHR_stream_producer_eglsurface EGL_KHR_surfaceless_context
EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync EGL_NV_post_sub_buffer
EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage
EGL_NV_stream_cross_display EGL_NV_stream_cross_object
EGL_NV_stream_cross_process EGL_NV_stream_cross_system
EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata
EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket
EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix
EGL_NV_stream_sync EGL_NV_stream_fifo_next
EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv
EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time
EGL_NV_output_drm_flip_event EGL_NV_triple_buffer
EGL_NV_robustness_video_memory_purge EGL_EXT_present_opaque
EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream
Configurations:
bf lv colorbuffer dp st ms vis cav bi renderable supported
id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces

0x01 32 0 8 8 8 8 24 8 0 0 0x24-- y y y win,pb,pix,str
0x02 32 0 8 8 8 8 24 8 0 0 0x7a-- y y y win,pb,pix,str
0x03 32 0 8 8 8 8 24 8 0 0 0x4f-- y y y win,pb,pix,str
0x04 32 0 8 8 8 8 24 0 0 0 0x28-- y y y win,pb,pix,str
0x05 32 0 8 8 8 8 24 0 0 0 0x7e-- y y y win,pb,pix,str
0x06 32 0 8 8 8 8 24 0 0 0 0x53-- y y y win,pb,pix,str
0x07 32 0 8 8 8 8 0 0 0 0 0x2c-- y y y win,pb,pix,str
0x08 32 0 8 8 8 8 0 0 0 0 0x82-- y y y win,pb,pix,str
0x09 32 0 8 8 8 8 0 0 0 0 0x57-- y y y win,pb,pix,str
0x0a 32 0 8 8 8 8 24 8 2 1 0x38-- y y y win,pb,str
0x0b 32 0 8 8 8 8 24 8 2 1 0x8e-- y y y win,pb,str
0x0c 32 0 8 8 8 8 24 8 2 1 0x63-- y y y win,pb,str
0x0d 32 0 8 8 8 8 24 0 2 1 0x30-- y y y win,pb,str
0x0e 32 0 8 8 8 8 24 0 2 1 0x86-- y y y win,pb,str
0x0f 32 0 8 8 8 8 24 0 2 1 0x5b-- y y y win,pb,str
0x10 32 0 8 8 8 8 24 8 4 1 0x3a-- y y y win,pb,str
0x11 32 0 8 8 8 8 24 8 4 1 0x90-- y y y win,pb,str
0x12 32 0 8 8 8 8 24 8 4 1 0x65-- y y y win,pb,str
0x13 32 0 8 8 8 8 24 0 4 1 0x32-- y y y win,pb,str
0x14 32 0 8 8 8 8 24 0 4 1 0x88-- y y y win,pb,str
0x15 32 0 8 8 8 8 24 0 4 1 0x5d-- y y y win,pb,str
0x16 32 0 8 8 8 8 24 8 8 1 0x44-- y y y win,pb,str
0x17 32 0 8 8 8 8 24 8 8 1 0x9a-- y y y win,pb,str
0x18 32 0 8 8 8 8 24 8 8 1 0x6f-- y y y win,pb,str
0x19 32 0 8 8 8 8 24 0 8 1 0x40-- y y y win,pb,str
0x1a 32 0 8 8 8 8 24 0 8 1 0x96-- y y y win,pb,str
0x1b 32 0 8 8 8 8 24 0 8 1 0x6b-- y y y win,pb,str
0x1c 32 0 8 8 8 8 24 8 16 1 0x4c-- y y y win,pb,str
0x1d 32 0 8 8 8 8 24 8 16 1 0xa2-- y y y win,pb,str
0x1e 32 0 8 8 8 8 24 8 16 1 0x77-- y y y win,pb,str
0x1f 32 0 8 8 8 8 24 0 16 1 0x48-- y y y win,pb,str
0x20 32 0 8 8 8 8 24 0 16 1 0x9e-- y y y win,pb,str
0x21 32 0 8 8 8 8 24 0 16 1 0x73-- y y y win,pb,str
0x22 24 0 8 8 8 0 24 8 0 0 0x21-- y y y win,pb,pix,str
0x23 24 0 8 8 8 0 24 8 0 0 0x23-- y y y win,pb,pix,str
0x24 24 0 8 8 8 0 24 8 0 0 0x22-- y y y win,pb,pix,str
0x25 24 0 8 8 8 0 24 0 0 0 0x27-- y y y win,pb,pix,str
0x26 24 0 8 8 8 0 24 0 0 0 0x7d-- y y y win,pb,pix,str
0x27 24 0 8 8 8 0 24 0 0 0 0x52-- y y y win,pb,pix,str
0x28 24 0 8 8 8 0 0 0 0 0 0x2b-- y y y win,pb,pix,str
0x29 24 0 8 8 8 0 0 0 0 0 0x81-- y y y win,pb,pix,str
0x2a 24 0 8 8 8 0 0 0 0 0 0x56-- y y y win,pb,pix,str
0x2b 24 0 8 8 8 0 24 8 2 1 0x37-- y y y win,pb,str
0x2c 24 0 8 8 8 0 24 8 2 1 0x8d-- y y y win,pb,str
0x2d 24 0 8 8 8 0 24 8 2 1 0x62-- y y y win,pb,str
0x2e 24 0 8 8 8 0 24 0 2 1 0x2f-- y y y win,pb,str
0x2f 24 0 8 8 8 0 24 0 2 1 0x85-- y y y win,pb,str
0x30 24 0 8 8 8 0 24 0 2 1 0x5a-- y y y win,pb,str
0x31 24 0 8 8 8 0 24 8 4 1 0x39-- y y y win,pb,str
0x32 24 0 8 8 8 0 24 8 4 1 0x8f-- y y y win,pb,str
0x33 24 0 8 8 8 0 24 8 4 1 0x64-- y y y win,pb,str
0x34 24 0 8 8 8 0 24 0 4 1 0x31-- y y y win,pb,str
0x35 24 0 8 8 8 0 24 0 4 1 0x87-- y y y win,pb,str
0x36 24 0 8 8 8 0 24 0 4 1 0x5c-- y y y win,pb,str
0x37 24 0 8 8 8 0 24 8 8 1 0x43-- y y y win,pb,str
0x38 24 0 8 8 8 0 24 8 8 1 0x99-- y y y win,pb,str
0x39 24 0 8 8 8 0 24 8 8 1 0x6e-- y y y win,pb,str
0x3a 24 0 8 8 8 0 24 0 8 1 0x3f-- y y y win,pb,str
0x3b 24 0 8 8 8 0 24 0 8 1 0x95-- y y y win,pb,str
0x3c 24 0 8 8 8 0 24 0 8 1 0x6a-- y y y win,pb,str
0x3d 24 0 8 8 8 0 24 8 16 1 0x4b-- y y y win,pb,str
0x3e 24 0 8 8 8 0 24 8 16 1 0xa1-- y y y win,pb,str
0x3f 24 0 8 8 8 0 24 8 16 1 0x76-- y y y win,pb,str
0x40 24 0 8 8 8 0 24 0 16 1 0x47-- y y y win,pb,str
0x41 24 0 8 8 8 0 24 0 16 1 0x9d-- y y y win,pb,str
0x42 24 0 8 8 8 0 24 0 16 1 0x72-- y y y win,pb,str
0x43 16 0 5 6 5 0 24 8 0 0 0x00-- y y y pb,str
0x44 16 0 5 6 5 0 24 0 0 0 0x00-- y y y pb,str
0x45 16 0 5 6 5 0 16 0 0 0 0x00-- y y y pb,str
0x46 16 0 5 6 5 0 0 0 0 0 0x00-- y y y pb,str

Surfaceless platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
EGL extensions string:
EGL_EXT_buffer_age EGL_EXT_client_sync
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export
EGL_EXT_output_base EGL_EXT_protected_content
EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse
EGL_IMG_context_priority EGL_KHR_config_attribs
EGL_KHR_create_context_no_error EGL_KHR_context_flush_control
EGL_KHR_create_context EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context
EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base
EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib
EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd
EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface
EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync
EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage
EGL_NV_stream_cross_display EGL_NV_stream_cross_object
EGL_NV_stream_cross_process EGL_NV_stream_cross_system
EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata
EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket
EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix
EGL_NV_stream_sync EGL_NV_stream_fifo_next
EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv
EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time
EGL_NV_output_drm_flip_event EGL_NV_triple_buffer
EGL_NV_robustness_video_memory_purge EGL_EXT_present_opaque
EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream
Configurations:
bf lv colorbuffer dp st ms vis cav bi renderable supported
id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces

0x01 32 0 8 8 8 8 24 8 0 0 0x00-- y y y pb,str
0x02 32 0 8 8 8 8 24 0 0 0 0x00-- y y y pb,str
0x03 32 0 8 8 8 8 0 8 0 0 0x00-- y y y pb,str
0x04 32 0 8 8 8 8 0 0 0 0 0x00-- y y y pb,str
0x05 32 0 8 8 8 8 24 8 2 1 0x00-- y y y pb,str
0x06 32 0 8 8 8 8 24 0 2 1 0x00-- y y y pb,str
0x07 32 0 8 8 8 8 0 8 2 1 0x00-- y y y pb,str
0x08 32 0 8 8 8 8 0 0 2 1 0x00-- y y y pb,str
0x09 32 0 8 8 8 8 24 8 4 1 0x00-- y y y pb,str
0x0a 32 0 8 8 8 8 24 8 4 1 0x00-- y y y pb,str
0x0b 32 0 8 8 8 8 24 0 4 1 0x00-- y y y pb,str
0x0c 32 0 8 8 8 8 24 0 4 1 0x00-- y y y pb,str
0x0d 32 0 8 8 8 8 0 8 4 1 0x00-- y y y pb,str
0x0e 32 0 8 8 8 8 0 8 4 1 0x00-- y y y pb,str
0x0f 32 0 8 8 8 8 0 0 4 1 0x00-- y y y pb,str
0x10 32 0 8 8 8 8 0 0 4 1 0x00-- y y y pb,str
0x11 32 0 8 8 8 8 24 8 8 1 0x00-- y y y pb,str
0x12 32 0 8 8 8 8 24 0 8 1 0x00-- y y y pb,str
0x13 32 0 8 8 8 8 0 8 8 1 0x00-- y y y pb,str
0x14 32 0 8 8 8 8 0 0 8 1 0x00-- y y y pb,str
0x15 24 0 8 8 8 0 24 8 0 0 0x00-- y y y pb,str
0x16 24 0 8 8 8 0 24 0 0 0 0x00-- y y y pb,str
0x17 24 0 8 8 8 0 0 8 0 0 0x00-- y y y pb,str
0x18 24 0 8 8 8 0 0 0 0 0 0x00-- y y y pb,str
0x19 24 0 8 8 8 0 24 8 2 1 0x00-- y y y pb,str
0x1a 24 0 8 8 8 0 24 0 2 1 0x00-- y y y pb,str
0x1b 24 0 8 8 8 0 0 8 2 1 0x00-- y y y pb,str
0x1c 24 0 8 8 8 0 0 0 2 1 0x00-- y y y pb,str
0x1d 24 0 8 8 8 0 24 8 4 1 0x00-- y y y pb,str
0x1e 24 0 8 8 8 0 24 8 4 1 0x00-- y y y pb,str
0x1f 24 0 8 8 8 0 24 0 4 1 0x00-- y y y pb,str
0x20 24 0 8 8 8 0 24 0 4 1 0x00-- y y y pb,str
0x21 24 0 8 8 8 0 0 8 4 1 0x00-- y y y pb,str
0x22 24 0 8 8 8 0 0 8 4 1 0x00-- y y y pb,str
0x23 24 0 8 8 8 0 0 0 4 1 0x00-- y y y pb,str
0x24 24 0 8 8 8 0 0 0 4 1 0x00-- y y y pb,str
0x25 24 0 8 8 8 0 24 8 8 1 0x00-- y y y pb,str
0x26 24 0 8 8 8 0 24 0 8 1 0x00-- y y y pb,str
0x27 24 0 8 8 8 0 0 8 8 1 0x00-- y y y pb,str
0x28 24 0 8 8 8 0 0 0 8 1 0x00-- y y y pb,str
0x29 16 0 5 6 5 0 24 8 0 0 0x00-- y y y pb,str
0x2a 16 0 5 6 5 0 24 0 0 0 0x00-- y y y pb,str
0x2b 16 0 5 6 5 0 16 0 0 0 0x00-- y y y pb,str
0x2c 16 0 5 6 5 0 0 8 0 0 0x00-- y y y pb,str
0x2d 16 0 5 6 5 0 0 0 0 0 0x00-- y y y pb,str
0x2e 16 0 5 6 5 0 24 8 2 1 0x00-- y y y pb,str
0x2f 16 0 5 6 5 0 24 0 2 1 0x00-- y y y pb,str
0x30 16 0 5 6 5 0 16 0 2 1 0x00-- y y y pb,str
0x31 16 0 5 6 5 0 0 8 2 1 0x00-- y y y pb,str
0x32 16 0 5 6 5 0 0 0 2 1 0x00-- y y y pb,str
0x33 16 0 5 6 5 0 24 8 4 1 0x00-- y y y pb,str
0x34 16 0 5 6 5 0 24 8 4 1 0x00-- y y y pb,str
0x35 16 0 5 6 5 0 24 0 4 1 0x00-- y y y pb,str
0x36 16 0 5 6 5 0 24 0 4 1 0x00-- y y y pb,str
0x37 16 0 5 6 5 0 16 0 4 1 0x00-- y y y pb,str
0x38 16 0 5 6 5 0 16 0 4 1 0x00-- y y y pb,str
0x39 16 0 5 6 5 0 0 8 4 1 0x00-- y y y pb,str
0x3a 16 0 5 6 5 0 0 8 4 1 0x00-- y y y pb,str
0x3b 16 0 5 6 5 0 0 0 4 1 0x00-- y y y pb,str
0x3c 16 0 5 6 5 0 0 0 4 1 0x00-- y y y pb,str
0x3d 16 0 5 6 5 0 24 8 8 1 0x00-- y y y pb,str
0x3e 16 0 5 6 5 0 24 0 8 1 0x00-- y y y pb,str
0x3f 16 0 5 6 5 0 16 0 8 1 0x00-- y y y pb,str
0x40 16 0 5 6 5 0 0 8 8 1 0x00-- y y y pb,str
0x41 16 0 5 6 5 0 0 0 8 1 0x00-- y y y pb,str

Device platform:
Device #0:

EGL device extensions string:
EGL_NV_device_cuda EGL_EXT_device_drm EGL_EXT_device_drm_render_node
EGL_EXT_device_query_name EGL_EXT_device_persistent_id
Platform Device:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
EGL extensions string:
EGL_EXT_buffer_age EGL_EXT_client_sync
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export
EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_protected_content
EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode
EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs
EGL_KHR_create_context_no_error EGL_KHR_context_flush_control
EGL_KHR_create_context EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context
EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base
EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib
EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd
EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface
EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync
EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage
EGL_NV_stream_cross_display EGL_NV_stream_cross_object
EGL_NV_stream_cross_process EGL_NV_stream_cross_system
EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata
EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket
EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix
EGL_NV_stream_sync EGL_NV_stream_fifo_next
EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv
EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time
EGL_NV_output_drm_flip_event EGL_NV_triple_buffer
EGL_NV_robustness_video_memory_purge EGL_EXT_present_opaque
EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream
Configurations:
bf lv colorbuffer dp st ms vis cav bi renderable supported
id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces

0x01 32 0 8 8 8 8 24 8 0 0 0x00-- y y y pb,str
0x02 32 0 8 8 8 8 24 0 0 0 0x00-- y y y pb,str
0x03 32 0 8 8 8 8 0 8 0 0 0x00-- y y y pb,str
0x04 32 0 8 8 8 8 0 0 0 0 0x00-- y y y pb,str
0x05 32 0 8 8 8 8 24 8 2 1 0x00-- y y y pb,str
0x06 32 0 8 8 8 8 24 0 2 1 0x00-- y y y pb,str
0x07 32 0 8 8 8 8 0 8 2 1 0x00-- y y y pb,str
0x08 32 0 8 8 8 8 0 0 2 1 0x00-- y y y pb,str
0x09 32 0 8 8 8 8 24 8 4 1 0x00-- y y y pb,str
0x0a 32 0 8 8 8 8 24 8 4 1 0x00-- y y y pb,str
0x0b 32 0 8 8 8 8 24 0 4 1 0x00-- y y y pb,str
0x0c 32 0 8 8 8 8 24 0 4 1 0x00-- y y y pb,str
0x0d 32 0 8 8 8 8 0 8 4 1 0x00-- y y y pb,str
0x0e 32 0 8 8 8 8 0 8 4 1 0x00-- y y y pb,str
0x0f 32 0 8 8 8 8 0 0 4 1 0x00-- y y y pb,str
0x10 32 0 8 8 8 8 0 0 4 1 0x00-- y y y pb,str
0x11 32 0 8 8 8 8 24 8 8 1 0x00-- y y y pb,str
0x12 32 0 8 8 8 8 24 0 8 1 0x00-- y y y pb,str
0x13 32 0 8 8 8 8 0 8 8 1 0x00-- y y y pb,str
0x14 32 0 8 8 8 8 0 0 8 1 0x00-- y y y pb,str
0x15 24 0 8 8 8 0 24 8 0 0 0x00-- y y y pb,str
0x16 24 0 8 8 8 0 24 0 0 0 0x00-- y y y pb,str
0x17 24 0 8 8 8 0 0 8 0 0 0x00-- y y y pb,str
0x18 24 0 8 8 8 0 0 0 0 0 0x00-- y y y pb,str
0x19 24 0 8 8 8 0 24 8 2 1 0x00-- y y y pb,str
0x1a 24 0 8 8 8 0 24 0 2 1 0x00-- y y y pb,str
0x1b 24 0 8 8 8 0 0 8 2 1 0x00-- y y y pb,str
0x1c 24 0 8 8 8 0 0 0 2 1 0x00-- y y y pb,str
0x1d 24 0 8 8 8 0 24 8 4 1 0x00-- y y y pb,str
0x1e 24 0 8 8 8 0 24 8 4 1 0x00-- y y y pb,str
0x1f 24 0 8 8 8 0 24 0 4 1 0x00-- y y y pb,str
0x20 24 0 8 8 8 0 24 0 4 1 0x00-- y y y pb,str
0x21 24 0 8 8 8 0 0 8 4 1 0x00-- y y y pb,str
0x22 24 0 8 8 8 0 0 8 4 1 0x00-- y y y pb,str
0x23 24 0 8 8 8 0 0 0 4 1 0x00-- y y y pb,str
0x24 24 0 8 8 8 0 0 0 4 1 0x00-- y y y pb,str
0x25 24 0 8 8 8 0 24 8 8 1 0x00-- y y y pb,str
0x26 24 0 8 8 8 0 24 0 8 1 0x00-- y y y pb,str
0x27 24 0 8 8 8 0 0 8 8 1 0x00-- y y y pb,str
0x28 24 0 8 8 8 0 0 0 8 1 0x00-- y y y pb,str
0x29 16 0 5 6 5 0 24 8 0 0 0x00-- y y y pb,str
0x2a 16 0 5 6 5 0 24 0 0 0 0x00-- y y y pb,str
0x2b 16 0 5 6 5 0 16 0 0 0 0x00-- y y y pb,str
0x2c 16 0 5 6 5 0 0 8 0 0 0x00-- y y y pb,str
0x2d 16 0 5 6 5 0 0 0 0 0 0x00-- y y y pb,str
0x2e 16 0 5 6 5 0 24 8 2 1 0x00-- y y y pb,str
0x2f 16 0 5 6 5 0 24 0 2 1 0x00-- y y y pb,str
0x30 16 0 5 6 5 0 16 0 2 1 0x00-- y y y pb,str
0x31 16 0 5 6 5 0 0 8 2 1 0x00-- y y y pb,str
0x32 16 0 5 6 5 0 0 0 2 1 0x00-- y y y pb,str
0x33 16 0 5 6 5 0 24 8 4 1 0x00-- y y y pb,str
0x34 16 0 5 6 5 0 24 8 4 1 0x00-- y y y pb,str
0x35 16 0 5 6 5 0 24 0 4 1 0x00-- y y y pb,str
0x36 16 0 5 6 5 0 24 0 4 1 0x00-- y y y pb,str
0x37 16 0 5 6 5 0 16 0 4 1 0x00-- y y y pb,str
0x38 16 0 5 6 5 0 16 0 4 1 0x00-- y y y pb,str
0x39 16 0 5 6 5 0 0 8 4 1 0x00-- y y y pb,str
0x3a 16 0 5 6 5 0 0 8 4 1 0x00-- y y y pb,str
0x3b 16 0 5 6 5 0 0 0 4 1 0x00-- y y y pb,str
0x3c 16 0 5 6 5 0 0 0 4 1 0x00-- y y y pb,str
0x3d 16 0 5 6 5 0 24 8 8 1 0x00-- y y y pb,str
0x3e 16 0 5 6 5 0 24 0 8 1 0x00-- y y y pb,str
0x3f 16 0 5 6 5 0 16 0 8 1 0x00-- y y y pb,str
0x40 16 0 5 6 5 0 0 8 8 1 0x00-- y y y pb,str
0x41 16 0 5 6 5 0 0 0 8 1 0x00-- y y y pb,str

Device #1:

EGL device extensions string:
EGL_EXT_device_drm EGL_EXT_device_drm_render_node
Platform Device:
libEGL warning: egl: failed to create dri2 screen
libEGL warning: egl: failed to create dri2 screen
eglinfo: eglInitialize failed

Device #2:

EGL device extensions string:
EGL_MESA_device_software EGL_EXT_device_drm_render_node
Platform Device:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES
EGL driver name: swrast
EGL extensions string:
EGL_EXT_create_context_robustness EGL_KHR_cl_event2
EGL_KHR_config_attribs EGL_KHR_context_flush_control
EGL_KHR_create_context EGL_KHR_create_context_no_error
EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses
EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image
EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image
EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base
EGL_KHR_no_config_context EGL_KHR_reusable_sync
EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float
EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image
EGL_MESA_query_driver
Configurations:
bf lv colorbuffer dp st ms vis cav bi renderable supported
id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces

0x01 32 0 10 10 10 2 0 0 0 0 0x00-- a y y y pb
0x02 32 0 10 10 10 2 16 0 0 0 0x00-- a y y y pb
0x03 32 0 10 10 10 2 24 0 0 0 0x00-- a y y y pb
0x04 32 0 10 10 10 2 24 8 0 0 0x00-- a y y y pb
0x05 32 0 10 10 10 2 32 0 0 0 0x00-- a y y y pb
0x06 32 0 10 10 10 2 0 0 4 1 0x00-- a y y y pb
0x07 32 0 10 10 10 2 16 0 4 1 0x00-- a y y y pb
0x08 32 0 10 10 10 2 24 0 4 1 0x00-- a y y y pb
0x09 32 0 10 10 10 2 24 8 4 1 0x00-- a y y y pb
0x0a 32 0 10 10 10 2 32 0 4 1 0x00-- a y y y pb
0x0b 30 0 10 10 10 0 0 0 0 0 0x00-- y y y y pb
0x0c 30 0 10 10 10 0 16 0 0 0 0x00-- y y y y pb
0x0d 30 0 10 10 10 0 24 0 0 0 0x00-- y y y y pb
0x0e 30 0 10 10 10 0 24 8 0 0 0x00-- y y y y pb
0x0f 30 0 10 10 10 0 32 0 0 0 0x00-- y y y y pb
0x10 30 0 10 10 10 0 0 0 4 1 0x00-- y y y y pb
0x11 30 0 10 10 10 0 16 0 4 1 0x00-- y y y y pb
0x12 30 0 10 10 10 0 24 0 4 1 0x00-- y y y y pb
0x13 30 0 10 10 10 0 24 8 4 1 0x00-- y y y y pb
0x14 30 0 10 10 10 0 32 0 4 1 0x00-- y y y y pb
0x15 32 0 8 8 8 8 0 0 0 0 0x00-- a y y y pb
0x16 32 0 8 8 8 8 16 0 0 0 0x00-- a y y y pb
0x17 32 0 8 8 8 8 24 0 0 0 0x00-- a y y y pb
0x18 32 0 8 8 8 8 24 8 0 0 0x00-- a y y y pb
0x19 32 0 8 8 8 8 32 0 0 0 0x00-- a y y y pb
0x1a 32 0 8 8 8 8 0 0 4 1 0x00-- a y y y pb
0x1b 32 0 8 8 8 8 16 0 4 1 0x00-- a y y y pb
0x1c 32 0 8 8 8 8 24 0 4 1 0x00-- a y y y pb
0x1d 32 0 8 8 8 8 24 8 4 1 0x00-- a y y y pb
0x1e 32 0 8 8 8 8 32 0 4 1 0x00-- a y y y pb
0x1f 24 0 8 8 8 0 0 0 0 0 0x00-- y y y y pb
0x20 24 0 8 8 8 0 16 0 0 0 0x00-- y y y y pb
0x21 24 0 8 8 8 0 24 0 0 0 0x00-- y y y y pb
0x22 24 0 8 8 8 0 24 8 0 0 0x00-- y y y y pb
0x23 24 0 8 8 8 0 32 0 0 0 0x00-- y y y y pb
0x24 24 0 8 8 8 0 0 0 4 1 0x00-- y y y y pb
0x25 24 0 8 8 8 0 16 0 4 1 0x00-- y y y y pb
0x26 24 0 8 8 8 0 24 0 4 1 0x00-- y y y y pb
0x27 24 0 8 8 8 0 24 8 4 1 0x00-- y y y y pb
0x28 24 0 8 8 8 0 32 0 4 1 0x00-- y y y y pb
0x29 16 0 5 6 5 0 0 0 0 0 0x00-- y y y y pb
0x2a 16 0 5 6 5 0 16 0 0 0 0x00-- y y y y pb
0x2b 16 0 5 6 5 0 24 0 0 0 0x00-- y y y y pb
0x2c 16 0 5 6 5 0 24 8 0 0 0x00-- y y y y pb
0x2d 16 0 5 6 5 0 32 0 0 0 0x00-- y y y y pb
0x2e 16 0 5 6 5 0 0 0 4 1 0x00-- y y y y pb
0x2f 16 0 5 6 5 0 16 0 4 1 0x00-- y y y y pb
0x30 16 0 5 6 5 0 24 0 4 1 0x00-- y y y y pb
0x31 16 0 5 6 5 0 24 8 4 1 0x00-- y y y y pb
0x32 16 0 5 6 5 0 32 0 4 1 0x00-- y y y y pb

No idea how to solve it ....

@VolkerEnderlein
Copy link
Member

@lepalom So I guess it makes no sense to create a 4.0.4 version now. We need to figure out how to make this feature stable before the release.

@tritao
Copy link
Contributor

tritao commented Feb 9, 2025

I'll see if I can repro this week, I don't think I ever tried with SoQt, I built my own minimal example with GLFW and never had an issue, with Linux Mint 21.

@lepalom
Copy link
Author

lepalom commented Feb 10, 2025

@tritao could you show me your minimal example with GLFW? I have used the ivexamples with Hello cone as a test.

@tritao
Copy link
Contributor

tritao commented Feb 10, 2025

@lepalom @Rexbas Check out #549

@Rexbas
Copy link
Contributor

Rexbas commented Feb 10, 2025

I can run the GLFW example without error messages. However, the yellow cone becomes black when I press my super key...

Screencast_20250210_195154.mp4

Hello Cone still doesn't work.

@tritao
Copy link
Contributor

tritao commented Feb 10, 2025

I can also reproduce the black issue (when I press alt though). Also happens with the GLX backend for me, probably just some kind of camera issue.

@tritao
Copy link
Contributor

tritao commented Feb 10, 2025

I can also reproduce the black issue (when I press alt though). Also happens with the GLX backend for me, probably just some kind of camera issue.

It's just caused by camera->position.touch(); in key callback, seems like it can just be removed.

@tritao
Copy link
Contributor

tritao commented Feb 10, 2025

I can run the GLFW example without error messages. However, the yellow cone becomes black when I press my super key...

Screencast_20250210_195154.mp4
Hello Cone still doesn't work.

Where is this example? Is it based on Quarter?

@Rexbas
Copy link
Contributor

Rexbas commented Feb 10, 2025

Hello Cone is here: https://github.com/coin3d/ivexamples/blob/master/Mentor/02.1.HelloCone.cpp.in. I believe it uses SoQt. Do you also have an NVIDIA GPU @tritao?

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

No branches or pull requests

4 participants