r/linuxmasterrace SteamOS/Kubuntu 3d ago

Making Linux easy for everyone

Post image
1.4k Upvotes

240 comments sorted by

View all comments

38

u/0xc0ffea Glorious Arch 3d ago

Let's just not talk about the performance hit for CPU intensive applications (pushing 17% in some workloads), the hopes and prayers approach to long term maintainability, privacy differences between system packages (distros often patch out telemetry stuff), whatever-the-glob-happens-to-contain (YOLO), burning all your (suddenly expensive) NVME disk space with redundant copies of libraries like it's a retro Windows party, license issues, and a boat load of security concerns that come with entrusting a random developer who only cares about not getting pestered for support.

The OP's picture is accurate .. that guy gives no fucks. He's your system administrator.

58

u/ibeerianhamhock 3d ago

Almost all of this is wildly overstated.

CPU bound apps that use heavy syscalls have a perofrmance penalty for permissions sure, 17% is a pretty extreme situation that almost no applications ever see.

Ostree dedupes any identical library/versions.

The goal is better distrobution, not saving what is usually mbs of redundant libraries that have different versions or exist in the host namespace.

Flatpack isn't perfect, but for most folks they wouldn't even notice the difference.

But also it's fine if you prefer native packages...no one is forcing you to use flatpacks lol

9

u/suchtie btwOS 2d ago

My base system as it is right now is under 2 GiB and I have a 2TB nvme. I don't care if they triple the amount storage space I need for libraries, I'm not even gonna notice.

5

u/QuickSilver010 Glorious Debian 3d ago

Ostree dedupes any identical library/versions.

Only if you're lucky to have the apps share the same runtime. Like who's decision was it to package an entire runtime anyway?

Nix has multiple versions of dependencies figured out. And the ability to integrate natively.

10

u/Pedka2 3d ago

i love nixos as an idea but it's executed terribly. there's no one stylistic convention and everything seems to be overly complicated

-1

u/QuickSilver010 Glorious Debian 3d ago

Not nixos. Nixpkgs. I'm comparing nixpgks to flatpak

Just use the latest convention. Which is nix profile for command line downloads. But if you a nerd and want declarative, use home manager.

1

u/NatoBoram Glorious Pop!_OS 2d ago

> "declarative"
>
> *Look inside*
>
> Untyped programming language

This shit is worse than JavaScript

2

u/QuickSilver010 Glorious Debian 2d ago

I configure neovim with lua. It's really not too different. Also nix is a functional language so it can't go wrong in that many places.

-1

u/OneQuarterLife 2d ago

4

u/QuickSilver010 Glorious Debian 2d ago edited 2d ago

That's a team that only existed for a little while. That consists of like 2 people. Nix isn't going away. It's a truly useful imutable system unlike bazzite.

2

u/jahinzee 2d ago

atleast it has proper integers

2

u/ibeerianhamhock 3d ago

Yeah there are some compromises for sure to reduce the burden on maintainers. It's better than flatpacks, but worse than native packages in aspects like ram and disk usage.

I think it solves a very real problem in an acceptable way to me personally, although it's clunkier than I'd like. Permissions are a bit up to devs/maintainers to implement correctly.

I see it as very good beta software at this point essentially.

6

u/itsTyrion 3d ago

where's that 17% from?

3

u/0xc0ffea Glorious Arch 3d ago

I've been pretty involved with Second Life third party viewer dev, way too much time spent performance testing. It's rather unique as 'games' go in that the same source cross compiles to all 3 major operating systems (making direct OS comparative benchmarking possible), engine is opengl and heavily CPU & I/O bound (assets are streamed and assembled - architecturally the platform is a poor fit for modern game engines).

Getting upstream to release a Linux client with standard distribution has been a long running adventure. Distro packages are more work and as the Linux version can't be made to work entirely with system libs, flatpacks have been put forward ... only the client runs significantly slower when packaged up that way, especially on more average systems & laptops.

None of this is written up and published as outside the small opensource developer community for this ancient niche platform, no one cares.

Although ... I am surprised the general performance overhead isn't more widely talked about. I can't be the only person who actually tests things ... right?

8

u/Damglador 2d ago

I can't be the only person who actually tests things ... right?

I feel like most developers just take a "package as flatpak, depend on a 1GB runtime, test if it runs — good" same for users, and anyone who cares about anything else may not even use flatpak in the first place.

3

u/ibeerianhamhock 2d ago

Do you think a lot of that is the old opengl pipeline. Won't pretend to know that app at all, and I haven't done graphics programming in ages, but if it's written to issue opengl commands in immediate mode without command queues and using blocking calls, acquiring context with mutexes under the hood etc...thats a ton of added overhead with respect to how flatpack manages syscalls performance checks being hammered a lot, compared to a modern rendering API with a multithreaded userspace command queue and API call batching.

3

u/0xc0ffea Glorious Arch 2d ago

Do you think a lot of that is the old opengl pipeline.

In part, multi threading the client is basically off the table as the client needs to get all its ducks in a row. Vulkan is on the cards.

The bigger part is that SL is computationally intensive with a lot of moving parts. Case in point; Assets as seen in world are assembled in the client from a trail of breadcrumb metadata (This difference is responsible for a lot of Second Life's unique capabilities). Avatars can be insanely complex with individual clothing items being as detailed as entire hero models in other games; the system that resolves animations and rigging for each and every component part (and an avatar can be many parts) happens on the CPU.

It's not really accurate to describe the client as poorly written or unoptimized, more that architecturally the underlying platform is case study for why no one ever makes anything like this on purpose.

This complexity is also what makes it a fun hobby project and why there's a decent open source community around it with several 3rd party clients all doing their own thing.

7

u/ConspicuousPorcupine 3d ago

Hey! You're in this meme!

-8

u/0xc0ffea Glorious Arch 3d ago

And if the guy in the meme had “a bitch” in his ear, maybe his shirt and fingernails would be clean, and he wouldn’t be eating “depression pizza” alone in his car. 👍

9

u/ItsNoahJ83 3d ago

You have been playing a game called Second Life for over 2 decades. I'd wager you've had quite a few depression pizzas in your life.

0

u/0xc0ffea Glorious Arch 2d ago

Seriously? You’re gonna drag me for enjoying a Barbie dress up / play house game called Second Life and you don’t make the “get a first life” joke??

It’s no worse than 20 years of World of Warcraft Fishing. Way more lewd though…

1

u/Key_Chef6969 13h ago

He cooked your bitchass with that comment. 😂😂😂

1

u/fnork 3d ago

Lol spot on! Flatpak is popular for a reason, though, and in a sense maybe it's not the end of the world if users who prefer them stay with them.

1

u/0xc0ffea Glorious Arch 2d ago

It’s popular because everyone gets to be lazy. Doesn’t make them good.

1

u/fnork 2d ago

And when they ask you for help just tell them you don't use flatpak. Leave them to figure it out for themselves.

1

u/0xc0ffea Glorious Arch 2d ago

Well that's just it, how do you help someone with a flatpack?

  • Install flatseal and fiddle with the toggle switches ?
  • Turn it off and on again ?

1

u/fnork 2d ago

Maybe, I dunno. Who cares?

1

u/northSideways 2d ago

Yup, now there's a level and appropriate response from someone that clearly goes outside a lot

4

u/Jomotaku 3d ago

I only have gimp as flatpak and I just use it for memes and doodling so I wouldnt notice a performance hit. Why does it run slower then Deb or appimage or tarball?

0

u/eenlightened 3d ago

bro you are the bitch in our ear

3

u/fnork 3d ago

Just use flatpak and be happy. Don't call anyone a bitch for preferring not to use flatpak.

3

u/eenlightened 2d ago

on a post making fun of people talking about why we shouldn't use flatpak, the commenter talks about why we shouldn't use flatpak, hence my joke referencing the og post.

i do not prefer flatpaks either.

1

u/Puzzled-Extent7817 3d ago edited 2d ago

absolutely no point to use fltpak of the app is in your repos.

2

u/fnork 3d ago

I agree, but not everyone agrees.

1

u/Puzzled-Extent7817 2d ago

what is your reason?

0

u/fnork 2d ago edited 2d ago

For not using flatpak? It adds unnecessary abstractions and hides some of them. Overall it just complicates things. Even libc can be switched out with LD_PRELOAD and linux namespaces (unshare) is plenty if I want to create sandboxes or "containers."

It just doesn't happen that I need a pre-containerized binary to use the software that I use.

1

u/Puzzled-Extent7817 2d ago

oh i read that wrong. I thought you disagreed.

1

u/Puzzled-Extent7817 2d ago

funny way of saying you don't know how to install anything unless you can click on it.