Zebra 3 and Zebra Legacy

Official support for: u-he.com
Post Reply New Topic
RELATED
PRODUCTS
The Dark Zebra Zebra Legacy (Zebra2)

Post

So we're like 9 devs at u-he, plus a few external forces. 3 or so are sometimes involved with Linux. I myself have not laid hands on a Linux system since last millennium when I tried to run Linux on a PowerPC Mac.

The original port was done by Abique. The work consisted mostly of adapting a graphics library to our framework, opening files and maintaining a window and some widgets. It's no small feat, maybe about the same complexity as supporting a different plug-in format.

Afaik the main issue with Linux is the different windowing systems and distributions. Also some features that our framework takes for granted are not guaranteed or available in Linux, such as context menus that always work (depend on whatever the host uses), timers in the user thread, such things.

Our stance is that we want to support it, but when it comes to vital business decisions, it must not stall Win and Mac development. Therefore, sometimes when we have hard to resolve bugs on Linux, a Linux version might be delayed.

Post

waitwhat ! We are not going to have Linux version of Zebra 3 at the same time as win version ?

Post

Thems the breaks
How original

Post

I did not say that. Atm Linux Z3 builds are in sync with Mac and Win builds...

Post

The real question, Urs, is do you have your Santa outfit ready.

Post

Very happy to be a Linux alpha tester if you need any (under NDA) :wink:

Post

Urs wrote: Wed Nov 05, 2025 11:02 pm So we're like 9 devs at u-he, plus a few external forces. 3 or so are sometimes involved with Linux. I myself have not laid hands on a Linux system since last millennium when I tried to run Linux on a PowerPC Mac.

The original port was done by Abique. The work consisted mostly of adapting a graphics library to our framework, opening files and maintaining a window and some widgets. It's no small feat, maybe about the same complexity as supporting a different plug-in format.

Afaik the main issue with Linux is the different windowing systems and distributions. Also some features that our framework takes for granted are not guaranteed or available in Linux, such as context menus that always work (depend on whatever the host uses), timers in the user thread, such things.

Our stance is that we want to support it, but when it comes to vital business decisions, it must not stall Win and Mac development. Therefore, sometimes when we have hard to resolve bugs on Linux, a Linux version might be delayed.
Quite interesting info, thanks :tu:

I actually thought that at this time most frameworks are already cross compatible with Linux, I guess I was quite wrong :)

Anyway, thanks for supporting Linux :clap:

Post

Urs wrote: Wed Nov 05, 2025 11:02 pm Afaik the main issue with Linux is the different windowing systems and distributions.
I've always believed there should be a dedicated multimedia distribution that is optmized for such workloads. Drivers and applications. It would be much easier and realistic to support something like that.

Just imagine a company like RME provides a low latency driver. That would be a pretty good foundation.

Post

Well, one thing to think about is that we have our own framework. It abstracts a very minimal set of things for the UI and for the platform. On Mac this is native, it uses CoreGraphics and - ever since Boost became a thing - it uses boost::filesystem (it used to use FSRefs... OMG).

On Windows we use a super lean layer that blits a bitmap onto the screen. But in-between we kind of rebuilt CoreGraphics with a framework called AGG (recommended by Michael from reFX back then). However, during the past 10 or so years I have come up with faster algorithms for almost anything it does, so it's almost absolutely replaced by our own stuff. So we do all the bitmap blending, all the path rendering ourselves except for the font rendering.

On Linux we use something called Cairo as an in-between layer. Like AGG it is a pretty dead platform, but on Linux it does everything.

Eventually we will replace both Win and Linux rendering with something hardware accelerated. But these things come and go. We have to take a proper look and make it a thing once we got Z3 out.

Post

Urs wrote: Thu Nov 06, 2025 10:27 pm
On Linux we use something called Cairo as an in-between layer. Like AGG it is a pretty dead platform, but on Linux it does everything.

Eventually we will replace both Win and Linux rendering with something hardware accelerated. But these things come and go. We have to take a proper look and make it a thing once we got Z3 out.
IIRC Bitwig replaced Cairo with Skia a few versions ago. Maybe it is worth a look.

https://skia.org/

Post

Yeah... as you know, Bitwig and we are close. We know about it, and we also know how hard it was.

Things like Skia are catering for application level. But we are doing plug-ins. It doesn't work the same way, there may be conflicts when multiple plug-ins use the same framework.

For some perspective, we co-sponsored and co-developed a project to do a fully working CLAP example project based on Dear IMGUI, which uses GLFW. It was a nightmare. Those things are not designed to be used in plug-ins where the main process uses this or that, and the plug-in uses something else. We ended up replacing GLFW with direct support for Metal and, hm, was it Vulcan?

We have to be slightly old fashioned in that way, and try to avoid dependencies that may clash with the rest of the hosting environment (host or other plug-ins). On Windows we're probably going to go for trusty old Direct-Something. On Linux we have to see. I think the points is, we'll refactor our stuff to support multiple things on each platform.

Post

You might consider Blend2D. I'm using it in a few UI projects, including stuff that runs as plug-ins. It's all CPU side, so no weird problems caused by dealing with GPU contexts if you don't want to. It's easy to build and integrate into a project. It's a lot faster than AGG and Cairo, about the same speed as Skia (or faster?) and a lot easier to build and integrate than Skia.
Urs wrote: Thu Nov 06, 2025 11:14 pm For some perspective, we co-sponsored and co-developed a project to do a fully working CLAP example project based on Dear IMGUI, which uses GLFW. It was a nightmare.
I was wondering about the story of those in the CLAP examples projects. :hihi:

Post

Well, hehehe, Blend2D looks great, but I'm afraid we really want hardware acceleration.

Post

Yeah :) What I do in one of my projects is use Blend2D to draw rasterized paths/shapes, text, images etc. to textures, then store them on the GPU to repeatedly composite them together for the final drawn image. (Example, draw knobs and buttons in different configurations to array of textures, then display them in the final UI using GPU.) Allows for fast animation, without using a lot of CPU time just to copy pixels each redraw, but you also don't have to go too deep into the specific GPU APIs on each platform in order to get consistent behavior. (Exception is drawing anti-aliased lines for graphs and stuff.)

This one in particular is an unfinished project so don't take it too seriously :D I know some others do it this way, too, though. (FL Studio?)

Post

I guess WebGPU (wgpu) is not suitable ? I'm not going to dive into work topics though. I just want Zebra 3 to be as awesome as it seems, and not suffer any GTA6-style delays.

I would love linux-native everything, but that's why I keep a Mac for music. One day, maybe.

I have faith in Urs as history shows the right decisions are made.

Post Reply

Return to “u-he”