Live data from Hacker News

Phoenix: A modern X server written from scratch in Zig

git.dec05eba.com

241–250 of 462 posts

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

#241
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. It is the first thing you should think about when designing new software.

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

#243

Earlier quoted context omitted.

Per-display DPI settings. No snooping on input without permission. Awareness of the lock screen (the compositor can know that the lock screen is active and provide alternate keybindings instead of having to configure the lock application as well). Locking is not blocked by context menus being open. I ran XMonad for 15 years, but recently switched to river and am loving it.

> 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…

[deleted]

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

#244
post #159

Earlier quoted context omitted.

Well, you are not really forced to write a compositor these days as there are libraries that do all the heavy lifting for you. Check out Louvre for example. Or Smithay if you like Rust. And if you want a bit more depth, there is wlroots of course (or the hyprland version). It is not really any harder than writing an X11 WM.

wlroots and smithay (I'm not familiar with louvre) do a lot of the difficult work for you, that most compositors will do without much variation but there's still a lot that compositor writers still have to do. It's still a significantly larger task than, for example, writing an X11 WM. (Well, writing an X11 WM that also includes a built-in compositor is a bit more than just the WM, but I'd say still less than writing…

https://github.com/CuarzoSoftware/Louvre

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

#245
post #164

Earlier quoted context omitted.

Per-display DPI settings. No snooping on input without permission. Awareness of the lock screen (the compositor can know that the lock screen is active and provide alternate keybindings instead of having to configure the lock application as well). Locking is not blocked by context menus being open. I ran XMonad for 15 years, but recently switched to river and am loving it.

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.

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

#246

Earlier quoted context omitted.

Let me know when X11 handles fractional scaling across mixed dpi and refresh rate monitors, with HDR and VRR. To me, who has finally been able to drop Windows for gaming in the last 3 months, the benefits of wayland are very real.

Technically Xorg can handle fractional scaling across mixed dpi and refresh rate monitors, but it requires support from toolkits, window managers and applications which means the developers of all of those (or at least toolkits and window managers) need to cooperate. At minimum, you need toolkit support for the most basic. AFAIK Qt6 does have this support and should be able to handle fractional scaling across mixed D…

[deleted]

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

#247

Earlier quoted context omitted.

Accessibility? Sure. Everything else? Nah, I'm sorry. There are countless ways to do remoting with Wayland. There are countless ways to do kb+mouse sharing.

I love Wayland a lot, but as far as I can tell the available remoting solutions still cannot enable a headless LXC container to serve a KDE Plasma Wayland desktop. I spent the last couple days trying to cobble some solution together for it and failed miserably. If you know a way, I would be most grateful :-)

Me too!

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

#248

Earlier quoted context omitted.

>There are countless ways to do kb+mouse sharing. You realize that's worse, right? And to be clearer: core Wayland protocol does not have countless ways. It has zero. Instead of a single protocol with the strong X11 reference X server the wayland compositors pick and choose between libinput, or libei, or libportal with the InputCapture PR, xdg-desktop-portal with the InputCapture interface, some I've probably missed,…

The point of the protocol spec being minimal is that it enables a wide variety of implementations, something it definitely succeeded at. I still don't know how people twist this obvious success into a failure.

Xorg fans reverse all the normal Open Source logic.

Imagine we were talking about web browsers…

There should only be one! No security makes all my extensions work!

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

#249

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?

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

#250

Earlier quoted context omitted.

My rpi dashboards are gonna love it

Anything special about Raspberry Pi's that require X11? Raspberry Pi OS defaults to Wayland nowadays, and there's specific kiosk Wayland compositors like Cage ( https://github.com/cage-kiosk/cage ). Tho admittedly kiosk-wm ( https://github.com/JOT85/kiosk-wm ) is much more succinct.

I write dashboards using X11/OpenGL for displaying otel metrics.

GLFW for my window library.

Wayland is overkill.

I would go straight /dev/fb if it meant I could also antialias and make it pretty and didn’t need a cursor.

Post reply on HN