My progress in Wayland compatibility layer

So far created recipes (basic) for wayland/wayland-protocols/wayland-server (with the help from @X512 for the fixes)
Checked Gimp in Terminal with “autoreconf -vfi” no issue there, but for Gimp to work with gtk/wayland I guess I need to build gtk with the changes done from @X512

2 Likes

It’s not a server implementation at all, so naming is that is misleading.

In Wayland terminology it is a “server”. It use libwayland-server API. But run in the same process as client. So I call it “in-process Wayland server”. It can be adapted to run as real server in separate process if needed but it would cause various integration problems in Haiku, for example all windows will be displayed in Deskbar in Wayland server application instead of clients.

6 Likes

No, this problem is only for webkit gtk.
I can publish the recipe and the patch right now.

7 Likes

@X512 I keep getting this error trying to build wayland-server after i succefully built wayland, did you encounter this error? if so how do i fix it?

meson.build:11:0: ERROR: Dependency “wayland-client” not found, tried pkgconfig and cmake

GIMP 2.99 Development Branch built with Meson:

25 Likes

31 Likes

Geany

28 Likes

Cool!!! Haven’t been able to build the gtk/wayland backend so far here though :frowning:

WOW @X512 - Now I just hope you are successful in getting Evolution with EWS plugin up and running! :wink:

The same here, unfortunately the links to his forks above don’t include the haiku code, or a haiku branch.

There is https://github.com/X547/gtk/tree/gtk-3-24-haiku

But in Terminal I’m getting different errors then when I apply that patch to our current port at haikuports :confused:

would any of this latest work help in porting LinuxCNC ? I’m getting setup to work on porting it again

What did you do to get that patch?, as i said i cloned both links mentioned above and none of them has any haiku code in them.

You need to use Haiku branches (inproc-haiku for wayland, gtk-3-24-haiku for gtk etc.). Note that ninja install with default options will no work, changing prefix is needed. Setting PKG_CONFIG_PATH may be needed to discover dependencies. No Haikuports patches are needed. X11 packages are not installed (cairo instead of xcairo). Use Meson for building, not Autotools.

7 Likes

Seems I wasn’t on the right branch for gtk, with the recipes I created all dependencies are found and there shouldn’t be a need to call for PKG_CONFIG_PATH.
Now I’m facing the same error I see when trying to build the one with haikuporter (with your included patch), using meson for both in Terminal and with haikuporter:

[31/919] Generating gtk/gtkresources_c with a custom command
FAILED: gtk/gtkresources.c 
/bin/glib-compile-resources gtk/gtk.gresources.xml --sourcedir /sources/gtk-f8eb0ae9b8e6b1f7625a447b07d52602c125939f/build/gtk --sourcedir /sources/gtk-f8eb0ae9b8e6b1f7625a447b07d52602c125939f/gtk --sourcedir ../gtk --c-name _gtk --internal --generate --target gtk/gtkresources.c --manual-register --dependency-file gtk/gtkresources.c.d
failed to load "/sources/gtk-f8eb0ae9b8e6b1f7625a447b07d52602c125939f/gtk/theme/Adwaita/assets/bullet-symbolic.symbolic.png": Couldn?t recognize the image file format for file ?/sources/gtk-f8eb0ae9b8e6b1f7625a447b07d52602c125939f/gtk/theme/Adwaita/assets/bullet-symbolic.symbolic.png?
gtk/gtk.gresources.xml: Child process exited with code 1.

Image type not recognized?

EDIT disabled x11-backend and introspection in meson_options.txt

EDIT2 On 64bit I’m getting a bit further, build is running atm but I still had to add a package for xkbcommon despite x11-backend being disabled (xkbcommon is one in the list for meson requirements), also had to change the version for atk to be discovered, the one in meson is newer then the one we currently have in haikuports. (think I need to update my system there) :slight_smile:

EDIT3 Got gtk3-wayland to build in Terminal, after that Geany was up, and a build for that succeeded also.
With some pointers from @X512 and a new recipe for xkeyboard-config I was able to launch Geany with wayland backend.
In the process @X512 also fixed the issue of mouse scrolling not working! :ok_hand:

6 Likes

I didn’t notice it was possible to disable “introspection”, that’s how far i got last night and then i gave up.
Could you please share all the latest updates somewhere so i can try to build it.

1 Like

Build script: Haiku Wayland build scripts · GitHub.

6 Likes

Thanks for the scripts, i’ll try them tomorrow.

If you look into the meson_options.txt you can see the values there, you could change them from true to false or use them at build time with -Doption=false. :wink:

Be sure to update atk to the latest version 2.38.0, gtk expects at least version 2.35.1 and will use the subproject inside it’s source for that, if you got atk 2.38.0 then your good and you don’t need to disable introspection -Datk:introspection=false for that (it’s already disabled on the one from haikuports) :slight_smile:

Created a branch for the wayland recipes, not pushing them to haikuports as I think it’s still wip: wayland, new recipes · Begasus/haikuports@dd5fb73 · GitHub

3 Likes