Live data from Hacker News

Phoenix: A modern X server written from scratch in Zig

git.dec05eba.com

301–310 of 462 posts

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

#301

Earlier quoted context omitted.

Tangentially related... Is it just me, but is Wayland still lagging behind X11? From things like window placement, night light, etc. Things seem to work just out of the box in X11, and there are always issues in Wayland. (For me this is specifically on Fedora, and I always switch back to X11 from Wayland.)

Well, isn't this compositor related? I've never had any window placement issues running Sway (i3 for Wayland). I never used night light on that machine, so I can't comment on that particular point, but the thing seems to work just as well as i3. The only problem I have is with JetBrains IDEs, which seem to have shaky support. They're usable (meaning you can code), but the experience is so wonky that I basically consi…

Wayland intellij ide support is in the works, IDEs support X11 out of the box, but you can enable Wayland support explicitly (just search for it).

As per Windows placement, Firefox won't restore windows on original positions supposedly because of Wayland, somebody please correct me if I'm wrong.

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

#302
post #23

Earlier quoted context omitted.

It depends on whether their reasons for "absolutely having to have X11" hinge on actual compatibility with e.g. old binaries or wanting full remoting without streaming pixels. This project would satisfy people who really actually want Wayland, but were upset by transitional pains or interactions they had around it and want to stick with X11 just-cause while getting some similar benefits. This arguably does describe s…

From my perspective X just got to the point where it just works for me few years ago and Wayland is just introducing more issues than it solves (to be clear it solves no current issue for me, only one that I think might be better for me is handling different refresh rate displays and maybe fractional scaling... and that could probably be done within X11) Like, why simple "copy the screen" got suddenly so complicated?…

Whatever the issues with X11, it was properly designed. Wayland is the kind of software that adds features with nobody looking at the consequences. Who knows what they will break next version.

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

#303
post #199

Earlier quoted context omitted.

Wayland design choices are heavily influenced by automotive and TV where it has been industry standard way before it became mostly usable as a desktop. And that has lead to design compromises that look odd on desktop. But hey, you can probably run automotive UIs with your desktop compositor. And Gnome devs are just being silly at this point.

This car runs KDE Plasma's KWin, along with many other Mercedes-Benz models currently launching: https://youtu.be/wo5As8et1G8 https://youtu.be/pqJ-9SUPFwY Notably this deployment doesn't use any of the old-gen automotive Wayland cruft like ivi-shell though. It's pretty much the desktop stack now.

I miss the 1990s Benz 190E I used to drive: the only electronics in sight were the tape deck/radio. Even the door locks ran off a vacuum system.

I will never buy a car that runs an X-windows server.

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

#304

Earlier quoted context omitted.

> all I want to do is fuzzy match window titles to named audio streams in pipewire, > basic desktop functionality I feel your pain, but find your idea of "basic" functionality amusing. That said, `pw-dump` / `pactl` will give you client names, which often match the window titles.

I know how to get the audio stream names, the problem is the window titles. With X it's easy, just call xdotool. I'm sure it's probably easy enough on Windows and MacOS too. Wayland is the weird one for making focused window titles privileged information. Anyway, I do think I've created what should be considered basic desktop functionality here, a simple hotkey that mutes or otherwise changes the volume only of the f…

Wayland is approximately correct in this case and Windows and Mac are behind the security curve for bincompat reasons; window titles certainly leak PII. There should be a way to do it, but it is sensitive information.

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

#305

Earlier quoted context omitted.

HDR something that can't be brought to X11 without breaking backwards compatibility.

https://github.com/reaperx7/HDR10-X11

First line of the readme: Non-functional implementation work-in-progress framework code for getting HDR10 working under X11.

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

#306

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…

HDR support is still a mess with Wayland. Sometimes you can fix it with gamescope but it’s a swiss cheese thing where for example gamescope breaks some controllers in some games with some GPU drivers. Maybe in a couple more years it’ll be “it just works” territory but it’s taking a while to get there.

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

#307
post #261

Earlier quoted context omitted.

As someone who is not deep into linux desktop history: Can you please elaborate on the missing accessibility features in wayland or direct me to resources on that? I've been using wayland for a while now and am very happy with it, but my accessibility needs are pretty basic.

See this comment for example: https://news.ycombinator.com/item?id=46380075#46381858 Here is a slightly-hopeful article: https://fireborn.mataroa.blog/blog/i-want-to-love-linux-it-d...

thank you!

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

#308

Earlier quoted context omitted.

I said build on top of wlroots, not DWL. And I only brought it up as an example of a small Wayland compositor/window manager because the poster I was replying to wants to build their own anyway. DWL is more interesting as a learning exercise than something to use.

The -IMO- important part of that quote is "NOT HAVE THE TIME OR CAPACITY TO KEEP UP WITH wlroots CHANGES". X11 is backwards compatible, you do not have to "keep up" with its changes. wlroots seemingly isn't. This is a significant issue when it comes to relying on most 3rd party libraries.

(i worked a _little bit_ on dwl) each wlroots upgrade is a pretty small diff on the dwl source. the annoying part is, as dwl is configured with patches, every patch author has to update their patch to the new 0.x, as dwl is quite minimal, and thus has no stable api. that being said, obviously, dwm doesn't have this problem :)

also, for dwl, the issue is that the initial author (not the guy that wrote that notice) is sorta mia, and he has control of the repo on codeberg, so we'd probably need to fork to be safe, and he may not want to take on project lead. (he checks every patch for merge conflicts with one another and upgrade breakages, god bless him lol)

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

#309

Earlier quoted context omitted.

Accessibility is apparently a big problem with wayland. E.g., the most popular / ?only? app that supports hardware eye trackers on Linux does not work with wayland, and states that it likely never will as wayland does not provide what it needs to add support (it is also the most popular app for voice/noise control). Even basic things like screen readers are apparently still an issue with wayland. Without a strong acc…

I don't know about other DE, but at least with Plasma there is a "overscan" option to compensate for hidden borders.

Thanks for that.

Overscan is not supported in wlroots yet. Seems the issue is that handling overscan is display driver specific.

But, now I know the keyword to look for.

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

#310

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…

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

Post reply on HN