I'm having a very different experience. I've been using Linux on and off for many years, but 2022 was the first time I installed it on a new laptop (Thinkpad X1 Carbon) and I like my overall setup + work experience more than on a MacBook Pro. I was able to tweak a lot of things related to my flow that are more difficult to tweak on macOS. Battery life is excellent, performance maybe not on-par with M1, but still very good and I like the keyboard a lot more.
Long live Linux.
Edit: Oh yeah, the hibernation is still crappy on Linux, but suspend works well and the laptop starts extremely quickly.
I'm curious about the battery life on the X1 Carbon (and the model/specs).
I'm on an M1 Air, but over the years I've also been running (mainly) Mint on various ThinkPads and whilst I loved the experience I never got more than a few hours. And I'm now getting days with Mac OS on the Air, which is the main reason I'm using it - I have become used to not worrying about the battery life, and certainly never having to constrain performance workloads to preserve it.
So I read "Battery life is excellent" and am curious. I get that it won't be M1 (ARM) level, but for doing stuff like a mix of writing plus development (with for example smallish Go compilations) do you have a feel for any kind of averages?
I used Linux on my desktop for many years and also on and off on my laptop but since I got an M1 laptop at my previous job and since bought one for personal use, the Linux/Windows x86 laptops just can't seem to compete for my use. As you mentioned, particularly battery life is stellar on the M1.
> the Linux/Windows x86 laptops just can't seem to compete for my use
I still find it surprising. Not the M1, but the impact the battery life has on my perceptions.
In so many ways I prefer Linux (and Windows) to the Mac. I also prefer the hardware on ThinkPads (and even my old HP ProBook) because whilst the build quality isn't there they have vastly superior keyboards, ports, and/or matte screen.
And yet it's always the Air I pick up because it's always the Air I know will launch virtually instantly and run for hours.
I consistently get 10+ hours. I'm currently using PopOS+GNOME and my typical workload is a combination of a web browser + development in terminal (vim) + Obsidian for notes + cloud sync + listening to music + IM (but not Slack ;) ). It is to say, the workload is rather low.
It is certainly not M1-like battery performance, but plenty for my average workday not to feel constrained.
My current laptop is ThinkPad X1 Carbon 7th Gen from 2019 with 1080p screen, 10th gen Intel CPU, 16GB RAM, I replaced SSD for a very fast Samsung one. The laptop has a rather tiny 51Wh battery.
Thanks - I'll bear that in mind going forward and appreciate the info. I currently have a HP ProBook of roughly the same spec (just because I quite like the keyboard and screen) but cheaper, and only get about 5 hours.
I have the IdeaPad S540 from Lenovo, and it runs Fedora 37 more or less flawlessly. Battery life is decent, I'm getting 5-7 hours out of it (light usage, 20% brightness - browsing, e-mail, some videos, office applications like LibreOffice).
Everything on laptops has been good enough for a few years for me now in Linux. Maybe not perfect and there are things that are better out there, but I am not chasing perfection. Good enough is good enough.
> but suspend works well and the laptop starts extremely quickly.
Well... no, since most new laptop manufacturers had removed the S3 state (classic suspend to RAM) because Microsoft said that today they have to go with "Modern standby" that basically is leave the system on at a lower power settings. Beside that it doesn't work and will overheat your laptop if placed in a bag... and unfortunately since it is removed from the UEFI Linux can't do too much to put it back.
I use GNOME with a few extensions. I love that GNOME setup that comes with PopOS has great keyboard shortcuts, snapping and tiling (if desired - on my 14" laptop I don't use it much) out of the box.
From macOS GUI I miss:
1) And the only big one: a good implementation of fractional scaling. Not an issue for the current laptop, but likely will annoy the hell out of me once I upgrade to 1600p in the future.
2) Screen casting works better on macOS.
3) (nit-picky) emoji selector
4) The ability to instantly look up answers to all GUI problems, because so many devs use macOS.
If you're in the tech industry then you may want to strongly consider what keyboard does a laptop have. ThinkPads still win IMO despite Lenovo making keyboards thinner in the recent years.
One absolute killer feature of ThinkPads for me is that you can remap the trackpad keys under the spacebar to any other key, e.g. to SUPER or ALT key for superb ergonomics.
This used to be true, but no more. There's a lot of great hardware built for Linux or officially compatible with Linux. I'll just list a few comparable to MBP 16" since that's what I'm most familiar with:
* StarLabs Starfighter
* ThinkPad X1 Carbon Extreme
* TUXEDO Computers InfinityBook Pro 16"
Yes it takes quite a lot of effort to get there. Vim motions take weeks to become your second nature, and then you'll probably spend 20-50hours finding plugins and configuring Neovim until you reach the Vimvarna. That's a ton of effort, but like I explained in the other post, I found it being both fun and making me a better programmer as an unintended side effect.
Breakages are rare though especially if you use a plugin manager that shows you commits from your current versions of plugins (e.g. lazy.nvim [1]) so that you can see if you need to update anything.
IMO, not a big deal if you have fun while doing so. I still have to finish elden ring and have already played for 105 hours. 50 hours for Vimvarna are nothing and a time well invested :D
The advantage of (Neo)vim is that it lets you create a PDE (personalized development environment) [1] where you can customize every little detail to your liking easily [2] and as a result program and navigate at the speed of thought.
It takes some effort and likely 20-30 plugins, but you get to learn a lot and IMO become a better programmer as a (unintended?) side effect. For me it's part of the continuous improvement to understand your tools.
Last but not least it's just so much joy when you can envision a certain feature (e.g. I wanted to have a function header visible in the first line of editor even when the top of the function has scrolled off the screen) and either find a plugin or program it yourself. This is exactly the kind of primal joy that initially made me pursue the career of software engineer.
[1] The concept of PDE is explained in this video: https://youtu.be/QMVIJhC9Veg
[2] Easily is relative. IMO each little customization is quick, but you'll end up customizing hundreds of things over time.
I'm rewriting it to be 100% Lua at the moment. It's 80% done and I've just pushed it for you. Take a look at the init.lua and ignore init.vim which is going away and is in a messy transitional state. The only thing that's missing in the Lua config is LSP integration, but that should be done by tomorrow as well.
Edit: Just remembered that the Lua version also has no plugin manager, but there's plugin-install.fish script that just clones plugins into the correct folder, which works for now. I'll probably add lazy.nvim plugin manager in the upcoming weeks as well ;)
Long live Linux.
Edit: Oh yeah, the hibernation is still crappy on Linux, but suspend works well and the laptop starts extremely quickly.