I would strongly recommend the following combination for beginners:
Thinkpad + Fedora
Fedora stays on the cutting edge of the kernel, which means that driver support is quite good. Additionally, most of the Linux kernel developers use Thinkpads, so the drivers for Thinkpad are always good. I've never had to download drivers individually.
Here's a list of things that just "worked" without me having to do anything:
1. My bluetooth noise cancelling headphones paired with no issues.
2. My desktop display with usb-c just works.
3. Old-style plugin iphone headphones worked as did their builtin mic.
4. Logitech camera plugging into my monitor and routing to the laptop via usb-c just works.
5. I have yet to find a printer (as long as its on the same wifi network) that I can't use (granted I barely print anything).
6. You can install and manage everything via the GUI.
7. Docker just works.
Things that didn't work:
1. I had to install "gnome-tweaks" in order to remap my CapsLock key to Control.
In my ten years of using Thinkpad+Fedora I've only encountered one issue and that was during the Wayland transition. The Zoom client (as in video chat) briefly didn't support screen sharing, but that was fixed several versions ago.
Also, people saying that "M1" is a gamechanger: I totally get it for certain sectors, but for Software Engineers? Memory has always been my bottleneck. I don't think I've ever seen my CPU choke on a legitimate task.
Stick to the X, T & to some extent P series. Avoid nvidia graphics if you can.
Arch Linux (and to some extent OpenBSD) probably has the best support/documentation/fixes for any ACPI/APM management issues you have.
I have a top-end 2017 MBP and I just recently bought a brand new 7th Gen X1 Carbon for very cheaply (like $800) and it _screams_ in comparison to the Mac.
I setup a Thinkpad X-series with OpenBSD a few months ago and the hardware support was stellar. I researched ahead of time (lots of googling and reading HN and Reddit threads) and it seemed like the OpenBSD devs were using a handful of Thinkpad models so those worked perfectly. I've mostly used it to surf the web (Firefox) and code (Vim).
No one would say it's as seamless as using a Macbook, but being able to tinker with and customize everything has been half the fun.
Is there a good resource for Thinkpads for sale in 2020 that work well with OpenBSD/FreeBSD/linux? A lot of the suggested models I find are from several years ago.
I'm using a T490, and with one exception everything has worked perfectly. Things like Thunderbolt connecting to a docking station with multiple monitors just works out of the box.
That's not to say that it's been perfect. The touchpad on this thing isn't great. I've had issues with sporadic jumping of the pointer when touching it with two fingers. I replaced the touchpad which did not have any effect. The funny thing is that the problem has been slowing going away over the months. I have never tested it on Windows, so I wouldn't know if there is a hardware problem.
The reason I was mentioning this is because I wanted to give some credit to Lenovo support. I fully expected them to tell me to test on Windows before replacing the touchpad but they were happy to tell me they supported Linux and me showing the issue in Arch Linux was enough for them to replace it.
Yes! After using MacBook Pro for almost a decade, I moved back to Linux for my laptop two years ago. I installed the Manjaro i3 image and I was expecting that it will take almost a week to tweak the settings so that all the hardware works and was pleasantly surprised that everything worked out of the box (everything other than fingerprint scanner but that was a known limitation).
I have the 7th gen. It works OK. Trackpad sucks. Resolution is high and Ubuntu does not scale things properly. Fingerprint reader doesn't work. Speakers are incredibly quiet. Suspend / hibernate does not work reliably.
> Resolution is high and Ubuntu does not scale things properly.
The 7th gen has two different screen options. I gather you got the higher density one. I don't use Ubuntu but I have the same display and don't have scaling issues. I use Arch & OpenBSD and configure everything myself though.
> Speakers are incredibly quiet.
Mostly a PulseAudio issue (doesn't play well with 4 speaker configurations). Has multiple workarounds (2 speaker only and to use all 4). I got it working in an hour. Full fix coming in next major version.
I’ve been using it with pop!_os for a few weeks. It’s been flawless for everyday use (including a working fingerprint reader, which I haven’t had on previous versions carbon X1s.
Avoid Nvidia Optimus (i.e. the W series). It’s so much worse than having a dedicated card because of the way it’s soldered on. It only kinda works. It still consumes power when “disabled”. You can’t use GPU passthrough.
Stand-alone Nvidia GPUs are fine but on Fedora you have to do some work because the Mutter and Kwin devs are currently in a spat with Nvidia.
I have an E490 (i7) running PopOS and the only thing that doesn't work is the fingerprint scanner. Everything worked out of the box; I haven't had to install any drivers myself. (That I can recall, anyway. Might have been such a simple process to install any missing drivers that I've forgotten.)
Just got a Ryzen T14 - only had it for a few days but it's working great. Arch works well out of the box, but Debian needs a kernel and some firmware packages from sid in order to get WiFi working.
I've got a Thinkpad L14 with Ryzen 7 Pro 4750U, 16GB, Radeon.
I had Mint 20 running on it briefly. Everything (that I tried) worked perfectly, except that the trackpad was jumpy. Eventually got fed up with the imprecision and put Win10 back on it (I still run Mint on a Yoga S730 and have Ubuntu under WSL2 on the L14).
I'm sure I'll try again at some point as it is probably a simple fix; I just couldn't spare the time to investigate. I'm assuming as this is a fairly new machine, when I try again in a few months it may work better.
I recently bought a t14 with a 4750u. Ubuntu worked great out of the box, but the battery lasted about 4 hours. I don't know if it was a hardware issue, but I tried everything and couldn't get it to last more than 5 hours. Everything else was great though. I was running Rust compiles on large projects without a sound from the fan, and it stayed cool throughout. Sucks that I had to return it because of the battery.
With the exception of the X1 ultrabooks, I don't think any Thinkpad has soldered RAM. My X1 Extreme Gen1 with 64GB and a family member's P51 (or p53 dont remember) with 128 GB definitely do not. I bought the cheapest RAM tier and put in my own modules as soon as I got it.
Except for ultrabooks where the sacrifice makes sense, I don't expect Thinkpads with soldered RAM to ever become standard. That's just not their target market - their warranties even allow CPU repasting.
OK first i was thinking that must be BS. But your are right and I'm really angry about it...seams that my x250 is my last Thinkpad until they change that BS. I understand it for a superlim thing, but NOT for a T or P series.
The T models without the S usually have no soldered RAM, or only one soldered slot. The ThinkPad T480, for example, has two upgradable RAM slots and one or two NVMe slots. Heck, even the Wi-Fi card is removable.
When talking about ThinkPads, I always recommend going with the T line and skipping anything with S at the end.
Oh you're right, they seem to only have 1 slot soldered. They should advertise that more on their website. Seeing 8GB (soldered) + 1 expansion would be clearer
Until the T495, which was the last generation before the T14 came along, it used to be that the T with an S at the end would have one soldered RAM stick and one available to upgrade, while the T without the S would have both available, hence why the T without the S was my recommended model.
I would always recommend buying used with the minimal amount of RAM for cheap, and then upgrading everything manually, from RAM to NVMe to Wi-Fi card.
With the T14, however, it seems Lenovo fucked up big time. No more extra removable battery, no more empty RAM slots. The one soldered does seem to be 3200MHz, so Ryzen benefits greatly once you fill the second RAM slot with another 3200MHz stick — since Ryzen, and especially the integrated graphics, love dual channel fast memory —, but if you choose wrong when you buy, you are stuck.
That sucks and does create a problem for my future self. Right now I have a T495 and my wife has a T480 with an extra big battery, and we were going to upgrade both to the T14 for Ryzen 4000, but soldered RAM is a travesty.
I wonder where we are going to go now. I mostly use desktop workstations because working from home for 11 years now, I learned that workstations help with work discipline, but a laptop always end up being needed.
I hate Dell with a passion, the Asus Zephyrus G14 suffers from the same issues as the ThinkPad T14, and HP uses ugly fonts in their keyboards, which bugs me. The Pinebook Pro is nice, but mine hasn't arrived. Maybe the Slimbook from that German KDE shop?
I was so sad when they dropped the extra battery from the X280.
My X270 is a true road warrior with the spare 6-cell that I bought and I can get about 30 hours of battery life out of it with the way I work. It's the perfect travel laptop.
Except having a lot of RAM is vital for some workloads (like compilation, virtualization/containers). Sometimes you may think you're okay with 16GB or RAM, until you need one or two 8GB VM working and a local DB
I had a really bad time with Fedora 32, used to Arch Linux: it always felt like RHEL unstable, with many breaking changes not documented (Fedora 32 needed some kernel and firewall hacks to work with Docker [1]) and have their own set of unstandard tools, still not very much documented. I spent 3 hours trying to understand how to compile a patched mainline kernel -- need to learn about dracut, koji, fedpkg, rpmbuild -- and none of these tools are documented clearly on a central, official place, but can be found through googling, reading mailing lists, piecing stuff together from deprecated wiki pages.
COPR [2] is interesting, like PPA, with the worst user experience I've ever seen. The patched kernel I was interested about was already compiled by somebody, and available through COPR, but good luck finding which repo has an up-to-date version of the package you're interested. The whole Fedora COPR site is more than useless.
I mean, the default experience was pretty good, but being the unstable branch of Red Hat means there's a lot of breakage, every release changes something big and you're constantly on the bleeding edge without the safety net of a top notch wiki like Arch Linux has.
I call bullshit. You're doing something wrong on your Ubuntu installation. I run an Arch installation on my desktop. I mainly run Ubuntu on it (an artifact from a time where Ubuntu replaced Debian as my main Linux OS). Every once in a while, I boot to Arch to play around with it (to learn about the hype; there's a few things I like about Arch Linux. AUR is large, wiki documentation is ace). And, practically every time I boot into it, I got stuff to fix... unlike Ubuntu.
On Ubuntu I get security and reliability fixes, and every time I upgrade to a next version I got stuff to fix; ie. every half a year, if I upgrade to next release and decide to not stick on a LTS version. With LTS it is rock stable for years to come, at the sacrifice of not being able to run the latest and the greatest version of software.
Every OS with a development branch (-CURRENT, -git, unstable, or rolling release) suffers from this, yet when it comes to Arch, I'm doing something very wrong.
The Fedora packaging guidelines is an official, pretty thorough guide to RPM packaging with lots of examples for specific languages[1]. The Fedora docs also cover creating a custom kernel too[2].
I recently moved over to Podman from Docker and found the documentation for it very good as well.[3]
I do agree that the search functionality of Copr is extremely basic to the point of being useless for popular packages such as custom kernels, but I believe there is some effort to remedy this with upvoting Copr repos, but I'd argue this is still not enough.
I found though as someone new to Copr that it was very easy to figure out as someone simply building my own packages.
So, you figured out how to compile patched kernel in just 3 hours? Wow.
(Create patch, install src.rpm, add patch to SOURCE directory, mention patch in .spec and add instruction to apply patch to %setup section, and then rpmbuild the .spec).
I work in C++ and for compiling the CPU is definitely the bottleneck. My CPU will be pegged at 100% for several minutes and my two (SSD) drives just blip once ever few seconds.
Past some critical mass local dev indeed simply doesn't work, but the majority of codebases aren't ~that~ large. And until that point I feel there's an analogy between having a light laptop and remotely doing your heavy lifting with the whole working remote thing in general. In theory, on paper, and assuming reliable decent internet connectivity, with a little elbow grease there should be no discernable difference between thin client remote dev and an in-your-lap xeon, just like with high quality low latency video teleconferencing with a team that knows how to do it there should be nothing lost with physical distance. In practice though the overhead of doing any little thing, no matter how small the overhead may be optimized down to, is still real. Non-verbal communication is lost on zoom and the distance between you and your real UI grew by hundreds of miles and dozens of links, and the tradeoffs your environment makes when there's no such thing as a 'quick check' add up fast. But it's obviously not one dimensional, and there's probably irony in the weight shedding that offers you 20 hrs of battery life coming with a price tag of requiring reliable wifi to get any real work done.
This is the sort of thing freedesktop.org was supposed to solve. It seems like the effort floundered when GNOME decided to go “postmodern” with their shell.
QUESTION: As a Mac Dude: Did you ever get the Apple Magic keyboard to work? I think it was the right mouse click that never worked.
(I never used a Mac)
If you look for a Laptop, Dell XPS are pretty good. If you buy one used, avoid the one which has the camera at the bottom of the screen. People look right up your nose in meetings I was told.
Hmm, do you mean apple keyboard or magic mouse? For the keyboard, mine works but it took a while to connect after boot. I either has to wait several minutes before I can use the keyboard to login, or just use another keyboard until the apple bluetooth keyboard is finally connected.
As for magic mouse, right clicks works, but it might be because I already configured the mouse to enable right click on my mac. The mouse seem to store that settings locally in the device itself. My only gripes is inertial scrolling doesn't seem to work. I'm using ubuntu 20.04 desktop.
Edit: forgot to include the biggest annoyance related to using apple bluetooth keyboard on my linux desktop: for some reason, ubuntu seem to think the right half side of the keyboard is actually a numpad. I had to install numlockx and add `numlockx off` to gnome startup command list to fix this.
You can also get more precise and up to date numbers on what does and doesn't work from ProtonDB[1]. In the reports for each game you're able to see details like distro release, proton release and any other extra steps required (if any) to get the game working.
Welp, especially with how infrequently I play games these days, there goes my last reason to ever install Windows on my home machines. Thanks for taking the time to give me a sense of how it looks “in reality” these days.
What about mobile workstations like Dell Precision, HP Zbook, Thinkpad P53? Those workstations usually claim to support Linux officially, they are really powerful workhorses, they allow using of server-grade components (Xeons, ECC RAM, Quadro GPUs). Do people avoid them because they are expensive, bulky or do not run long on battery? If I would buy laptop today, I would look into those machines first, they seem to match my expectations perfectly.
My experience with Thinkpad P52 was quite bad. The intel graphics resets at least two times a day which requires a reboot to fix. I’ve filed an issue in the Intel DRM repository but haven’t got any answer yet, this might as well be a faulty hardware issue which I have to idea how to prove (Windows works fine and it’s all warranty would care about).
Plus it’s gigantic and heavy, its fingerprint sensor doesn’t have Linux drivers (there are some unofficial drivers that were implemented very recently but the laptop is a few years old at this point), the IR camera for face recognition doesn’t work either in Linux. It’s also noisy when it’s doing computationally expensive stuff, I’m not sure if there’s silent alternatives though.
It can support up to 64gb though and two NVMe drives + one Sata drive so that’s nice. But it drove me mad in the past few months that I’ve been using it, by hanging several times a day so I built instead a desktop machine for Linux as they never have these kind of issues, and for mobile use I might as well be fine with MBP from 2015
The Dell Precision line has great linux support, and can be purchased with Ubuntu. Its been reliable, gets great battery life, and overall provides the best linux experience I’ve ever had on a laptop. So much so that i purchased a nearly identical xps15 for personal use
The Dell Latitude series also have superb Linux hardware support too. You can often get the series cheap like-new/refurbished on the web because business IT departments frequently liquidate them on upgrades. I got this Dell Latitude 7290 for $650 USD refurbished off Amazon a couple years ago[1]. It's been great!
My P50 is a couple years old, works great. It's exactly what I needed, with room to grow (and I can do it myself).
Also, I have found a few things that seem to make a large difference on power/battery. Currently running i3 desktop, and a Firefox extension (auto tab discard) that unloads pages I've not been in recently.
This is going to sound dumb or elitist but I am so much happier working since I ditched portable computing.
I have a desk at home in an office. I have the same setup at work. I don’t carry my dev environment with me. When I need to work I go to the ’do work stuff’ place.
Nice keyboard. Nice mouse. And a nice OS that, yes, took a whole day to configure but over which I have total control. (Full-screen focus-mode no-ornaments note taking, web browsing, and hacking.)
I think desk setups are underrated. I got (a relatively cheap) one this March and the difference is touchable. I went the gamers way: Gamer keyboard, Gamer Mouse + pad, 3 screens, AMD for processor, nvme and also ArchLinux.
Needless to say, I can no longer work on macOS or an Apple device. The speeds you get with a bare-bone install and a window manager are unparalleled.
I went down the same route and wouldn’t change a thing. The difference really is striking.
Just curious, as I’m looking to upgrade the processor that I bought - are AMD processors widely known as being better than Intel?
Not trying to start an argument about which is better, I’m just genuinely curious as I have no idea as I’m not a gamer and have always gone for Intel processors.
>>Just curious, as I’m looking to upgrade the processor that I bought - are AMD processors widely known as being better than Intel?
Basically AMD did a full redesign of their processors when they introduced their Ryzen CPU line. That and Intel's problems in manufacturing has resulted in AMD chips beating Intel on price, performance, and temperature.
AMD's high end desktop chips literally perform better than Intel's top commercial Xenon.
AMD also uses less socket types than Intel and it will be possible to upgrade CPUs easily in the future. This upgradability is also something what laptops don't offer nowadays, requiring users to buy a whole new laptop every time.
The latest top of the line AMD gaming CPUs seem to beat out the last top of the line Intel gaming CPUs on almost all games. You can also get more cores for the same price on AMD, and they bench much higher on e.g. 3D rendering, so AMD should be faster for dev work, too.
Gamers Nexus is a pretty good YouTube channel with detailed benchmarks, but there are others, too.
The benefit of laptop is that it's ... everything. It's a replacement for desktop, for TV in living room, for TV in bedroom, for something to look up stuff in kitchen or workshop, and you can take it when you travel, use it in a hotel room or in a train or plane ...
It's not perfect and perhaps not good replacement for many of those things, but it is so practical. Especially if you live in a small apartment where desktop and TVs would take a lot of space.
I've been rockng a Macbook Air since 2013. I love the thing and it works fine, but I can't do video editing, which I need to do. The new Macbooks were on the horizon, but I figured I'd wait for v2 of whatever came out.
So I bought a Dell gaming machine, for the GPU.
First impressions from the week:
* Windows is still pretty kludgy.
* There are no good Gmail cients for Windows (settled on eM, but it crashes a lot, on macOS I used Mailplane, Mimestream and Outlook; Outlook on windows doesn't automatically connect to Google Calendars, even though the macOS and iOS versions do).
* The Dell came with a terrible keyboard, I'll have to buy a better one. It didn't come with speakers, so I bought some (I was planning to get reference monitors anyway, but having NO sound for a few days was interesting). It doesn't have a webcam, which is fine, but I'd have to buy one if that becomes important.
* The cables, cables, cables.
* I can use the Phone app to connect to my iPhone, and iCloud on Windows works well enough (for Drive and Photos).
* Windows apps don't adhere to the design guidelines nearly as consistently as macOS apps do. Fonts and usability is far more varied.
I will see about dual-booting Linux, and I'll see about getting Davinci Resolve working.
Try Kiwi for Gmail. I liked it enough that I paid for it. It uses a browser, so it has the standard Gmail tricks, but it has its own UI so you don't have a million browser tabs open.
That's easy to say in 2020 when mobility in general is non-existent. But if you travel even somewhat often, it's nice to have the ability to carry the environment with you. I used to take the train to work every day. I was never more productive then I was in that time on the train.
Why either/or.. with laptops you can have both the desktop experience and the portable experience. I have a laptop that I primarily use as a desktop. I like it that way best, but I like the option to take it with me. For when I travel or just times I want to sit out in the family room.
If your work is CPU or memory-hungry, I don't think there's a single laptop out there than can touch the performance of a Zen 3 desktop with 64 GB+ of memory.
I spend 99% of my working hours at my desk so it's a no-brainer for me to use a desktop. For the rare times I need to work somewhere else I just git push on the desktop, git pull on the laptop, and keep working.
Having your battery charged near 100% all days long with charger plugged in will soon degrade the battery and you may be surprised by your battery time.
Also some people prefer buying gaming laptops for better performance. The problem often is insufficient cooling, fans too noisy and ridiculously low battery time (obviously) from already-big and heavy battery pack.
No I'm more or less with you. My laptop went out early this year and I just haven't felt the need to replace it. I might get a Chromebook or something cheap but I don't really feel the need to have an entire dev environment with me.
I have a desk at home in an office. I have the same setup at work. I don’t carry my dev environment with me. When I need to work I go to the ’do work stuff’ place.
This is exactly what I've returned to as well, and I'd forgotten for a while (or maybe didn't understand) what was so good about this setup. Working only in my own "do work stuff" office at my own desk means when I'm not working, I'm free to enjoy things without technology getting in the way, and I find that when I do get to my desk I'm a lot more focused, energized, and ready to go. Best of all, I don't have to deal with obscure laptop config issues.
I have a Linux box: it's an ATX tower, a 40" monitor, an Apple Magic Trackpad 2, and most significantly a mechanical keyboard. The importance of the latter can't be overstated: having good key travel, Cherry MX switches, and tactile feedback makes development a vastly better experience.
I got a refurbished HP desktop i7 that I bought two years ago for $300 on Amazon and upgraded the SSD and 32gb RAM for another $250 or so. I can run numerous instances of VS Code, Chrome, Slack, Postman, etc all day without even a hint of a slowdown. I also never hear my fans go on, not ever. I'm running Manjaro/XFCE... I think it does a minimal Windows style UI better than Windows.
My work is done in a nice quiet room and I don’t have to or want to travel. I never understood why people want to optimize for working on trains, planes and in meetings. Even when I was going into the office, I didn’t need to bring my computer home because I had the exact same machine at home since it was so cheap.
I do have a 2015 Macbook Pro and an Acer E5-575g laptop as well. If I feel like working on the couch or in bed, I can absolutely do that, but I never do. Mostly the Mac is just there to test Mac things or compile iOS things. The Acer was just so cheap and it also runs Manjaro perfectly.
Who doesn't like having nice peripherals? :) I'm the same between a work and home desktop. It's great to not have to carry anything to or from the office. Maintaining several computers also helps avoid the "single point of failure laptop problem". Between two desktops and a laptop, if any one of the three explodes (or are stolen) it's easy to work from the remaining two until replacement. Or in a more mundane case, fearless upgrades.
People may be most familiar with WireGuard as a light-weight proxy, but as a true virtual private network, it's also been great for making my home desktop accessible to my laptop on the go (desktop <-> digital ocean droplet <-> laptop).
I rent a virtual server with IPv6 connectivity. Like you, I use WireGuard to uplift[1] any machine I use into the same data center as the virtual server.
All my machines now have static public addresses. All my containers too. The firewalls are simple. It’s refreshing doing this in 2020. It also brings a sense of freedom (but not mobility) that might explain why I’m happy without a laptop.
What’s old is new. I must have had an unrequited nostalgia for 1990s Novell Windows NT Workstations, but with Linux. (Come to think of it, when I was using WinNT at University we had so much IPv4 space that they too all had routable IP addresses. When I were a lad...)
That's why laptop docks are great! You get the portability benefits of a laptop while being able to use it as if it was a regular desktop with nice computer monitors and peripherals.
Couple it with a USB switch and you won't have to bother with unplugging cables when switching between your work laptop and your personal desktop. (The only thing I have to unplug and move between my laptop and desktop is my microphone cable).
I’m tempted by a desktop but I worry about noise. Typically power components == big cooling reqs == big fans == big noise. There are specialized vendors who guarantee quiet but obviously they cost more.
Big fans are a good thing because they move much more air with much less RPM. If you care about noise, buy components with low power requirements and low heat output and slam a ridiculously overpowered cooling solution on it. I recently tried a workstation radeon GPU with one very small fan that would be essentially silent if it were in a case. Something like a recent i3 or i5 would mean so low heat output that high end coolers from Noctua would probably work somewhere around the lowest RPM with correctly configured fan curves. That, combined with the possibility of putting the case below the desk instead of right next to yourself like a laptop sounds much more silent as my macbook pro. An efficiently cooled i5 should be much more powerful than the frequently thermally throttled ultrabook/mobile CPUs. Those components are usually the cheaper ones too.
Granted, my high end gaming machine can get a bit noisier compared to my macbook, but even then the kind of noise is more pleasant than the relatively high pitched wind coming out of the MBP. The 3900X and the GPU do generate a ton of great though, so the focus is not on noise and heat output like in your case.
The fact that many people reading this post title (including me) look at it with sarcasm is telling on how apple scored big points with its new cpu. Keeping up with mac OS and the trackpad was already quite hard, but CPU could be the killing blow.
Which could lead us in a few years to a situation where mac developers will face the same fate as ios developers : forced to buy hardware to sign their app, forced to push them on the mac app store, forced to give 15/30% cut, forced to be removed whenever an app doesn't feel "right" to apple, or a government strong enough to force Apple.
And competitors will probably follow the trend, because Apple will have proven that it's doable and profitable.
That future looks extremely scary. What can we do, now, as developers ?
> That future looks extremely scary. What can we do, now, as developers ?
Stop buying, using, and supporting the Apple ecosystem. Vote with your money. The new chips are faster. So what? The laptop you have today works fine, you don't need the latest and greatest hardware.
I'm already stuck developing for the app store, using xcode to sign and deploy, using a programming language (that i love) swift that only really works on mac OS.
My personal situation isn't going to change anytime soon unfortunately. I was about to dump my iphone next time i had to pick one (and keep my current one for testing), however my laptop is my work computer.
I think "stop being part of the ecosystem" isn't realistic for many of us. We don't want to work on crap hardware, with a crap OS because that would make us unhappy and unproductive (or in my case, would simply not be an option at all).
However, we can use this current hardware /software to try and build the next generation of tools we would happily be using. My question now being : where to start ?
"What can we do, now, as developers ?"
"i code iOS (native) app for a living."
I think you answered yourself. I am not anti-Apple myself and think it's fine being in the Apple world and buying their crap but if you have doubts about Apple's overarching impact on technology in general, you should beging by ending your relationship with that ecosystem as soon as possible.
After ten years doing iOS apps I switched back to web development and I only wish I’d done it sooner. I feel like I escaped a long, abusive relationship.
In hindsight I marvel that I ever allowed a single corporation to have absolute control over whether or not I’m allowed to publish my work to users.
If you choose to work in their ecosystem of course you're going to be stuck with whatever Apple does. If you're capable of building iOS apps you're capable of learning other languages and working on something else.
There isn't much you can do other than sucking up what they feed you or getting a new job. If there's a 3rd option I'd love to hear it.
Make an extra effort to learn something else and move away. If you are already making a living by building ios apps, you're smart enough to be a developer in any other ecosystem.
I have a co-worker that was in your exact same situation and just by showing interest in the devops world and sitting next to them and expressing his interest in that area he managed to just move there and now he loves it. You might find something similar, it just takes will, courage and effort.
>We don't want to work on crap hardware, with a crap OS because that would make us unhappy and unproductive (or in my case, would simply not be an option at all).
You consider a Thinkpad with Linux installed and configured properly as "crap hardware, with a crap OS"? Really?
IMO what an alternative needs is momentum, mindshare, and a reality distortion field of its own. Find out how to get a million prople to believe in the need for a next thing, and convince them to cooperatively choose the same next thing. And somehow keep that thing from being mangled in the process.
That's already been answered by reviews, the answer is there's a dip in sustained performance for the fanless Air but not on the Pro and Mini, and the fan noise on those is almost imperceptible.
Wayland already has trackpad support that's nearly identical to macOS.
Gnome with a dock is basically the same desktop experience - Pick a distro of your choice.
I can honestly say I prefer my linux XPS to my work macbook, by a large margin.
Plus - It doesn't spy on me. I actually own it. I can release software through channels that aren't entirely abusive.
Basically - The only thing Apple does truly well at this point, in my opinion, is marketing how great Apple is. But it turns out they just aren't all that great.
> Gnome with a dock is basically the same desktop experience - Pick a distro of your choice.
No it's not, macOS has a fundamentally different approach to apps and windows. Where you open only 1 app instance that can run multiple document windows. You switch between apps, and can then switch between windows in that app. This can partly be immitated in the window manager, but not all apps will work well with this pattern. Also standardized keyboard shortcuts, spelling check, secrets management and general app behaviour is hit and miss on Linux. Whereas on macOS most apps adhere to the human interface guidelines. This consistency and predictability gives me a greater efficiency on Mac over Linux system. I tried going back to Linux for 1,5 years when my then employer didn't allow me to work on a Mac and no matter how much I tweaked it, I could never get the same enjoyment and productivity compared to macOS.
Nobody asked, yet I'll say it nonetheless: I had the same experience, reversed.
Employer gave me a MacBook pro, I tried for a year to get used to it, but no matter how much I tweaked it I couldn't completely get out of the horrible (imo) experience that is Mac os Windows manager.
It I want to switch to an open window I'll switch to the freaking opened window, stop trying to hijack what open an app means.
Anyways, Mac os isn't bad, but you have to accept to give up a lot of things. It's their way, or nothing.
I mean... you're talking about exactly the same behavior as Gnome with a dock. I have a single application icon, clicking it once brings up the last window I had open. Clicking it twice displays a preview window for each open window, any of which I can click to fullscreen and focus.
It's literally the same as the macOS dock, complete the with the dot indicator for number of open windows.
Plus my upper left hotcorner displays all application windows, and I have my upper right set to display each window of the current application.
It is time intensive to fix the odds & ends that Linux distros often haven’t. Kinda wish the author of the article would have taken a little more time learning about how easy it is to setup new keybinds in Kinto.sh (xkeysnail).
THIS. I have recently switched back to Ubuntu after a long period of time working for a big corp under a Microsoft ecosystem. I feel like my computer is mine back again.
> Wayland already has trackpad support that's nearly identical to macOS.
While PC trackpads were absolutely terrible for a long time, I actually really like the one used on my X1 Carbon. Inertia scrolling and gesters are not as smooth, but the hardware itself is quite pleasant.
> Wayland already has trackpad support that's nearly identical to macOS.
I never really understood how input-driver responsibilities are divided between the Linux kernel and X/Wayland.
If you're talking about Macbook's reputation for a pleasant trackpad experience, are you saying that in Linux the relevant code resides within Wayland but not X?
Well of course! How many people who walk into Apple stores are reading hacker news to learn about Wayland, Gnome and XPS running Linux?
I can see you’re frustrated and lashing out with “Don’t buy their shit”. Honestly I would be too if I had to read another hn post on apple & their policies.
But the biggest gap here isn’t technology. Rather it’s empathy.
Empathy for all those people who don’t read hn and would walk into apple stores to buy the best computer they possibly can.
Apple didn't change that by suddenly being excellent and having great marketing. Developers changed that by realising that Macs were good dev machines and writing software that ran on Macs.
Non-tech people ask their tech-savvy friends for advice on what tech to buy. For years that was "buy Apple; it costs more but they're more reliable, the support is great, and they're way cooler".
That's no longer the case. There are manufacturers shipping great Linux laptops, that just work, and it is actually feasible to recommend one to a friend. And running Linux is way cooler these days - every muppet out there has a Macbook ;)
My take on it (and I lived through this) is that pre-web everyone ran on Windows. If you were writing software, it needed to run on Windows, so you had to code on a Windows machine.
Then the web changed things, and a huge number of devs moved from writing Windows desktop applications to writing web applications for the dotcom boom (I was one). This took about a decade, from around '97ish. It also freed people to use different dev machines because most of the servers were LAMP (or variants thereof), and Macs could run the AMP bit fine. Web designers who had started off in Apple-land being designers on Adobe migrated into being web developers, and that helped spread Macs into the web dev community.
Yes, Macs did get better during this same period, and there was a lot of great innovation. But if nothing else had changed then that wouldn't have mattered - if you had to write Windows applications then you couldn't do that on a Mac, no matter how sexy it was.
I find the parallel with today's situation (and this discussion) fascinating.
To quote Balmer - "Developers, Developers, Developers!"
I absolutely agree with you - The vast majority of folks don't give a rats ass about the technology.
But I don't have to convince those people.
I have to convince you, and me, and the other developers that will read this thread.
We're the facilitators that make that hardware useful to the average person. We matter SO much more.
So I'll add some more - Don't take a job at Apple. Don't develop for Apple. Don't advertise to all your non-technical friends and family that you support Apple by buying their shit.
Develop for open systems. If you write a program for Windows, make it also available on Linux, or at least make sure it works well on Wine. If you develop for the web, make sure it also works well on Firefox. If you develop for smartphones, make also an Android version, and make sure it also works on AOSP without the Google libraries (or with an alternative replacement). And so on. That way, if these ecosystems become too closed, users will have an alternative; and the existence of that alternative might even help prevent these ecosystems from becoming too closed in the first place.
Depending on how you feel that sounds like a reason to look for another job. I greatly prefer not using Windows and macOS is rarely an option for my line of work. OS comes up very early in my job seeking process.
I also worked at a company that gave me one option: Windows. So I took it, and installed Linux on it. First in a VM and later, I just blew the resident OS away.
If you think about it, _thats_ always been Apple’s MO. Back when they had 10% marketshare with macs in the ‘90s or even with 70% marketshare with iPods in the ‘00s.
The forcing function, for all the attributes you listed, over the last 10 years has been the iPhone.
Even the headway’s in 3rd app support that the Mac will get now, is funnily because of the iPhone. Can you imagine what it must look like to Bill Gates from 2003? “Wait you’re telling me that a not yet built device with zero support for existing apps is going to magically make macs have the most abundant catalog of apps in 17 years?!!”
There’s only way counter action to those problems — stop buying apple products.
/disclaimer: I love apple products. But I didn’t mean any of the above with sarcasm.
> That future looks extremely scary. What can we do, now, as developers ?
Write blogs about how Apple's business practices threaten the profession of developers, how they can hamper innovation, and how they work against the interest of the consumer (see e.g. IDFA). Also discuss the idea of breaking up Apple in a hardware and a software company, and how this would help improve the market and provide a brighter future for general purpose computing.
And then there are basic things, discussed also by others, like not supporting Apple in any way, i.e. not buying their hardware, not developing for that hardware, and not recommending friends and family to buy Apple products.
More harsh things you could do are: buying an Apple laptop and returning it (your right as a consumer; make sure you state a reason), or putting a license on your FOSS software that is more restrictive on Apple's closed hardware.
Your fears seem to come down to the idea that Apple will eventually try to force apps to go through the mac app store. I can understand why people would feel that way seeing what they have done on their mobile platforms but I don't actually think there is any evidence to suggest they want to do that on the mac.
I am not at all convinced Apple wants to go that route so the future of the mac doesn't look scary to me it looks pretty great.
I have no idea why you think this, when Apple are clearly clamping down on what software gets on "their" machines.
They have to tread carefully because anti-trust, and they'll make all the relevant noises, but I think it's clear that the end-goal is only allowing app store apps to be installed.
But tbh the same is true of Windows. They're further away, because history, but they've already played with this once and will do so again.
Apple only has about 10% marketshare with macOS. There is no judge in the US that would rule against them in an anti-trust case over that. It's another story with iOS but that's not what we're talking about here.
Apple has no reason to turn the Mac into a total walled garden. They already have that in the iPad. Walling off macOS would mean getting rid of the Terminal and all of the other developer tools. For what? They would be cutting off their nose to spite their face.
>I don't actually think there is any evidence to suggest they want to do that on the mac
Gatekeeper, requiring Developer ID, deprecating kexts, T2 chip, deprecation of the inclusion of Tk/python/PHP. We are slowly boiling frogs here. It's being squeezed into the direction of iOS.
I don't have any intention to contribute to the mac ecosystem. I still hog in what I like best - the terminal.
I treat the mac as a client - web+cloud is my backend. The client should feel good to me with decent battery life and snappy experience, and maybe some gaming. But I don't care much else about it.
You might would love a Chromebook. There are some really nice ones out there, and you can run apps packaged for Debian really easily. Chromebook hardware works flawlessly (suspend/resume/etc) and battery life is incredible.
I'll never give up my Fedora ThinkPad, but if I was forced to I could do all my development on a Chromebook with Linux.
Do you install linux on the Chromebook, or do you use one of the methods of running a linux userspace under ChromeOS?
I've been using a Chromebook for linux stuff with Crostini for a while (before that I used Crouton). With some frequency something (me or an update) manages to bork things up and have to reinstall the Crostini subsystem, which wipes out all my stuff (things that I care about are usually backed up).
It happens often enough that I'm thinking about going back to a dedicated linux machine, since I think probably that would be more stable for me.
I use Crostini now but used Crouton a lot before Crostini was available. Without Crouton I never had that problem, but I did occasionally have to rebuild because my kids would reboot it and press the spacebar like the scary boot message told them too :facepalm:
With Crostini something did happen that horked the VM and I had to remove and reinstall it. That is pretty annoying. Not sure if I did something to cause it, but I also respect that the feature is still "Beta" and I guess I'm so overjoyed that they're doing it that I'm willing to accept some brokenness :-)
Yeah great point, disk space on most chromebooks sucks. I used an SD card in one for a while but SD cards wear out so fast. Now I have a USB drive constantly plugged in, but that's not great either.
> In Q3 2020, Apple had an 8.5% share of the market, up from 7% in Q3 2019. Apple ranks as the fourth largest PC maker, behind Lenovo, HP and Dell but ahead of Acer.
The new Macs are fast and have great battery life, but I wouldn't worry about them taking over the market. Windows machines and Chromebooks are arguably better versus Macs now than in 2015 when you couldn't find a laptop outside of a Macbook with a decent trackpad or high resolution screen.
Freedom is less important than convenience. People will put up with all sorts of draconian control as long as they can have smoother scrolling, or a nicer feeling trackpad.
Aren't they? Look at the Epic vs Apple opinions online, people with iPhones say they actually want to be locked down to just one app store without any consumer choice.
Until some good / popular apps aren't available, or isn't compatible with Apple's terms and conditions. I know this is unlikely scenario since almost every companies want Apple's market share, however things happened with IE, so it's possible to happen again with ios.
IDK, the CPU has never been my bottle neck for work. I know it is for some use cases, but for general software development memory has always been my main bottleneck.
I've seen 16GB laptop sticks for 40 quid on Amazon today (OOS now though); I've had 32GB in my 14" EliteBook for a long time now, but paid much more for it. It's probably enough for my needs for some time.
create a killer app for the average person that _only_ works on linux, and force users to move.
If your app is attractive enough, and there is enough developers doing this, it will force users to slowly migrate.
To compete, walled-gardens will court you, and you can then negotiate conditions to make it better (instead of taking just money that they will offer).
I expect that the x86_64 instruction set will stick around for a very long time. Rosetta is super smooth and very fast on M1 Macs, so legacy apps still work just fine for the time being.
I imagine the post you are replying to is referring to actually getting the Linux kernel to boot (since there is no BIOS, UEFI, etc.) and writing drivers for all the possibly specialized hardware Apple put in there.
The main issue might be video drivers and other non-standard hardware. There are many reports of people being able to boot into linux on the new M1 by tweaking secure boot.
The way I understand these reports is "it's most likely possible, but we still need to actually make it work". In particular, it seems there's not a complete boot loader.
I find it funny when people complain Linux is not ready for desktop. Sometimes it's because Windows software doesn't run on it, sometimes because Apple makes a fast chip...
Dunno. Been using it on desktops (well, laptops, mostly) since early 2000s, then some 6-year hiatus with OSX, then back to Linux. Works/worked great for me.
So, Year of Linux Desktop is really old news for some. For most, it'll never arrive.
And that's fine.
What I do like is choice - to each their own. You can now use and be fully productive 3 on completely different platforms, depending on your personal choice and work you do.
It's an incredibly personal choice. I've daily driven macOS for well over a decade, but periodically dip my toe into the Linux world just to get a feel of it's "there" yet or not. Unfortunately for my purposes, it never is, and so I end up returning to macOS.
The biggest problem is that none of the DEs really fit my tastes — they all have to be poked and prodded into kinda doing what I want them to do, but they're never quite there and it's incredibly frustrating. I've also faced similar issues with starting with a bare WM and snapping together smaller pieces.
To get what I want I'd likely have to build my own DE from scratch, which I'm not even necessarily averse to, but I have no idea where to start with the mess that is X11 and Wayland and all the "build your own WM" tutorials that could be used as a springboard are written for building hyperminimal borderless tiling WMs, which aren't straightforward to adapt for a more "typical" floating WM with titlebars and the like.
So I guess the endpoint of this rant is that it's frustrating that building one's ideal Linux desktop from the ground up isn't all that accessible in reality. The configurability and openness is there on principle but it's difficult to take advantage of past a skin-deep level.
If X11 had a future I would've recommended xmonad to you. It's advertised as a tiling WM configured in Haskell, but in reality it's more of a library to make your own WM, as it abstracts most of the low-level details but still lets you change almost anything. It's still quite focused on tiling, yes, so it probably wouldn't be a good fit for you, but the idea of having an abstraction layer above low-level X11/Xlib stuff enabling you to easily build a custom WM is, in my opinion, absolutely awesome.
I find it really sad that in the Wayland world all the window managers are coupled with compositors (and possibly even more than that), which makes it that much harder to roll your own. I wish there was a generic compositor/input server/whatever with some sort of window management RPC interface that would allow running a separate window manager in a subprocess. This would make it so much easier to port xmonad over to the Wayland world and take it from there...
(I'm aware of waymonad's existence, but I believe the process barrier between compositor and WM is really practical, especially during development where the WM rapidly changes, sometimes crashes, but the session still survives.)
i use mac and linux and I really like the mac finder less. But it is a personal choice. I miss the macos8 windowshades...
I feel sometimes linux almost has too many choices. There are a few main stream ones and a bunch of others that have bunch of fans/developers so the end product feels very rough. When the other choices (Windows/mac) are good enough but consistent.
> "typical" floating WM with titlebars and the like
My preference also. Currently maintaining a script of calls to 'gsettings set ...', plus a patch to gtk.css, on top of Ubuntu 18.04 Gnome Adwaita.
Doesn't quite get me back to what gtk-2 could do with a bit of its well supported, (even encouraged!) customization options. So the struggle continues.
I am not surprised. I've been using Linux for a while, and there a lot of things I miss. I keep an old Mac around to reminisce.
• menu bar: one, at the top of the screen. I think KDE had this, and there might have been a somewhat working extension for GTK that doesn't exist anymore.
• keys: CTRL is mapped to Alt; Alt is mapped to Win. This is a start. ⌘C and ⌘V: work as Copy and Paste in Terminal, ^C and all the other "control" keys work as expected in Terminal. I used to configure Terminal keys using AutoKey. I haven't been able to make ⌘← and ⌘→ work in text boxes - sadly it's hard-coded in X11 to do what Windows does.
• windows: Smarter window positioning and sizing especially with multiple monitors. I miss Zoom: the button that sizes the window to perfectly and minimally fit the content without scroll bars.
• too many additional items to count like ⌥8 to type bullet characters.
This is one of those things that I geek out on as a former macOS user.
> menu bar: one, at the top of the screen. I think KDE had this, and there might have been a somewhat working extension for GTK that doesn't exist anymore.
KDE has this if you use the Window Buttons[1], Window Title[2], and Window AppMenu[3] plugins.
> • keys:
Plasma Desktop lets you remap keys easily, and you can use setxkbmap elsewhere. I haven't tried remapping the ⌘ key for terminal usage, though, but I've remapped most of the macOS shortcuts I used to use.
Maybe you should try out the Ubuntu Budgie distro with my http://kinto.sh project added to handle your key mappings. I've tried countless distros and it is the most mac like experience you will find. EnsoOS would follow it, but of course I'd mention elementaryOS and Pop_OS! if they'd keep support for the global menu like Budgie or EnsoOS(xfce).
Totally agree. Some would point to elementary OS/Pantheon as being that, but it’s only really “maclike” superficially and brings some unique annoyances that don’t exist in macOS.
I got into Linux when I was younger because I thought it was cool, and I had plenty of time to fix it when things broke. It's been my daily driver for ~10 years now. But there's quite a bit too learn. If I were to try and switch from Windows or Mac today I'm not sure I'd succeed before giving up.
But I'm grateful every day to have a machine that I have some semblance of control over. I use a rolling release distro. I'm running a recent kernel and haven't done a major re-install in 5 years. During that entire time my computing experience has been incredibly stable. No huge UI changes. No forced system updates. Just a reliable tool I can use to get stuff done.
What I'm trying to communicate is, Linux desktop is usable, and it's worth pushing over the hump.
I truly believe that the argument for switching to Linux has never been stronger. Windows has embedded bloatware, and Apple allows no control over your hardware. There's really no other option if you care about these things. (Full disclosure - I do own a Macbook for photography work, and use Bootcamp for gaming.)
Like you, my Linux installs have been incredibly stable for a long time, even with a rolling release distro which is often considered "unstable."
I use Linux at work, and while I struggle with a few tools others do not as regularly (e.g. video teleconferencing software isn't always optimized for Linux, but overall it works fine), I also don't encounter tons of errors they do. From Apple updates bricking machines, to obscure Bluetooth/Wifi issues that you can't fix, or having to run Docker in a VM, I'm pretty convinced I've got it better.
I agree. I've been using Linux for almost 20 years now, and I remember all the gymnastics and research that was required to get things like audio and wifi working. In 2020, the only reason I dual boot windows and Linux is for video games, which are becoming less and less important to me, and less of an issue with the work Valve is doing.
And, while Linux has gotten considerably more stable and hassle-free, at the same time, Windows, in my experience, has gotten _worse_. The start menu is slow, and makes network requests for some reason. The UI is so flat that I can't tell anything apart, and I'm frequently pestered to link my install with my Microsoft account or enable cortana. I wish I could have used Windows 7 forever :\
Why can't you? I'm writing this from Windows 7 as we speak. I also have 10 installed on this PC. I prefer 7. I have SMB1 and RDP turned off, I'm not really worried it'll get owned through my router either. I don't use anti-virus either, but then again, I also don't run random exes that arrive in email or through an ad.
As of January 14, 2020, your computer running Windows 7 will still function but Microsoft will no longer provide the following:
Technical support for any issues
Software updates
Security updates or fixes
Aye, I don't use win7 because it's unsupported. Microsoft also updated it automatically when I wasn't looking.
I don't really care enough to support windows 7 myself; as I mentioned, the only reason I have Windows is for video games, so as long as I'm still getting video driver updates, Win10 could be the worst OS in the world and it wouldn't bother me too much.
I've been using Linux for many years, and it's definitely better, but definitely not what I'd want to use seriously. My gaming desktop has a 20.04 drive which I occasionally use, and yet I still find myself dropping to a TTY occasionally to reboot the machine or restart gdm because it waking from sleep, or just plain crashes.
Also, I have 4k, 28" monitors which is just the size where 1x is comically small, and 2x is comically large. I've tried recent Gnome and KDE, and they just can't scale to look right, like what I can do in MacOS or even Windows.
If I couldn't use MacOS for work, I would give Windows 10 a serious consideration. The new WSL and Windows Terminal are very good. I did use WSL 1 for a few years at a previous job, and it was awful.
Part of the beauty of Linux is that if you're having issues with gdm's stability, you can replace it with another DM. This isn't possible with Windows or Linux.
As for your DPI issues, I've heard many have had better luck with Wayland than Xorg.
Toolkits like Qt and Gtk only support integer scale factors. (Qt does fractional, but still has glitches) The scaling factor in the article inside gnome tweaks only changes the font scale. I personally use 2x Gtk scale and 80% font scale, and it works OK, but it’s not perfect.
Gnome has a feature in Wayland (Ubuntu has a third-party patch for X11) that scales up to an integer ratio then scales the image back down to fit the right size by making the display frame buffer larger. This is what Mac OS does. It’s slower here than on Mac OS, so it’s not very optimized, and it leaves things ever so slightly less sharp.
I think it really depends on what programs you use.
I pretty much only use Firefox and terminals. So I set ~/.Xresources Xft.dpi to something that looked nice. Presumably a bunch of programs ignore this (otherwise I wouldn't be seeing complaints about HiDPI online).
Plasma Desktop does fractional scaling correctly, is stable and comes with sddm as a display manager instead of gdm. I found the GNOME ecosystem to be bug prone and opinionated in ways that I disagree with, and have been impressed with KDE 5's stability and versatility.
They've had some pretty good memory decreases over the past couple of years actually in Plasma, it rivals a similarly configured xfce nowadays. Gnome is bloated in comparison.
Really interestingly I've been using a Windows, a Linux and a MacOS machine for many months, swapping them often. Well, Windows/Linux are on the same Ryzen 2700X with a Geforce 1080Ti, the Mac is a 2018 Mini with 32G RAM and 6 core i5. 4k 32" display in each case.
What surprised me:
- Windows UI is WAY the fastest. Linux is the slowest, and with fractional scaling turned off its hardly tolerable
- the font rendering on Windows is perfect, while MacOS is a bit blurry. This is very surprising to me since all the hype around the good scaling of MacOS. Windows hidpi fonts are just perfectly sharp.
- MacOS is absolutely consistent when it comes to rendering and scaling, the others aren't
It's blurry because they use greyscale anti-aliasing and do not at all try to make the pixels fit into the pixel grid. Windows does try to make them fit into the pixel grid.
Personally, I've turned off AA on my PC (and it's a completely useless feature on high resolution displays). What surprises me is as we have been moving into higher resolution displays, the OS makers have been making it HARDER to turn off anti-aliasing of text and this includes newer versions of Qt which have it turned on apparently so programs using Qt now pick up anti-aliasing even if your PC has it turned off.
People go on about how they love their blurry fonts. I don't get it. I like crisp and sharp.
PS. The version of the font, and the font used also makes a difference. A number of them were made during an era when anti-aliasing wasn't as common, so those are hinted to work well without AA, but I have also run into situations where an older version of a font works great with AA off and the newer version of it doesn't because they screwed something up or removed the hinting in the newer version. So if you have a really good font, back it up.
I have a 4K Display on a Mac and I decided to go with 4x scaling (1920x1080) so that macOS can use Retina. Much sharper. My colleagues go with 2500x or so and I don’t understand how they can stand it.
I have a 2014 Macbook Air that I'm about to replace the battery in. Once that thing goes I really think I'll have to head over to Linux. Mac quality has gone downhill.
I replaced my MBP with a Dell XPS running Ubuntu. I had serious problems with the Killer wifi card but replaced it with an Intel one for $20. Otherwise everything worked perfectly.
Around the same time my Mac Pro refused to upgrade to the latest version of macOS because I had a RAID. I installed Ubuntu on that as well. I was a little worried because it has multiple monitors but that was handled really well and worked fine out of the box. I did the same for the family iMac. Haven’t looked back.
When people start buying nice laptops just for Linux, the experience is a lot better. Most of the time, I've put Linux on scrap-heap computers which has always flavored my Ubuntu experience. Laptops with $300 Celerons with TN panels will always make Linux look subpar.
Linux on a desktop is okay, linux on a laptop is bad.
I think Linux is cool and grew up playing with different distributions (starting around Fedora Core 4).
I spent most of my time on Ubuntu because it worked the best, but also used Yellow Dog Linux (my first laptop was a 12in Apple power pc powerbook g4), Arch, and some others.
Things that often gave me issues:
- Suspend rarely worked without hacks, even with hacks laptop would often wake and heat up to thermal shutdown in backpack. Hibernate was similarly bad.
- 'Normal' apps often didn't work or worked poorly (Netflix, flash, Spotify, 1Password), things are a lot better on this front now.
- Monitor support was typically bad and caused problems, connecting to monitor, multiple monitors, resolution issues on wake, etc.
- WiFi was often a hassle and either wouldn't work without hacks or would stop working for an unknown reason.
- Sound would stop working for unknown reasons.
- Bad anti-aliasing/font support in general.
- Personally I thought the UI (mostly gnome, then unity) felt slow and UI elements/chrome often took up a ton of visual space - in general things were uglier.
I think a lot of this stuff is better now, but I recently went to install ubuntu on an SSD in my desktop and had to spend a few hours trying to figure out why ubuntu refused to see the SSD in the installer. I eventually had to unplug the HDD to force it to recognize it.
The macOS vertical integration of hardware and software is really good. I think the touchbar is a mistake (and hopefully will go away like the butterfly keyboard did), but the OS works well, battery life is good, and the applications are nice.
I don't think Linux can compete for personal use, for most people macOS or Windows with WSL is a better experience. This is definitely true on laptops. On desktops I think linux has fewer negatives, but I'd still miss macOS ecosystem stuff (imessage/texting from laptop, things like that).
Parent here - I used to say this too, but I am running Arch Linux on a laptop (ThinkPad T470p), and it's actually working great for me. I agree this used to be the case.
- Suspend works perfectly fine for me, including hibernating (incl. disk encryption) after a predetermined amount of time, and invoking a screenlock on wait.
- Spotify and 1Password X work perfectly fine for me. I have not tried Netflix any time recently, and Flash is dead.
- I use two external monitors, with different DPIs and resolutions, and this is working perfectly fine for me.
- WiFi works perfectly fine for me, no issues whatsoever.
- Sound works perfectly fine for me, no issues whatsoever.
- Fonts appear perfectly fine for me, no issues whatsoever.
- The UI is a sore spot for Linux. Linux doesn't tend to have consistent UI, between GTK, Qt, and other frameworks. Furthermore, adding Electron apps and things like Spotify into the mix, and things start to get funky. Some people put a lot of work into making their UI consistent, but it's tough. Many of the big distros (e.g. Ubuntu) have pretty good success with this I believe. For me, this isn't a huge issue.
As for iMessage, certainly you're going to miss this on Linux, but that's really Apple's fault for not adding it to icloud.com. I use an Android phone, and messages.android.com works on all my devices.
I think the vertical integration used to be a stronger argument, back before messages.android.com. These days, what is it really buying you? A consistent UI? AirDrop? Actually, I believe there's a Linux implementation of that now too.
Out of interest, how do you define "works perfectly fine"? :)
Obviously you're saying "for me", which I recognise, but from my experience playing around with Linux Mint, Kubuntu and Fedora on a Thinkpad T480S over the past year, while things work technically, getting them perfect (in my opinion) takes a lot longer, and might not even be possible in some cases.
Take for example suspend/resume: yes, this works in terms of the machine waking up again, but things like the keyboard and screen brightness get reset (or are at least inconsistent) each time. Googling the problem, there are a lot of suggestions for hooking up scripts to run xbacklight to store / reset it each time, and I did manage to get it almost working "perfectly", but I'm not really sure why I should have to do this from a user's perspective. It's even more annoying in that at least in Linux Mint and Kubuntu's case, controlling the screen brightness isn't possible until you've logged in, so if you resume the laptop and the screen is dark, it's actually sometimes difficult to verify what's going on at the login screen.
Same goes for things like Dropbox - it doesn't know it's been woken up (maybe it's a Dropbox issue not listening for events), so doesn't resync - there are hacks to make a script to touch a file to trigger the refresh, and basically get it working, but again, why do I need to have to do this?
Even getting decent battery life involves (in my experience) tweaking things and running things like powertop to work out what system services are doing what, etc, etc.
Whilst I do agree it's technically possible to get something I'd term "good" with Linux + Laptop, I'm not convinced the average consumer would be that happy with it compared to a Mac or a PC laptop.
This largely matches my experience whenever I play with it.
Things generally work, but poorly with lots of little issues that degrade the experience and regular users wouldn't tolerate.
If you use linux you learn to tolerate the bad experience, but I think it's just because you adapt to deal with it and lower your expectations of what good even is.
Not really. When I have to use Windows or OS X I'm always at pains to get some shit that should be basic working:
-No package manager. You have to download and install third party stuff like chocolatey (resp. brew). Unless you mean scoop (resp. macports)? In any case you have to commit to one and they're much less complete than Debian repos or the AUR so you still end up downloading stuff manually. A thing I don't miss from my teenage years is having to remember unchecking all the crap adware from installation wizards.
-No "open in terminal" option in file managers. Wtf?
-Windows "administrator mode" is incredibly bad and clunky to use. OS X's is better but sometimes you have to use sudo even though everyone tells you it's bad because nothing else works anyway.
-You can't just "upgrade everything" - package manager upgrades are distinct from system upgrades because, as said before, package managers are not builtin. Not only is this very clunky, you're also completely at the mercy of Microsoft and Apple.
-No shortcuts for basic stuff like "open terminal on ~" or "bring up app list with fuzzy search prompt", "hide all windows and bring desktop to the foreground" - windows used to have them but axed them for some reason? doesn't work anymore last time I tested anyway
-OS X file system is case insensitive. wtf? Windows still as really weird quirk where they won't let you easily browse to the WSL directory from the Explorer file browser, some directories can't be easily accessed and some files can't be created due to some backward compatibility behavior from 1974. wtf?
-lots of hardware won't work on Windows out of the box, especially drives with more exotic filesystems. never had a problem with Linux
Maybe all this stuff is duck syndrome but the same could be said about your "little issues"
I mean that NetworkManager, out of the box, supports every WiFi network I've needed. I mean that ALSA and PulseAudio worked out of the box and haven't had any issues, even with Bluetooth. I mean that fonts do not look pixellated or blurry.
And I personally haven't experienced the screen brightness issue.
Certainly, Linux still requires some extra setup to get going, and I think this area is ripe for improvement. But the experiencing of using Linux has been vastly superior in most cases IMO. And when things do break, I can actually fix them, unlike on macOS!
These are good points (thanks) - and it's always good to hear that things are better than I thought.
Consistent UI is nice and recent M1 chip + good battery life I think is also a bonus of vertical integration. It sounds like linux is becoming more of an option though for people that don't care about those things.
From your description it sounds like baseline functionality mostly works (particularly on a desktop).
The other Apple hardware advantage is the trackpad which even windows machines can't compete with. I suspect this is because Apple factored a lot of their iOS multitouch research into their trackpad support. It'd be hard for me to use a non-apple laptop, but linux on a desktop would probably be fine.
I am definitely hopeful to see Apple's ARM laptops start a trend. I do believe there are distros that already target ARM, such as archlinuxarm.org
And you're right - Apple's trackpad has everything else beat. The gestures are great too! I am more of a keyboard aficionado, so I don't mind this too much, but I'm not an average user in this way.
ARM support without the vertical integration doesn't mean much, windows runs on ARM too.
It's Apple's M1 design plus ARM plus their software stack that makes it great. Their power also lets them force others to write high quality native software for their chip (along with their design just having way better performance).
One of the problems is that experience is highly dependent on hardware choice and/or distro/software choice in rather unpredictable ways.
Generally I agree with grandparent: Linux for the desktop is a lot more reliable than for the laptop. The kind of stuff that needs to work on a desktop/server has considerably more testing and polish behind. With the laptop is about as hit-and-miss as things used to be for desktop in the late 90s. A surprising amount of people just accept some stuff not working or working unreliably in their laptops (some of my mates just "deal with it" - for instance one has a webcam that simply isn't supported, just got an external one - and same for the microphone; another one has trouble with external monitors not keeping config or even crashing the machine sometimes: "it's ok I don't need to use an external monitor", eventually managed to make it work after some research - but I'd rather not have to deal with that sort of thing... etc etc).
Having said that, Apple is so far gone that I'm going to have to move to Linux for my next laptop (Linux is already my main choice on the desktop for a long time).
But the thing is, the way that computers work nowadays, the "choose-your-own-OS model" is broken. It's "less broken" for desktop hardware because it moves so much more slowly and incrementally than they used to, especially at the interface level, but laptop hardware moves faster and mobile a lot faster. Hardware-OS combos with OEM pre-made troubleshooting and tailor-made workarounds (hardware nowadays is very buggy, but the user is sheltered from this fact mainly by kernels and drivers). This is much worse in mobile, btw, people are not expected at all to alter hardware or even connect peripherals beyond strong constraints.
So the situation is that you usually get a machine with something installed that has testing done on it as a combo, and "it works" even if the "internal components" (hardware, OS sub-services, etc) don't quite work to spec. You break this link and someone has to do the patching work, which is often "the community", driver/kernel hackers, etc. But this is a lot harder than working with fixed solutions and stuff keeps breaking, and there's when the end user comes in with some final, hopefully trivial fixes. Or, if the machine is popular enough, "the community" again. But few machine-Linux combos are really popular these days, especially compared to Apple laptops.
TL-DR; server computing is pretty solid, desktop computing is rather solid, laptop computing is a mess, mobile computing is a messy hack. The more things are "integrated" and not expected to be interchangeable, the more likely you are to find hiccups along the way, and the shorter hardware cycles don't help - so it's not a problem with Linux per se (the work behind Linux is amazing in terms of adapting to large ranges of hardware, even when hardware vendors didn't facilitate things) but a problem with installing and troubleshooting your own OS rather than having the OEM do it with flexibility to just change their hardware to make the system work best.
I've been using linux on laptops for the last 16 years. It hasn't been that bad for me.
I've been using:
1. Dells
2. HP Elite books
3. Clevos (Branded by sager)
4. Asus Zenbooks
About 16 years ago, the suspend and hibernate was a bit of work to get right. Now it just works right out of the gate. Sometimes it doesn't.. but that's the same for Windows and Macs.
--
"Normal apps"
There is no Netflix app for linux. Flash is mostly gone away, firefox and chrome fixed that 9 years ago at least. Spotify works.
---
Monitor support, most of the X problems are resolved. Intel graphics support is great.
Nvidia Optimus is still a dumpster fire.
---
WIFI- what cards are you using? the intel cards work without an issue.
--
Sound
Yea I don't know what is the deal with alsa vs pulse etc. But most of the time they work out of the gate.. I've had minor issues mostly. Bluetooth audio is annoying. Haven't had complete stopages issues in a very long time.
---
Anti-aliasing/font-support- this is more of your desktop environment than anything. KDE tends to correct those issues.
------
macOS often times has issues with their own software and makes it difficult to troubleshoot when things go wrong.
I bought a lenovo to have a linux laptop earlier this year, and I must say I think it is the best laptop experience I've had. It has fantastic battery life, everything works with very minimal configuration, and with my i3 desktop setup exactly how I like it I'm more productive than I was on my macbook.
These issues were only ever with the consumer lenovo laptops. Thinkpads never had an issue and generally work with Linux without issues (I heard this was because Redhat used Thinkpads and so there were lots of contributions to make things work but that could just be scuttlebutt)
I work for Red Hat, can confirm we get Think Pads and they do work wonderfully with Fedora and RHEL. I don't work with the kernel team but I can't imagine it's a coincidence that we use ThinkPads and it works well on Fedora.
I think it at least partially depends on the hardware.
> - Suspend rarely worked without hacks, even with hacks laptop would often wake and heat up to thermal shutdown in backpack. Hibernate was similarly bad.
I did experience this a little bit, but it's been 2-3 years since the last time it happened.
> - 'Normal' apps often didn't work or worked poorly (Netflix, flash, Spotify, 1Password), things are a lot better on this front now.
No comment on this, I haven't really used any of these on my laptop.
> - Monitor support was typically bad and caused problems, connecting to monitor, multiple monitors, resolution issues on wake, etc.
Only issue I had with this was one TV wouldn't take HDMI output at the same time as displaying to my laptop screen.
Everything else has worked great.
> - WiFi was often a hassle and either wouldn't work without hacks or would stop working for an unknown reason.
Haven't had any issues with this, but I would imagine it would be highly dependent on the wireless card you had.
> - Sound would stop working for unknown reasons.
Yeah, audio on linux kinda sucks right now. I've never been stuck without a workaround, but I've needed workarounds multiple times.
> - Bad anti-aliasing/font support in general.
I've not noticed this, but I also haven't looked.
> - Personally I thought the UI (mostly gnome, then unity) felt slow and UI elements/chrome often took up a ton of visual space - in general things were uglier.
GNOME + Pop_shell at least has gotten fast enough to keep me from installing i3 again. This is of course a matter of personal preference.
I personally trust neither Apple or MS, but they both have their upsides.
> > - Monitor support was typically bad and caused problems, connecting to monitor, multiple monitors, resolution issues on wake, etc.
> Only issue I had with this was one TV wouldn't take HDMI output at the same time as displaying to my laptop screen.
I just wanted to throw out some non-Linux issues I've hit in the past couple years.
I believe I had a MacbookPro 2015 and Apple's USB-C to HDMI I consistently had RGB noise patterns and it worked terribly. I switched to a third-party USB-C to DisplayPort and it worked great. I heard about similar issues online. Some talked about it being specific to hardware configuration (that series of MacbookPros) and others pointed to OS updates that triggered it.
I've had trouble with a Windows desktop and an Nvidia card with detecting which port was used to send video signal to on boot. I think it assumed the first HDMI port when I had the intention of using the DisplayPort. I think it got extra confused if the monitor was off on boot (it was trying to detect the signal?) I would often get the BIOS to show up on one output, then Windows may try and use a different one.
Yup. Basically comparing apples to oranges. Unless you're looking at a System76 Laptop or at least a Thinkpad/Dell that's certified.
I've had a great experience with my XPS 13 so far. Everything (Headphones, Bluetooth, Wi-Fi,...) just works, Dell even provides Bios updates. Whereas Windows 10 didn't recognise that my headphones also have a microphone. Only downside is the limited battery management, this is definitely better on ThinkPads.
I had to swap out my network adapter to get wifi working on linux on my thinkpad, and libinput still occasionally locks up...everything... processing phantom drift from the mouse nipple (which would be less annoying if the touchpad mouse buttons weren't part of the same device as the mouse nipple).
The font rendering is one of the main things that keeps me on Mac.
On Linux the font rendering is either far too thin or far too thick, no matter which setting I fiddle with. I don't have the greatest eyes and bleh font rendering is huge pain.
I understand others may not be so picky, but acting like the font rendering is on par with Mac is just not true.
I had complicated experiences with Linux in the past, but I was young and the problem solver in me loved it.
But, honestly, at lest in the past 5 years, I had no problems especially if we consider laptops that usually have more or less the same standard hardware.
4 years ago I bought an Xiaomi 13' laptop to use it as a browsing machine and occasionally as a media player.
It came with a Chinese windows preinstalled.
Without even looking at the specs I installed Ubuntu on it and I've never had a problem.
I upgraded it from Ubuntu 16.04 to 18.04 to 20.04 and I'm using it right now to watch the 4th season of Fargo
I never had to tweak the configuration or change a single .conf file, it simply worked
The battery lasts 8 hours and if I close the lid it automatically goes on suspend
It's been the best setup I ever had.
Unfortunately it's too underpowered to use it as a working device, but if I could I would be the happiest man in the World.
The thing is, in those ten years the hump's slowly been getting smaller and smaller, every time I reinstall or upgrade there's less and less work to do to get things up and running, to the point where it's not much different than getting a new windows install going.
Install some drivers
Install some apps
Configure things and set up my ui
There's a lot less forum hunting, obscure edge cases you run into, random things not working and all those other problems I remember.
Part of it is my experience at this point, but another large part is just the general improvement of the linux ecosystem over those years.
It really has improved drastically from my first days using it regularly in 2007-2008 or so.
I literally just had to manually debug kernel modules to upgrade from Ubuntu 20.04 to Ubuntu 20.10 because of the breaking changes in proc and renaming "sem[aphore]" to "lock" in places.
So no. There is just as much forum hunting as ever.
Well, I can honestly say in the all the years I've been using linux i've never had to do that. I never said edge cases don't exist, just that they're less frequent.
As a developer I used to have a secondary boot for Ubuntu for stuff that's reliant on *NIX tooling, like Ruby (Ruby on Windows is possible, but it's not worth the hassle).
With Windows Subsystem for Linux 2 I'm able to develop the same without having to dual boot and feeling just as native as running Linux on the system, and I can use Windows software like, say, Photoshop. Visual Studio Code integrates automatically, it's like I've got a Linux 'Window' open.
And when I want to switch off I'm back in Windows for a full gaming environment etc.
I'm completely switched over to full-time Windows now. Maybe not a good thing, but it sure is convenient.
I use Ubuntu for my media PC, and I feel like for the casual user, it's plenty easy enough. I use it as an appliance with a steam client and a browser. Do most users actually need more than that?
It's arguably easier to use than windows and macOS because it doesn't require a bunch of separate sign-ins to do things.
I think the only "hard part" for the average user is getting into the boot settings to actually install ubuntu. For a developer I think it's a non-issue.
I think this post kind of discounts the ways in which stable Ubuntu can break. On my last install, I checked the "Auto Login" button on setup which broke the entire install. I think that Ubuntu is definitely not even close to "regular people can use it no problem", but as with everything, YMMV.
I just find that kind of surprising because I have used Ubuntu for the past 8 or so years, in the cloud and on the desktop, and I have not run into a single issue like this.
I mean, I'm comfortable accepting that I'm an edge case and have the worst luck with linux installations ever, but I still think there's so many things that regularly go wrong (even for people that aren't me), that it's definitely not in contention for regular people's daily drivers.
Really? Like what? I mean linux is the backbone of the internet. I think of it as extremely predictable and rock-solid. Describing it as an os where "so many things that regularly go wrong" seems like a totally foreign concept to me.
The last try, I installed Ubuntu on my desktop and checked the 'Auto Login on Start' box on setup, which broke the UI and required a CLI fix. It wasn't hard (because I'm a dev and it was easy to troubleshoot/fix), but it was more than 0 effort and a person that wasn't a dev might not be able to do it.
Prior to that, I had an issue with bluetooth drivers that, IIRC, required finding a custom driver online or some C source file? I don't really remember the specifics, but it was another "I am a dev and this isn't really difficult but is more than 0 effort and my mom couldn't do it."
Prior to that, I installed Ubuntu on my laptop for college and the display drivers were an absolute mess. The screen brightness flickered from 10% to 80% over and over, regardless of what I was pressing or they were set at. I didn't find a fix and ultimately reformatted and went back to windows.
> I mean linux is the backbone of the internet.
Linux containers are great, I use them all the time. Linux as a desktop environment where I use an array of UI applications to develop software, make and observe video files, make games, etc, I have never once had a good experience with. The most recent try, when I encountered the Auto Login issue, I was also totally unable to get Unity to compile/run my company's game. It was yet another thing that I probably could have fixed, but the value-add vs. the effort of constantly having to manually fix each individual piece of software I intended to use, just didn't seem worth it to me. And, what's probably worse (to me), is the general response I found online was "Those issues aren't that big of a deal", which totally ignores my entire point. Death by a thousand paper cuts is a problem, even if each individual paper cut isn't that bad.
Again, I am happy to be told that my experience isn't indicative of the landscape of the env, and that I myself just have terrible luck, but if we're asking what _I_ think, that is my experience which makes me think it's not yet ready for legitimate non-developer use.
Death by a thousand paper drew a visceral response from me, it describes my experience perfectly.
I'm a developer and power user that wants to do various things beyond just browsing.
Things regularly required troubleshooting and fiddling, and for one thing that is fine, but after the 5th serious time consuming issue I get cross and around the 10th I can the migration attempt and go back to windows. Done this every three or four years for the last couple of decades.
I'm due to have another go around 2022 and fingers crossed it will work then, but I doubt it!
Linux application servers tend to be worth it though, and part of that is the use cases are usually much more limited, and on the well worn path.
As a developer really? Which kinds of issues for example? I feel like Linux is the default platform for software development, and Windows is a 3rd class experience by comparison.
openSUSE tumbleweed is a very nice rolling distribution. The only problem is that it needs an advanced user to configure it (installing video codecs and navigating the powerful and complex installer).
It seems everybody who tries out a Linux distro has individual problems with various UI stacks, rather than Linux itself. The bigger the software (i.e. GNOME, KDE) the harder it fails. And often in unexpected and unpredictable ways, too.
The kind of people who use GNOME or Ubuntu or whatever the 'windows competitor' is always seem to be having problems, but are also the kind of people who see needing to use a terminal as a problem in itself.
I've never ever had a problem with i3, emacs, firefox, and simple <20 line configs. Terminal is fine, it's what most GNU tools are built around in the first place. It's apt that people who really love Linux and appreciate what it does out of the box, and who don't feel the need to turn it into Windows or MacOS, also seem to have the least issues with it.
There is an illusion that there is not as much to learn in Windows or Mac, and in fact all that knowledge is even harder to grasp as a lot of it is proprietary and not transparent.
Although my Macbook is my main personal interface for a lot of things, I've stabilized on Ubuntu for my workstation machines, and they have been rock-solid stable desktop systems since 2009, at least this generation of hardware. I have not had any of the typical issues - my machines just work very well. I've got a system for software development, and another for Audio (yes, Linux is a functional DAW - digital audio workstation), and they are both just pleasant and joyful systems to use.
Of course, the fact that I have the chops to fix things is key, because I really, really do (Systems Programmer, 30+ years building OS and system-level things), but for the Ubuntu experience key factors have also been: pick your hardware nicely (e.g. Presonus=great Audio for Linux), use package management, do frequent manual updates, and use containers/virtualization for anything where ones hacking around might be dodgy - i.e. keep the work part of workstation in mind with all system updates/installations, etc.
Decades of Linux desktop usage means, to me, the cliche is over. Linux is an awesome desktop workstation. Everything just works, audio, video, graphics .. WINE is perfectly functional .. and there is zero bloatware or concern about walled gardeners.
> use containers/virtualization for anything where ones hacking around might be dodgy - i.e. keep the work part of workstation in mind with all system updates/installations, etc.
Care to elaborate? this might be useful to try. I have a similar setup macbook and ubuntu system, but I find that the LTS 18/20 versions often need reboot, and I didn't have the issue with centos. Still, I would probably continue using ubuntu because it usually needs less hacking time in my experience.
My first "real" experience with Linux (setting aside weird things like Lindows/Linspire, or the partial Linux experience of WSL, or the sort of "Linux-like" experience of using macOS and using bash and command line to do most of my work, aside from VS Code, communication apps and web browing) was installing Ubuntu 20.04 LTS on a pretty old (maybe 8 years) Dell 11 3137. I hadn't realized the release of 20.04 LTS had just occurred; I was just trying the latest/newest. I put it on a USB stick and did the Try option, and it all loaded up and everything worked. It gave me confidence, so I did a full install. No trouble with WiFi, touch screen, brightness, touch pad. And I was able to install so many of the same cross-platform apps I use everyday that I could get work done on it. (But I prefer a much bigger screen and keyboard.)
I was so impressed, I installed it next on a ~2 year old Asus Flip, and everything worked except for the fingerprint reader. Battery life was about 2/3rd of what I got in Windows 10 (which was already not great) but I used it for a couple of weeks, sometimes getting work done on it, and sometimes playing around with things like Steam - I could play Torchlight on it, or stream Torchlight II from my Windows 10 desktop. Neat! Ended up going back to Windows for better battery, but aside from gaming, the experience was very much on par with Windows, with some things better and some things worse, but no huge differences.
I'm very comfortable with Windows 10 and WSL, and I don't expect Linux to take over as a daily driver any time soon. So I guess in a way, I did "give up" on switching over, but if an employer handed me an all-Linux machine, I think I'd be perfectly pleased to use it all day for work, even if I head back to Windows when I want to play StarCraft.
It great until something breaks. I had a Arch Linux system going for a while and at some point (probably my own fault) broke graphics. I'm technical enough to where I could have probably fixed it on my own but honestly just did not have the time.
Not sure if something like this already exist (especially with ZFS and Btrfs) but it would be nice if there was a easy to use system restore manager you could boot into and restore your system to a last known working state. Again, keyword easy. Yes I'm technical enough to where I could fix it but I just don't have the time.
> I got into Linux when I was younger because I thought it was cool, and I had plenty of time to fix it when things broke.
> What I'm trying to communicate is, Linux desktop is usable, and it's worth pushing over the hump.
Huge fan of all of the above.
I do think though that now desktops are less inherently compelling than they used to be. They used to represent a center of activity, a locus of control for the user.
Now, a very sizable % of our computing is off in far away clouds, & the desktop itself is a less compelling, less interesting place to invest time.
My hope is that the Free Desktop / Linux world can begin to grow new roots, become more connected, & return to a little bit more of a place of prominence & relevance. Lots of visioneering & pioneering & engineering to do.
Very true. For me, I still spend most of my time on a desktop (well a Mac Pro, so 'workstation'), but I acknowledge my use case is different from many. I have access to both cloud and DC resources, but for sheer immediacy (and not shuffling lots of data around, is hard for me to beat local (building build and test infrastructure for managed OpenStack installs).
What do you use? I have tried this multiple times and always give up. I ran FreeBSD for a decade as a server in a datacentre and have a deep and abiding love for it, but it doesn't sound it makes a usable desktop these days. Ubuntu appears to be the desktop of choice, but I find it buggy, sluggish and tedious. I'd like a practical and speedy OS that is responsive and configurable. But I don't know enough :)
I use Arch. I love it and I think it's gotten a easier to install over the years (hard to gauge because I also understand more), but it does lean towards the minimalist side. The big win for me is using a lightweight window manager (i3 in my case), which you can do with any distro.
My main recommendation is stick with one of the major distros because you'll get more results when you search for solutions to issues. With Ubuntu you'll find more hits for specific problems, but I think the quality is also sometimes lower. Whereas I think Arch has the best documentation (for linux in general, not just Arch) but in general you'll need to understand more about what's happening under the hood.
One of my favorite things about Arch is booting up a fresh install and seeing something like 10 processes running and a tiny amount of memory being used (granted that might be archlinuxarm I'm remembering). It feels like a blank canvas.
Rarely. I think between the official repositories and the AUR, there's probably more useful, updated software than is available for Ubuntu.
Granted, I probably use less programs than most people, and I'm the type of person who would rather download the nodejs tarball and update my PATH than use the system package or nvm.
Not OP but I do recommend PopOS. It's worked really well for me.
The sluggish performance you're getting is honestly probably related to CFS (the default linux process scheduler). Windows does an AMAZING job with scheduling for UI applications. You almost never feel like your computer is struggling because anything UI related gets scheduled first. CFS does not do this.
I've found that changing the scheduler to something that may be less efficient overall, but is aimed at desktop use makes my experience so much better.
+1 for PopOS. I used to run Manjaro for ~3 years but then I managed to break it. After that I switched to PopOS. Couldnt be happier after over 4 years of using it.
The sluggish performance you get is from gnome (the user interface/desktop environment that Ubuntu defaults to). Every 6 months there is an update that noticeably improves things. If you don’t want to wait for it to be totally smother out, check out another desktop environment like xfce or plasma. Try plasma first since it’s got prettier visuals, but I like the simplicity of xfce (honestly, I rather enjoy gnome so use that most of the time)
If you're comfortable reading docs and starting from the command line, Arch is the hands down winner IMO. Rolling release distro means everything is up-to-date. AUR is packed with anything you could wish for. The Arch wiki is indispensable.
I have been really happy with Manjaro (the Gnome variant). Based on Arch (love the AUR), but easier to setup (more opinionated out of the box).
Honestly the dark theme of the Gnome variant is the most beautiful dark theme I have ever found for a Linux DE. I know there are lots of ways to tweak the various DEs to get some cool looking dark themes, but my experience is that they can take a lot of manual configuring and tend to still fail on the edge cases. The dark theme bundled with Manjaro Gnome looks amazing right out of the box!
All my Servers are FreeBSD too, but on the Laptop (because of wireless) i have now openSuse Tumbleweed but with the XFS Filesystem. It's fast and reliable, but to be honest i just need a Terminal, mosh/ssh, mpv, uemacs, Firefox, Wine(for MM VI) and Dosbox on it.
Ha, unfortunately I manage to crash it on a regular basis playing games on a Windows 10 VM with PCI passthrough. "Have you tried downloading a better sound card" has become a running joke on our Discord server when I'm having issues with it.
I've been using Linux on and off since 1996, but I settled on it for the past 10 years and the most traumatic thing I had to do since has been changing gear.
And even then, moving your entire setup from a machine to another have never been easier, when you know how to do it.
Corporate OSs are more polished, that's undeniable, Apple especially provides the best out of the box experience, but it's nothing comprared to the flexibility I can experience using Linux.
I can have a beefed up work laptop with Plasma and all the effects enabled and the same exact setup on the cheap low end laptop with XFCE.
Everything, really, just works.
And when it doesn't, I can somehow make it work.
There have been times I spent days trying to make the Nvidia card work, but it was because I was looking for the perfect setup that I usually don't experience on Windows or MacOS, but there's nothing I can do about it, no matter how much time I spend trying to fix it.
It's simply out of reach.
I'm aware that that's not what the average user is willing to go through, and that's perfectly fine, I don't feel better than them because I use a more complicated system, but I cannot go back to being limited in what I can do because I am not allowed to.
Also, modern distros are really really stable out of the box.
The laptop I use as a replacement for media server is an Ubuntu 20, it was an Ubuntu 18 and 16 before, I simply upgraded it to the new version and it worked, every time better than before.
If there's something I've learned in the past 25 years is that freedom do comes at a cost, but as of today, that cost is actually negligible.
P.s. forgot to mention that I do not have to care anymore about bloatware, automatic updates, things calling home, software you rely on going out of business and, most of all, lack of support or documentation
Thinkpad + Fedora
Fedora stays on the cutting edge of the kernel, which means that driver support is quite good. Additionally, most of the Linux kernel developers use Thinkpads, so the drivers for Thinkpad are always good. I've never had to download drivers individually.
Here's a list of things that just "worked" without me having to do anything:
1. My bluetooth noise cancelling headphones paired with no issues.
2. My desktop display with usb-c just works.
3. Old-style plugin iphone headphones worked as did their builtin mic.
4. Logitech camera plugging into my monitor and routing to the laptop via usb-c just works.
5. I have yet to find a printer (as long as its on the same wifi network) that I can't use (granted I barely print anything).
6. You can install and manage everything via the GUI.
7. Docker just works.
Things that didn't work:
1. I had to install "gnome-tweaks" in order to remap my CapsLock key to Control.
In my ten years of using Thinkpad+Fedora I've only encountered one issue and that was during the Wayland transition. The Zoom client (as in video chat) briefly didn't support screen sharing, but that was fixed several versions ago.
Also, people saying that "M1" is a gamechanger: I totally get it for certain sectors, but for Software Engineers? Memory has always been my bottleneck. I don't think I've ever seen my CPU choke on a legitimate task.