User:Niedzielski/2019 Linux laptop survey

Although the title specifies "laptops," what I really mean is any portable Linux device which could include tablets that have a decent hardware keyboard. My primary use case is MediaWiki development, which includes heavy Docker container and Visual Studio Code usage on approximately stock Ubuntu v19.04.

Requirements

 * Web cam
 * 2+ USB 3+ ports
 * Good battery life (4+ hour battery life under development load)
 * Good portability (less than 5 lb, cool running, with a decent keyboard and trackpad)
 * High DPI display

Avoid

 * Discrete NVIDIA GPUs. I've used a variety of Linux laptops for the past 10 years and it's been my personal experience that those with discrete NVIDIA GPUs are effectively semi-portable waffle makers. That is, they have extremely poor battery life and stay toasty regardless of whether or not the GPU is disabled in software. I believe this has in part caused two of my batteries on two different laptops (an XPS and a MacBook Pro) to expand.

Devices considered
Most of this section is anecdotal but I'm just recording my own thoughts for my own reasoning as to which device to purchase and not submitting an objective and perfect survey.

✗ Apple
My best device to date has been a 2012 MacBook Air 13" with maxed out specs but Apple products have become increasingly more difficult to run Linux on well. So much so that I can't justify the risk of purchasing one. As such, despite being a consistent industry leader for high quality builds, I haven't considered any Apple device.

✗ Chrome OS
I have a Pixel Slate that I use the Linux beta container functionality on. I can effectively execute a MediaWiki Docker container and have done about a month of development on it. However, the feature was extremely unstable and Chrome OS appears to be extremely rudimentary (no back button on file browser, no recycle bin, ...). In the course of normal development, I had on several occasions my entire Linux container just stop booting requiring extensive debugging just to get my files off of it. There are far too many game over bugs currently but the battery life is amazing. I would consider it given a more featureful, stable, and open OS. I don't think GalliumOS is used widely enough to seriously consider for primary PC usage.

✗ System76
I had a maxed out desktop replacement System76 laptop. I think it's the worst laptop i've ever own. The keyboard and trackpad were cheap, the screen was washed out, and the chassis was garbage. Just from the standpoint of a laptop containing all the human interface devices necessary for efficient development, it fails. THe device was very expensive and the build quality very poor, so although I like to root for smaller, independent companies that value Linux, I cannot justify the risk of purchasing another one.

XPS 15 9560
I have an XPS 15 9560 with more or less maxed out manufacturer specs running mostly stock Ubuntu v19.04. Overall, it's a great machine and it meets all of my needs when at a desk. I use Docker containers with Visual Studio Code extensively for MediaWiki development and it runs them very well. In my spare time, I like to play mostly old games and do a little WebGL programming which it also handles nicely.

Pros

 * The performance, stability, screen quality, and GNU / Linux software compatibility have been superb.
 * The keyboard is ok and the trackpad is pretty nice. When I'm at home, I normally use external peripherals.
 * The chassis and ports are decent.

Cons

 * The portability (battery life, heat, thickness) has been awful. In particular, I think the NVIDIA GPU basically turns any Linux machine into a grill, even when disabled in software, and the 9560 has been no exception. Due to heat, I think, my battery had to be replaced within a year. It's basically a semi-portable waffle maker and, because of this, is more of a desktop PC than a laptop.
 * Suspend and hibernate have been pretty flaky so I stopped using them. However, I've never had much luck with either on Linux.
 * The speakers are crap but I always use headphones.
 * There's a little background fuzz on the headphone jack so I attach over USB.
 * The webcam placement sucks.
 * The fans are a little noisy and always on.
 * The coil whine is ceaseless.