upvote
> One thing that's lovely about Linux is this kind of analysis is not only possible, but meaningful.

If only they'd actually DO something with this meaningfulness. I love and use Linux as my daily driver, but desktop environments and everything around it have become so complicated yet worse than before.

In the past a simple config file with intuitive setting names inside of them could make you do anything you wanted.

Today they have all these layers of abstraction for themes, icon sets and light and dark mode and what not, but almost NO combination works!

If you set light mode, you'll get some light gray text on lighter gray background somewhere, but if you use dark mode, then you'll get some black text rendered on a black background elsewhere. And even if not involving light or dark mode, same misery with whatever themes like "Adwaita" and others, some things will work in one, other things in another, I've seen a PDF viewer that made everything black text on black background in some desktop themes... A PDF viewer can't even independently choose its own text and background color without the desktop environment messing with it?

No theme I found anywhere has _well visible_ scrollbars, they all seem to love making them as subtle as possible so you can hardly see where your scroll position actually is. No theme I found anywhere has a _clear visual distinction_ (different color, not just a subtle shade difference) for the selected window vs the non selected ones. This would be _extremely_ handy for knowing in what window you're typing now, even windows 3.11 got this (and the scrollbars, and the ability to customize your colors) better

While not latency, it's still a thing they just can't get right, and when things were less overdesigned it actually worked better, so what was all this for?

reply

   > If you set light mode, you'll get some light gray text on lighter gray background somewhere, but if you use dark mode, then you'll get some black text rendered on a black background elsewhere.
I've been using Linux (Linux Mint Cinammon, then Fedora Linux GNOME) for over five years and I've never had that. What kind of desktop environment, themes and applications are you using?
reply
> These results will get reported back to the graphics software authors and the distribution packagers and the ecosystem will improve. There's no sense with Microsoft that kind of improvement is possible.

It wouldn’t surprise me if Microsoft could turn a knob and get telemetry data from millions of devices, and feed that back to the software graphics authors.

Certainly both Intel (https://www.techpowerup.com/312122/psa-intel-graphics-driver...) and Nvidia (https://nateshoffner.com/blog/2017/05/disable-nvidia-telemet...) collect such data themselves (opt-in in both cases, so they may not get much data from the most hard-core gamers)

reply
Some things do indeed improve, but some other things require a massive effort that no hobbyist or small company can make happen.

This is most obvious in places where a lot of coordination is required, for example in supporting proper color correction throughout all applications, or decent support for advanced printer functions.

There are many incremental changes, but we often get stuck in local minima for years.

Still, I personally like that one can (relatively) easily watch what happens under the hood. It's not entirely clear to me why Windows and MacOS must remain closed source.

reply
Because if it's open source you can't make money from it or have multiple tiers.
reply
If it's open source you can make money by selling managed services to companies. They don't want to deal with it really.
reply
How is Red Hat's revenue compared to Microsoft's?
reply
> results will get reported back

Even better, most of the tech stack is open source and contributions are welcome!

reply
>give Bazzite a whirl

I never really understood Bazzite's immutable fs thing. Can one install standard dev stuff (i.e. compilers, ides, etc) easily under bazzite?

This use case is the main reason why I lean towards maybe using cachyos

reply
I use Bazzite for development bc it works like a Mac with sane defaults and a just works approach:

- IDEs are no problem. Editors will "just work" for anything you type into the app store - Bazzite handles the special cases for you and installs them through brew taps or Flatpaks.

- For development it's basically just like a Mac where you also can't install system-level packages: Node, Python etc work through brew / nvm / uv same as on Mac. Development that involves containers will be unchanged from a Mac. For compilers specifically, same as on Mac: Install it through brew, or if you need a Debian or Fedora base you do `distrobox create` and you can apt-install in a transparent podman container.

reply
Yes of course, but you need to do it via the package manager. You can't "sudo make install". If you build your own software and want to install it system wide, you need to flatpack/brew it or run it in a docker container.

(obviously you can modify the filesystem if you really really really want to).

Bazzite is gaming oriented version of Fedora CoreOs. There are many different versions. I am running bluefin.

I've tried a lot of desktop linux distros, and to be honest, immutable linux feels like the future. Anything you do can simply be rolled back. Break something? Just roll it back.

And if you run something like Bazzite, but want to try out Bluefin-Dx which is developer oriented, then you can rebase your existing installation. If you don't like it, just revert back to Bazzite with a single command.

However, it's desktop oriented. Don't run CoreOs on a server.

reply
The immutable fs thing isn't just Bazzite; it's a fork of Fedora Silverblue[1] (it sounds like AI wrote this, but it didn't! I fear I am becoming the AI...)

Immutable filesystem-based operating systems became fairly widely used as the "base" system for Kubernetes nodes. Because on a container-focused system, you never need to touch the rootfs.

This started as a project called CoreOS[2], which was eventually acquired by Red Hat for its OpenShift (Red Hat Kubernetes) platform.

On servers, immutable rootfs makes a lot of sense. Silverblue (et. al.) was an attempt to see if that concept translated to Desktop systems well. Reviews are mixed. Some people swear it's the best thing since bread. Other people claim it's worse than having dental work done.

I'm personally somewhere in the middle. I think the concept is good, but if you want to do anything to change the core system, like installing custom video drivers, it quickly becomes a pain. I like to equate it to the "n00b"-OS. People who "just want the damn computer to work", immutable is great, because neither they nor an application can do anything to really break the system. On the other hand, it really limits (without complex work-arounds that other systems don't need) what "power users" can do.

In "the perfect immutable OS world", you would never directly install any application; instead, you run everything in a container (i.e., Flatpak). So you have layers of protection: an immutable root and a container-based permission system; the worst* thing an application could do is blow up your home directory. But if you manage permissions correctly, the most damaging thing would be an application blowing up only itself.

[1] https://fedoraproject.org/atomic-desktops/silverblue/

[2] https://www.redhat.com/en/technologies/cloud-computing/opens...

reply
Bazzite mostly suggests installing stuff via Flatpak or Homebrew. (No, really, brew on Linux lol). You can also layer in things with rpm-ostree but it's clunky. I think the immutable OS makes sense for a consumer but not for a developer.

So I'm using Nobara instead. It's a different Fedora-for-gaming but has most of the same improvements. It is a traditional system, not immutable. CachyOS is also very popular and that gets you an Arch-for-gaming. Just yesterday I learned of PikaOS, a Debian-for-gaming.

The main thing all these gaming-customized systems are doing is getting graphics drivers and proprietary codecs installed for you easily.

reply
Why not for developers? You can install tools from flatpak or in home directory. My workflow includes toolbox containers. Distrobox is also good option.
reply
Many flatpaks aren't actually maintained by the actual developer nor the normal way the package is normally used. You may have bugs that aren't present in the package that the dev isn't aware of or interested in fixing especially if they support a different channel and the bug relates to sandboxing.

There is also a risk that the person may be malicious from the start, sell out, or simply get malware. Given the nature of the ecosystem a malicious release to a previously safe package could propagate incredibly quickly.

Where there are multiple steps for a package to get from developers machine to yours and each is slow enough for malicious behavior to be noticed each step adds friction and decreases the chance of ultimate success. Where all steps are nearly simultaneous your risk multiplies with each step in which a different person has their hands in it and if any of them are malicious or compromised you are screwed.

reply
mostly i'm trying to get out of the terminal and most IDEs don't understand devbox/distrobox well without lots of finagling.
reply
Why Nix is great; you can run the IDE from within a Nix-managed dev environment and not have to teach the IDE about it. You can point a .desktop shortcut at it too.

Requires a different way of working with projects though, so understandable if that's not your thing.

reply
I install the IDE as well as tools inside distrobox.
reply
The immutable linux is pretty great if you find one that fits you type of dev work. The prebuilt images are powered by a config (so you could build your own) but it's great that you can just follow someones good "config". Switching/updates are suddenly easy.

For example i just need docker for webdev and there is bazzite-dx basically bazzite with docker and few things added. Works pretty great, sometimes when something goes bad i rollback the image and wait for future version.

reply
You can modify the fs using rpm-ostree. It will overlay your changes on top of the immutable image. The recommended way is to create toolbox/distrobox which uses containers to isolate stuff.
reply
In addition to the other comment mentioning rpm-ostree, brew is installed on bazzite by default and works about as well as it does on macOS.

You can also use fedora toolboxes to create containers mounted on your home folder, though it is clunky.

reply
It competes with steamos. There are other gaming distros that work like normal distros.
reply
This kind of thing is certainly possible under Windows - you can basically patch any kernel API call, replace any COM object instantiation, install filter drivers that intercept any request to and from a device, replace userland DLLs with your own.

It's really scary what you can do, to the point that I often asked myself 'why allow this?' - seeing as hits on certain APIs took me to blackhat forums and articles about writing exploits.

reply
Oh sure, but if I just need to troubleshoot why Minecraft-launcher (a first party app) won't launch ... it didn't give any output; it didn't even exist apparently, but only because MS were hiding it, had to crack out Process Explorer just to get something to troubleshoot on ... then it turns out the "turnkey" app from their first-party app store, loading the first-party app, on the same company's OS just failed with no indications to the user at all, not even a "this app crashed". Solution was to cut out as much of MS as possible ... it's just infuriating when it doesn't work, which seems to be all-the-time.

More power to Bazzite and Valve, the sooner games app run in other OS the better.

reply
The developers of Process Explorer have a lot more to do with the OS than the makers of Minecraft, even if the company name is the same on all three
reply
I think it depends who it is making noise. There are some famous Oculus-era stories about John Carmack tracing display latency issues and then writing lengthy screeds to Samsung engineers to get them to give him lower level access.

I bet if someone like him made enough noise, people at MS would pay attention.

reply
Sure, but isn't that the point? Needing to be a celebrity to fix something?
reply
Not Microsoft but Battlenonsense investigations on latency did get Nvidia to create reflex.
reply
Afaik reflex is a bit different - it times the input to frame latency in your game, and tries to start the gameloop as late as possible in the frame so that your input gets sampled at the latest possible time and the frame still makes it to the vsync period, this isn't really a compositor tech.
reply
Why would it need to measure input to frame latency? Surely it just needs to measure how long it takes the game to go from vsync period to frame ready and delay when the game thinks vsync happened to force it to poll later in the cycle?
reply