Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

73% Positive

Analyzed from 2254 words in the discussion.

Trending Topics

#screen#monitor#screens#wayland#multiple#don#windows#more#server#https

Discussion (74 Comments)Read Original on HackerNews

aleph_minus_oneabout 2 hours ago
Concerning the name "Yserver": be aware that there also existed (the implementation is still available for download) the "Y Window System"

> https://www.y-windows.org/

by Mark Thomas as an experimental sucessor of the "X Window System" (its development has been cancelled for a long time; the latest release that is available on this website is from 2004).

The German Wikipedia still mentions the "Y Window System":

> https://de.wikipedia.org/w/index.php?title=X_Window_System&o...

simmonmtabout 3 hours ago
This is pretty cool - especially that it's at the point where it can be used with a real window manager.

I'm curious why multiple screens is considered legacy baggage and thus out of scope, given how common multiple monitor setups are these days. I also have zero familiarity with X internals, so don't know if multiple monitor support is a horror show that'd be miserable to support.

somatabout 3 hours ago
I suspect(with out reading the source to find out) that screens are the traditional X11 screens as opposed to the modern xrandr combined screen.

Traditionally each screen in an X11 setup was it's own separate thing with it's own separate frame buffer. While technically applications could move between screens, this depended on the application caring enough to do so. It had to maintain two(or more) mirrored windows(one per screen) and keep them all aligned. So realistically no application did this.

The modern method of doing multi monitors on X11 involves one large virtual screen with each monitor assigned a section of it. This has downsides, for example; this is where the myth that X11 can't do mixed DPI setups comes from. But it has one huge massive overwhelming upside. The application does not have to be aware that there are multiple screens and multi monitor setups just work.

Liskni_siabout 1 hour ago
> So realistically no application did this.

Old versions of GIMP (back when the toolbars etc. were separate windows) used to let you move any of its windows to a different X screen. And by "move" I don't mean drag - there was a menu where you could select the screen to move to.

simoncion31 minutes ago
I really miss the tear-off-into-their-own-window menus. They were so handy.

I have to wonder if the fact that Wayland either never had or has only very recently gotten support for applications that need to place their windows at application-commanded locations on the screen meant that those lovely tear-off menus had to die.

skeledrewabout 2 hours ago
Just did a quick `xrand -q` to confirm I'm doing multiple DPIs, etc (cuz laptop and external monitor) on a single screen with 0 issues. Unless the physical misalignment of the monitors, which reflects as a vertical jump when moving the mouse pointer across the virtual boundary, can be considered an issue.
winridabout 2 hours ago
The downside is your refresh rate is locked to the slowest monitor.
simoncionabout 1 hour ago
This report doesn't agree with what I tested just now.

Using the xrandr CLI to set the refresh rate to 24.0 on my primary monitor and 60.0 on my secondary results in "cinematic" visuals on the primary monitor and normal "soap opera" visuals on the secondary. Setting the refresh rate back to 60 on my primary results in "soap opera" visuals on both.

I'm currently using Windowmaker, but I see no reason why this wouldn't work with KDE. I'm using xorg-server 21.1.23 (which supports RandR 1.6), xf86-video-amdgpu 25.0.0, xrandr CLI version 1.5.4, and kernel 7.0.12.

I'm on Gentoo Linux. I would not be surprised to learn that Debian (and Debian-derived distros) never shipped a version of Xorg or the related libraries where this worked correctly.

ltreverabout 2 hours ago
Can you pls share smt on how to properly do multi dpi in X? It is hard to find and I struggle with it
ndiddyabout 2 hours ago
The mixed DPI support on X11 is just that each monitor provides a DPI attribute that applications can query. It's up to the application or the toolkit it uses to actually look at this attribute and scale itself properly. In practice, this means that only Qt software will have DPI awareness on multi-monitor setups, and it requires having the "QT_AUTO_SCREEN_SCALE_FACTOR=1" environment variable set for applications that don't explicitly opt into it.

What most X11 users actually do is set the global DPI to that of the highest DPI monitor, and use xrandr to scale down the framebuffer of the lower DPI monitor, which "zooms it out". Note that this has performance and image quality implications. There's a guide on how to do this here: https://blog.summercat.com/configuring-mixed-dpi-monitors-wi...

Gigachadabout 2 hours ago
This + mixed refresh rate are the key selling points of Wayland.
chadgpt3about 3 hours ago
X screens are legacy. It used to be you could connect to a particular screen by number to open windows on that screen but the modern way to do it is to have one big virtual screen. X screens were like having a separate X server for each monitor, but with a single shared cursor and shared VRAM. You can see why that's an obsolete model.
simmonmtabout 3 hours ago
Yep. When did virtual screens come in? My last full time experience with X was with Xsun in the early 2000s under Solaris. There was a shared cursor, I thought you could drag windows between monitors, but I also thought the DISPLAY variable was different for each (though I could be misremembering)
rwmj18 minutes ago
$DISPLAY is definitely different for each X11 screen, ie. :0.0 for the first screen, :0.1 for the second and so on. (:1, :2 is used for more instances of the X11 server).

I can't recall any application able to use multiple X11 screens (except in the trivial sense that you could set DISPLAY when starting the application), and I've been using X11 since X11R4.

Liskni_siabout 1 hour ago
2007 is when xrandr 1.2 came and made it feasible to use on a laptop - enable/disable outputs dynamically without restarting X.

Xinerama (the extension that enables one virtual screen over multiple outputs) existed before but the layout could only be defined statically - so you'd need to restart your X server with a different config if you wanted to connect a monitor or a projector or something.

kwhat4about 3 hours ago
Probably because Xinerama[1] and then later RandR[2] were an afterthought.

[1] https://en.wikipedia.org/wiki/Xinerama [2] https://xorg.freedesktop.org/archive/X11R7.5/doc/man/man1/xr...

Venn1about 1 hour ago
I compiled it on Debian 13 and it works with XFCE4. Granted, things are a bit squirrely until you disable the compositor. No luck getting it to play nicely with LightDM so I ended up launching it from a TTY. This was on an AMD mini PC I had lying around the studio.
skeledrewabout 2 hours ago
> dropping legacy baggage (multiple screens[...]

Looked nice, but crossed it off as soon as I saw that, as I'm working on a project currently that uses many screens. Can't just call a thing legacy because you and the people you directly know aren't using it.

rmu09about 2 hours ago
Maybe they mean X11-screens. That are more or less independent screens, you can't move a window from one to the other for example.Emacs supports that somewhat with the "open new frame on display server" menu option, but usually, multiple screens are not very useful.

Nowadays, multiple monitors present one big virtual framebuffer and only one logical X11 screen.

freehorseabout 1 hour ago
It is a niche feature, but it is still used eg when an application wants to have good control over a screen's frame buffer to display sth in an external monitor and minimise disturbances. I think it is fairly standard in psychophysics experiments, at least with some software. That's where I worked with such a ("zaphodsheads") setup.
wtallisabout 2 hours ago
I think X11 terminology may be causing some confusion. Refer to https://nouveau.freedesktop.org/MultiMonitorDesktop.html

The normal, usable way to have multiple monitors for your X11 desktop environment is for them to all be combined into one logical screen that you can move windows around in, and that applications aware of the right extensions can discover the actual physical layout of the monitors that comprise the single logical screen. Multiple screens in that X11 sense is a far more obscure feature than simply supporting more than one physical monitor.

dormento42 minutes ago
Unless I'm mistaken, they probably don't mean xrandr, which is what you probably use. They meant legacy x multi head setup (same session but independent screens). I know its there, but i never used it.

edit: AND i've been using GNU/Linux and derivatives for the last 20 years.

PunchyHamsterabout 1 hour ago
X11 "screen" you normally work on is a single virtual one that stretches multiple monitors

What they are talking about is supporting more than one of those, and from app's perspective they are completely separate (can't move windows between them).

While I can see the use cases (say secondary screen only running single app) I never actually used that feature so it's understandable drop.

le-markabout 2 hours ago
I really wish people gave a damn about the “gui over the network” problem x11 solves. Wayland drops this use case entirely so we’re pretty much universally stuck with vnc. Microsoft rdp is a great solution for this in windows land.
nananana9about 2 hours ago
They drop this use-case, but still use sockets for IPC, so I still have to pretend I'm doing network programming, serialize my messages over the "network" and "flush the stream" (insanity) but don't actually get any of the benefits of this model.

I genuinely wonder if they stopped to think why X11 has sockets or just blindly copied it over. Or are they unaware other forms of IPC exist, that don't require you to go through the kernel 13 times to send a byte to the other process?

mort96about 2 hours ago
What would you rather they use to communicate with the server? Message passing via shared memory?

UNIX sockets are perfectly fine for IPC with small amounts of data, and is how everything in UNIX has always done it, network transparency or not. They provide a simple, efficient and reliable communication channel between two processes.

p-oabout 2 hours ago
Wayland uses UNIX socket for message passing, but then offload most of the work to shared memory when the real work begins (GPU rendering). I just wanted to add some nuances that it's not as black and white as this comment made it seem.
Findecanorabout 2 hours ago
How about making the standard client library's API the interface, and have it hide whatever the system is actually using?

A long time ago when I looked at designing a X11 replacement, that was my approach. AFAIK, only special X utilities used anything but Xlib anyway. And later I think this is what early revisions of Canonical's Mir did.

nananana9about 2 hours ago
Yes, command buffers over shared memory are the correct way to do this.

  1. You don't need to convert your discrete messages into a stream with size metadata, only for them to immediately be converted to a message on the other side.
  2. You don't need to jump into the kernel to copy over 20 bytes, only for the other side to jump into the kernel to copy it back.
  3. You don't need to deal with the "oh but what if my read returns half a message because this is a stream"
  4. You don't need to pretend you're doing network programming.
Regardless, it's not that big of a deal - this is like my 73th biggest gripe with Wayland, I only mentioned it since GP was talking about network transparency.

It's pretty representative of the project though - "We're doing things the way we've always done them, but slightly different. Now rewrite all your software to work with our thing. No, you cannot do global keyboard shortcuts or set window position. You don't like it? We're doing this for free, you cannot critique it."

wmfabout 2 hours ago
Waypipe exists. Somebody needs to do the integration so you can run ssh -W though.
ethanpailesabout 2 hours ago
dannymiabout 2 hours ago
waypipe works very fine.

    waypipe ssh XXX
to11mtmabout 2 hours ago
> Microsoft rdp is a great solution for this in windows land.

The people who put together TS/RDP are geniuses IMO, it's insane as to how usable it has been for at least 15-ish years...

TacticalCoder20 minutes ago
> I really wish people gave a damn about the “gui over the network” problem x11 solves.

Security-wise there are concerns but...

Early dial-up Internet days (early for me), 28.8k modem, I was already running Linux, probably on a 486. I also had a very old PC laptop (I think a friend of my parents gifted it to me after he got a new one from work), a 386 I think (with the horrible slow display/refresh rate: a TFT IIRC). I used a parallel cable and PLIP (Parallel Line IP) and X11 networking to send a window manager+browser from the desktop (the 486) to the laptop.

So my brother and I could both go on the Internet at the same time.

It felt like the future and, honestly, we've kinda seriously regressed when it comes to "GUI over the network".

Induaneabout 1 hour ago
Arcan has a decent model for this.
ndiddyabout 2 hours ago
If you're fine with RDP, both KDE and GNOME have built-in RDP support on Wayland. If you want something closer to ssh -X, look up waypipe.
sthuck29 minutes ago
I might be mistaken, but both need a physical monitor turned on. If your monitor goes to sleep you can't connect/see a black screen.

The kde one doesn't support remote user login, and while the gnome one does on paper, I never got it to work. The remote connection situation in Wayland is a major regression.

TiredOfLifeabout 2 hours ago
Sunshine/Moonlight.
vidarhabout 2 hours ago
Love seeing this. I'd be interested in seeing how much more could be shaved off by doing things like offering an xcb/xlib shim that moves more functionality to the client side (e.g. server-side font support are trivial to move client-side) as a means to deprecate features on the server side that most modern X11 apps don't use anyway.
kennywinkerabout 2 hours ago
Projects like this really need to disclose how much ai was used. Otherwise my default assumption is it’s slop, which would be a bummer if someone carefully crafted this with some light ai assistance.
asveikauabout 1 hour ago
I was under the impression that this person is pretty heavily dependent on Claude.

And for example, it's a weird signal to me when somebody believes the reason X11 has baggage is because it does byte swapping for endianness. This statement alone taints the entire rationale for the project.

hokkosabout 2 hours ago
Seems pretty accurately disclosed to me https://github.com/joske/yserver/graphs/contributors
phendrenad2about 2 hours ago
I agree, as soon as people start proudly tagging their vibe-coded projects, the sooner people will stop judging AI projects as "slop" based on nothing at all.
self_awarenessabout 2 hours ago
Why it "can't" work under nvidia?

Xorg worked under nvidias for years.

Venn1about 1 hour ago
And XFree86 before that.
sunshine-oabout 1 hour ago
The wayland.fyi people might have a point on the whole X11 vs Wayland thing [0].

At least it is worth reading.

- [0] https://wayland.fyi/

hypferabout 2 hours ago
I'm really just tired of all these "projects" that in the end just turn out to be Claude.

There is no need to put this code on GitHub. Everyone with an API key can achieve the same if you hand them the prompt.

This is like committing build artifacts to version control.

On top it's such a lame idea. "What if rewrite in rust applied to X server". Fits on a napkin. Man what a nothingburger :(

scrollawayabout 2 hours ago
Ah yes, the famous zero-shot X11 server. Aren't you clever.
hypferabout 1 hour ago
Would you be happier if I wrote "the prompts"?

Would that change anything about the fundamental cliche-ness here?

Also, no, I'm not clever, but not sure what that has to do with this comment chain.

scrollawayabout 1 hour ago
I'm just so tired of these lazy, worthless comments about any AI-written software.

Look, I've been writing open source software for 20+ years, and after getting seriously burned out by it, I picked it up again with Claude (proof: https://github.com/jleclanche)

I can tell you a few things from that:

1. I'm writing better software than before, because AI is less lazy than I am. It's not necessarily always smarter, but writing correct software has gotten so stupidly cheap that it doesn't make sense not to do things right... so when you tell AI to do things correctly, it tends to know what you're talking about.

2. I'm more curious than before, because AI gives me time to explore many paths, very fast. A project like this one, like someone else said elsewhere in the comments, is more about the journey than the destination.

There is no "write me an X11 server but do it in rust and post on hn" prompt that does the thing. There's a journey of building, learning, understanding.

I'm not saying the resulting software is particularly valuable, but the journey is. This is HN, and you're shitting on someone who is using the most powerful pieces of technology we've achieved to go on a journey of discovery of X11 internals for the past 2 months. It's just shameful.

And yeah, if I were the author, I'd run claude over all the transcripts and extract a story with what's been taught and learned throughout. But I'm not the author. Just someone enjoying living in absolute science fiction.

calvinmorrisonabout 1 hour ago
a nothing burger as REDHAT is 10 years into their pathetic rugpull of Wayland destroying 40 years of UNIX GUI development and infrastructure.

yeah actually, i think this is great. It shows that with AI we dont have to listen to Lennart Poopering and the gang of un-fun dicks from ugly disgusting european Redhat employees.

IshKebababout 3 hours ago
Why? Wayland hasn't been smooth sailing by any stretch but it's still time to let X die.

Also this is slop.

d4ngabout 3 hours ago
Maybe it’s more about the journey and not the destination.
L0Wighabout 1 hour ago
Letting X11 die is stupid. It works perfectly fine and gives another option than just Wayland
fb03about 2 hours ago
> Also this is slop.

Is anything done with AI automatically slop? I don't understand this

Advertisement