21 comments

[ 3.2 ms ] story [ 48.0 ms ] thread
Kernel Newbies Linux 4.14 changelog → https://kernelnewbies.org/Linux_4.14
Thanks, that's a useful additional link.

In Drivers -> Graphics, I see a lot of AMD GPU listed, that's expected given what I read about Nvidia and Linux story and my personal experience trying to get my Nvidia Optimus setup work on my laptop...

But this makes me wonder:

What are the most compatible laptops on the market these days for running a Linux distro? Any brand that's famous for good Linux support? I heard Lenovo Thinkpad were pretty good but I've been disappointed with my w520 and its Nvidia Optimus setup...

The usual big names (Dell, HP, Lenovo) do fine but as you have discovered, you need to avoid anything with a Nvidia GPU (Intel and AMD are usually fine). Also avoid Broadcom WiFi cards if possible.
I'm writing this on a laptop which has all video outputs on Nvidia GPU and Intel's card is disabled completely in BIOS by vendor (Lenovo Y500). AMD had Switchable Graphics which had the same architecture choice as Optimus (MUX-less pain in the ass), but IIRC they've dropped it.
There are some laptops that come preloaded with Linux, those are almost always going to be a solid option. Aside from those, generally stick to devices with Intel or AMD GPUs if you want to use open drivers. NVIDIA is a good option if you're a gamer or doing stuff with CUDA, but you need to use the closed-source driver to get the best performance.

If you give a bit more information about what you're looking for in a laptop (portability, power, battery life, etc...) and/or what you're likely to use it for, I could give you some more specific recommendations.

Thanks, That's a good question, I'm not completely sure yet actually. Usually battery life isn't too much of an issue as there's always electric plugs around where I spend my time.

Something that can have a simple multiple monitors setup / hook to the TV setup. Something that's not overheating, but that would be powerful enough (not sure if those 2 are compatible!) to compile C++ programs full of templates. (i.e. good multicore setup, 16+ gb of RAM, and a large enough SSD), and a 14 or 15 inch monitor

These days though I'm wondering if I should simply get a desktop and a tablet for everyday browsing. The reason I favor laptops is because I'm assuming Linux support of the different drivers there would be better than a custom made desktop, I might be wrong there! I'll do more research as my w520 gets obsolete, but after easily replacing its DVD drive bay with a second SSD, and disabling the Nvidia GPU, I get a good enough experience right now.

I'd say stay away from Optimus like from the plague (Nvidia still doesn't support PRIME properly and I doubt it ever will). Upcoming Raven Ridge laptops should be interesting.
I got an Asus vivobook pro a few weeks ago. It came with endless linux. I'm now running Ubuntu 17.10 and I've had no issues. Everything just works, including all the backlight / brightness control buttons.

The Nvidia settings gui (comes with drivers) allows me to switch between Nvidia and intel graphics. With intel graphics card selected and the tlp package (apt install tlp, no additional setup, should be installed by default imho), I get 60-90 minutes more than reviewers got on windows.

Intel hardware (CPU, NICs, iGPU) is well supported by modern Linux kernels. AMD CPUs and GPUs are also hassle-free. NVidia is fine with proprietary blobs only, while open-sourced Nouveau is barely usable on modern GPUs. I personally run GTX1080Ti on ArchLinux with closed vendor driver with no complains. However developers claim that there's a serious issue with the NVIDIA support[1].

As for end-products: I've heard good things about Dell's XPS-series (especially "Developer Edition")[2], Purism Libre-series[3], and System76[4] laptops. Lenovo ThinkPads[5] are traditionally also well supported.

Generally it's always good to check Linux support on ArchWiki[6], LinuxWireless[7] and other resources before buying any hardware.

[1] https://news.ycombinator.com/item?id=15564611

[2] https://news.ycombinator.com/item?id=13359588

[3] https://puri.sm

[4] https://system76.com/laptops

[5] https://www.thinkwiki.org/wiki/ThinkWiki

[6] https://wiki.archlinux.org/index.php/Category:Hardware

[7] https://wireless.wiki.kernel.org/en/users

It feels like half of all Linux developers use Thinkpad business models like T and X series. Dell business models are also popular. Avoid Intel / nVidia dual GPU if you don't really need the performance, it's still a bit of a hassle on Linux.

Small vendor Linux models will obviously work, but build quality isn't as good last I heard: they use medium quality OEM chassis. Correct me if I'm wrong - these companies are worth supporting.

> Avoid Intel / nVidia dual GPU if you don't really need the performance, it's still a bit of a hassle on Linux.

Even on Windows it's not perfect. Some programs will stop rendering properly or just hang when switching between AC and battery, for example. Presumably those are bugs in those programs not properly handling some kind of rendering context invalidation, but it's still a hassle.

> It feels like half of all Linux developers use Thinkpad business models like T and X series

These are also very popular among OpenBSD developers [1], likely for similar reasons.

[1] https://www.tedunangst.com/flak/post/openbsd-laptops

Especially if you are in UK, I'd dare to recommend laptops from less known company, Star Labs Systems https://starlabs.systems/ . I own "Lite" which has all stuff by Intel (most importantly wifi + bt, no broadcom shit).

They officially support Linux, and you can even choose to have a keyboard with Tux instead of Windows logo :)

w520 should work pretty well with both nouveau and nvidia drivers. If you don't need to use external ports, just disable nvidia. No brand is good with optimus. Just avoid nvidia for your sanity. Without nvidia, all laptops will fare pretty well. Thinkpads and Dell's business laptops are still a good choice. Other niche brands have problems of their own and make different tradeoffs.
It's been quick this time for Kernel Newbies to come up with the newly released kernel changelog. For many kernel versions it took quite a while for the complete list to show up and some just refers to Phoronix articles or so. It think it's good if some commercial companies can allocate some resources to keep this up-to-date ;-)
An easily digestible kernel release log sounds like the kind of thing the Linux Foundation should probably fund someone to take care of...
(comment deleted)
> The most noticeable last-minute change is probably that we had to revert the code that showed a good MHz value in /proc/cpuinfo even for the modern "CPU picks frequency dynamically" case

all sorts of applications take the tick count (rdtsc) times cpu frequency + boot time in order to get some approximation of the current time (cheaper than doing a syscall). In windows they even have an api function QueryPerformanceFrequency for getting the frequency. Now that of course is all wrong because of 'dynamic scaling of voltage and frequency' feature of the cpu.

Whatever you do in software, it will be wrong in due time because of some significant changes in a lower level...

still possible to use rdtsc

- you need to make sure that the thread has switched from executing on one CPU to another one, different packages have different counters. (can do it by setting thread affinity) - you need to see if CPU supports invariant TSC (cpuid reports TscInvariant = True )