Live data from Hacker News

Phoenix: A modern X server written from scratch in Zig

git.dec05eba.com

351–360 of 462 posts

Re: Phoenix: A modern X server written from scratch in Zig

#351
post #117

Nice! We do need more X servers, since Wayland refuses to incorporate essential protocol elements due to religion.

Yeah, we should introduce competition. It doesn’t feel like Wayland is improving these days. Missing features force me to hit X11 regularly, and I still get Wayland session crashes etc, while X11 could happily run over a year without crash and run all applications I need without issues.

“Wayland” cannot crash, its a protocol. Your complaints are to your compositor.

Re: Phoenix: A modern X server written from scratch in Zig

#352

Earlier quoted context omitted.

I think the problem is that people wanting to build that and being in position to (being paid for by their employer), are fed up with X11. It learned no lessons from X11. It made most things harder to write and pushed more things that really every WM needs and doesn't care much to implement differently to WMs making them harder. For example, stuff like "WM need to manage raw inputs, so they can have more power over t…

Tech is full of examples of 'successor' technologies, that were aiming to provide a clean rewrite without legacy, which then got bogged down with supporting a bunch of corner cases and accumulated their own share of cruft and could be no longer be considered a cleaner alternative. All the while the majority of the userbase being stuck on the old platform because the new one is buggy and doesn't offer anything tangibl…

Wayland and its various implementations like KDE plasma are 90% ready. Now they just need the other 90% to move from alpha to product. I expect it'll take another decade or two.

Re: Phoenix: A modern X server written from scratch in Zig

#353
post #348

Earlier quoted context omitted.

Yeah, but with how we’re moving towards running each (desktop) application in its own cgroup, thus restricting what syscalls any given application can do, soon any old user process will no longer be able to read any other process’s memory. I don’t believe that the argument about how we need not patch a hole because another one exists right besides it is sound.

I agree. My point was only that this hole can easily be patched in X as well. So the argument was essentially "we do not bother to patch it with X, so we must rewrite X".

It was my understanding that changing the original codebase to fix it would’ve been involved enough as to warrant a rewrite.

Re: Phoenix: A modern X server written from scratch in Zig

#354

Earlier quoted context omitted.

[flagged]

>> windows and macos cant even do proper window managing for a start > Well they certainly manage them better than x11 and wayland. X11 doesn't manage Windows. You'd know this if you used it, and if you've used it, you'd know why some consider the window management on Windows and MacOS very primitive.

> X11 doesn't manage Windows. You'd know this if you used it, and if you've used it, you'd know why some consider the window management on Windows and MacOS very primitive.

Sure. Windows and macos are also fallible. But there has never been a project that competes with these two brands that can boast a similar commitment to stability and usability.

Also obviously fuck windows

Re: Phoenix: A modern X server written from scratch in Zig

#355

Earlier quoted context omitted.

[flagged]

There is at least one area where both macos and windows suck - handling window focus. MacOS is regularly having trouble with tracking focus across multiple monitors and multi-window apps, making it unusable with keyboard only. And Windows just loves to steal focus in the most inappropriate moments.

> making it unusable with keyboard only

oh no

Re: Phoenix: A modern X server written from scratch in Zig

#356
post #210
post #41

Earlier quoted context omitted.

I don't "actually want Wayland" because I want the simplicity of X and the ability to run my own wm, but I have no need for legacy X11 requests, for some values of "legacy". Whether this will become viable for me remains to be seen, but I need very little from my X11 server.

I remember Wayland scared me off of Linux when I tried to switch to Ubuntu a few years ago. I couldn’t watch a movie without jiggling my mouse every few minutes. At the time I feel like it was like “yeah that feature doesn’t exist yet” or something. So I switched back to Windows. It looks like there’s workarounds now but I’ve mostly switch to my fantastic M1 MacBook Air at this point.

Wayland still doesn't support screensavers last I checked, which is wild to me. Truly bizarre that such longstanding feature is just absent.

Re: Phoenix: A modern X server written from scratch in Zig

#357
post #181

Earlier quoted context omitted.

Window positioning? You cannot position the window, you cannot send a hint, nothing? So my pop-up with GTK4 will randomly be placed somewhere, anywhere, without any control. OK, GTK4 went further and also removed popups without the parent, so you hack that with an invisible anchor window and then write platform-specific code for sane platforms that CAN, of course, move the window. And let's not talk about window icon…

It's not technically behind on window positioning. Rather, it was a deliberate choice not to support it. You can very reasonably object to that, but it is sorta a necessary measure to prevent clickjacking.

I mean, you can create alternate APIs that would work for the pop-up use case: you could have a command to create a new window positioned relative to the current window’s coordinate space.

That limited capability still has a risk of denial attacks (just throwing up pop-ups that extend beyond the current window’s boundaries), but those can be mitigated in a number of ways (limit the new window’s boundaries to the current window’s, or just limit how many windows can be opened, etc.).

Re: Phoenix: A modern X server written from scratch in Zig

#358
post #68

Earlier quoted context omitted.

[flagged]

I don't use a Mac, but have you ever used Windows? I mean, maybe you have, but if you are not fussy then at worst MacOS is quirky and Windows and Linux are identical and merely have different icons. If you pay a little bit of attention you will notice that on linux things seem more flexible and intuitive. If you are very finnicky, there is nothing that comes close to X11 window managers when it comes to window manage…

> I don't use a Mac, but have you ever used Windows?

I have

> I mean, maybe you have, but if you are not fussy then at worst MacOS is quirky and Windows and Linux are identical and merely have different icons.

Neither have keybindings that make any sense. The other failures are secondary

> If you pay a little bit of attention you will notice that on linux things seem more flexible and intuitive.

Only for windows refugees that have never used Mac OSX

> If you are very finnicky, there is nothing that comes close to X11 window managers when it comes to window management flexibility, innovation and power.

Unless you want to copy and paste, or have consistent key bindings cross applications, or take screenshots. Sure

Re: Phoenix: A modern X server written from scratch in Zig

#359

Please prioritize to keep accessibility features working. This is really the main issue with wayland. Yes, it might be more stable these days and work fine for you. We can talk how how it makes writing you own WM needlessly complicated and all that but the one thing that makes wayland unacceptable is its lacking accessibility story. After so many years. Accessibility is not something you can worry about adding later.…

> Accessibility is not something you can worry about adding later. I don't think there's any concrete proof of this. Ideally I think people want accessibility handled by their WM/DE; you're not getting Windows or macOS-quality a11y "for free" unless your desktop embraces it. At which point you might as well make it a separate, aftermarket protocol and slap it into d-bus. If the Linux ecosystem is going to be fragment…

Not just WM/DE, but also the toolkit too.

Re: Phoenix: A modern X server written from scratch in Zig

#360
post #19

Earlier quoted context omitted.

It talks about trimming 'legacy' features and specifically says they are omitting 'font-related' operations. That obviously means no useful core X11 application will work (unless you count xlogo and xeyes). Whether the XRender glyph cache mechanism is included is unclear. It also says only DRI is *currently* supported, but maybe that's incidental?

XRender isn't part of the core protocol so it should be implemented in the future. There is already some xrender code in there. Almost no applications use x11 core protocol font, except for cursor. Since the x11 core protocol font (on xorg server at least) is rendered without anti aliasing and doesn't really support unicode.

Is there anything at a protocol level that prevents using a modern font rendering stack for it?
Post reply on HN