Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I hear a lot from linux users that found gtk 2 era on x11 as pretty close to perfect. I know i had run ubuntu and after boot it used far less than 1GB. The desktop experience was perhaps even slightly more polished than what we have today. Not much has fundamentally changed except the bloat and a regression on UX where they started chasing fads.

I suppose the most major change on RAM usage is electron and the bloated world of text editors and other simple apps written in electron.



Just stick XFCE on a modern minimal-ish (meaning not Ubuntu, mainly) distribution and you'll have this with modern compatibility. Debian and Fedora are both good options. If you want something more minimal as your XFCE basd, there are other options too.


XFCE is saddled with its GTK requirement, and GTK gets worse with every version. Even though XFCE is still on GTK3, that's a big downgrade from GTK2 because it forces you to run Wayland if you don't want your GUI frame rate arbitrary capped at 60 fps.

For people wanting the old-fashioned fast and simple GUI experience, I recommend LXQt.


What use is there in display frame rates above 60 fps?


It makes it easier to treat the computer as part of your own body, allowing operation without conscious thought, as you would a pencil or similar hand tool.


> What use is there in display frame rates above 60 fps?

On a CRT monitor the difference between running at 60 Hz and even a just slightly better 72 Hz was night and day. Unbearable flickening vs a much better experience. I remember having some little utility for Windows that'd allow the display rate to be 75 (not 72 but 75). Under Linux I was writing modelines myself (these were the days!) to have the refresh rate and screen size (in pixels) I liked: I was running "weird" resolutions like 832x604 @ 75 Hz instead of 800x600 @ 60 Hz, just to gain a little bit more screen real estate and better refresh rate.

Now since monitors started using flat panels: I sure as heck have no idea if 60 fps vs 120 fps or whatever change anything for a "desktop" usage. I don't think the problem of the image fading too quickly at 60 Hz that CRT had is still present. But I'm not sure about it.


120 FPS vs 60 FPS is definitely noticeable for desktop use. Scrolling and dragging are night and day, but even simple mouse cursor movement is noticeably smoother.


Outside of gaming, not much. However, now that I'm used to a 144Hz main monitor, there is no world where I would get back. You just feel the difference.

So basically, no use when you've not tasted 120+Hz displays. And don't because once you do, you won't go back.


I have a 165hz display that I use at 60hz. Running it at max speed while all I'm doing is writing code or browsing the web feels like a waste of electricity, and might even be bad for the display's longevity.

But for gaming, it really is hard to go back to 60.


Mine supports variable refresh rate, which means for most desktops tasks (I.e when nothing is moving), it runs at 48Hz.

Incredibly, Linux has better support than windows for it on the desktop: DWM runs full blast, while sway supports VRR on the desktop. Windows will only enable it for games (and games that support it). Disclaimer: Wayland compositor required.

It’s not enabled by default on e.g. sway because on some GPU and monitor combos, it can make the display flicker. But if you can, give it a try!


Windows 11 idles at around 60 Hz in 120 Hz modes on my VRR ("G-SYNC Compatible") display when the "Dynamic refresh rate" option is enabled, and supports VRR for applications other than games (e.g., fullscreen 24 FPS video playback runs at 48 Hz* via VRR rather than mode switching, even with "Dynamic refresh rate" disabled).

* The minimum variable refresh rate my display (LG C4) supports is 40 Hz.


Ah, then Windows 11 has at least one improvement compared to Windows 10 as far as user experience goes. Good to know, as I never made the jump


I use KDE + Nvidia, and last I looked into it, it only worked if you had one monitor enabled. That's fine for gaming, not for working.

But it has been a while since I've tried it, maybe I should look into it again


AFAIK it’s very compositor-dependent. Works fine with disparate monitors on Sway + NVIDIA (1x144 VRR, 2x60 no VRR + 1x120 VRR when the TV is on).

The state of Wayland compositors move fast, so support may be here. Last thing I’m waiting for is sway 1.12 that will bring HDR.


I, for one, lose track of the mouse way less often at 165Hz.


I lose track of the mouse less often at 1024x768!


You need a bigger cursor.


MXLinux is really great for something like xfce and I really loved the snapshotting feature of it too. Highly recommended.


The whole linux stack got bigger though - just look at what you need now to compile stuff, cmake, meson/ninja, mesa, llvm and so forth. gtk2 was great; GTK is now a GNOMEy-toolkit only, controlled by one main corporation. Systemd increased the bloat factor too - and also gathers age data of users now (https://github.com/systemd/systemd/pull/40954).

I guess one of the few smaller things would be wayland, but this has so few features that you have to wonder why it is even used.


>The whole linux stack got bigger though - just look at what you need now to compile stuff, cmake, meson/ninja, mesa, llvm and so forth

Those are all development tools. Has the runtime overhead grown proportionally, and what accounts for the extra weight?


Runtime-wise we use more garbage collected languages now. Java and such are great and can be very high performance, the real cost though is memory. GC languages need much more memory for book keeping, but they also need much more memory to be performant. Realistically, a Java app needs 10x the amount of memory as a similar C++ application to get good performance. That's because GC languages only perform well when most of their heap is unused.

As a side-note, that's how GC languages can perform so well in benchmarks. If you run benchmarks that generate huge amounts of garbage or consistently run the heap at 90%+ usage, that's when you'll see that orders of magnitude slowdown.

Oh also containers, lots more containerized applications on modern Linux desktops.


Programs that manually allocate and deallocate memory to store "huge amounts of garbage" can easily incur more memory management overhead than programs using garbage collection to do the same.

If a Java application requires an order of magnitude more memory than a similar C++ application, it's probably only superficially similar, and not only "because GC".


Well no because in a manual memory management language if you allocate 1 object, and then destroy it, and then reallocate another object then you've used 1 object amount of memory.

In Java, that's two objects, and one will be collected later.

What this means is that a C++ application running at 90% memory usage is going to use about the same amount of work per allocation/destruction as it would at 10% usage. The same IS NOT true for GC languages.

At 90% usage, each allocation and deallocation will be much more work, and will trigger collections and compactions.

It is absolutely true that GC languages can perform allocations cheaper than manual languages. But, this is only true at low amounts of heap usage. The closer you get to 100% heap usage, the less true this becomes. At 90% heap usage, you're gonna be looking at an order of magnitude of slowdown. And that's when you get those crazy statistics like 50% of program runtime being in GC collections.

So, GC languages really run best with more memory. Which is why both C# and Java pre-allocate much more memory than they need.

And, keep in mind I'm only referring to the allocation itself, not the allocation strategy. GC languages also have very poor allocation strategies, particularly Java where everything is boxed and separate.


I’ve been using cmake since early 2000s when i was hacking on the vtk/itk toolkit. Compiling a c++ program hasn’t gotten any better/worse. FWIW, I always used the curses interface for it.


Is the option of legal compliance a bad thing? They have corporate customers.

If there's no opt-out, that's a different story.


It's plain FUD. systemd always had fields for the full name, email address and location. They were optional, just like the date of birth. Bad systemd!


Is not FUD; the full name, email and the rest were not META/corporations mandated, which are lobbying for it so they can earn money with users' preferences. Get your spyware to somewhere else.

If META's business model is not lucrative, is not my problem.


>which are lobbying for it so they can earn money with users' preferences

Given it's a field where you can put absolutely anything in (and probably randomize, if you want), how is this different than the situation today, where random sites ask you for your birthday (also unverified)? Moreover Meta already has your birthday. It's already mandated for account creation, so claims of "so they can earn money with users' preferences" don't make any sense.


[flagged]


>Keep gaslighting:

This is against HN guidelines: " Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith."

>The contents of the field will be protected from modification except by users with root privileges.

So... most users?


Yep. I still develop Gtk2 applications today. It's a very snappy and low resource usage toolkit aimed entirely at desktop computers. None of that "mobile" convergence. I suppose you could put Gtk2 applications into containers of some sort but since Gtk2 has (luckily) been left alone by GNOME for decades it's a stable target (like NES or N64 is a stable target) and there's no need for it.

Most of the bloat these days is from containers and Canonical's approach to Ubuntu since ~2014 has been very heavy on using upstream containers so they don't have to actually support their software ecosystem themselves. This has lead to severe bloat and bad graphical theming and file system access.


Can you point us to some of these gtk2 applications that you’ve been writing recently?


Sure, one is connmapperl. It is a server/client application where the server is a GUI map of the world that shows all the various clients collected IP established connections via geoip lookup (local). It stores everything in sqlite db and has a bunch of config/filtering options; http://superkuh.com/connmapperl.html Technically a fork of X11 connmap I made because I coulnd't get it to run on my old X11, but with many, many more features (like offline whois from raw RIR dumps, the db, the hilbert mapping, the replays of connection history, etc).

Another one is memgaze, a program to vizualize linux process virtual memory spaces as RGB images and explore them using various binary visualization and sonification tools. Ie, you can just click a hilbert map of all processes then in the new window click around inside the image of that particular process' virtual ram and then listen to it interpreted as an 8bit wav, or find an extract images, for example. Or search for strings, run digraph analysis, etc. http://superkuh.com/memgaze-page.html

Or feeed.pl, my very quick and low resource usage feed reader for 1000+ feeds written in Perl/Gtk2 that is text only (no html, no images, etc). It is really handy for loading .opml files and finding and fixing broken feeds using the heuteristics I hard coded in to find feed urls. http://superkuh.com/blog/2025-09-13-2.html

These are a few I made 2025-26 that other people might care to use. But I have a lot more that just scratch my own particular itches. Like a Perl/Gtk2 version of MS Paint that interprets arbitrary loaded and painted images as sound, or the things that I use to monitor my ISP uptime/speed, etc.


These look really cool, thanks for sharing.


I used gtk2, it was ok, but I preferred Ubuntu's Unity interface when it came out.

Gnome 3 seems similar to Unity nowadays, and it is pretty good.

I find it much easier to use than Windows or Mac, which is credit to the engineers who work on it.


it's always the browser, each tab is at least 100MB, electronjs is also a browser. the gtk or whatever is nothing before the browser


That's rose-tinted. I remember specifically switching to KDE because GTK apps of the day segfaulted all the time. Unfortunately KDE then screwed things up massively with Plasma (remember the universally loathed kidney bean?) and it's really only recovered recently.

And to say the desktop experience was more polished than what we have now is laughable. I remember that you couldn't have more than one application playing sound at the same time. At one point you had to manually configure Xfree86 to be aware that your mouse had a middle button. And good luck getting anything vaguely awkward like WiFi or suspend-to-ram working.

The Linux desktop is in a vastly better position now, even taking the Wayland mess into account.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: