When first looking at the source code, I wondered why one would waste so much time to write 25k lines in raw assembly language, but then I saw that it was generated with Claude, for whom it does not matter much how expanded is the written text.
If someone had written this program manually, the strategy would have been very different. With a good macro-assembler (and nasm is good enough) one should define a great number of macros, to encapsulate all the tedious boilerplate, especially for things like function prologues, epilogues and invocations.
With a well written macro library, an assembly program can be almost as compact as a C program, instead of containing many text lines for each equivalent high-level language statement.
Such an assembly source with good macros can be read and understood much more easily than raw assembly language, like in this "frame.asm".
Otherwise, this is interesting work.
tty456 18 minutes ago [-]
Sounds like another prompt is in order to re-write the code
gen2brain 32 seconds ago [-]
I would like to see a similar project that fixes Wayland. Like, can someone vibe-code window positioning, add SSD to GNOME (damage was already done, but still), and add the ability to send events so you can automate and drive the app offscreen for testing.
ToyKeeper 51 minutes ago [-]
It's funny to see someone using a LLM as a compiler, making it convert higher-level operations into assembly, instead of just using a compiler.
pjmlp 10 minutes ago [-]
Eventually that will be the way, revenge of COBOL and 4GLs.
yjftsjthsd-h 1 hours ago [-]
I am loving the shift from 'X11 is too big and messy to ever reimplement' to 'there are multiple wildly different X servers being built from scratch'.
Also, has anyone run it successfully? I got as far as building and running with --display and then running `DISPLAY=:7 dwm` and `DISPLAY=:7 alacritty`, but I can't seem to focus the window to actually type. Given that the author posted a picture of the thing actually running a live environment and claims to actually be using it, I'm pretty sure this is a me problem but I haven't been able to figure out where it is. Mouse works, too.
Kelteseth 24 minutes ago [-]
> 'there are multiple wildly different X servers being built from scratch'
by claude code. So this was only possible since no human had to bear looking at X original source code.
bogdan 22 minutes ago [-]
Try running `tile` as a wm. I imagine it's not fully compliant to support dwm.
fhn 18 minutes ago [-]
Was browsing some of the other rust projects(https://isene.org/fe2o3/#tools) and https://github.com/isene/torii says "Mozilla removed Firefox's "Open network login page" banner". I'm on windows and still see the banner so don't know if this is true. Is the really true on Linux?
pjmlp 8 minutes ago [-]
Up voting as it kind of makes the point I believe in, regarding how this AI powered tooling eventually will land on.
COBOL and 4 GL dreams coming into reality.
spikk 17 minutes ago [-]
I wonder if very cheap code generation will make software monocultures less relevant here. Because lots of incompatible devices is awful to work with, security stuff may also hurt
NetOpWibby 22 minutes ago [-]
Beautiful. Using LLMs to create perfect tools for yourself is my favorite thing about them.
No dependencies and better performance? Fantastic.
elendilm 20 minutes ago [-]
<I am not sure this laptop has a fan anymore. Except me.>
I wish mine had no fan too except me.
mintflow 2 hours ago [-]
this is impressive, even with claude i think the guy have enough deep understanding of the OS and the varioius topic make it works
recently i also rewrite most of the app's underlying core function to rust, just like the guy do for the phone
perhaps i should also do more stuffs given codex reset too quickly
Tiberium 1 hours ago [-]
Was there a reason to add an AI-generated image to the top of the article? :(
stonogo 1 hours ago [-]
The article about an AI-generated X11 server? Why not?
mikepavone 56 minutes ago [-]
Article reads like it was AI-generated too
system7rocks 2 hours ago [-]
Interesting.
I've never quite found that Linux is more optimized on battery-powered machines for energy savings, even though supposedly there is a lot of room to tweak and optimize settings -- from selecting a low resource window manager/DE to turning off various services to switching up power management utilities. But this does seem like an approach that might produce that kind of fruit?
cogman10 49 minutes ago [-]
The really unfortunate thing about linux is the defaults tend to be not battery friendly.
For example, I recently got another 1 hour out of my old laptop's battery because I didn't realize for the intel video card driver I needed to add some modprobe flags to get it to load up a firmware binary blob. Doing that enabled hardware video decoding, faster performance, and lower power usage.
There's a bunch of setting like this that you need to make sure are turned on to get the best battery performance. Some OSes are better about toggling them than others and mine (gentoo) let's you discover later that you forgot to turn them on :).
fhn 20 minutes ago [-]
That's really sad to hear. I think it's just so much to configure for any human to take on. I'm going to run my system config through an LLM and have it optimize it for me see if that works.
inigyou 25 minutes ago [-]
I have a laptop where you need to load a certain driver to turn off the discrete GPU, which triples the idle battery life.
exe34 28 minutes ago [-]
Hey could you tell me about this flag please? I have an intel gpu and might need it too!
You might want to take a look at TLP[0]. It, among other things, backs the power mode/profile panels in Gnome/KDE.
Many distros already try to push good defaults, but you can do a whole lot when optimizing for a mobile experience. You can also do some fun stuff with it, like running a script[1] when going from ac->bat power to, e.g., turn of a service, lower refresh rate or reduce brightness.
If someone had written this program manually, the strategy would have been very different. With a good macro-assembler (and nasm is good enough) one should define a great number of macros, to encapsulate all the tedious boilerplate, especially for things like function prologues, epilogues and invocations.
With a well written macro library, an assembly program can be almost as compact as a C program, instead of containing many text lines for each equivalent high-level language statement.
Such an assembly source with good macros can be read and understood much more easily than raw assembly language, like in this "frame.asm".
Otherwise, this is interesting work.
Also, has anyone run it successfully? I got as far as building and running with --display and then running `DISPLAY=:7 dwm` and `DISPLAY=:7 alacritty`, but I can't seem to focus the window to actually type. Given that the author posted a picture of the thing actually running a live environment and claims to actually be using it, I'm pretty sure this is a me problem but I haven't been able to figure out where it is. Mouse works, too.
by claude code. So this was only possible since no human had to bear looking at X original source code.
COBOL and 4 GL dreams coming into reality.
No dependencies and better performance? Fantastic.
I wish mine had no fan too except me.
recently i also rewrite most of the app's underlying core function to rust, just like the guy do for the phone
perhaps i should also do more stuffs given codex reset too quickly
I've never quite found that Linux is more optimized on battery-powered machines for energy savings, even though supposedly there is a lot of room to tweak and optimize settings -- from selecting a low resource window manager/DE to turning off various services to switching up power management utilities. But this does seem like an approach that might produce that kind of fruit?
For example, I recently got another 1 hour out of my old laptop's battery because I didn't realize for the intel video card driver I needed to add some modprobe flags to get it to load up a firmware binary blob. Doing that enabled hardware video decoding, faster performance, and lower power usage.
There's a bunch of setting like this that you need to make sure are turned on to get the best battery performance. Some OSes are better about toggling them than others and mine (gentoo) let's you discover later that you forgot to turn them on :).
https://wiki.gentoo.org/wiki/Intel#GuC.2FHuC_firmware
Many distros already try to push good defaults, but you can do a whole lot when optimizing for a mobile experience. You can also do some fun stuff with it, like running a script[1] when going from ac->bat power to, e.g., turn of a service, lower refresh rate or reduce brightness.
[0]: https://linrunner.de/tlp/index.html [1]: https://linrunner.de/tlp/usage/run-on.html#run-on-ac-run-on-...
https://github.com/vidarh/ruby-x11