site banner

Friday Fun Thread for December 27, 2024

Be advised: this thread is not for serious in-depth discussion of weighty topics (we have a link for that), this thread is not for anything Culture War related. This thread is for Fun. You got jokes? Share 'em. You got silly questions? Ask 'em.

1
Jump in the discussion.

No email address required.

I took the plunge for The Year Of Linux On The Desktop, starting with a few tiptoes in 2016 and moving my personal computer default boot in 2021. I had long experience with server Linux, and that used to be important, but it's gotten a lot better today. For use cases:

  • ChromeBook replacements / web browser machines: 110%. You can just run Chrome/FireFox/Brave on a local machine, and be happy, or you can install LibreOffice/various calendars/whatever and also have good local offline functionality, if sometimes with a dated UI. The only real downside here is that new laptops running on their Linux compatibility will usually start at four or five times the price. If you're comfortable buying used equipment and swapping out batteries, you can get <150 USD pricing on three-year-old mid-range hardware, but this is extra work and has limited availability.
  • Desktop futzing around: 99.9%. Since 2021, I've had maybe three document files I couldn't open fine with LibreOffice, and about a dozen websites that didn't just accept FireFox-on-Linux-with-working-uBlock as equivalent to Chrome-on-Windows. Video streaming is fine, audio streaming is fine, Discord's updates are a little more annoying but mostly work out of the box.
  • Gaming: 90%, but highly variable. If you're playing mainstream games from Steam that don't use an anti-cheat, and run on an Xorg-based desktop, 99% of games will run with little more than checking a 'run in proton' box. GOG-based games can be a little more annoying (install Lutris to install GOG Galaxy to install No Man's Sky with online support), and I have run into games that didn't work without a lot of extra work, but it's a lot better than I expected. Other games can range from 'one extra step over Windows that's well-documented' (Vintage Story) to a lot of annoyances (Star Citizen, tbf not a Linux-specific thing) to "you have my sympathy" to 'will work, but Bungie will ban you for it' (Destiny 2). Anti-cheat updates can break perfectly-functioning games, and most anti-cheat-focused games simply won't work in Linux. Mods can sometimes break a perfectly-functioning game (which raises some very serious questions about ARK: Survival Evolved's sandboxing). There's been times where I've gone literally years without having to boot to Windows to game (FFXIV, Factorio, and Vintage Story have been pretty great out of the box), and other times where it was once a week.
  • Laptop Use: 95%. I have had some laptops where driver support, especially for things like lid-close hibernate/sleep, either didn't work or wasn't reliable. Fingerprint readers tend to be flaky as well. Battery life can range from better-than-Windows to much-worse as a result. But the core functionality has almost always been there.
  • Server functionality: 99%. Hosting your own file share and calendar setup is pretty trivial with NextCloud, collaborative document editing is a little more tedious but absolutely doable (I used to recommend Collabora, they still work but are a little naggy), Jellyfin is great for local video or media streaming, LLDAP for authentication for serious home server users, so on. My only big complaints are that Calendar sync protocols are a clusterfuck, where each calendar works fine individually but syncing to something like an iPhone's CalDAV support is basically playing Russian roulette, and that setting up your own VPN is still little too hard for nontechnical users.
  • Software- or Hardware-specific use cases: 50% coin flip. Sometimes the Linux-friendly version of a software merely has a learning curve, like compared Blender to Z-Brush; sometimes it's a cliff, like trying to go from Fusion360 to FreeCAD. Some hardware will work out of the gate, some like VR headsets might be a couple hours of fucking with text files and the command line, some is 'just build your own driver' level bad. Software built specifically to interface with hardware can be especially frustrating: Carbide Create works surprisingly well, LycheeSlicer was a crashomatic for the better part of a year, and sometimes even stuff that should work sometimes breaks in weird ways (how did Prussia fuck up their slicer?). Audio decks are notoriously hit or miss; drawing tablets (especially w/ pressure sensitivity) can be annoying.
  • Phone replacement: 1%. The ZeroPhone project hasn't updated since 2019, and a variety of competitors have simply crashed and burned. The PinePhone and Librem are probably the best options out there, but they're still pretty awful as phones. You can technically throw something together with a pocket computer and some VOIP software, and I've done it, so it's technically possible, but even as a pretty high-use techie I can't really make the argument for doing so no matter how much I want to.

However, there are some caveats, sometimes serious ones:

  • The Linux file management system is difficult for normal users to adjust around, especially for desktop environments where data horders might have three or four drives. There's ways to make it more understandable, but virtually no distro will do so by default, and a lot of tools will actively get in your way -- even the otherwise excellent Lutris and Steam launchers are prone to spreading config files across a million weird directories.
  • Trying to convert existing Chromebooks to Linux can be doable, but is seldom worth it, and it's not always even possible.
  • Xorg (most linux distros) is still more reliable than Wayland (hypr, COSMIC, Enlightenment), especially on nVidia hardware. I'd expect that this changes in the next 6 months to two years, but if you have extremely low tolerance for rare (two-three times per hour) flicker in some games, this can be a serious thing to consider early. I have no idea why or how Minecraft is one of the games most prone to it, though. When this does get better, most Xorg-based distros will probably just switch over for you or at the next distro-upgrade.
  • You will generally have to opt-in for 'proprietary drivers', both for dedicated graphic cards and for certain web browser codecs. The open-source ones are actually getting a lot better (uh, more so for AMD than nVidia), but at best expect performance loss, and sometimes stuff won't work. The web browser ones will give you a header notification and handle the install on their own when you actually need it, but the gpu drivers can require you to touch the driver manager tool -- Linux Mints is very easy, but Arch and OpenSUSE can involve some command line work.
  • Prepare an automated backup option, ideally more than one. Windows and Chrome do a lot to protect naive users, at the cost of OneDrive breaking a ton of shit, but most Linux distros at best will do some on-system backups or version rollbacks. You're very unlikely to need them -- I've had only one break across three machines in four years, and that was because of a Microsoft fuckup I was able to work around without absolutely needing the backup -- but when you need them it's often too late to hope. Windows users should do this too, but it's more essential for Linux.
  • Some normal users have zero tolerance for change or frustration, especially on their main desktop computer. I would strongly recommend starting with Chromebook replacements and your own machine well before giving a non-technical user the same thing on their main system.
  • I like tiling window managers, and hyprland looks really nice, but if you're not the sorta techie that likes learning new conventions it's a big lift. Would definitely not recommend for normal users.
  • If you dual boot (which I recommend!) or have nvidia graphics, the default Windows EFI partition at 100 MB is wayyyyyyy too small, and will result in weird and hard-to-diagnose bugs. Resizing (or even modifying it) from within Windows is an absolute nightmare, so look for guides on how to do it in your linux distro, and do it early. 600 MB is overkill, but will save you a lot of frustration down the road. This matters a lot less for machines without dual boot, and with just integrated graphics cards.
  • Most distros will be 'regular release', meaning that while they provide reliable normal updates, certain big changes in feature or function set will only occur with once-a-year-or-less version updates. Upgrading from one version to another (usually called a distro upgrade) can range from 'a single command and five minutes' to 'cross your fingers and hope' to 'nope', and most fall in the middle. Old distro versions can sometimes keep getting security updates for years, but even the long-term support versions will eventually run dry. The alternative is called rolling release, where you just get whatever package version is newest and passed whatever stability checks your distro's maintainers run. This keeps you closer to the power curve, but means you can get a lot of often-pointless upgrades (no, VSCode, I don't need a twice-weekly version update for a glorified json linter) and can rarely find problems because of weird cross-library or cross-program compatibility issues.
  • "Stable is late, experimental is broken", at the risk of quoting someone I can't find quickly. Especially for web browsers, it's important to make sure that you're keeping up to date: while Linux desktop is much less of a target for various computer crud than Windows (or even Mac), stuff that attacks just your browser or just a single service can absolutely wreck that service if it gets months or years out of date. Worse, because of the above, regular release distros will eventually just stop providing any updates at all for nearly everything, and this can be in a much shorter timeframe than in Windows environments (eg, Linux Mint usually gives 5 years for all LTS versions, Ubuntu technically goes to ten if you subscribe, some distros will just shrug and say about three).
  • While distros sell themselves based on UI and various concept specializations, for the most part they're really defined by their package manager, default package repositories, and (where present) app store. Even these things can eventually be swapped out, though it's usually painful enough that it's easier to do a reinstall instead.

For distros:

  • Linux Mint (Cinnamon edition) is kinda the default option: debian-based, robust, very well-supported, lots of good functionality out of the box outside of the Ubuntu or Debian packages, obviously not-Windows enough that it doesn't feel like you're tricking people, but very similar in design assumptions.
  • Ubuntu used to be a good choice, but they've increasingly thrown the mandate of heaven in the trash, and their app store and desktop environment has become a mess as a result, and the telemetry situation is, while nowhere near as bad as Windows, still rough. They still work, just wouldn't be my first selection anymore. If you're considering it, instead I'd point to kubuntu; it's avoided a lot of the worst bloatware, if only by accident. Just be careful with the app store.
  • You can just install Debian. It's nowhere as difficult as Arch, and while it will not have a lot of the useful packages installed by default, most mainstream stuff is in their package repository without any serious problems.
  • Gaming-focused distros exist, but they're mostly some nice UI on top of a normal distro, rather than some serious change in functionality or design. Batocera or RetroBat can be useful despite that, but I wouldn't recommend them for anything but a dedicated gaming machine, and usually only where you're basically making a console replacement -- for a normal desktop, you can just install EmulationStation on almost every mainstream distro. I've heard Nobara falls here, but I haven't tried it.
  • I don't recommend Arch for your first linux install. It's a good exercise to understand how operating systems actually work, but you can (and your first time, probably will!) install the distro without a dhcp client, git client, or text editor. That said, while it's not the only rolling-release distro, it is one of the best-known and, imo, best-supported.
  • Manjaro is in a similar boat to Arch, with the added downside that the easy installer will absolutely get too far up an Arch creek without a paddle. About the only benefit is that Manjaro vets updates a little bit more, but imo not really enough to make a big difference.
  • Alpine/AntiX aren't really great for desktop usages because their distro upgrade situation is generally pretty bad, but they do work great for lightweight Chromebook replacements -- fast boot, good security updates, very lightweight.
  • ElementaryOS is a great Mac-like environment, and Zorin as a very Windows-meets-Chromebook-like. I've got...mixed feelings about these: trying to trick someone into not knowing that they're on Linux is an awful idea, and Zorin has a bad purchase schema on top of that. But if you just really like the more traditional UIs, they're not bad options. Caveat: you can just install Elementary as a desktop environment on top of other distros.
  • Gentoo is great for every usecase you don't need. If I had three hundred identical laptops that I wanted to set up exactly to a limited set of specifications, Gentoo is a great tool. If I just want to run a local machine and I don't know what I need, it's a lot of extra work for very little benefit. Wonderful toolset that I'll literally never recommend, because if you need it you know.
  • Kali/Parrot/whatever security-focused linux, mostly these are just convenience options, usually just extra stuff strapped onto Debian. If you're not trying to do security research, you don't need these; if you are, you're mostly only going to use them so you don't have a thirty-page install list.

Don't go too deep into the What Distro questions. There's a million one-offs or specialized distros that do a lot, or have a prebuilt user interface that's just that little bit better, or has a slightly nicer support forum, or comes with a lot of tools that exactly match your use case. These can often be great things! But finding support can be much harder, and they can be behind the power curve, and it ultimately isn't that big of a deal, and you don't need to get overwhelmed by your choices. For a shorter version of Just Your First Linux Distro:

  • If you just want a Linux setup that Just Works, go with Mint (Cinnamon for a desktop or newer laptop, XCFE for an 5+year-old laptop). The UI will have a learning curve, but there's decent UI for nearly everything, the start search menu will redirect a lot of common windows tools to their linux counterpart, and it's just generally a good to a great experience.
  • For very light-weight uses (such as reviving a 7+ year-old laptop), probably AntiX. For very old systems (>10 years), Puppy Linux.
  • To minimize retraining, consider and try out on a non-critical machine Zorin (for Windows) or ElementaryOS (for Mac). These may still flunk the Wife Test, or may only pass it for some but not all use cases, and you should be crystal-clear that they are a new different thing and not just a Windows skin, but they'll have the least friction.

setting up your own VPN is still little too hard for nontechnical users

Might I interest you in some Tailscale?

Man, always a banger with you! I'm sure I'll be coming back to this comment many times, but let me start with where I was hoping to start for my actual conversion - chromebook replacements.

ChromeBook replacements / web browser machines: 110%. You can just run Chrome/FireFox/Brave on a local machine, and be happy, or you can install LibreOffice/various calendars/whatever and also have good local offline functionality, if sometimes with a dated UI. The only real downside here is that new laptops running on their Linux compatibility will usually start at four or five times the price. If you're comfortable buying used equipment and swapping out batteries, you can get <150 USD pricing on three-year-old mid-range hardware, but this is extra work and has limited availability.

and

Trying to convert existing Chromebooks to Linux can be doable, but is seldom worth it, and it's not always even possible.

This is really depressing from my perspective. What I love about the chromebooks are that they're cheap (I think I paid sub $200 for each) and small (I think both are only 11.6" screens and 2lbs or less, which I think is about perfect for rolling around and just browsing or whatever), and I barely care that their raw compute specs are abysmal (if anything, it makes the battery life even more awesome). They can play 720p video (more than enough for a small screen), and even when I've done some toy math coding on them, they just made sure that I couldn't be horribly inefficient. I don't even need hardly any storage space as far as I'm concerned; anything big can just be floated up to the NAS. It's super easy for me to have everything backed up (not even using the built-in sync with Google stuff) and just powerwash it and start over if something stupid happens. Even if my hardware just caught on fire later today, I'd be a little sad that I'd have to spend a couple hundred bucks, but honestly, I'd basically not care.

A quick search validated that most of the built-with-Linux laptops I see are significantly beefier/more expensive. I guess maybe the Venn diagram of the people who want super low end hardware and the people who are techy enough to dive in with Linux is extremely small?

Are the main problems for converting existing chromebooks mainly driver support? You called out lid-close (probably important), fingerprint readers (probably not important if I'm shooting for low-end hardware), and battery life (probably no prayer of having comparable-to-ChromeOS battery life, eh?). Anything else? Is there much point in even trying to pre-plan and figure out compatibility issues, or should I just dive in, hope, and know that I might just have to give up and reset back to ChromeOS?

Alternatively, anything in particular I should look for/avoid if I'm considering buying new low-end hardware, for the purposes of flipping it over to Linux?

Linux-in-ChromeOS is not awful, though it's very limited and you typically find the limits of the ChromeBook hard disk just in built-in-minimal-software.

For fully ripping out ChromeOS and replacing it on actual ChromeBooks, support problems can be as deep as the bootloader, firmware, and even CPU. Some are supported well-enough, but if your device is not on the mrchromebox or chrultrabook lists, getting out of ChromeOS can range from 'research project' to 'science project' to 'not gonna happen'.

If you're willing to buy a new ChromeBook specifically to convert to Linux, your options are better, but they're still going to have to be selective and do your research. In general, ARM is a ton of work to end up with a machine that may not be able to run a lot of apps (or require compiling them from source... for days), and AMD processors can have weird gaps in support or require very specific kernel versions. But I've mostly avoided it outside of a couple science projects; you're probably better off asking someone more focused, there.

I guess maybe the Venn diagram of the people who want super low end hardware and the people who are techy enough to dive in with Linux is extremely small?

A lot of it's that it's a fairly small field, and that people in it tend to be very focused and not very price sensitive. You can find a lot of not-powerful Linux-focused computers, but they're often that way because they're prioritizing an open-source-down-to-the-instruction-set ideology (not ready for primetime) or because they want it so small it fits in a cargo pants pocket (GPD Pocket), or they have other ideological attachments (eg Framework). Where Linux is focused on a mobile device that's gotten mainstream attention, it's usually for a specialized use that requires more expensive hardware (eg, SteamDecks and most competitors use a locked-down Arch variant).

The other side is that the used (and renewed, and just-trying-to-clear-old-shit) Windows market is extremely hard to compete with, and almost anyone who's interested in using Linux can install their preferred setup easily. Even mainstream clearing houses like Amazon or NewEgg have a ton of conventional Windows options under 250 USD for the 11"-14" market (caveat: specific sellers not endorsed), and if you're willing to trawl eBay or govdeals you can find stuff at half that price... at the cost of buying used.

Alternatively, anything in particular I should look for/avoid if I'm considering buying new low-end hardware, for the purposes of flipping it over to Linux?

Almost all x86-64 Windows laptops will handle common Linux distros fine. I'd avoid touchscreens unless you're actually going to use them, because disabling them in-Linux can be a little obnoxious, but that's a pretty uncommon issue. If you start looking at gaming the nVidia vs AMD (vs Intel) problem gets more complicated, but at this price range it's just not a choice.

I do recommend getting more RAM than you think you need.

Well poop. Both our Chromebooks are ARM. I guess I'm going to have to give up on this hardware, even for a trial run to see how it functions on a day-to-day basis. I guess my next steps are to look for cheap x86-64 laptops to push Linux on or to reorient my focus toward the desktop, probably starting with just making it dual-boot for now to see how things go before Win10 goes EOL and decisions become real.

Thanks for all your help!