My progress in Wayland compatibility layer

Do i have to set the env vars to be able to launch gtk3 apps?
If i do the following:

XDG_RUNTIME_DIR=/tmp LIBRARY_PATH=/boot/home/config/non-packaged/lib:$LIBRARY_PATH PATH=/boot/home/config/non-packaged/bin:$PATH gtk3-demo-application
It woks, but if i run it without that i get:

(<unknown>:6210): Gtk-WARNING **: 16:27:58.820: cannot open display:

Yes. GTK rejects working if XDG_RUNTIME_DIR is not set. It may be better to patch so it will be not required because Haiku is not XDG compatible and are not supposed to define XDG env variables.

4 Likes

Right!, thanks for the info, we didn’t have this problem with Xlibe+GTK, is it specific to wayland?

Haiku is not XDG compatible and are not supposed to define XDG env variables.

Haiku sets XDG variables on purpose, why not this one?
For example from env:

~ env | rg XDG
XDG_CONFIG_HOME=/boot/home/config/settings
XDG_CACHE_HOME=/boot/home/config/cache
XDG_DATA_DIRS=/boot/system/non-packaged/data:/boot/system/data
XDG_CONFIG_DIRS=/boot/system/settings
XDG_DATA_HOME=/boot/home/config/non-packaged/data

I think this one is blocking it from being build on 32bit and with haikuporter? (after some search on the error I posted earlier)

The way I build is: meson build --prefix=/boot/home/config/non-packaged/ --includedir=/boot/home/config/non-packaged/develop/headers --libdir=/boot/home/config/non-packaged/lib --datadir=/boot/home/config/non-packaged/data/
Only had to use XDG_RUNTIME_DIR=/tmp to be able to launch the demo (or Geany later)

Yes, that’s what i did too :smiling_face:
I’m gonna try to set XDG_RUNTIME_DIR var in the user-environment script and see if that would work as a workaround for now.
BTY why not submit your recipes to haikuports as “unsafe/disabled” so that others can use them, you’ve done all the effort to write them, you might as well submit them.

2 Likes

It’s actually currently commented out in the script that sets up all of the XDG variables in Haiku:

I suppose the “cleaned up on last log-out” part would need to be implemented?

3 Likes

I found a reason of Webkit GTK IPC problems. The reason is missing Haiku support of SOCK_DGRAM socket type for UNIX Domain Sockets (AF_LOCAL). I added some workaround that allowed to run more web pages.

This message is posted from Webkit GTK with Wayland backend.

40 Likes

can haiku support those unix calls in posix ?

It can if someone will implement it in Haiku kernel. I am not very detailed with sockets and networking.

Related code: unix.cpp\unix\protocols\network\kernel\add-ons\src - haiku - Haiku's main repository.

6 Likes

YAHWB
Yet Another Hacky WebBrowser

1 Like

It is currently most feature-complete web browser on Haiku. @3dEyes managed to run Youtube videos in high resolution, various music streaming services, Google Docs. It will be not so hard to add WebGL and screen capture support for web conferences.

15 Likes

webkit-gtk + xlibe

29 Likes

No wayland yet?

Scratch that, i just realized that the shots from x512 are wayland based

Its damn sexy. I want it right now.

1 Like

PR for the wayland recipes has been filed, those provide the base for gtk3-wayland. :slight_smile:

Comments welcome for those able to build them.

1 Like

Bluefish version 2.2.12 :slight_smile:

With gtk3-wayland

With gtk-xlibe

13 Likes

I’ve already built them successfully, didn’t try on 32 bit though.
Bluefish turned out to be a nice IDE, last time i tried it years ago it was buggy and felt unfinished.

Last time I saw Bluefish I think it was back in the days of BeOS :slight_smile:

1 Like