-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Update go-gl/glfw for glfw 3.3.8 upgrade #3131
Conversation
Thanks for doing this. |
It looks like there are some Wayland build issues. Will have to look into that. |
I honestly don't understand why the Wayland build is failing. It works locally on my Fedora 35 install 🤔 |
The Wayland issue is due to a mismatch between the wayland scanner used to generate the header in glfw package and the host wayland version. I have no idea on how to fix it, as the expectation is to run the wayland-scanner as part of glfw packaging. |
Wayland upstream does recommend to actually not bundle those generated file, but build them as part of the host build step. In our case where we have a base version support and because Wayland is backward compatible, we should generate those file on the oldest Linux with Wayland support. It is not ideal, but otherwise we might have those build issue again (other side effect of that strategy is that we would distribute a file that do not leverage fixes on more recent system). |
Ah, I see. Thanks @Bluebugs. I think I might know how to fix that upstream. Will look at that later today or possible tomorrow :) |
The protocols are now regenerated upstream. Let's hope that the compile issues go away now. |
Nope. Still results in issues. I'm a bit lost on why they appear. Running |
Ubuntu 20.04 does use Wayland 1.18.0 not 1.20. |
Oh no. That will likely stall this a while. I don’t have Ubuntu set up and probably won’t have the time to do so in the near future. |
It would seem unwise to depend on something that new. Is it a build requirement or just a code-generation requirement? |
My understanding is that an old version of the Wayland header and the binding that goes with it should be ABI compatible with any more recent version (They are serious about there API). I do not know if glfw and go-glfw are as good at it and properly detect version to not depend on newer version. |
TODO for myself: Remember to upgrade to 3.3.8 and update glfw-js as well once I have regenerated the files on an older version of Ubuntu. |
I'm sorry that this has become stagnant. My workstation crashes during high memory usage due to a faulty DDR4 ram stick and I tried to install Ubuntu in a VM but it did not work. This will be blocked until I can get my hands on a set of DDR4 memory sticks for a good price :/ |
This brings in a bunch of nice bug fixes. See https://www.glfw.org/changelog.html for more information.
This should now be good to go. Managed to rebuild the Wayland protocols on Ubuntu 20.04 and the changes have been merged upstream. Tests should now pass, I hope :) |
I attempted building this branch with
|
They are just warnings. The compilation still works though. The warnings are tracked with go-gl/glfw#359 upstream. |
I do have the same warning as everyone, but it does compile a binary. I do not have a Wayland setup to test the result. I am on Arch Linux with wayland-scanner and friends being 1.21.0.. |
My apologies you are quite right - I'm not sure why I thought it was not working. Tested and the resulting executable runs great! |
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.
Good to be up to date, thanks.
Does it fix any registered issues?
Good question. There really are a lot of fixes but nothing that I know should fix specific open issues on our end. I guess we'll see sooner or later 😅 |
Description:
This brings in a bunch of nice bug fixes (and more Wayland APIs exposed through the bindings). See https://www.glfw.org/changelog.html for more information.
Checklist:
Where applicable:
go mod vendor
).