Not my Linux community. The fascist right doesn’t make up allyhe linux community. They are just the loudest snowflakes in it.
I too am upset Rust dropped Linux support a few years ago and never developed the Vulkan graphics engine they had promised. I understand the anticheat issues but still, it’s a fun game. Figure it out, Facepunch.
I was very confused there for a second
I dunno man, I play Rust on Linux all the time.
Can’t do anticheat, but I would have disabled that anyway
Really? I might have to boot up Steam and try it again. Nice, thanks! You use Wine or something to run it?
The built in Steam Proton version, yes. I’m currently using 9.0
Keep in mind that without anticheat you can’t get into the official servers. I host my own
Man, I really don’t understand what the issues with Wayland are. Granted, I’m new here and a pretty basic user so there’s some underlying issue that seems to be breaking people’s setups, I guess I just haven’t encountered it. I went from using Mint for like a month before I switched to Arch. And I only did that because my second screen was acting goofy on Mint and I figured in for a penny in for a pound, let’s see why people are so afraid of this distro and haven’t had any serious issues in the past two years.
I’m the same with systemd. I’m aware it gets a lot of hate from people but I dunno, seems fine to me. It’s never given me any trouble that I can think of.
For most ”laymen” Wayland works just fine. I prefer Wayland because it has proper support for fractional scaling, which is a must for monitors with higher resolution than 1080p.
I prefer Wayland because I use a 2-in-1 ThinkPad. No thanks X11, I don’t want a click on touch mouse pointer.
Wayland has been around for many many many many more years than Wayland has been good enough to use. I think that’s about it.
Arch is definitely the most stable and usable distro for me as well. Fedora and suse shit the bed constantly when I used them. I assume arch has the same image problem due to legacy. I know when I first tried Manjaro maybe 7-10 years ago because everyone said how great it was, doing a simple pacman update after install immediately bricked the computer. My experience with endeavor has been perfect, other than the poor spelling of the team.
Note all of the arch stuff above is for servers. I can’t stand Linux for laptop use, it’s not worth the effort.
I’d been a windows user since the DOS / 3.1 days and converted to Linux maybe 2~ years ago. I’ve found that I’m able to tailor the desktop experience (on desktop / laptop) to exactly what I need. No shitware getting in the way or annoying bundled programs.
My laptop has decent battery life and standby gives me no issues, perfect in my eyes.
I can’t stand windows anymore, and I’m not one to lash out and buy a macbook to just experience another desktop enviornment / user experience.
Admittedly there isnt any professional use just browsing / games with some codium usage.
I occasionally try it out. I do still think Mac is the worst by far, it’s fanbois I will never understand. Linux always has issues when I try it on laptop hardware. Obviously the standard response is “oh that specific hardware doesn’t work with Linux, but good news you can use this different hardware that isnt in your laptop, and also Linux supports so many more hardware types than windows; none of the ones you need, but like, in general, you know?”
It does seem like most people in Linux have had bad experiences with one distro or another, but eventually find one that works for them…then conveniently forget how much of a pain installing several different operating systems is.
You see this all the time in Linux forums (why did you use endeavor, didn’t you know arch is hard? Why did you use void, sure it’s one of the top rated distros on distrowatch but that’s for hardcore Linux users. Why did you use mint, it’s always super outdated. Why did you use suse, I’ve never had anything but issues with it and while yast was cool the whole distro was just weird. Why did you use debian, debian is super out of date. Why did you use Ubuntu, they are spyware and have snaps which suck…).
Last time I tried it for a month-ish and it was meh. I missed mpc-hc, none of the qt clones were quite good enough (and I ended up having to edit and rebuild myself just to get the behavior right even though cloning mpc-hc is literally the whole purpose). IR Camera driver didn’t work so no howdy support. Power management was a mess, it was constantly spinning up the fan to wild levels. The battery didn’t last particularly long. I tried fixing these things but it’s just not worth my time. In contrast with windows I install a crack to permanently bypass the online account nagging, open group policy and fully disable Cortana/copilot, install search everything to replace windows search with something good, pop open unigetui to install all the software I like, and I’m up and running.
There are still many things that don’t work on Wayland, which work perfectly fine on X11. If you don’t need any of them then Wayland is perfectly fine, but many people do need them.
For example programs can’t read from or interact with windows of other programs, so for example a time tracking application can’t work, or productivity scripts using xdotool don’t have a Wayland way to work.
Both of these use cases are needed to me.
Major desktop environments have an override for global interaction.
xdotoolhas been ported to kwin viakdotool.Any other imaginary problems standing in your way I can help dispel?
I would love for you to dispel the problem I wrote about: how to find the list of open windows (and whether they are focused or not), for time tracking. I don’t believe
kdotoolcan do that, from what I see.
My main issue is the lack of xdotool support. It can’t ever be supported because of the way Wayland isolates processes from each other.
See https://gist.github.com/probonopd/9feb7c20257af5dd915e3a9f2d1f2277
I’m aware how buggy it was not that long ago when I first tried it, but once I switched my desktop over I need to use wayland unless I want to lock all my monitors to the same refresh rate. It’s fine. Not really had any issues in the last 6 months, and also enables HDR and freesync, though not at the same time because there’s a flickering issue with HDR and sync.
xx-zones, ext-tray and dbus_annotations are the only protocols I think add anything of value at this point, wayland is pretty close to feature complete, it’s on clients for the most part at this point
Most complaint against Rust is fucking culture war, not technical, so people who actually have technical concerns with Rust are being lumped together with Brian Lunduke and others.
I think it’s silly to be against Rust code in the kernel because it’s not C or whatever. Though I do agree with the criticisms of Rust projects shipping with the MIT license instead of GPL.
I hate the culture war stuff. I also hate that the Rust core utils rewrite was done under an MIT license instead of GPL.
A gain of memory safety with a poison pill of permissive licensing is no gain at all.
How is MIT poisonous? It’s still FOSS
Rust is fucking culture war
I’ve worked with a lot of devs. I’ve seen a group of devs invent a new language to keep from having to learn a new off-the-shelf language.
I’ve seen devops rip out entire working systems and work on replacement python for months rather than coming up to speed on existing stuff.
It honestly think a lot of it comes from the poor perception of starting over from scratch on someone else’s code vs on your own code.
As in Rust = gay kind of culture war? I’m so OOTL. Please help
Somehow yes. It started as reasonable criticism but people like Brian Lunduke managed to interpret C and X as “conservative” while rust and wayland as “progressive.”
He was even criticising rust projects for “having too many people with anime profile pictures” in one of my youtube recommendations.
Rust was among the first more well known projects, which adopted a Code of Conduct, then grifters in the OSS community cried censorship, which made people flock to it to “own the right”. Even if I think it’s an overrated marriage of flesh between C and OCaml, Code of Conducts are generally a good thing, and the people who really like toxic callouts arre more of an anomaly, and likely were flown there due to the culture war stuff.
People hate rust because of its fences/training wheels, not because it’s “woke”
…actually I just saw someone in this very comment section ranting about “soydevs”, you’re not wrong. But there are valid complaints too! Some of us are just old and think our computers should do whatever we tell them up to and including “shit yourself and catch fire”
Oh no, I bet you there’s a fair few who think rust is woke and deeply connecting with programming socks --> it should be cancelled.
IMO it’s also an ideological fit for the current right wingers who connect Rust to progress and use progress as an insult. Since they can’t fight Rust on its merits, they have to make up whatever argument they can that fits their narrative.
I feel like you either didn’t read my comment or have been smoking a little too much weed lol
But there are valid complaints too! Some of us are just old and think our computers should do whatever we tell them up to and including “shit yourself and catch fire”
I agree with this, but I think rust is fine here. It has
unsafeas a keyword that let’s you do the breaking stuff, it just makes sure you know you’re doing something dangerous and makes it stand out for code reviewersThat’s why I prefer D’s approach for memory safety. Sure, it’s not as well featured as Rust’s, however it has “fat pointers”, three levels of safety, and kind of optional garbage collector.
The whole reason I use Linux is to shit myself and catch fire.
Fucking up is part of the fun. Y’all remember when computers used to be fun?
No quams with wayland or rust, but snap packages, those things annoy me greatly.
Yeah, at least use Flatpac.
I’m cool with AppImage as well, they just work.
I used a daemon to manage my AppImages, worked great until fairly recently where it began mounting way too many FUSEs and just make AppImages stop working altogether. I miss it, because now I have to manually manage the AppImages, and that makes me sad. :(
I’m lazy.
i use Gear Lever it’s alright for managing appimages
I’ll give it a whirl! Thank you!
Also there’s AM in case that one doesn’t work out.
Thank you! I did actually spend some time yesterday setting up some AppImages with Gear Lever, and so far it seems alright. The update feature seems very neat.
I might give AM a whirl on my laptop though!
The most annoying thing about snaps is it’s so unnecessary. Why go to the effort of supporting that when snap exists?
I find snaps quite useful for CLI apps, I’m curious what annoys you about them.
And yes I understand that the backend not being open source is an issue, but it’s not that important imo. Flathub, for example, could change the code on their backend without notice and screw us over.
You can use flatpaks without ever touching Flathub.
Yeah I know it’s just that the network effect leads to most people simply using flathub
Ubuntu is owned by a billionair who is calling himself self appointed dictator, they have a long history of forcing their technologies down their users throats ignoring all concerns of the community, which is why it got way less popular and is now mainly doing b2b
I’m curious what annoys you about them
if you write apt install firefox on ubuntu, the snap version is installed.
The guy in this meme always reminds me of Edward Norton.
For some reason, I thought about my first fight with Tyler
I want to like Wayland, I really do. I’m just having trouble adapting after using X11 for the last 20 years.
If anyone has any suggested reading for making the switch easier for someone who’s deeply ingrained in the X11 way of thinking, I’d super appreciate it.
Edit: Changed a word since none of you can focus on anything but that I used the wrong word.
There is no dogma. It would take you one day to switch. You haven’t because you’re comfortable and stubborn. Just admit that, stay on x11, and stop making yourself feel bad. You don’t have to switch.
Actually I do, since KDE and Gnome don’t support X11 anymore.
Dogma was the wrong word, I’d already figured that out, which you can see from the context of the other responses that came in 12-17 hours before yours. Dog piling is dumb, stop it.
I comfortable and stubborn, I also feel like a full idiot. Ive been using hardware that doesn’t work on Wayland for years, so when I booted up may compatible laptop and moved to set up a barebones sway install and encountered EGL errors and the display manager can’t even find my monitor I think im allowed go be a little bit bitchy about it When even after 15 years Wayland is immediately showing me it wasn’t ready for the mainstream. Sure it works when it’s already in place, but I’ve NEVER successfully rolled it out myself until yesterday.
I want to learn, really, genuinly. The Security issues in X11 are glaring, and I’m tired of using insecure display server Software from the late 80s that expects me to be on a mainframe.
I want to change. I could also roll X11 in my sleep. I have quite a bit of instinct to unlearn.
I don’t think there is any abstract answer for this question. If you open up most modern distributions Wayland is there and the system displays windoze. Sometimes, esp with flatpaks, it displays a wrong icon. it mostly does what it’s supposed to do which is to say doesn’t make me think of it’s existence ever.
Idk what that means. For me, that stuff is just an implementation detail. What dogma is there?
Idk if Dogma was the right word, actually it was probably the complete wrong word. I just feel like a noob again and these error messages don’t mean anything to me.
I get that in the abstract! Even though I haven’t seen a single Wayland-related error message ever lol
You guys just discuss this using systemd like nothing is wrong!
Alright grandma let’s get you to bed
Dualboot devuan and void. Do it.
Or Alpine and Gentoo! Do it now!
Or Artix, everyone forgets bleeding edge no-systemd
This one!
Wayland is superior. Yeah I said it.
I can’t get it to work. I get “no signal” on my monitor after logging in. It’s so weird.
My gripe with wayland is how it made desktop environments less composable.
With x11 you could sort of mix and match your DE and WM. I could have all the “it just works” everyday computing from Gnome/KDE/xfce/whatever, and the workflow-boost from a Tiling WM. In some cases, making it work was a bodge but it worked.
Now, with Wayland, your WM is effectively your DE. It’s now a constant choice of “do I want tiling? Or do I want to print something, or be able to change my resolution, or to plug a USB stick and mount it without remembering the arcane incantations”.
I just want to be able to print something, and have virtual workspaces per monitor. I could live without tiling.
My current install was done using archinstall, selecting Gnome for the DE, then immediately installing hyprland once that was done. Don’t forget, a DE is mostly just a collection of applications.
Fucc yea.
Wayland lets me flawlessly use my 120Hz laptop screen @150% and my 60Hz external screen @100% together. X11 has never been and never will be able to do that.
That is just like your opinion man - the dude
People say lots of things.
It’s the best. Everyone says so.
Unless you want to pass alt tab to another computer on Rustdesk etc.
I do that all the time on Wayland. I have three virtual displays, each with a TigerVNC client session connected to three other computers whose monitors I can see so I can pass my cursor seamlessly across six displays (across four different computers). Once I click in any of them, all key combos go into that instance, which is exactly what I want.
Why tho?
Well one of them is for work communication, two are for dashboards that occasionally need to be poked, one is for swap space, and two are vertical monitors where the actual work happens.
Games and streaming on Gnome wayland is just very buggy compared to x11. Alt-tabbing out of a game is gauranteed to have issues, such as windows no longer updating, or windows flickering. It just is what it is.
Gaming and streaming is not “buggy on Wayland”, this is vibes bullshit.
Whatever, keep telling yourself it’s bug free and keep living in your fairy-tale.
This isn’t a concern of what might be or hearsay, it is buggy.
I’ll try and record it, if it doesn’t crash of course. There’s things I know that will crash with certainty so I avoid these actions which is pretty damn annoying. These didn’t occur on gnome x11 because I do this often, I had no such issues there, so it’s not vibes.
Stop spreading your wishful thinking as facts and sugarcoating things for whatever reason.
Might just br a gnome issue and not a wayland one, KDE and wlroots based compositors do much better at fullscreening and alt-tabbing games then x11 ever did for me. Esspecially on my desktop that has a second monitor
I have really bad problems with KDE Fedora and multiple monitor gaming. I have to disable my second monitor in shooters or Iget really bad focus stealing issues. Any advice you can share?
What no systemd?
Why are we afraid of systemd again? /gen
I came in late w/ arch-based systems so legitimately don’t know the lore.
Off the top of my head, in no particular order:
- Systemd and its components are responsible for too many essential system functions. Init, services, mounts, timers, logging, network config, hostname, DNS resolution, locale, devices, home directories, boot, NTP sync, and I’m sure there are others, can be handled by systemd or one of its components.
- Systemd violates the UNIX philosophy of “do one thing and do it well”. Systemd is a complex solution to a complex problem: this thread has several comments by a former Arch Linux maintainer that explains why they’ve switched to systemd, and why the earlier method of using single initscripts was unsustainable.
- It is owned and maintained by Red Hat, known for its many controversies.
- Some people just don’t like modern things and think that the Linux ecosystem peaked in the 1980s.
Most (though not all) of the popular complaints are completely unreasonable. Those people usually see themselves as moral and righteous and expect the world at large to follow their personal creed. I especially consider the UNIX philosophy to be outdated, and strict adherence to it to be an obstacle for modern apps and systems.
I have some issues with systemd, and I don’t like that one for-profit company has such a massive influence over the entire Linux ecosystem, but I have to acknowledge that it works, it works well enough to counter my personal issues, and that the people whose opinion matters the most (specifically Debian and Arch maintainers) chose it for a good reason.
Now I want a shirt that says “Linux ecosystem peaked in 1980s”
Wasn’t Linux first released in like 1993?
1991 and yes, that why it would be so great. It would trigger so many linux users
TIL I’m older than Linux and honestly it hurts a little bit.
My personal reasons for disliking systemd (note: I still use systemd):
- The lead developer of systemd has said multiple times that we should be fine with break POSIX if it means developing faster.
- systemd has massive attack surface, making it easier to exploit and result in privilege escalation. It is a highly complex and large codebase that really shouldnt be given the trust of PID 0
- systemd is not portable or modular.
- It only just barely got musl support. Hope to see it improve in the future.
- systemd is much slower than other inits (eg. dinit, s6, openrc)
- systemd being the go-to init encourages developers to more heavily depend on it, making it difficult for distros without systemd
The biggest feature I like about systemd is run0, though I wish it was a drop in replacement for sudo. Secondly, I do like that services can be sandboxed.
The lead developer of systemd has said multiple times that we should be fine with break POSIX if it means developing faster.
I mean, so does GNU.
And I dont like GNU even more than systemd lol.
- It’s developed for linux and there is literally 0 linux distributions that are POSIX-compliant, also standard is dead.
- It doesn’t, also moving it to any other PID won’t make any difference.
- It is modular (IIRC there is only three mandatory parts) and portable.
- Was completely on musl side (also musl is as much not portable and modular as systemd 🙃 and in every practical way worse than glibc).
- It’s not an init, nor does it present itself like this. Do you have any benchmarks that show this slowness when doing comparable operations?
- Why exactly depending on a stable system component is a bad thing? Distros without systemd are moving against the stream, obviously there going to be some problems.
Some people just don’t like modern things and think that the Linux ecosystem peaked in the 1980s.
Linux was released in 1991.
It’s called a hyperbole.
(edit) But, honestly, it’s still kind of accurate. Many of the most significant software suites that define the Linux ecosystem in more recent decades were written in the 80s or earlier. X (the display protocol) was released in 1984, and X11 in 1987. GNU Emacs was released in 1985. Vi, in 1976. UNIX System V, from which
sysvinitand compatible init systems were adopted, was released in 1983. It’s not a stretch to say that certain people want to regress to the 1980s state, even if the kernel wasn’t around.Funny thing is, nothing in the list adheres to the so called unix philosophy.
It’s a little known fact that the first answer to Linus’ first message announcing his new OS was “You stupid thing, why did you created it? It ruined it! Linux was better before!”.
That makes the shirt funnier
This sign won’t stop me! I can’t read!
systemd DOES do one thing really well. Too well. It’s a service manager.
People noticed that it works really well as a framework for their stuff and started plugging all the other stuff in your first bullet point into it. And that also worked really well.Those people usually see themselves as moral and righteous and expect the world at large to follow their personal creed.
If they don’t like systemd but are forced to use it for some reason, I can understand why they might have some negative feelings
Once I switched to a distro with OpenRC, I stopped feeling the need to argue about systemd
You are forced to use a lot of things bit systemd is where you draw a line? 😺
I see from your other comment in the thread that you’re enthusiastic about systemd, and that’s great.
I’m glad we inhabit a software ecosystem broad enough that we can both be happyI’m not enthusiastic about it, I’m just old enough to remeber how bad were good old times before systemd and a bit miffed how old and untrue statements about it are perpetuated.
I was a long-time Linux user at the time of the systemd switchover.
Your memories of the good old times are your own
“You can’t have programs that do multiple things! Any program that is multi-use is ebil. Standardized syntax and functionality between different related systems? NO! PROGRAM DO ONE THING!”
even when said “one program” is actually 69 (nice) different binaries
Wait until these people find out that Linux is monolithic
A lot of this is also a post-hoc justification, UNIX didn’t get shared libraries until some point in the 80s (Can’t find an exact year), so before that your options were to either statically compile the needed functionality into your program or keep it as an entirely separate program and call out to that.
It’s a perfect mix, in a time where enterprise storage was measured in single digit megabytes, and the only efficient way to created shared functionality was via separate programs, and you’ve got an OS that happens to have “easily pass data between programs” as a core paradigm.
And now people invoke it to attack an init program for also monitoring the programs it starts and not just spawning them.
Systemd is controlled by redhat and is a very large part of the Linux stack. It’s become so universal that a lot random stuff won’t work unless the system has systemd.
Compared to X11 to wayland or pulseaudio to pipewire it’s a lot hard to now replace an init system and with that in the hands of redhat which is for profit is not a nice thought.
But you know, fuck it, having systemd is a massive headache for people making distros that’s just gone. Everyone is using the same thing and things just work so people aren’t really complaining. If redhat tries some shenanigans there’ll always be a fork or a systemd compatible init system or even whatever Alpine is using now that’ll take it’s place.
How exactly is it controlled by Red Hat? Having systemd is a massive blessing for linux distributions that use it and for absolute majority of users.
I laugh at arch users all the time.
I live programs written in rust. They are quick & lightweight & fun.
Know what i hate ? Installing rust programs with cargo. It’s slow & grinds my Chromebook to a halt.
I mean, that’s not a Rust issue per se. It’s only noticeable because
cargois much better than most build systems, and hence is an actual option for distribution of software. But there should ideally always be a binary distribution. I know some people like to build everything by themselves, but I get it, it’s annoying.Okay so, this is less a line in the sand and more a 14 foot concrete wall topped with razor wire and guarded by marines with rifles with fixed bayonets in the sand:
I will not install an end-user application using Cargo, and I will say many mean things to anyone who suggests it.
Python’s Pip or Pypi or PyPy whichever it is (Both of those are the names of two different things and no one had their head slammed into a wall for doing that; proof that justice is a fictional concept) I can almost accept. You could almost get me drunk enough to accept distributing software via Python tooling, because Python is an interpreted language, whether you ship me your project as a .exe, a .deb, a flatpak, whatever, you’re shipping me the source code. Also, Python is a pretty standard inclusion on Linux distros, so Pip is likely to be present.
Few if any distros ship with Rust’s toolset installed, and the officially recommended way to install it, this is from rust-lang.org…is to pipe curl into sh. Don’t ask end users to install a programming language to compile your software.
Go ahead and ask your fellow developers to compile your software; that’s how contributing and forking and all that open source goodness should be done. But not end users. Not for “Install and use as intended.” For that, distribute a compiled binary somehow; at the very least a dockerfile if a service or an appimage if an application. Don’t make people who don’t develop in Rust install the Rust compiler.
For people who do this, is the purpose to ensure you are not getting a bad binary which has some malicious code compiled in?
If yes, isn’t it more difficult to check all the source code yourself? You may as well trust a binary where the author has confirmed a hash of the binary. Unless you really are checking every single line of source code. But then I wonder how you get anything else done.
The incident from
xzgives a good example of where self-compiling stuff would be a good idea.
The code was mostly fine, but the maintainer managed to include malicious instructions in the binary. Most people who read the source, didn’t realise the possibility. I checked it out afterwards and it was still hard to get.The idea is that someone is checking the code. And by building it yourself, you can at least ensure that you’re getting what’s built from the code. It is possible that some malicious stuff was inserted while building the binary that doesn’t show up in the source code. Building from source solves that problem.
Reproducible builds try to solve that problem by generating some provenance from a third party. A middle ground can be building the binary using something like GitHub Actions, since that can be audited by others. That comes with its own can of worms since GH is owned by M$, but I digress.
So it is technically sane to do it, just not very practical in my view. But for lesser known apps, I do sometimes build from source.
Yeah, the good tooling also means it isn’t even terribly difficult for the dev to provide builds, but it isn’t quite as automated as publishing to crates.io, so many don’t bother with automating or manually uploading…
cargo install xyzandapt install xyzaren’t mutually exclusive.Pypi isn’t in any way less an option for distributing software countless projects that use it that way can be used as a proof. Hell, awscli installed from pypi for ages. In my experience cargo is extremely slow at downloading hundred libraries that every program needs and rustc is extremely slowly builds them.
Correction, uv isn’t in any way less an option. pypi is only the registry. If you are using pip you will end up in dependency hell, you might use something like poetry to avoid that, but uv is just better.
But… wait a minute… uv is inspired by cargo, and it’s also written in rust. That’s quite the coincidence, huh?
Also, cargo is fast, it’s rustc that’s slow, and that’s because rustc is doing advanced code analysis. Compiling rust is actually NP-hard, but in exchange for that, the compiler will catch bugs in place of the developer. Which is a good tradeoff considering that you only compile once and run many times.
“countless projects that use it that way” isn’t proof of anything. Countless projects tell you to
curla 2000 lines script intosudo bashthat will fill your os with bullshit.Pip is a sane default that works for absolute majority of cases, anyway correct tool for installing programs from pypi is pipx that eliminates ‘dependency hell’, but ofc new cool tool is the only way to do things.
When little program in rust that replaced previous one compiles two hours compared to previous that compiled in a few minutes it matters.
UV is a lot more than pipx. It installs applications from pypi, without dependency hell, but it also uses hard links when possible to avoid wasting space. But it’s also a dev tool. It manages python installations, workspaces, you can use it to edit the pyproject, it can also publish to pypi, even from a GitHub action if set up from pypi. It just does a lot more.
I know what uv is, also never felt the need for package manager do a lot more. Just not my use case, pip + pipx is enough for me. I do develop in python but I’m trying to do it as tidy as possible without any or minimal external deps due to environment constraints, maybe for web dev or other fields where there is a need to install billion external libraries and multiple versions of them uv is a right choice, who knows. Personally I would prefer first party tool.
None of the issues you’ve described are Cargo’s fault. The long compilation time is simply rustc’s compile-time checks (ensuring type and memory safety is much more involved than lexing in GCC), and the number of dependencies to compile is a result of the crate ecosystem. Cargo is just the front-end that automates fetching dependencies and compilation with rustc. Blaming it for slow compilation is like hitting your monitor when the computer is acting up.
I’m not blaming cargo specifically for building it is slow to download deps as well, which was clearly stated in my first post. I’m going to edit it now.
The Rust compiler is more sophisticated than most compilers, so it can be slower at the same kind of tasks. But it also just does a different task here.
One of the tradeoffs in Rust’s design is that libraries get compiled specifically for a concrete application. So, whereas in most programming languages, you just download pre-compiled libraries, in Rust, you actually download their source code and compile all of it on your machine.
This isn’t relevant, if you get a pre-built binary. And it’s not particularly relevant during development either, because you get incremental compilation. But yeah, if someone wants to compile a Rust codebase from scratch, then they have to sit through a long build.
Average C from source experience: (copied from Kicad)
apt get long list of dependency git clone cd cmake make sudo make install rm -r .Average Rust from source experience:
cargo installMost of the time you should probably not install from source of possible.
I try not to build from source often. My computer is a potato.
Then why do you need cargo in the first place, sir? You install a program written i Rust just as if it isn’t. When you
apt install xzy, you don’t even know what language is used to program it.And if the developer only publishes the source?
That’s your distro’s problem, not the developer’s
I don’t think it is the distro’s responsibility or the developer’s responsibility. I think it is up to a volunteer whether they package it for the distro, or up to you as the consumer to install it on your own, or find a distro with more packages.
What if the developer of this C program only publishes the source code? Evil?
I think that’s valid as well.
OK, apologies, I’ll stop taking weird.
The developer is only supposed to share his code. It’s the distro’s responsibility to provide binary build of famous programs so that most users don’t have to compile. When they don’t, it’s inevitable that individual users have to build it themselves. This has been the norm for decades.
If you tell me to install an end-user facing application with a programming language’s package manager, I’m out. Like, Adafruit was at one point recommending a Python IDE for their own implementation of micropython called Mu, and the instructions were to install it with Pip. Nope. Not doing that.
Me: I wanna try this node program, how do I install it?
Node: Well first you need to download these 100 node packages using your system package manager before you can use my package manager.
Me: And then I can install node packages at the user-level?
Node: Oh you poor sweet summer child. At the directory-level, of course!
Me: Oh okay. Is… is all this highly necc-
Node: It’s better this way.
Annoyed Maintainer: fine, here’s a Docker file. Stop filing bugs about how you can’t install node.
Try
cargo-binstallI’ll look it up. I’m guessing it install app images?
I’d guess just binary builds, no need to reinstall the entire environment again every time you install something.
@bernhoftbret You forgot systemd
nspawn ftw. I tried avoiding systemd until I found out how much scripting it saved me. the more I use it, the more I like it.
I think everyone has moved on at this point. Systemd became the standard more than a decade ago
Yeah, well I’m still afraid of it
are you
[ OK ] piss_baby.service?libpissbabyis hella bloatedIt wants my targets!
I recently moved from X11 (BSPWM) to Wayland (Hyprland) and while I did get rid of a very annoying bug with bspwm, it did come with a few of its own quirks/annoyances:
- Hyprland does not yet have the ability to load ICC profiles
- Marking a monitor as variable refresh rate capable forces my GPU to idle at maximum clocks and draw 100W (this one really makes me wtf, but it is nvidia so idk who to blame here)
- Dragging and dropping can be very unreliable for some windows (IIRC, only with Chromium based applications so far)
- Some apps deadlock when attempting to read the clipboard (Again, only Chromium based applications so far)
Maybe if I wasn’t a masochist and installed something normal, such as KDE, I wouldn’t have any of these issues. However, I apparently and unfortunately get great pleasure out of plopping my testicles onto an anvil and smashing them like a blacksmith forges raw iron.
Rust, however, is cool. I like Rust. I can’t say that I approve of replacing everything under the sun with a Rust rewrite for no good reason, but the language itself is fine.






























