Most of the things in Thinkpads work but not all (notably the latest WWAN LTE Modems don't have support).
I could write up my experience if there's interest.
Most of the things in Thinkpads work but not all (notably the latest WWAN LTE Modems don't have support).
I could write up my experience if there's interest.
Start with Ubuntu, Fedora, elementary OS, or any of the myriads of actually complete operating systems that let you get some work done less than half an hour since you start an installation.
https://www.omgubuntu.co.uk/2016/03/ubuntu-drops-amd-catalys...
Also: I'm not judging an ecosystem, I'm judging the Laptop support of Linux and I know that some of it is not even the fault of Linux itself.
Things like:
- Windows has 7h battery lifetime, Linux gets 3h on my Laptop (that is with Fedora)
- Which driver do I need to disable the NVidia card? Modesetting, xf86-video-intel, nouveau, etc.. .what do these even mean? (that is with Fedora)
- Why does the modem not work? (That is with Fedora)
- Does my Laptop have a light sensor?
- How to disable the "Hot Corner" in Gnome (Fedora) and many more things.
Almost everything I'm facing has nothing to do with the distro and I switched to Arch because its documentation is by far the best out there.
The battery life is solved on Ubuntu by TLP which is installed by default (at least it was on Ubuntu Mate)
Ubuntu is now shipping with free and proprietary Nvidia drivers and you can choose during the installation which ones you want to use.
Gnome hot corners are disabled by default on Ubuntu. Of course if you prefer vanilla Gnome experience you can always use it, it's just a matter of selecting item from dropdown on login screen.
As for the light sensors and modem, I'm not sure but I imagine that it's not a big deal under Ubuntu or Pop!_OS. For me Fedora was always ALMOST there. Most of the times it was working but there was many little tweaks that had to be done in order to make everything working. On Ubuntu even things like fingerprint reader login was dead easy to setup (Thinkpad X230).
I tried Ubuntu us well. I installed TLP on Arch & Fedora. I didn't even test without and the battery life is still abysmal compared to Windows.
Light sensor: I eventually figured that out, thanks.
Modem: There's just no driver for linux, the distro doesn't matter.
My point is: It shouldn't be this hard. I shouldn't have to know what TLP is or what kind of drivers I need etc.
Almost any time you find something that doesn't work on your laptop, it's because the manufacturer used chipsets that didn't follow spec and/or only worked with Microsoft to produce drivers.
So it's unfortunate that your laptop didn't work immediately, but it's also impossible for kernel devs to produce perfect drivers if no one shares hardware specs with them. That's just unreasonable.
If you want a laptop made for Linux like the one you own was made for Windows, you can either buy from one of the many vendors that advertise Linux support or you can shop by chipset to make sure they're all supported. Personally, I appreciate the choice, but I know not everyone wants to know how the clock works, just what time it is.
You can do a bunch of things around under-volting, governor changes, powertop tuning, profile settings, tlp, etc. to improve battery on arch. Helped me, at least.
> disable the NVidia card
You shouldn't need a driver to disable it. I switched to arch specifically because gpu switching on manjaro was a nightmare; the arch wiki did it for me: https://wiki.archlinux.org/index.php/Dell_XPS_15_9570#NVIDIA...
It's for a different machine, but it should still provide a decent starting point.
> modem not work
Drivers, probably? Not many laptops have them.
> light sensor
Try this to check: `find /proc /sys | grep -ie brightness -e light -e lux -e lumin`. If that doesn't work, `sudo modprobe -a tsl2550 isl29003 isl29020 apds9802als apds990x bh1770glc bh1780gli` and run the find command again, or try `sensors-detect`/`i2cdetect`. Never configured personally, but these two packages look promising:
* https://github.com/mikhail-m1/illuminanced
* https://cgit.chrisoft.org/lightsd.git/
If you feel like re-implementing, gnome also made one: https://github.com/hadess/iio-sensor-proxy
> How to disable the "Hot Corner" in Gnome
Not what you want to hear, but... don't use gnome. It's not built for tweaking as much as other things are. Something like KDE is orders of magnitude more tweakable, or something simpler like budgie might fit your use case. Personally I like i3-gaps, but that's definitely more advanced.
Any way, if you want to disable it, you actually have to install an extension to do it. More info here: https://michigantechit.teamdynamix.com/TDClient/KB/ArticleDe...
As you said, documentation is awesome. Arch wiki is great.
(I'm using bspwm, the Gnome Hot Corner thing was just another example, it shouldn't require an addon to disable that)
Why don't the mainstream distros automatically apply laptop (especially powersaving) specific settings if they detect an internal battery?
Why don't the main distros automatically apply a 'small speakers' equalization to any detected built-in speakers? Running Ubuntu on my MacBook Pro makes it sound like ass but doing a very generic equalization via PulseEffects makes it sound almost the same as on macOS
Why doesn't increasing or lowering brightness fade up or down instead of doing big jumps up or down?
Just doing those three things would make Linux feel tremendously more polished on any laptop it's installed on, no 'blessing' of certain brands or laptop series needed.
Purism?
Of course you’ll need to know basic Linux fundamentals and understand systemd at a basic level to get through the install process - but these are not hard, I think.
I wouldn't agree that installing Arch is that big of a hassle - yes, you don't a nice menu based installer, but really, after setting up all of your partitions, installing the root filesystem, adding a user, and installing some packages, and installing hte bootloader, what else is there to do? To be fair, the install process has become easier over the years, as things like timezones and locales are becoming easier to configure due to systemd. But I must concede, if you've never partitioned a drive manually, or added a user, you'll want to take your time. And I always read the wiki's install instructions anyway. And whilst this does mean that there's a bit more complexity associated with setting up Arch, if you're using installing a non-standard OS on your hardware, the knowledge you gain will by doing so will almost always turn out to be useful in some way. As far as tinkering with it, I've never had to explicitly tinker with exotic configs to get my hardware to work as good or better than it would on Ubuntu, and to get my exotic config requirements to work is far easier on Arch than it is on Debian, Ubuntu or Fedora. Manjaro is so broken that I can't even boot the gnome installer on a VM. Besides, it's far easier to manage my machine if there's no auto-updater grabbing a lock on my package manager on for the first 15 minutes of a boot, every boot (looking at you Fedora), or having an update process that may leave you with a severely outdated kernel even though you jumped through the hoops to get a recent kernel (Looking at you Ubuntu 16.04 LTS).
I haven't made this experience with Manjaro on several systems.
Setting up Arch isn't just about partitioning and adding a user. That's trivial stuff that I'm simply not talking about. Though somehow Arch's documentation has become significantly worse for complete newbies ever since they got rid of the new user's guide and you end up having to read a bunch of utterly irrelevant stuff in order to find the magic incantation that actually works (and no, it doesn't actually explain anywhere why it works the way it does).
I've had to do tons of messing around with settings just to get Arch working properly on different systems. I had problems with resume working properly on my Thinkpad for forever, and less decently supported systems had more issues. I'm just not that kind of user anymore and I don't want to be my own tech support. I have enough to juggle in userland pertaining to my actual job that I simply do. not. want. anything going wrong that I'll have to dig into some obscure config file somewhere to fix.
Manjaro gives me most of the benefits of Arch without having to waste my time with setting up an Arch system just perfectly so it simply works. I have access to the AUR and I have reasonably up-to-date packages (and I do run unstable on my laptop, which usually works fine).
Some people just want to use Linux, not live and breath Linux, and this constant resistance against users who don't want to wade knee-deep in config bullshit is completely infuriating.
You run Arch. Successfully. Congratulations. You're better than everybody else.
The most difficult part is the install, which really isn't that bad if you read the installation guide. My first install took about 2 hours, and now it takes ~20 minutes. When you install, you basically do the following:
1. Configure internet access (netctl is pretty simple) 2. Set up mirrors (if you're lazy, just enable the kernel.org ones, they're the most consistent) 3. Mount partition(s) - need to create them manually too; cfdisk is great 4. Install base packages 5. chroot - basic configuration (hostname, locale, etc) 6. Install/configure grub 7. Reboot 8. Install everything else, may take a few reboots to make sure everything comes up as expected
In my recent installs, I install the desktop environment (and drivers) and enable it before rebooting, so when it comes up, it's ready to go. The important thing to remember when coming from something like Ubuntu is that you need to enable services through systemd manually.
What I really appreciate about Arch is that I really haven't had to touch it since I got it configured. I run updates every week or so and check archlinux.org first to make sure there are no weird steps required to do an update (usually deleting a file on the filesystem or upgrading a dependency first or something due to a package change). I haven't had any significant breakage, though I have had to roll back the kernel once or twice in the last couple years (Arch keeps one backup kernel by default). Make sure to always reboot when the kernel gets upgraded and you'll be fine. Also, the issues I've had are because the nvidia driver didn't get updated with the kernel, so if you have AMD or Intel graphics, this likely won't happen to you.
I've tried a few different distributions (Ubuntu, Fedora, openSUSE), and honestly Arch has been the least finicky once installed. I hate release-based distributions since doing a release upgrade tends to break things.
As pointed out by others, pacman is that good. Much faster than others, better dependency resolution, and AUR. From a productivity stand-point, AUR allows me to avoid the significant tedium of cloning, fiddling with, and cajoling a git package to build.
Seriously, though, you folks put up with _a lot_ of crap like this (the jokes and the endless system configuration tweaking)
I'm currently working on Mac OS, and the limitations when rebinding keyboard shortcuts for example are absolutely infuriating. Getting to log in on my home Arch Linux desktop is so relaxing every day after work - if something doesn't work the way I want it to work, I can just fix it myself.
The thing with Arch is it is a bit of a pain to install compared to basically every other OS. Needlessly painful in my personal opinion but I'm not going to argue against the hard work the maintainers put in. However the beauty of Arch is once it's running it will last for years with very little effort.
It's funny you mention keyboard bindings though, I've spent so much time trying to get keyboard bindings right on OS X and it's still not right. I wish OS X had an option to toggle between Mac and IBM bindings. I get the command key is useful on occasions but Apple really are the odd one out these days and it's a pain switching between Macs and PCs because of it.
In the past 5+ years I've not had to install a single driver _except_ one nvidia driver on one of the machines I wanted to game on. And that was not necessary except for gaming.
Lately, it's just pretty much "install Debian from .ISO" -> done.
By the time I've installed everything I want, I bet I've spent less time getting Arch set up than the Windows install that comes with my computer (tracking down software on Windows sucks, on Arch pacman gets it done quickly).
If you're using Nvidia, most distributions (except Free Software zealots like Debian and Fedora) include their proprietary driver in the repositories, and honestly nouveau is quite good for most things. If you have the choice, go for AMD cards and they'll work much better out of the box.
It's really luck of the draw, you may get a machine that has a device without good driver support, but it seems increasingly rare. Some ThinkPads now officially support Linux and Dell has been producing the XPS 13 Developer Edition for years which ships with linux and is supported by Dell.
But these are personal tweaks, the machines run happy as they are post-install without any meddling. Steam runs happy, proton is running a lot of games without any problem. So it _is_ ready for the Desktop for some of us.
Arch really isn't that complicated, and the documentation is fantastic.
I've been trying to switch to openSUSE (want one distribution everywhere), and I've had more trouble than in Arch, and not much trouble at that. Linux in general is pretty trouble-free these days if you have decent hardware.
Most of the people who have trouble on Linux are trying to use some crappy laptop with really low quality WiFi or something. The nicer your hardware is, the better Linux will work on it. That being said, even crappy laptops seem to run Linux reasonably well these days.
though really i think for many people part of the appeal of Arch, FreeBSD, etc, IS the endless system configuration tweaking.