GIMP on Haiku

photo_2022-01-28_13-56-50

33 Likes

photo_2022-01-28_21-47-57

34 Likes

This is awesome to see on haiku! Any chance of trying gnumeric? I use this pair a lot on Linux…

It’s cool that we now have Abiword,I use that a lot on BSD.
There was a native port years ago.
It’s sad that they removed it and went GTK-only.
GTK is so ugly.

A few apps, that I just long to see get ported:

  • Evolution with Exchange support
  • Evince
  • Gnome Maps
  • FeedReader

Crossing my fingers for them to get ported and published in Haikuports the following weeks.

2022-01-28_23-52

38 Likes

Awesome work Gerasim!

2 Likes

2022-01-29_00-06

38 Likes

is it just a matter of skin or could be made a wrapper that translates the gtk interface into the haiku interface? … if it weren’t too complicated it would be wonderful

Currently the biggest annoyance is the skin because it’s so awful GNOMish and doesn’t integrate with the Haiku UI at all.
But even if that’s fixed,I still prefer native Haiku BeAPI applications and it’s sad to see that Abiword dropped support for it,because it existed years ago (made for the original BeOS I think)

Fantastic effort 3dEyes, GIMP is “the” GTK showcase. Bringing it to Haiku shows how mature the Xlibe port is. Amazing progress in such a short time.

7 Likes

At the moment, the main problem in porting GIMP is its method of working with plugins. GIMP uses a shared address space by running binary plugins via vfork(). And it seems that vfork does not work in Haiku, or does not work correctly.
If you remove all plugins, GIMP runs fine (like on screenshots above).

4 Likes

the plugins realy needed? can we make some own in the future?

Access to the formats is also in the plugins. You can not work with jpg, png, etc. without plugins.

1 Like

Medo uses dynamic loaded BeApi AddOns (https://github.com/smallstepforman/Medo/blob/main/Editor/EffectsManager.cpp ), which share the same address space as the main app. Same concept.

3 Likes

Haiku’s vfork just falls back to be regular “fork”, indeed.

Windows has nothing like vfork, though, so GIMP must have some plugin-loading method that isn’t vfork. Can we enable that instead?

2 Likes

If there is no vfork, then g_spawn_async function from glib2 is used. But this doesn’t work either.

1 Like

At the moment I do not know how to solve this problem, so I will publish a recipe and patches and go back to Qt’s OpenGL support for now. Maybe someone will continue this work.

11 Likes

FIXED: I replaced g_spawn_async with posix_spawn and the plugins worked now!

screenshot4

41 Likes

The didn’t drop it. It was not made by the Abiword team, someone ported it to BeOS on their own. The code was quite a mess and had a lot of problems. Eventually the person who was doing it stopped maintaining it. And Abiword didn’t want to upstream that code without a maintainer to take care of it, which makes sense.

The code is still available at https://github.com/haikuarchives/abiword . I made some fixes on it back in 2014, but it isn’t the latest version of Abiword and it is also really unstable due to problems with threading (this port completely ignore the fact that there are separate threads for the window and application, and accesses things from both without any locking. I suspect it ran kind of OK on single CPU machines back then?)

5 Likes