The Wakefield committers may hold off-line discussions from time-to-time. Since these meetings are just for the committers and invited wayland experts, summary minutes will be recorded here as time permits
Online Zoom Meeting 9am PDT November 8 2024
Attendees: Olivier Fourdan, Alexey Ushakov, Phil Race, Kevin Rushforth, Maxim Kartashev, Jonas Ådahl, Victor D'yakov, Alexander Zvegintsev
Alexander:
ImageDecoratedDnD.java now fails on Gnome 47 (Ubuntu 24.10), DnD is aborted when trying to run it with CTRL pressed.
It looks like a non-java issue, as it doesn't reproduce at all when mouse and keyboard interactions are done via XTest(java.awt.Robot)
The issue is reproducible when an actual user performs mouse and keyboard actions with physical devices (which didn't happen before), sometimes it passes though(maybe 1 out of 20 attempts).
Now I am trying to make a native reproducer for it.
Alexey:
Yes, it actually took longer than we expected.
In Vulkan we have validation layers and despite the fact that it works visually we had a certain amount of validation errors in the pipeline because of some mis-synchronization and things like that and we actually fixed all the validation issues.
They're actually enabled in the fast debug build and you also need to have validation layers installed in the system to make them work.
We are even sending out some preliminary builds to our users and have gotten some good feedback from them recently.
The Vulkan support provides the list of the hardware devices(if you enable it with the True with capital)
We've got a list of hardware devices that our users are using, some people are using m1 macbooks with Asahi Linux installed, and Vulkan has been working on hardware accelerated drivers for that Linux.
So currently we are putting all the changes we have made in our JBR into the separate branch that Maxim recently updated, which is a jdk21.0.1-wayland.
Obviously it's not as performant now, but we're working on the primitives.
And the ultimate goal is to use an accelerated image for rendering after all the primitives are done.
In the future we will work on the renderer.
Actually, one of our engineers is working on enabling Vulkan on X11. So it looks like it's a fairly simple change, but it's quite tricky. So maybe in this case we will have Vulkan in both pipelines.
Maxim:
One issue wasn't just a bug fix.
It sort of pointed out to me a potential incompatibility between Java and Wayland: Wayland requires proof of user involvement (like serial numbers from user events) for actions like clipboard access.
The protocol, however, doesn’t specify which events are accepted, nor does it provide feedback, leaving developers to experiment and guess.
After extensive testing with various Wayland implementations, I found a solution that works for now.
This is extremely fragile and any other Wayland implementation that does things differently will kill the Java assumption and things will start to break.
We also got rid of the generated code in our development branch, it is now generated on the fly during the build.
You only need to install one extra package, wayland-protocols, which is not hard at all, except for a gGnome-only protocol, which should be brought by hand, as I don't know where to get it on any distribution. I made it optional as it is not essential, it just makes the dialogs work better and more gnome-like.
Jonas:
We recently upstreamed the xdg_dialog protocol, and it has set_modal.
And regarding the clipboard and the ambiguity of what kind of serial input events are respected and all that, I suggest opening an issue in the Wayland repository issue tracker to see if it can be clarified. At least to know which parts are expected and which are implementation specific.
Online Zoom Meeting 9am PDT October 10 2024
Attendees: Olivier Fourdan, Alexey Ushakov, Phil Race, Kevin Rushforth, Maxim Kartashev, Victor D'yakov, Alexander Zvegintsev
...