Live data from Hacker News

Phoenix: A modern X server written from scratch in Zig

git.dec05eba.com

391–400 of 462 posts

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

#391

Earlier quoted context omitted.

The Linux kernel is also a monolith yet has worked forever without a rewrite. I think there is a reasonably agreed on set of things that can be removed from X, like server-side drawing primitives, and GLX

The Linux kernel was not born obsolete on arrival like the X Window System was. At least, not fully obsolete. It will be obsolete someday, anyways.

In what way was X11 obsolete in 1987?

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

#392
post #73

Earlier quoted context omitted.

I don't really understand what is supposedly missing in Wayland for productivity users? At work I have been using gnome with the wayland backend for years at this point and I can't really figure out anything that's missing.

Headless remote desktop, at least for KDE, is very much not possible today as far as I can tell. It's the last thing I miss from Xorg.

FWIW, like everything else in Wayland, it's per-compositor. Here's a working headless sway in a container:

https://gitlab.com/yjftsjthsd-g/docker_sway-vnc

(This is not a defense of Wayland, just trying to share useful information)

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

#393
post #310

Earlier quoted context omitted.

> Per-display DPI settings fwiw, Xorg already had this, since you can set the DPI for each display through RandR/xrandr. In both X11 and Wayland it's up to the toolkit to actually detect the setting and rasterise accordingly. Wayland actually went backwards in this respect by using "integer scales" (eg, 1, 2, 3) instead of fine-grained DPIs (eg, 96, 192, 288), so using a scale of 1.5 would result in downscale blur (t…

> As far as I know Qt was the only toolkit to actually do this automatically, but that's not X11's fault. Well if three independent programs have to coordinate to make it work, then I would state that it do not support it at all.

It's the same on Wayland. The client (usually part of a toolkit like Gtk/Qt) needs to subscribe to notifications [0] from the server so it can decide the raster size of the surface it wants to draw to. Qt does this on X11 by detecting when your window moves to a screen with another DPI and resizing/rescaling.

I guess the "third" program would be something like xrandr, so the Wayland analogue to that would be wlr-randr (for wlroots compositors), or some other DE-specific tool for configuring screen sizes. Again there's no fundamental difference here.

[0] https://wayland.app/protocols/fractional-scale-v1#wp_fractio...

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

#394
post #76

Earlier quoted context omitted.

I disagree. The choices in the Linux ecosystem lead to unnecessary fragmentation and development/packaging nightmares. I say let X11 die, bury it, and never let it rise again. Then we can all focus on making just one display server as good as possible.

> I say let X11 die, bury it, and never let it rise again. totally awesome! And once we are done with X11, lets put pulseaudio to the grave! We can all focus on having an audio stack that does realiably stream to many sinks! And polkit... su and sudo should have been enough

> And once we are done with X11, lets put pulseaudio to the grave!

That'll happen first, I think. The trick is that pipewire is actually a fully functional replacement, instead of trying to declare everything out of scope, so with only minor effort people can just switch and everything works.

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

#395
post #177

Earlier quoted context omitted.

From the ashes of some previous project is born some new project . It's symbolic. I remember people naming new software projects this back in the 1980s for the same reason.

Ya, and that's the same reason all those other projects picked this name too

Not in the case of Elixir. It’s a play on BEAM processes being revived.

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

#396
post #245
post #164

Earlier quoted context omitted.

You can do per-display DPI just fine on X11 (through xrandr), it's just the major toolkits don't support it. GTK, for example, reads a single global DPI value from XSETTINGS; there's no reason why it has to be that way. The annoying thing about the other things you mention is that they honestly are not that difficult to fix. The X server can throw an error (or just silently ignore it) when one client passes the windo…

> It feels like no one really wanted to do that: building something new from scratch that (in theory) didn't have all of the mistakes of X11 would be more fun, and more rewarding. My understanding from the outside is that this didn't happen, that Wayland is a spec without a reference implementation - that they didn't actually build anything and are leaving the difficult part up to everyone else.

They do have a reference implementation: weston and libweston but as far as I know, third parties don't use. They implement all their own functionality. Weston is confined more as a prototype.

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

#397

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…

> 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. I think one of the intrinsic problems with relying on developers being paid by their employers is they can easily become personally disinvested from the thing they're maintaining; they get paid well, the day-to-day grind gets stale, they get interests and hobbies other than comp…

It's a tradeoff, to be honest – I think of Valve's involvement with Wine, where a consistent source of $$$ and developer-hours was (and still is) needed to whack away at the open-ended problem of compatibility.

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

#398

The name Phoenix is overused. There is an Elixir framework called Phoenix. I think I also heard of other projects with that same name before. It's a bit like the name 'Apollo'; besides the moon landing project, I know like 2 dev projects called that and also there is a sales SaaS platform with that name. Surely people should run a search first before choosing a name...

Remember when every project acronym used to be YA-something for “Yet Another…”? Or when recursive acronyms were the hot trend?

Don't forget startup names that randomly dropped vowels. I don't miss the days of twttr.

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

#399

Earlier quoted context omitted.

The Linux kernel is also a monolith yet has worked forever without a rewrite. I think there is a reasonably agreed on set of things that can be removed from X, like server-side drawing primitives, and GLX

The Linux kernel was not born obsolete on arrival like the X Window System was. At least, not fully obsolete. It will be obsolete someday, anyways.

“Obsolete” means that a replacement exists which is as good as, or better than, the thing it aims to replace, in every significant way.

X11 is far from obsolete.

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

#400
post #368

Earlier quoted context omitted.

Linux on the desktop only took of because Ubuntu, with mixed results and a lot of controversy, decided to standardize and polish the experience for "normies". The distribution sprawl I largely see as a detriment to the ecosystem.

I remember seeing Linux gaining some traction 15 year ago, and Ubuntu focusing on polishing the user experience (with initiatives such as fixing "One hundred paper cuts"), but then this changed instead of keeping this stable the great rewriting began. Seeing Wayland (which is just one example) users having a problem with screen sharing just convinces me how much of a self-own this was from the Linux community.

[deleted]
Post reply on HN