I finally decided to replace my almost-a-decade-old laptop with a Dell Inspiron 5370. I’ll be using this post to keep running notes of my impressions of the machine and the issues that come up when running Linux on it.
The laptop has a 8th-generation quad-core i5-8250u processor, 8 GB RAM, 256 GB SSD and a full-HD IPS screen. There is a fingerprint sensor and a Type-C port that supports the DisplayPort standard.
Linux hardware support
I installed Debian Stable on the system but then updated it to Testing (currently Buster) with a 4.14 kernel.
The Wi-Fi module is an Atheros QCA9377 that requires non-free firmware (provided by the package
firmware-atheros) to be installed. Once this is done Wi-Fi works.
I’ve not tried setting up the fingerprint sensor.
Suspend to RAM and hibernate work, but once in ten times or so I’ve had the Wi-Fi crash on resume, requiring a reboot.
Connecting an external display over the USB-C port (using an Amazon Basics USB-C to VGA adapter) works out of the box.
Everying else works perfectly.
The laptop is light and sleek, designed in the general metallic ultraportable style. The outer shell is aluminium but the inner surfaces are plastic.
Keyboard and touchpad
The keyboard is a backlit, chiclet-style, keyboard which is comfortable to type on. However, you cannot rest your hands on the laptop for long while typing since the front edge is sharp enough to bite uncomfortably into your wrists if you do so.
The touchpad has a roughened surface. It is multitouch enabled. At least on Linux, while one and two-finger actions work perfectly, three- and four-finger gestures are sometimes recognized and sometimes not.
Both the keyboard and the touchpad have a little bit of mechanical give that you would not find on, say, a Macbook.
The display is sharp and has good viewing angles.
It is a matte display. Which has its good and bad parts. Reflections are not a problem at all. A light fixture right opposite my table which would bother me no end with my old laptop does not throw any visible reflection on this machine’s display.
But perhaps because of the anti-reflective treatment the contrast is low even at maximum brightness. Also, the color balance is towards the warm side. Being used to reflective bluish displays, whites on this screen look somewhat muddy to me. I’m sure part of this is a matter of habit. But I wish Dell had made the display brighter.
Thanks to AMD’s Ryzen scare, Intel gives us a quad-core CPU with hyperthreading in the i5-8250U. But I was worried whether the performance would be limited by thermal issues. Turns out that the actual performance is not bad at all.
Even though the base frequency of the processor is 1.6 GHz, when running a parallel program that uses 8 OpenMP threads to enumerate knight’s tours on a chessboard, the CPU frequency initally jumped up to its Turbo Boost level of 3.4 GHz, fell after a few seconds to around 2.5 GHz but thereafter did not fall any further while running the process over ten minutes. The CPU temperatures levelled off at around 60 °C on a day when ambient temperature was around 25 °C. The fan spun up but the noise was not uncomfortable.
I ran the benchmarks bundled with Intel’s Math Kernel Library. For the High Performance Linpack benchmark which measures floating-point performance we get around 100 GFLOPS/s (for double precision, using four threads) while for the High Performance Conjugate Gradient benchmark which measures both floating-point performance and memory bandwidth we get around 3 GFLOP/s.
When running the Linpack benchmark the sustained processor frequency was 2.2 GHz.
The STREAM memory benchmark gives a sustained bandwidth of around 12 GB/s when runnning four threads. This is quite lower than the numbers of around 20 GB/s I have seen for the Dell XPS 13 and Acer Swift 3 which use the same processor. This is possibly because the memory on those machines is in a dual-channel configuration while the Inspiron 5370 in the configuration I bought has a single 8 GB memory module.
Here are the results of running Geekbench on my machine.
To contrast, here are the results from a XPS 13 9360 which has only marginally better scores on the single-core benchmarks (XPS: 4264, Inspiron: 4243) but does noticeably better on the multi-core benchmark (XPS: 14868, Inspiron: 13584) very likely due to the higher memory bandwidth.
The SSD is a Hynix SC311. Casual measurement with
dd gives read speeds of around 460 MB/s and write speeds of 400 MB/s.
Apart from faster booting, there are two places where I have already found the SSD making a big differnce.
One is typessetting documents with LaTeX. For documents of a couple of pages typesetting is practically instantaneous. This takes away a big friction from my workday.
The other is situations where some program uses up all physical RAM, goes into swap and the system locks up thrashing. With Linux and a HDD I could never recover from this situation and would have to reboot. With SSD I had the pleasant experience of taking a long play break with my daughter and coming back to find my task done and my machine usable again.
The battery is rated at 32WHr. At maximum brightness with a few browser tabs open the power draw is around 6W. Turning the brightness to half reduces this by 1W. Installing TLP reduces it by a further 1W to around 4W.
At the other end, running my compute-intensive eight-threaded program without TLP uses around 21W. TLP limits this to around 16W.
Consistent with the above numbers I got a battery time of around 4 hours on my usual mix of work with the screen at maximum brightness and TLP not installed.
I finally choose to uninstall TLP. Even with TLP I would not be able to take the machine to work without carrying a charger. And four hours is more than sufficient to cover my commute. So it seemed safer to not have something like TLP which touches setting all across the system.
Linux setup tips
Currently the Debian installer cannot run under Secure Boot. Disable it in the BIOS before beginning installation.
firmware-atheros needs to be installed for the Wi-Fi to work.
Swap and limiting runaway memory use
The Debian installer’s automatic partitioning creates a swap as large as RAM to allow suspend to disk.
The downside is that a runaway process can grow to 16 GB of memory use and lock up the system because of swapping before it is killed by the OS. I have chosen to protect against this by limiting the address space that any single user process can use to 8 GB. To do this, edit the file
/etc/systemd/user.conf to uncomment the line with
DefaultLimitAS and set it to
Here the 8G is the ‘soft limit’ on address space that any process will have as a default and infinity is the ‘hard limit’ to which processes can raise the bound. This way if there is a process which actually needs a larger address space, it can be accomodated by temporarily raising the limit by, say, the
ulimit command in Bash.
With the display running at its native resolution fonts are too small. By default GNOME allows the screen to be scaled only in integer multiples and scaling by 2 leaves too little space on this screen. Recently GNOME has added experimental support for fractional screen scaling but when I tried it the fonts were fuzzy in many applications including Emacs. For now I have settled for the following compromise. I’ve installed
gnome-tweaks and used it to set font scaling to 1.7. In Firefox configuration (available by vising
about:config in the URL bar) I’ve set
layout.css.devPixelsPerPx to 1.5. This gives reasonably sized fonts in most places, though icons still remain small.
gnome-tweaks can also be used to turn on tap-to-click on the touchpad.
xinput driver used for the touchpad by default does not give a right click, mapping all single-finger clicks to the primary mouse button. Instead, two-finger clicks are mapped to right-clicks and three-finger clicks are mapped to middle-clicks. It may be possible to change that, but I found the current setting fine.
With this machine you get a fast CPU and SSD in a ultraportable package, at a mid-range price.
The cost of that mid-range price is a somewhat dull display and a battery that lasts less than a full day.