Xlibe: an Xlib/X11 compatibility layer for Haiku

Inkscape 1.1.2, and 1.2 alpha released!
Time for new testing?

2 Likes

Your question should rather be if TexLive is currently working or not. It only installs the minimum version and I don’t know if there is ways to upgrade its components. Wanted to use it with Lyx but failed, guess that’s the same issue with Texstudio. Otherwise I have been trying to install Texmacs which does not need a tex distribution and is available as a package, but seems the installation is stalling, was not patient to wait more though.

1 Like

Was able with the work done on texlive to create a pdf with texstudio (and a sample tex file) a while back, core package for texlive is indeed available in the depot, the other parts need to be build by yourself.

Te-Xstudio-Texlive20210325

16 Likes

This is great! I gave this a little test and was able to build a few audio plugins that use Cairo and X11.
It is running under Carla, though the audio doesn’t work because I do not have a Haiku-compatible backend yet. So I just run in “dummy” engine mode for testing.

image

Would it be possible to get glx to work as well?

EDIT: The software in question shown on the screenshot is https://github.com/DISTRHO/DPF-Plugins/ and https://github.com/falkTX/Carla

20 Likes

GLX is theoretically possible but I don’t intend to spend time on it in the near future.

1 Like

Fair enough. The library used for the graphics is quite the minimal one, and I already had experimental Haiku code working before with it, just need to revisit it.
But that is off-topic.

Related to Xlibe, the XFreeFontInfo symbol is missing, I had to ifdef it out for Haiku in order to link.

1 Like

Great job! Are these LV2 plugins? I can’t wait to try it out when it’s ready.

1 Like

Thank you for all you do for open source audio!!!

3 Likes

Yes, they are LV2. When ready will still be a fair bit, but likely whenever haiku supports usb audio cards, then it makes sense to try to push all the opensource audio things.
But anyway, let’s not derail the thread.

3 Likes

haiku already supports some of the ICE and EVY sound cards like Maudio and related clones. Don’t wait for USB audio when there are already cards that area capable today !

I have suggestion for porting to Haiku: Xara Xtreme is vector based editor for linux, that was opensourced time ago. http://www.xaraxtreme.org/

1 Like

Isnt it java based?

C++
93.0%

Objective-C
4.5%

C
2.1%

Perl
0.4%

Shell
0.0%

Emacs Lisp
0.0%

Last time I had a glance at the codebase (which was around the time it was open sourced I believe), it was mostly C++ using a custom GUI framework, which was sitting on top of wxWidgets in the Linux version. I’d wager the QT version of wxWidgets is better maintained than the X11 backend, so it probably wouldn’t even require Xlibe to port.

Though it’s probably not in the greatest state – last time I tried, I couldn’t even find a binary that runs on a modern Linux distribution (much less a Windows or Macintosh build).

There is also the sk1 Project, which is written in Python and also based on a wrapper over wxWidgets.

It would certainly be great to have these programs working on Haiku. Unlike Inkscape, they have proper CMYK support, which is required for professional printing.

I was looking at the AUR page of the binary distribution, it list a tons of java dependecy, havent checked it, as i am on a phone right now.

Using the Github search function on the repository linked above, I don’t see any mention of Java except in a function name relating to ensuring file names are valid for slices for web export.

Looking at the website, it looks like they were using the GTK version of wxWidgets for the Linux builds.

Unfortunately, the developer documentation, including build instructions, seems to have disappeared from the official website.

One thing that seems worrying to me is the inclusion of a library named CDraw in the repository that seems to be available only as a binary distribution. There are mentions of plans to open source it, but no actual source code as far as I can tell. Again using the search function, CDraw mostly seems to be mentioned by name in the license headers rather than source code.

However, there are a few commits like this one with commit messages that makes me suspect CDraw might actually be the functions from the headers in the GDraw subfolder, which don’t seem entirely impossible to re-implement on top of something like Cairo, but it’s more work than just building and fixing a few compiler errors, especially without documentation on what exactly these functions are supposed to do.

I’m also not on a computer, but it might be possible to run nm on the CDraw binaries to see a list of exported functions to confirm my theory.

After some more research, I found this repository, which seems to have seen some development, including a Cairo backend for GDraw that somebody contributed in 2020. I think this version would stand a much better chance of building successfully on Haiku than the one linked above.

Edit: Build instructions and dependencies from the original website can be accessed via The Internet Archive.

webkitgtk:

27 Likes

Super amazing!!!

1 Like

33 Likes