Oh. My. Gosh. I am so glad this was announced when I started thinking of looking at laptops. The choice wasn’t hard because I couldn’t decide what laptop I wanted, but it was hard if I could justify a new laptop. I did, and I made a post about it recently. This post is the meat–a review and thoughts on the laptop itself :]

Spoilers. This is a good laptop with fantastic hardware support on Linux.

closed laptop from above

Build Quality, Size, and Feel

I was nervous about the size, as this is my first 15” laptop. However, I was pleasantly surprised. It is surprisingly thin and light, which definitely helps with the size. Side-by-side with a 15” Macbook Pro (2012), it looks about the same size, but the difference in thickness and weight make all the difference, and makes it feel like a smaller laptop. I’ve been able to sling this thing around about as easily as my previous 13” Macbook Pro (2015).

The laptop when closed feels sturdy and easy to grab with a hand. As someone pointed out, there is a small amount of flex in the screen towards the center, but not towards the edges. It is possible to hold firmly enough without fear of dropping. Similarly, when the screen is open and you grab the top corners and twist the screen gently there is some give, but not a lot. It’s the inevitable trade-off of thickness and rigidity. It’s worse than a Macbook Pro, but so much better than a low-end Chromebook.

The bottom is plastic, but it is thicker and harder plastic and feels study. I actually like it, the color creates a nice two-tone contrast with the lighter aluminum, and is more insulation for lap work. The problem with aluminum is it can be cold on first touch, or radiate heat into your lap after a long sessions.

Booting Up and Getting Going

Between the NVMe and coreboot, this laptop boots ridiculously fast. I haven’t measured, but there are good videos elsewhere of it booting–in particular the one by Linux Tutorials. Coreboot is clean, and they did a good job with the splash and UI.

Pop!_OS itself comes up very quick and the initial installation screen got me going very quick.

Interfacing

Screen

I’m still surprised by this screen. I came from a glossy 2K retina display and had resigned to disappointment, but this thing is fantastic and I don’t miss the old screen. Glossy vs matte: glossy is sexy but kinda impractical. I tended to increase the brightness far higher to compensate for reflections, and it would make finger prints or spots much more noticeable.

The colors are vivid, there is no noticeable light bleed, and the view angles are pretty good–only getting darker at large angles. I’m not missing the drop in resolution and ppi, and the screen remains sharp. It’s probably also good for the battery life.

Keyboard

Wow, this is an interesting keyboard. It is a chiclet style with what seems like a scissor mechanism, but it’s a soft press (so possibly has a membrane underneath as well?). The result is it has a fairly non-linear resistance with tactile feedback and a decent travel.

Coming from a Macbook Pro (2015, not the one after that made it even worse) this keyboard is much better, simply for the increased travel and tactile feedback. I’ve been alternating keyboards and I don’t know how I managed to use the Macbook Pro keyboard as long as I did.

The keys do have some rock to them, and the middle of the keyboard itself flexes a bit when typing. I don’t feel the flexing, but I do sometimes notice it out of the corner of my eye, especially if I have the LED backlight on.

The thing is..I like scissor mechanism keyboards. I used a Logitech Ultraslim K470 keyboard for many of my formative years! It was well used from 2005 until just last year (2018). The only reason it was replaced was because the ‘/?’ and ‘0)’ keys broke. I noticed they still sell the K470 which made me very happy, but I decided to see what all these mechanical keyboards are all about instead. They’re pretty awesome, but I highly recommend the K470.

Going between mechanical at work, and this laptop at home is actually a really comfortable transition. Mechanical to Macbook Pro… not so much. As I’ve been using my work keyboard more than my home laptop, I’ve becoming less and less comfortable on the Macbook Pro.

Also, it’s an RGB LED backlit keyboard. It’s pretty cool, but the color choice seems limited to the pre-selected hues they have. I do wish it had the ability to expose it to the Linux LED sysfs entries and/or allow sending RGB or an HSL value, but at the same time. I rarely even have the backlight on :P My guess is that, like the fan, the keyboard LED is controlled through the EC and the EC can only accept a limited set of commands here. …maybe. Hmmm, maybe I should do digging here, I did find the EC commands to set a fan value. I assumed the EC had intercepted the key combos to change LED colors, but I recall someone posting the RGB color backlight were not supported upstream, which means it must be a kernel level driver behavior… will need to look ;D

Touchpad

It’s not bad! It’s smooth and slides well, the multitouch gestures register well, and the buttons have a good click to them. This is a much better touchpad than I’ve experienced on Thinkpads or Chromebooks, as they would give me finger irritation from the friction at times, and this touchpad does not have that feeling at all.

…but it is not as good as the Macbook Pro. I think that trackpad is definitely my favorite. I dearly miss the “press to click” with the haptic feedback. That touchpad was so good that for a while I didn’t believe it was not actually clicking when I pressed. The convenience of not needing to involve more fingers for clicking was fantastic, even for dragging items, and I’m having a hard time adjusting away from that…

But, I’ll make due :]

Ports

There’s lots! I had a 2015 MBP, so I’m not coming from a lack of ports. I’m very happy to still have an SD card slot (I flash a lot of [micro]sd cards), I’m happy to have a USB-C port as well for potential Thunderbolt 3 support. The ethernet port is interesting! I was very skeptical thinking it’d be flimsy, but the mechanism is actually very sturdy, and very easy to insert without fiddling–the latch is spring loaded and easily unhinges as you press the jack in. However, it is tedious to undo, as the release latch is facing down and ends up being close to the surface, requiring one to tilt the laptop to access it.

There’s a combo headphone/mic jack that does work for me for my combo earbuds. There’s a second microphone and S/PDIF. This one doesn’t work for my mic apparently, and the S/PDIF is always glowing red, which I will sometimes see. It’s not obnoxiously bright, but it does catch my eye when it illuminates something. I’m sure there’s someway via sysfs to disable it (probably cutting power to a specific subsystem), but it doesn’t bug me enough to go messing around with that.

Lastly, the barrel jack. I dearly miss the magsafe power adapater (I’m sure most current Macbook users would agree ;D). It’s not bad as far as barrel jacks go, but I feel the need to baby it. Luckily, the USB-C port can be used to charge the laptop as well, but the USB-C port is on the opposite side and closer to the front edge, which feels very awkward. Plus, a standard USB-C port doesn’t have the ability to swivel like the barrel jack does. What USB-C does have is USB-PD, aka power-delivery and negotiation. With that, magsafe-like adapters become a safe option to use. I’ve researched these, but haven’t committed to trying one yet. I did also find a Hackaday article where someone converted a barrel jack to a magnetic adapter, but notice I didn’t say “magsafe-like”. There is no communication/negotiation before power delivery, and this now exposes the positive center-pin. Fun idea! But I’m not using that on a regular basis where I’m flinging cords around.

Speakers

They’re not great, and I’m not much of an audio person. But they get the job done. Headphones sound fine :]

Webcam

webcam photo of myself

It’s not great. It’ll get the job done if you have to use it.

What is nice though is that it is disabled by default, and will not even show up in devices until you hit Fn-F10, where it then enumerates as a usb-uvc device. This is not as privacy-minded as Librem’s physical powerline connected switches, but it’s the next best thing I think, especially since the webcam is disabled by default.

There is an LED indicator for when the camera is recording, but not when it’s powered/connected. The latter would be nice, but I’ll acknowledge the limitations here for not manufacturing the system themselves.

Inside

CPU/GPU

For the CPU, I went for the i5 over the i7. This is the 10th gen Comet Lake CPU, but I think this is basically a Coffee-lake update, and from what I saw of those benchmarks I expected at most a 6-15% difference in single-core performance, and that did not seem worth the extra $200+. This is supposed to be significantly faster than the i5 I had in the MBP 2015, and at least is also quad-core vs dual-core.

Sadly, the GPU doesn’t seem to have see much improvements over the generations, and going from the Iris Graphics 6100 to the UHD 620 means I lost half of the execution units and should have reduced GFLOPS and probably performance… However for day-to-day operations it is definitely adequate. I’ve always been happy with the quality of Intel’s open-source GPU drivers.

The most I’ve stressed the system so far would be for streaming purposes, and it handled it fairly well. I had a 1080p60 USB3.1 capture device, and a 4k USB3.1 webcam running at 480p60 and encoding both into a 6000 kps h264 stream using the hardware VAAPI support for encoding. It worked fairly well and was able to keep up using only a single core.

…however this did cause the fans to spin up to a higher level and be fairly noisy. Further, I ran into an interesting issue, where if I didn’t connect the webcam first and set the resolution lower before connecting the capture device, then the capture card would be dropped while the kernel complained, “Not enough bandwidth for new device state.” This is more stable if I connect the capture device to the USB-C port, which reports as a separate hub in “lsusb -t”, but the stream won’t appear until I get the camera scaled down. I’m not sure how prevalent this is, as it’s a new setup for me, and the only other system I’ve tried this with is my Ryzen desktop (which performs like a champ).

NVMe

It’s super fast! I upgraded to the 500 GB NVMe, which is showing up as a Samsung SSD 970 EVO Plus. I think this is the same drive that’s in my 2015 Macbook Pro (or similar enough). Fantastic burst write-speeds thanks to the on-drive caches and a drive that is almost too fast, if there is such a thing.

Memory

I have 32 GBs and it works, no idea what brand it is, but it works and should be 2666 MHz DDR4. They do have the option to go to 64 GB, but that seemed excessive for me. And with this system it can be upgraded if I do change my mind.

Battery and battery life

The first night I got this, I casually browsed with Firefox and used the terminal a lot. I think it went down 40% in 4 hours, so approximately 10 hours at that rate.

Right now, I’m editing and watching a twitch stream while browsing and checking email as well, and I’ve gone down 40% in 2 hours, so approximately 5 hours at that rate. Note, Twitch in Firefox is kinda greedy keeping an entire core at 100% and keeping the clocks almost to 2.0 GHz, so this is probably a good estimate of moderate workload.

Software

Pop!_OS

I was planning on replacing Pop!_OS with Arch Linux faster than you could say…well, honestly probably reading Macbeth aloud, but I’d start installing sooner than you could say, “is this hardware supported upstream?”

Pop!_OS was setup and running extremely quick with very little menus or progress bars to go through. The interface was so clean and gorgeous that I decided to poke through it while I figured out what hardware was present, and what support I would need to add to Arch.

And wow! I was surprised. I’ve avoided Ubuntu and Gnome-shell for quite a while, but Pop!_OS does a great job of finding a really happy marriage between the two, and their theming is impeccable and ecosystem well integrated. Pop!_OS is a fantastic companion for System76 hardware, but I think this might be my recommended distribution for either those who are new to Linux, or who don’t want to put effort into maintaining a system. For a long while this spot was held by Linux Mint (which I used on my gaming PC for quite a while), and in fact Cinnamon has been my default desktop environment, even on non-LM distros. However, I’ve been noticing Linux Mint can lag a bit behind Ubuntu, while Pop!_OS seems to follow it closely.

I decided to give it a chance for a week, and I was quite surprised. Granted this is likely more of an account of using Ubuntu Eoan Ermine (19.10), as I didn’t much us the Pop Shop, or their power manager. I was trying to figure out what the power manager did, but cpupower wasn’t installed. From browsing the source I think it’s less “enter powersaving mode” and more “enter performance mode” by setting governors and such manually through sysfs and such.

My previous experience with Ubuntu/Debian distros always put me up against outdated or non-present packages, and how much I did not grok Debian’s packaging (and gripes about the lack of transparency from PPAs…). But, nearly all the packages I used were up-to-date and present. I very quickly had my typical setup with Firefox, Evolution, Zathura, GIMP, Blender, Emacs, and ZSH setup easily and functional. I’ve been getting into streaming lately, and they had an up-to-date package for OBS including support for hardware accelerated encoding. Other workflows such as building projects, building websites with git+jekyll were also fairly simple to get the requisite packages installed, but this is when things started getting hairy.

One thing that annoys me about Debian packages is how low the signal/noise ratio for packages is–every package is typically split into at least a binary/doc/source package, and sometimes even fractured furthered, and lots of meta and transitional packages still in the list. It’s nice to have so much control over what gets installed, but this has always been excessive to me, and possibly a symptom of how approachable their build/package system is. The flip-side of this was how many language packages (like rust-crates/ruby-gems/npm) were packaged as well! This was awesome, as those ecosystems never instilled much confidence in me, but if someone from Debian was auditing and tracking these, well sign me up! I went through all the effort to get the Jekyll ruby-gems, but then bundler wouldn’t run without pulling new versions of packages. There’s probably something I’m missing here, but after a few nights messing with ruby/gem/bundler configs, I gave up.

The final straw though was when I went to go flash some Arduino boards. One motivator for moving away from the Macbook Pro was my inability to flash certain AVR boards (it would just disconnect from the controller, not even a USB2 hub would work). Come to find out Debian only has Arduino 1.0. I could not get this to even build my projects. I caved and thought it was time to learn arduino-builder and do this manually, but it still would not work. I did see that Debian resolved whatever license issue kept them on 1.0, but from browsing the package database, I think I’d be waiting over a year for this to come to me. I didn’t want to manually install the package or try and fiddle with apt-packages or PPA…

so…

..and Arch

… I came back to Arch’s stoic embrace.

I didn’t have to do anything special. All the hardware was supported out-of-box. Even the keyboard backlight and fan hotkeys.

I did end up installing the firmware-manager and firmware-daemon from the System76 repo in order to keep Coreboot up-to-date, and those work just fine with these the respective AUR packages.

After installing needed packages and copying my home directory, I was able to confidently wipe the old Macbook Pro :]

Conclusion

It’s a good machine, and given the support it receives for Linux and the addition of Coreboot, I think is definitely worth the price. The hardware support and lack of headaches there is definitely worth it alone, but it also feels great to support a Linux-first vendor as well.

Definitely give the machine a go if you’re in the market for a new Linux laptop :)

Pop!_OS PS

…it’s now on my gaming machine and it’s been fantastic ;D Give it a whirl as well!