TinyX: Small Featured X Server
66 comments
·February 10, 2025rollcat
johnisgood
Wayland still does not for work me for basic stuff though. I will make a list once I try it again but so far I have only experienced issues with it, no issues with Xorg.
(And thus, I avoid anything Wayland.)
sprash
I find it very surprising how well Xorg still works considering it receives essentially zero funding. To me this is a sing of a very robust design.
I'm also not surprised at all how bad Wayland is. The protocol makes wrong abstractions at the lowest level which causes problems everywhere else. The worst being massive fragmentation. It wont ever be good despite receiving big amounts of funding. But this is obviously by design.
rollcat
> The protocol makes wrong abstractions at the lowest level which causes problems everywhere else.
Can you point out any specifics? I think both the low-level operations (allocate some shared memory for a surface, agree on a pixel format, etc) and the high-level features (scaling!) are solid, the holes are mostly in the ecosystem fragmentation/extension support ("can you please draw some window borders for me, thanks?"). If you were designing a modern windowing system from scratch, what would you do differently?
krupan
I detested the idea of Wayland and the way it was marketed for years. Then a few months ago, after some frustration with X that I don't remember, I tried Wayland (with sway, since I was an i3 person) for the first time and have been pleasantly surprised at how well it works. It's not perfect, but neither is X. It does enough things better than X that I've decided to stick with it.
To be specific, configuring things like scaling, auto rotation on my laptop/tablet thing (and rotating the touch screen and stylus to match), and automatically using external displays as they are plugged in (with kanshi) has been much easier than with Xorg. Maybe if I was still just sitting at a desktop it would be different, but for these scenarios Wayland is nice.
rollcat
True, your mileage with Wayland will vary, depending on your HW, distro, compositor, etc. Xorg is more mature (check it), and also this just popped up in my news feed: <https://rubenerd.com/boring-tech-is-mature-not-old/>
For better or worse, Wayland is where all of the attention is right now, and there already are systems (like Asahi Linux) where Xorg is unsupported. The world will continue moving forward, sticking with Xorg may prove more difficult over time, so TinyX may be of interest even if purely for the sake of continued maintenance.
krupan
I like that take on boring tech, and a little like Oracle, I don't think X is boring. Wayland definitely isn't either, but I think it has potential.
pvg
Thread at the time https://news.ycombinator.com/item?id=36498484
st_goliath
Well, "at the time" is a funny way to put it. That thread is from 2023. The first commit in the repository is from 2013, importing the already existing source tree.
I recall having played around with DSL/TCL (Damn Small Linux & Tiny Core Linux) around 2010 or so and IIRC they already had their minimalist X11-but-not-Xorg server even back then, which I found fascinating at the time. I'm pretty sure I took a curious peak at the source code back then, IIRC it simply didn't live in git yet (tarball and a few patches?).
The XVesa code base that this is forked off of is of course much older.
tmzt
At one point I believe DSL used Kdrive which has a slightly different DDX and driver structure but the same DIX.
tiffanyh
> While the original codebase is MIT, any changes here are GPLv3.
What’s the argument on why to change to a less permissive license?
IncRnd
The answer to your question is in the next sentence, "While the original codebase is MIT, any changes here are GPLv3. Supporting closed devices with this code is not a goal."
rollcat
That's the entire point of a permissive license. You grant other parties the right to do as they wish, given a very lax set of requirements (usually just attribution). Would you feel offended if someone only distributed a binary build with their changes, or even charge for that? That's literally what the permissive license is about.
What may not be immediately obvious, is that it still favors the downstream developer to contribute their changes back; the network effect scales exponentially with the number of participants. Making the changes copyleft complicates the matter, as their copyright status may become less clear as further downstream contributors chip in.
There's always some trade-off, but this is exactly what the MIT license permits. If it bothers you, you'd probably find yourself preferring copyleft anyway.
glitchc
Protection against corporate interests taking over the project in the future.
pantalaimon
With that kind of project they should be happy for any kind of interest in the future.
wmf
Usually ideology. GNU/FSF people love switching software from permissive to copyleft.
account42
Not wanting to do free work for others that don't reciprocate is "ideology" now?
aja12
Of course. And it's fine? I'm a proponent of GPL for this reason, I see it as an ideology to which I subscribe, I don't see the problem?
gatlin
Yes.
01HNNWZ0MV43FF
All things strive
bmacho
The dude that worked on it prefers GPL over MIT.
Nab443
Not less permissive, just targeting the end user instead of the developer rights.
knowitnone
I think they want assistance with the project, not for corps to take it and build it without contributing back. It's why Linux has grown more feature/driver rich while others grow at a slower pace (no necessarily a bad thing).
eddieh
There’s no argument for the change in the general case. There’s rationalizations, sure.
But no euphemisms like “public”, “free software”, “copyleft”, make the change anything less than taking away a freedom and calling it “free as in speech”.
immibis
If you have the right to speak your mind and I have the right to blast an airhorn every time you open your mouth...
... and I actually do that ...
... do you actually have the right to speak? Maybe banning airhorns would increase speech rights.
eddieh
Actually, you don’t have that right. Most cities ban public nuisance noises such as blasting air horns.
You’re mostly free to do things that do not harm others. If you don’t like my speaking you can and should just move along. Blasting an air horn is not only harming me it harms everyone around you. Whereby you are interfering with everyone else’s right to not have public nuisances.
It isn’t remotely similar to what I’m saying anyway.
The free software foundation has brainwashed y’all to think less freedom is more freedom. And yes, I will die on this hill.
It isn’t my fault if you have an issue with objective reality.
null
queuebert
Could an even more minimal X server simply render one application that was launched from the console? Or would that run into issues?
udev4096
[flagged]
ulfbert_inc
If it is good enough for OpenBSD it is good enough for me.
tchbnl
It's stable and it works for me.
mhd
Well, sadly NeWs isn't supported anymore.
Daegalus
On the topic of the license, I find most small projects that use GPL suffer from delusions of grandeur.
First to address the readme. Their goal for switch to GPL for closed devices is kind of pointless. For a closed device, they can still use it without modification. And even if they do modify it, how would you know. How would you prove it's your codebase they modified? The GPL does little to protect small projects. If they made money and got caught, they can just pay their way out of it. If they didn't make any money, well, no one would have probably found out until they they were a defunct company or the product was cancelled.
Second, more on the delusions of grandeur. Let's be real, this project is a small project with very little chance to grow big. It might become the defacto X server for old tech, but I doubt it would be used for anything new. And even if it is, not for many. The GPL won't protect it because it's obscure.
The GPL works for big high profile projects, like the Linux Kernel. It worked in the past because companies hadn't figured out a way around it, or that they can just ignore it and deal with the consequences later. They usually get away with it too, with little cost to them, as they have made their money.
I personally avoid releasing any of my projects as GPL. Because the likelihood of any of my projects being huge is minimal, and if they go big, I can change the license then. Maybe a non open source license like the Fair Source License that then transitions to MIT or Apache after 1-2 years.
rixed
The GPL is not about becoming huge, it's about building a community around shared software. The goal is not to prevent Microsoft from stealing your software, it is to promote the idea amongst software authors and users that software should be free to modify and share and that there should be no distinction between users and authors; There is no such statement with the MIT. I believe this makes sense regardless of the size of the software.
Daegalus
Ok, I'll give you that argument, as I agree with a lot of it, but the authors are specifically using it as an anti-closed device/anti-corporate thing.
rixed
Indeed. I believe the bitterness is understandable but counter productive. I share the sentiment that it has a "delusion of grandeur" vibe that I also find annoying.
bawolff
> And even if they do modify it, how would you know. How would you prove it's your codebase they modified?
Via dissasembly? It isn't that hard.
However i think you miss the point. GPL is more a statement of principles than anything else.
observationist
Stallman's principles should be directional - an orientation, aspirational, not something to cling to with bitter insistence. It's the equivalent of screaming "why can't we all just get along" into the Matrix.
Copyleft isn't how the world works. MIT and Apache and liberal licenses liberate ideas for reuse and practical application in the real world. If you want your project to be a quirky curiosity visited and abandoned by people searching for some better solution for their problem, use copyleft.
If you want your idea to make the world a better place, use permissive, liberal licensing and move on.
Forking something from MIT to GPLv3 is disappointing, from this standpoint.
happymellon
> If you want your idea to make the world a better place, use permissive, liberal licensing and move on.
Most examples of this directly contradict what you say. Whilst Apple has contributed somewhat to BSD, the vast majority of their work is closed up and sealed off. It's not making the world a better place.
GPL3 and AGPL are really the only defense against the tragedy of the commons.
> It's the equivalent of screaming "why can't we all just get along" into the Matrix.
You have it the wrong way around. MIT is screaming for people to place nicely and work together. GPL sets a strict contract and rules for playing, there is no screaming and there is no room for people to create their own forks and not work together.
kazinator
While I favor BSD and MIT licenses myself that's all I will use, obviously we've had very successful software that is copylefted.
There are people who won't contribute to your program if it's BSD or MIT. There are those who won't contribute to your program if it's GPL.
A program with any license is at risk of being abandoned as a quirky curiosity, if it, doh, is a quirky curiosity.
knowitnone
so you don't use Linux?
cardanome
Copyleft licenses like GPLv3 and AGPL make it slightly harder for tech monopolists like Google and Amazon to take over the project and profit of your work.
And contributors have the security that the project will stay free and will not do the classic MIT switch-and-bait to a commercial license.
Brian_K_White
Which is to say they can still profit from the work. It's there for them to benefit from using exactly the same as it's there for everyone. They just don't get a better deal or more rights than their own users or a homeless kid in Uganda or anyone else.
michaelsbradley
How do A/GPL provide security against the IP owner switching to a commercial license?
gkbrk
If anyone contributed to the project under A/GPL, they cannot switch to a commercial license without removing all contributions first. Because they are not the sole IP owner any more.
But if you contributed under the MIT license, you allow them to re-license as whatever they want.
motorest
> Copyleft isn't how the world works.
How do you explain the success of software projects such as the Linux kernel?
> MIT and Apache and liberal licenses liberate ideas for reuse and practical application in the real world.
No. The likes of MIT and Apache allow for royalty-free commercial use of third party software. Aka free labour.
The likes of GPL arguably have a greater impact on the whole concept of reuse because they require consumers to also be reusable by third parties.
It's ok if your goal is to just use someone else's projects for your own commercial benefit. I do that all the time. However, it's not right to try to frame it as something else.
bawolff
> Copyleft isn't how the world works. MIT and Apache and liberal licenses liberate ideas for reuse and practical application in the real world. If you want your project to be a quirky curiosity visited and abandoned by people searching for some better solution for their problem, use copyleft.
Outside of software, copyleft is much closer to how the world works. In the real world, nothing is free, but reciporical agreements are common. Something like a free trade agreement is kind of like a copyleft license.
> Forking something from MIT to GPLv3 is disappointing, from this standpoint.
How can you both find that disappointing and support MIT licenses at the same time? Feels like contradiction. The entire premise of a BSD/MIT license is that people should have the right to do this.
globular-toast
> Copyleft isn't how the world works.
One way to think of copyleft is it neutralises copyright. Permissive licences do not do that. People who support free software do not believe software copyright should be part of the world.
Brian_K_White
This is ridiculous. Copyleft is just a gimmic pun word not an actually different thing or a negation of anything. GPL and copyleft ARE copyright, exactly the same as all other copyright.
The GPL depends on the the validity of the premis that the creator of something gets to set the terms for how they give it to anyone else.
The terms just happen to be something other than the usual cash.
Anyone who doesn't think copyright should exist at all, doesn't even specify any licence or they specify public domain or mit or similar. By specifying GPL, you declare your right to set the terms of copying.
globular-toast
Sigh... Your confrontational tone tells me you won't care, but I'll give the benefit of the doubt (plus maybe someone else will).
You can't just "not copyright" something nor can you "opt out" of copyright. Many countries don't even have a concept of public domain at all. But even if you could, if someone takes the work and alters it in any way it is immediately under copyright again.
Copyright came from a different time. It was invented due to the printing press around 500 years ago. Its purpose was essentially to protect authors (the many) from the owners of printing presses (the few). Now it's used by a few to extract money from the masses.
So, the only tool we have to effectively "opt out" of copyright is copyleft. This stops copyright being able to attach itself again, which can and does happen to public domain or permissive works. It's a funny twist, but that's the way it is. Silly laws require silly solutions.
aja12
Why are people downvoting your comment? It's not against the guidelines, is it?
I strongly think you are wrong, and I strongly disagree with your points, but I don't see why your opinion should disappear, lest this thread turn into an echo chamber.
bawolff
Perhaps because arguing over bsd vs gpl is a never ending flame war that people are tired of.
AlexeyBelov
You're confusing HN with Reddit. There is such a rule on Reddit, but not on HN. It's not against the guidelines.
throw16180339
I downvoted because it's a generic complaint about licensing that could be posted anywhere - only the last sentence is related to the topic.
Wayland of course is the present and the future, Xorg receiving only the bare minimum of attention.
But I believe that many technologies, protocols, and formats that were commonplace in late 90s/early 2000s are just here to stay forever: X11, BIOS/MBR, FAT32, 32-bit x86 PE, Win32, GTK2, Cocoa... The Linux kernel still runs static binaries built in mid-90s.
Judging from the feature list, TinyX hits a very sweet spot for otherwise underpowered or obsolete machines. You can of course spend €50 and get a RasPi that can handle a more complex / demanding stack, but also you can take advantage of the spare power, or just appreciate the architectural simplicity.