Not sure why everyone in this thread is so hesitant about Linux on a laptop? It literally just works (tm) for me and I haven’t used windows for 10 years and will never have a personal Mac.
Not sure why everyone in this thread is so hesitant about Linux on a laptop? It literally just works (tm) for me and I haven’t used windows for 10 years and will never have a personal Mac.
This includes mostly graphics driver issues (either simply Nvidia, or hybrids, or some exotic protocols such as DisplayLink), but also touchpad, power/suspend issues (e.g. wake-up failure), lack of fingerprint or smartcard reader drivers... Without mentioning certain manufacturers forcing you to use Windows simply to update docking station firmware drivers (like Dell does).
I still favor Linux whenever I can, but there is a real issue in several models, especially bleeding-edge powerful laptops from brands favored by businesses. Linux certification does improve things, but it often omits "optional" components such as fingerprint readers.
Overall, about 1-2 years after the new laptop model has been released, almost everything works fine, but when you're among the first users, some amount of time will be spent in forums trying to find solutions and workarounds for such issues.
It’s the lack of hibernate that really sucks. I got my 2013 MBA battery replaced. Leave it unplugged for 10 hours. 1% battery drop.
XPS 17 on Pop OS LTS with kernel 5.8. I have to shut down if I want battery left.
It is such a frequent issue I wrote an article 10 years ago that is still extremely relevant with simple instructions to enable a kernel work-around [0].
Specifically the problem is the ACPI DSDT (Differentiated System Description Table) - which is actually byte-code installed by the device manufacturer (but executed by the host OS) that handles device power states and enablement.
The problem is almost always DSDT methods are written to conditionally configure system hardware optimally ONLY when the host OS is a version of Windows as declared by the host OS's ACPI OSI (Operating System Identification).
When Linux boots only a minimal configuration is applied which very often has never been tested and thus devices fail to work reliably, especially for suspend/resume, in interesting ways.
Fortunately, Linux has a WORKAROUND that allows passing a 'fake' OSI on the kernel command-line in the form:
acpi_osi=! "acpi_osi=Windows XXXX"
The first instance (=!) clears all built-in kernel OSIs to avoid confusion. The second string sets the 'best' and only OSI value which has been found in the DSDT of that PC.That can be discovered from a Linux boot using:
sudo strings /sys/firmware/acpi/tables/DSDT | grep -i 'windows ' | sort
E.g: on my Lenovo E495 (AMD Ryzen 7 3700U) I have: Microsoft Windows NT
Windows 2001
Windows 2001.1
Windows 2001 SP1
Windows 2001 SP2
Windows 2001 SP3
Windows 2006
Windows 2006 SP1
Windows 2009
Windows 2009
Windows 2012
Windows 2013
Windows 2015
Windows 2015
Windows 2016
So, on the basis that "Windows 2016" is the 'latest' and likely the OSI expected to enable all features optimally I use that. On Debian/Ubuntu I therefore have: /etc/default/grub.d/local.cfg
GRUB_CMDLINE_LINUX="acpi_osi=! \"acpi_osi=Windows 2016\" "
Notice the escaped quote-marks inside the shell string since the argument contains a space.(some folks might prefer to edit the package-shipped /etc/default/grub but I prefer to leave that virgin to avoid package-upgrade prompts when that file is replaced.)
After:
sudo update-grub
/boot/grub/grub.cfg
will have the acpi_osi= entries added to all the "linux ..." command linesE.g:
$ grep acpi_osi= /boot/grub/grub.cfg
linux /vmlinuz-5.12.0-rc5+ root=/dev/mapper/ELLOE000-rootfs ro acpi_osi=! "acpi_osi=Windows 2016" systemd.unified_cgroup_hierarchy=1 nosplash
[0] https://iam.tj/prototype/enhancements/Windows-acpi_osi.htmlhttps://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
https://www.kernel.org/doc/Documentation/firmware-guide/acpi...
Clearly in some cases the manufacturers overrides for Linux are required...
Before the update: Windows sleep was strange, it would sleep but drain battery like crazy. Linux sleep was perfect, I could have the laptop sleeping for days.
After the update: Linux sleep started showing the exact problem as Windows now.
I did not dive much further because I switched jobs and got a ThinkPad at the new one which works perfect.
Semi on topic: I don't have one either but I would really like to, simply because then I could have a stronger account password.
Having to frequently use sudo restricts the length/complexity of the password since a longer one would simply be a pain in the ass to use. With a fingerprint reader this problem wouldn't exist.
It depends on the category of device and what feature you want. I recently got an X1 Tablet (the 2-in-1 version of the X1 Carbon), and it barely works on Linux; there's a veritable zoo of inscrutable bugs that render the device very annoying to use (for example, Plasma's night mode disables when you re-attach the keyboard). It's clear that the FOSS ecosystem as a whole places little priority on touchscreeny things, either on the device end or the software end; the overlap between people hackish enough to fix weird bugs and people who find 2-in-1 tablets compelling enough to hack on is evidently smaller than with normal laptops.
I think the best bet is going with as much of a run off the mill device as possible. In my experience a separate tablet works much better than a 2-in-1 compromise anyway. When your sole input device is a touchscreen, UX is (unsurprisingly) massively better with a touch-first UI compared to a mouse-first UI.
Android, on the other hand, is strictly improved by the addition of a hardware keyboard.
If you’re still looking, you could check out JingOS. I haven’t tried it personally but it seems to be basically an iPadOS desktop environment for Linux.
On ubuntu 18.04 or before you could/should do this : sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
Starting with 20.04 it's by default so you don't even need it IIRC.
(To be fair, my first Mac+Linux experience was on a PowerBook, which surprisingly worked rather well, though power management was terrible so battery life suffered. Once the Intel train started, it was... not great.)
In 2016 I bought a Razer Blade Stealth, and Linux ran perfectly on it; there was even 3rd-party support for custom things like the tweakable RGB keyboard backlight.
Like a fool, I didn't learn from my mistakes, and in 2018 I installed Linux on an employer-provided 2016 MacBook Pro. At the time, the keyboard and trackpad required an out-of-tree kernel driver (so I needed a USB keyboard and mouse to install), and audio and suspend-to-RAM didn't work (well, suspend was fine, but the disk drive wouldn't wake up on resume). My timing here was actually good, as not long before this, the NVMe drive itself didn't even work.
In 2019 I bought a Dell XPS 13, and aside from the fingerprint sensor, Linux again runs perfectly on it.
So, if you get yourself a laptop that is either specifically made to support Linux, or you've determined via research works well with Linux on it, then you should be fine. Otherwise, you'll probably have issues, unless you're lucky.
(Avoiding laptops with certain things, like Nvidia video and Broadcom WiFi, helps a lot.)
- Support for Optimus laptops with on-demand rendering offload, if one does the research and uses the correct env variables or tries the "Launch using Dedicated Graphics Card" menu item in GNOME.
- Some whispers of Nvidia finally using dmabuf in the next version of its drivers. With appropriate code/kernel module restructuring for GPL compatibility, I guess.
One solution is getting a wired mic.
E: Realised "sharing" would be ambiguous - I mean screen sharing on video calls, etc.
That Linux MS Teams client can only do read-only sharing (no giving control to remote party) is another matter, which bothers me a lot.
I feel like this is true of every computing platform in general.
"I don't even have any problems with bluetooth, audio or a secondary display"
Why would you mention these? Why would anybody expect to have problems with that? ;)
FWIW I use linux on laptop for dev, it's great for my specific use case (terminals flying around), I would not recommend it to my family.
i3wm FTW
Because other people on Hacker News always mention problems like them.
Because you can expect issues with this for example on mac?
https://www.reddit.com/r/macbookpro/comments/ekh86o/macbook_...
1. Poor discoverability and ease of use - if you have an issue or a need, it's often really hard to find out how to solve it. Even if you do manage to find a solution, often it's not quite plug-and-play and you have to mess around in configs or compile something yourself in order to get it to work. Fun for college students, but a massive pain for everyone else.
2. Hardware drivers: 50% of my issues with linux come from nvidia being an ass. Fuck you, nvidia. Likewise with other devices that often only get third-party drivers which aren't good enough or require more wrangling, see problem 1.
Every OS will add annoyances and bugs on top. But it's on Linux where people usually have to fight/configure/trial-and-error to get basic things working more often than Windows and macOS.
And this is not some Linux hater notion. It has been complained about by people like ESR, Linus, and Miguel Icaza. If the original "bazaar" proponent, the founder of the OS, and the original creator of the still major desktop environment have issues with ease-of-use and just-works, who are we to say otherwise?
I have a nice list of issues that contradicts that statement. For example, M1 macs like to kernel panic for some reason.
> But it's on Linux where people usually have to fight/configure/trial-and-error to get basic things working more often than Windows and macOS.
Depends what you are trying to achieve. If you were trying to hackintosh some random ASUS+AMD laptop, your experience would not be nice either. Similarly, when you are trying to use random crap (that's technical term) where nobody ever did any integration with Linux, the experience will be bad (that someone doing the integration is going to be you). If you use either supported machine model (where the machine vendor did all the work), or machine that's very near to reference designs (where the chip vendors did the work), you experience will be much better.
Better than my colleagues who use a Macbook and can't use Display Ports correctly, can't plug a cable into one side without it ramping up CPU, can't use their keyboards after a while, etcetcetc.
My XPS 15 wifi won't wake automatically after sleep on Windows. Wifi works perfectly on Linux, but there are things that don't work with the touchscreen in tablet mode on Fedora that I've been told work on Ubuntu.
My T2 MacBooks are little nightmares sometimes, fans screaming during video meetings and crashing and draining battery instead of sleeping, and I still haven't seen a compelling reason to give up my 2015 13". If the second gen M-series solves the weirder problems, maybe.
The 2016-2019 mbp have been ripped on by everyone, Mac fan or not. I'm not sure if they will go down as the worst Macs of all time, but it might the longest stretch of bad Macs in the history of the Mac.
With the M1 that time appears to be over - finally.
security = 1 / convenienceIf you wanted to use a TPM to store the FDE passphrase, well, you have the patience of a saint. Compare this to Mac or Windows where you click a single button and it's all setup, including TPM!
As much as I love linux for server environments, it remains a failure when it comes to modern desktop environments.
On top of what you mentioned, software distribution on Linux is still a nightmare for normal users. Yea apt-get is great for us nerds, but Bob the Accountant has no desire to use a CLI. Linux will not be viable on the modern desktop until the user never has to see a CLI.
- a limitation of the laptop
- a limitation of linux
- a configuration issue (limitation of time / person)
I also have an older Macbook Air, and when I tried to auto-update it to the latest MacOS, the update process corrupted my partition and lost all my files (thankfully backed up in the cloud).
Also had issues with Windows Update being broken out of the box when I tried to set up a PC for my mom with Windows 8. Seriously, I needed to manually download an update on a thumb drive to fix windows update. Like, how did this OS release ever pass QA?
I would honestly say Linux on the desktop and on laptops is pretty good in my experience, and if it had just a little more support from hardware vendors it would be near-perfect. I would definitely say that compared to Windows, the Linux experience is a lot better.
I feel the only people that say Linux works great on a laptop is because A) it manages to boot it and 2) Never used a MacBook Pro or similar so they don't know what something working well means.
I'd love to use a linux laptop and I've used it many years in the past, but not going back this year. It is not ready yet for my expectations.
My current benchmark for laptop integration is a Dell XPS 13 2-in-1 that my previous employer bought me with Windows 10. It had a high-DPI screen and there were so many bugs it wasn't even funny. The touchpad was horrible to use. Connecting and disconnecting external monitors was a fun adventure not unlike playing roulette to see if the big presentation you're about to make will ever show on the projector.
Overall, I'd say my Windows and Linux experiences on laptops has been about equal in terms of frustration and annoyance. I haven't had a Mac since like 2007 when I got rid of my G4 PowerBook which was probably the most polished laptop I've ever used in terms of hardware/software just working-ness.
Windows 10 is a mess. It makes Linux on a laptop much easier to bear :)
I'm very skeptical we will ever see such a good integration in the linux or windows world because there isn't any single entity doing both.
My ideal situation would be a Macbook Pro running linux to the perfection, or just having MacOS open source. I don't think I'm going to see any of this in my lifetime.
Had no problems plugging my 4k LG CX with at 1440p@120Hz mode, which is kinda more than I managed to do with Mac.
>Never used a MacBook Pro or similar so they don't know what something working well means
Nope. Used three different macs over course of 4 years due to fact that three employers provided me them. I hated those machines, especially constant overheating issues when using external monitors. Maybe M1 fixed that, but they still won't offer it with 16' ones.
Also hated the UI with burning passion. Only thing that made it usable is the fact that maximizing window switches the window to a different "workspace". If only those were numbered, persistently assigned to monitors and windows could be configured to only spawn on particular workspaces it would be pretty nice though.
One thing I really liked though is retina display on two later ones.
On the contrary; if you use all three systems, you realize, that all of them have quirks. You just got used to them, so you don't get disturbed to them, but the quirks of the system you don't use regularly will get noticed quickly.
For example, only with the above-mentioned MacBook Pro I experienced a situation, where I'm connected to the wifi, unless suddenly I'am not, all network packets go to null and to get connected again, I have to reboot the machine. Or the machine randomly not waking up from sleep, when connected to TB dock. Or - new on M1 - machine kernel panicking, the menu bar getting non-responsive or not recognizing ethernet adapter in the TB dock at all.
Your best bet is a Dell laptop with an integrated Intel gpu chip.
But yeah, short-term there's a bit of a barrier to entry. Once it's overcome, though, this might be what pushes me to voluntarily buy any piece of Apple hardware made after 2007.
I am not sure why would would expect better success with this processor than we have had with x86? Most PC hardware is directly supported by the OEM in Linux.
At some point the churn got to me and I stopped customising my computer environments. Just use the defaults. By this time OSX was a "real UNIX" and I hopped over. No regrets. It does what I need it to do, which is still mostly to run a terminal and a browser.
I will say that reliably turning on and off when I close the lid is a great quality of life improvement.
The Ubuntu bluetooth stack has been misconfigured for a long time, and it still is (specifically, the pulseaudio bluetooth module is misnamed; there is an open bug). I use an Ubuntu MATE, but I think this applies to the other Ubuntu distros as well.
It also had other misconfigurations in the past, and anyway, the bluetooth stack has always been poor quality (nowadays is much better though).
Even the Dell XPS, which is supposed to be perfectly compatible, has minor niggles (in other areas).
So, Ubuntu/Linux works acceptably... yes, but perfectly, definitely not.
For me kernel update does not sound as something big, at least I know that something like kernel exists in Linux, the point is that average computer user these days does not have such knowledge.
That was just one example. Many people can give more and more on various issues. Some edge cases with routers provided by ISP. With wifi repeaters/boosters. With printers. DLNA equipment connectivity (I had this one too - again, after googling I've installed some software and it started to work, but average... and so on).
Typically older equipment and standard peripherals work ok. But people use all kind of stuff.
Touchpad is not Macbook-level, though. But may be XPS is better.
I also find it to be stable and generally good distro, but of course that's more subjective.
Everything graphics related is crap compared to Windows and MacOS. From Optimus not working to all kinds of high DPI issues, to the ease of not completely breaking things with a bad driver update.
It's not really Linux's fault, but it affects the user experience for sure.
Or all you do is use the browser.
But honestly, just buy a Thinkpad and everything works out of the box. Yes, everything.
For example, the microphone of the X1 Carbon 7th generation still doesn't work out of the box. You need to blacklist a handful of kernel modules and edit your PulseAudio configuration to force the loading of an ALSA source hooked to the correct device ID.
The Arch wiki has an article cataloguing issues and workarounds (with various degrees of success) for every generation of the X1.
But you're right - the experience is way better than a decade ago and these days I'd expect anything that's been on the shelf of a local office store to work just fine.
My laptop after that at least had a BIOS option to disable the Nvidia graphics. I only bought an Nvidia model again because the OEM made a mistake and sold it for hundreds less than the Intel one on their website. Every distro needed me to do something to get the screen brightness keys to work.
WiFi chipsets could also be a hassle though they have gotten much better.
My current laptop, a 2018 MacBook Pro, is basically near unusable as a Linux laptop. By default the trackpad and keyboard don't work and you need someone's kernel patch to use them. You can't currently have both sleep and sound. A bunch of little other gremlins.
* Bumblebee/Optimus is a pain in the ass to install
* Performance on the second screen with Optimus is dreadful (sub 30Hz refresh rate)
* Being an NVidia card, I have the choice between Nouveau which can only put it into its low power state (which fucks me over when I need to use the Android emulator), or the proprietary nvidia ones which are, well, shit.
* Putting the laptop to sleep with an external display connected is a sure way to have it crash when it starts back up.
* Just kidding it doesn't actually go to sleep, the GPU stays on and runs like crazy.
I would _love_ to be running Debian on this machine. Sadly, the state of some things on Linux makes it impossible for me.
My emergency laptop, an 8 year old low end HP with a broken keyboard is still happily running along with Debian though.
Whenever I need to run CUDA stuff (my only use case for the nvidia GPU), I power it up, and pass it through to a VM that also runs Linux, but with the horrid nvidia stuff installed. Works like a charm.
I have this going on two very similar machines: A circa 2017 XPS 9560, and a circa 2020 XPS 7590. Both are 15". I don't have the 9560 near me at the moment, but the 7590 has
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
01:00.0 3D controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev ff)
I'm happy to help you debug if you want. What happens if you remove all nvidia drivers and plug something into the HDMI port? Do you notice any response from the external screen if you hit for example control f2?
Use this instead:
https://download.nvidia.com/XFree86/Linux-x86_64/440.31/READ...
https://download.nvidia.com/XFree86/Linux-x86_64/465.19.01/R...
And https://download.nvidia.com/XFree86/Linux-x86_64/465.19.01/R... for power management, including turning off the GPU entirely when unused.
I've also had good experiences with linux laptops. Maybe not perfect, but more like easily resolved in 20 minutes of googling, which is totally reasonable to me.
If I didn't use my computer for music production I'd have no problem going Linux only.
Eventually whoever was posting these probably moved on to a different model, which meant mine would stop working correctly when I'd upgrade Ubuntu.
When I tried again ONE change made all the difference. reconfiguring the trackpad settings. I think before there were confusing click regions for different buttons. I think I changed to one-finger two-finger tap and it was like a different machine.
So I get where folks are coming from.
I used Ubuntu on my sole/main machine for a month up until recently: i9 10900K, 32GB, 1TB NVMe SSD, GTX1080, MSI Z-490-A Pro, 3 x screens.
In my day job I'm a .NET developer so I created a Windows 10 VM for VS 2019 and allocated 4 cores and 12GB RAM. I used VMWare Workstation 16. It was smooth as hell.
I developed PHP/Laravel/Wordpress stuff in Linux using PHP Storm and VSCode. Docker on Linux natively is faster than in WSL2 (I know it's to do with accessing the file system but still...).
I learned a whole bunch of commands in this time and learned to live inside the terminal for a chunk of my work. It was fantastic. I loved it.
I also loved being able to configure Ubuntu and make it look like I wanted with new icons and whatnot: I didn't go mental, but it looked cool when I was finished.
All in all, as a dev machine (and browsing 'n' stuff) it worked... quite ok, sort of: it wasn't all plain sailing. Here are the issues I had
1. Realtek 2.5GB nic would not work so I bought a 1G USB nic and it ran fine without all kinds of tweaking (yes, I tried a bunch of stuff I found online but I can't get the realtek nic to work: something to do with the older kernel)
2a. When waking from sleep it sometimes lost network so had to reboot
2b. When waking from sleep AND with NordVPN on in the background it always failed to find a network card... reboot fixed it
3. Printer (HP MFP M477DW) would disappear frequently. Ubuntu would find it again when I asked but it wouldn't print to it. This required wizardry to get it running... more miss than hit so I ended up only using it through the Windows 10 VM
4. It would hang sometimes. Music would still be playing in the background but would become unresponsive. Happened maybe 5 times in a month. Reboot to fix.
5. VMWare workstation wouldn't work properly if I had display scaling turned on inside Ubuntu: it had no idea what resolution to show so I had to turn it off making things smaller than I'd like on the Ubuntu DESKTOP
6. Sound would fail regularly: usually crackled when I opened a web page. So I either close every browser window or stop all sound playing for a minute or so. I use a soundblaster something-or-other card.
7. OnlyOffice would open off-screen every single time. I had to do Alt+Space every time. Works perfectly on Windows 10. I switched to Libreoffice
All in all, it has come a long way since I last used it a few years ago but I NEVER have any of these issues in Windows 10. Ever. And, whether we like it or not, we tend to remember the bad stuff and I can't get away from the fact that W10 is just more stable.... for me, on my hardware, at least.
But I should caveat that by saying that I've disabled literally EVERYTHING in W10 using O&O Shutup, including updates (I've also deleted the Windows Update Medic Service dll so it doesn't turn updates back on). I hate notifications and I want to pick when I run updates myself - given the spotty nature of the updates I usually wait a while, like when I've finished some client work and can afford a bit of downtime if the update fails)
In Linux' defense, VMware workstation 16 running Windows 10 is smoother than a Windows 10 VM on VMware workstation on Windows. No idea why, it just runs smoother. If Linux stability was fixed (waking from sleep especially) I would switch immediately but all the tiny, annoying niggles that I just don't get with W10 are enough to keep me on W10... W10 is a tool and, for me, it's a better one for now.
Reminded me about a time years ago I had to do some c# work in Windows 7. At the time, I found the best Windows laptop experience was running it in a VM on a MBP.
I will say that running natively on Windows is still faster but the VM of Windows 10 in VMWare Workstation on Linux is noticeably faster and smoother than running that same Windows 10 VM on VMWare Workstation on Windows 10... it just defies logic!
It's not like it's a Type 1 hypervisor in Linux and Type 2 in Windows (well, I assume it isn't!).