Alternative implementations? #13
Replies: 14 comments 1 reply
-
Orbital is the GUI library for RedoxOS. It recently added some X11 compatibility and is in active development. |
Beta Was this translation helpful? Give feedback.
-
Doesn't orbital use libx11? |
Beta Was this translation helpful? Give feedback.
-
No |
Beta Was this translation helpful? Give feedback.
-
do you have a link to the relevant code? Did a quick search to try and find it and failed |
Beta Was this translation helpful? Give feedback.
-
https://gitlab.redox-os.org/redox-os/orbital They've recently added an X11 compatibility library. That might be in the LibOrbital repo on the same server. |
Beta Was this translation helpful? Give feedback.
-
https://gitlab.redox-os.org/redox-os/winit appears to be the compatibility layer. |
Beta Was this translation helpful? Give feedback.
-
Haiku is BeOS compatibility first, POSIX as an afterthought. They have a somewhat snooty attitude toward ports based on the fact that "native" code is smaller, faster and uses already written and maintained APIs. Ports drag in a bunch of unnecessary dependencies like Qt and partially-written Wayland or X compatibility wrappers that wouldn't be needed otherwise. I thought about Redox being written in Rust that almost-completed Rust code is almost-completed-and-debugged code while bitrotted C is basically completed and one-quarter-debugged code that takes longer to fix. As far as security goes, Redox is a microkernel while Linux and Haiku are hybrid kernels. Drivers will be more secure on Redox once they get written because they run in user-mode. Once they get written... In Rust, no less. I agree that the politics of both stinks all-around but Linux devs on the Haiku forum are just as toxic about trying to get Haiku GUI code running on the Linux kernel. Linux is presently faster at some functions but has been around longer and optimized more thoroughly as a result. Haiku has one employee and the code-base is smaller and written entirely object-oriented C++. They don't need the Linux kernel's C code. Security was less of a design characteristic on Haiku than either of the others. Does that help? Maybe not. |
Beta Was this translation helpful? Give feedback.
-
This is not a compatiblity layer, this is a fork of the rust windowing library. Likewise there isn't any x11 code in orbital's repo. |
Beta Was this translation helpful? Give feedback.
-
According to last month's progress blog post they have added it to the Orbital GUI server, but there are only screenshots but no links directly to the code. |
Beta Was this translation helpful? Give feedback.
-
I'd argue keeping C out of the codebase is equally important. Starting fresh as much as possible either in D or the latest versions of C++20 or newer would be preferred. |
Beta Was this translation helpful? Give feedback.
-
I see that "laughing" emoji but I'm serious. In 2025 the name of the game isn't just coding. It's maintainability. Even Zig can be preferred over C. I've been coding since 1983, before ANSI C was even around. Nothing is worse than a false sense of security. If you want code to be maintainable, quit using outdated tools and let the software automate the tasks that can be automated. Whether it's D or Rust or even the memory safety extensions written into the newer versions of C++ like last year's edition. The tools are there to help you if you only use them. C is one of the worst tools you can use for maintainability or debugging. Zig is at least an extension of C that makes it easy to optimize. |
Beta Was this translation helpful? Give feedback.
-
https://github.com/PerikiyoXD/rxserver Seems like an alive rust x11 server implementation could be neat to follow |
Beta Was this translation helpful? Give feedback.
-
this can be made into a discussion here https://github.com/orgs/X11Libre/discussions |
Beta Was this translation helpful? Give feedback.
-
I agree but I don't see the option to convert it even as the original poster. Can an admin reclassify it, please? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
A few operating systems come to mind that implement compatibility layers of X (or the unnamed subset thereof) to make porting Linux software to their respective platforms easier. Of note are Haiku's XLibE package and the corresponding X emulation layer in Redox's Orbital GUI.
To make a long story short, would it be throwing the baby out with the bathwater just to use the existing protocol over the top of an alternative codebase? Orbital is written in Rust (as is Redox, itself) while Haiku's GUI stack is written in C++. If it were up to me, I'd at least look at getting Orbital running on Linux.
Beta Was this translation helpful? Give feedback.
All reactions