Ubuntu 16.04 is the 6th Long Term Support (LTS) release of Ubuntu. In a certain sense, the LTS release is the flagship version of Ubuntu that sees a new release in every 2 years, and each release is backed by 5 years of support, opposed to the 9 month support of the normal Ubuntu release that sees a new face in every 6 months. In simple terms, the LTS pledges more stability at the cost of not having the most up-to-date versions of the software packages it comes with.
When Ubuntu 16.04 LTS was first released, I immediately downloaded it and installed it on the partition that I’ve preserved on my laptop computer which I have used to install the operating systems that I’ve reviewed so far on this website. I’ve used it for the past 4 days now, as my main operating system. I usually use my laptop computer for about 10-12 hours (pretty much continuously) daily. Most of my work is associated with the web browser, but I also use VLC (installed manually) and the file manager (of course) quite extensively. And for creating the graphs for the performance comparisons, I used the LibreOffice Calc.
Ubuntu in general runs quite well on my Dell V131 laptop. Here and there it throws a ‘crash report’ saying something crashed etc. It’s nothing major and these crashes have never affected the OS or the applications that I use on most cases. But, after using Ubuntu 16.04 LTS for the past 4 days I must say that I’m really impressed with the performance (which I’ll explain with numbers -- boot times, memory usage etc) and especially the stability of this LTS release. For these four days, I haven’t seen a single application crash report! And a subtle security-wise important issue concerning the screen-lock (which again, I shall explain when I come to it) that has been there for at least 2 older Ubuntu releases (15.10 & 15.04) has also been finally fixed it seems. All in all, it’s a very stable release. So far I’m loving it!
Ubuntu 16.04 LTS comes with the Kernel 4.4 which mainly adds better support for Intel’s new processor micro-architecture, Skylake, that has been causing many problems for GNU/Linux users. Xorg version is 1.18.3 and Unity desktop version is 7.4.0, mainly. This version of the Unity desktop now finally allows the users to change its position to the bottom of the screen, a long requested feature that was ignored (well, to be fair, Ubuntu had its reasons). Unity uses the GNOME application set and this release features the GNOME 3.20 applications, although not all the applications are updated to that release. Unity (including many other desktops) does not scale that well in high pixel density (4K, 5K) small screens (13.3″-15.6″) yet, but few small improvements have also landed in that regard (better HiDPI support for the login screen & the cursor).
Ubuntu usually doesn’t introduce major new changes in the LTS releases which is understandable since lots of changes can reduce the stability, but this time there are some noticeable changes. The disc image size has grown by about 300 MB that’s about 25% more compared to the size of Ubuntu 15.10. I can’t possibly point out all the changes that add up to this size difference, but the release notes does provide few insights.
Empathy and Brasero (disc burner) have been removed from the default application set, although, they’re both available through the online repositories (
sudo apt-get install empathy brasero, that should do it). GNOME Calendar is now included by default. Language support has also been further expanded as well. Another major change, although not apparently visible to the end-user is Ubuntu’s new package management system which is called Snappy. Snappy takes a different approach on how to pack an application, how they’re installed, and managed. The default set of applications (web browser, office suite etc) have also been updated, and I’ll discuss all these in more detail as this Ubuntu 16.04 LTS review progresses.
So just as usual, I’ll start off with the Installer, then talk about the desktop and its subtle changes that have landed, then I’ll talk about what’s new with user applications and then finish off the Ubuntu 16.04 LTS review with the performance related data that I’ve gathered. Before I begin, here’s some technical details of the laptop computer that I used to test Ubuntu 16.04 LTS (this is the same laptop that I’ve used to test all the other GNU/Linux operating systems as well):
Intel Core i3-2330M CPU, Intel HD 3000 GPU, 4GB RAM (DDR3), Toshiba 7200 RPM (320GB) SATA HDD, Intel N-1030 Wireless adapter, Realtek network adapter ('RTL8168'), LED display with 1366x768 resolution (60Hz/60FPS). It's a Dell Vostro V-131 notebook.
I have always loved the Ubuntu installer (‘Ubiquity’) for its easy of use and simplicity. There were no visible changes compared to Ubuntu 15.10. I installed Ubuntu 16.04 LTS alongside Ubuntu 15.10 that I use as the main operating system. The installer recognized the Ubuntu 15.10 installation (and added entries in GRUB for it) and the rest of the installation was carried out without any issues whatsoever. The installation time was slightly longer compared to Ubuntu 15.10, but that’s because of the change in the disc image size, presumably.
Oh I almost forgot. Inside the ‘Examples’ folder you’ll find a video called ‘Ubuntu Through The Years’ (by Nathan Haines) that shows the evolution of Ubuntu from the very beginning to its current state. It’s pretty cool actually, don’t forget to enjoy it while the installer does its thing.
The GRUB theme and the boot logo are also virtually unchanged. I’m sure you all are familiar with how they look so I won’t add screenshots here (it’s rather difficult to take screenshots of them actually, otherwise I would’ve added them nonetheless).
That said, I do have something that I think is important to bring into the surface, although, this is not directed entirely on Ubuntu because all the other distributions carry the traces of this flaw as well. So yes, I do have a complaint and it’s about the boot-logo.
I just don’t understand why after all these years ‘Linux’ can’t create a boot logo that consistently gets displayed the moment you hit Enter on the GRUB menu till the login window appears. Windows have been doing it, well it has been doing it as far as in Windows 95! Mac OS too does it. And yet, virtually in every GNU/Linux distribution (Ubuntu 16.04 LTS included) the boot logo appears with a 3-4 seconds delay, after hitting the Enter key in GRUB. And in between that delay some ‘text’ appear that’s usually related with the boot-time disk check log. And worse, sometime when a change occurs in the boot process, it somehow manages to completely disable the boot logo and display the ugly boot log into the display screen. I’ve convinced some of my friends to use ‘Linux’, and it’s actually embarrassing to see the beautiful boot logo gets destroyed by non critical changes in the boot-up process.
I think major distributions like Ubuntu should work on these small but important issues because it shows dedication and attention to detail (Apple is the perfect example). These unseeingly unimportant issues play a major role as a deciding factor for most end-users because most people, whether they fully understand them or not, instinctively react to it negatively (at least in my opinion). For instance, if I see an operating system doing something ugly like that, then it gives me the impression that it’s not a carefully designed software, even though the rest of it maybe. First impressions matter. End of message 😉 .
Except for the slightly changed wallpaper, there aren’t any visible major changes in the Unity desktop shell as far as appearance is concerned. Why is that? Well because there aren’t any! 😉 .
When you open the ‘Dash’ however, there are few changes. First of all, even though starting with 15.10 Ubuntu replaced overlay scroll-bars with GNOME3’s scroll-bars, Dash in Ubuntu 15.10 still used those because the transition was not yet completed back then. But the Dash in Ubuntu 16.04 LTS have now fully endorsed (‘Trump effect’ in action 😀 , love that guy!. Instinctive politician, a nationalist. Great man!) the GNOME3 scroll-bars as well.
Dash now comes with online searches disabled by default. This was a feature for which Ubuntu has been criticized a lot.
If you like that feature, then you can easily enable it by going over to ‘System Settings’ -> ‘Security & Privacy’ -> ‘Search’.
Shortcuts to ‘Sessions’ have also being added to Dash. Now you can Logout, Reboot & Shutdown, directly through Dash.
But as mentioned earlier, the major change is the ability to change the location of the Application Launcher to the bottom of the screen. Honestly, I like it where it is because it ‘preserves’ space efficiently, although, in the beginning I used to quite dislike it.
Currently, by default, you cannot do it using a GUI and you’ll have to use the command-line. But it’s quite simple. All you need to do is to open up a terminal window and enter the below command:
gsettings set com.canonical.Unity.Launcher launcher-position Bottom
If you want to undo the change, enter the below one instead:
gsettings set com.canonical.Unity.Launcher launcher-position Left
As I mentioned in the beginning, few of the subtle issues have also been addressed in this LTS release. And one of it is related to ‘Trash’. Unity had this bug which automatically opened the file manager when one just tries to empty its content by simply right clicking on its icon. I think this issue was there in the two previous releases, at least. But not anymore, it has now been fixed.
Now whenever you plug-in the audio output jack to the sound card, Unity displays the volume level set for that device which I find very useful because I frequently switch between my headphone and the sub-woofer system, so knowing the audio level of the each output device is handy.
Ubuntu 15.10 had an issue with the screen locking mechanism (LightDM) which for a fraction of second revealed the content of your screen when waking up from sleep. As far as the privacy & security is concerned, this was a serious issue. But I tested it many times, in Ubuntu 16.04 LTS, this issue is no longer there. It’s been taken care of. Excellent.
I’m sure there are many other subtle improvements added to the Unity desktop, but these are the ones that was visible to my eyes. As far as the user applications are concerned, Ubuntu 16.04 LTS includes Firefox 45, Thunderbird 38.7.2, LibreOffice 5.1 which includes few major improvements & features, Rhythmbox 3.3, Files (Nautilus) 3.14.3, Document Viewer 3.18.2, Shotwel 0.22.0 and GNOME3 Calendar 3.20.1, as mentioned in the beginning. These are of course just few of the applications that are included.
Speaking of the Calendar app, the Ubuntu theme isn’t quite well integrated into it. As you can see, the edges of the application window is having some issues and the Close, Maximize and Minimize buttons are also seem to be zoomed in too much and thus don’t look that sharp either.
This is certainly not a big issue, but it kind of takes away the ‘polishness’ of the whole LTS release, only just a little bit though 😉 .
But that’s not the biggest issue. As mentioned in the beginning, Ubuntu now has chosen the GNOME3’s software manager as the Software Center. And while I really liked it because it feels lightweight and very responsive, I couldn’t install any ‘.deb’ files using it! I tried to install three of the ‘.deb’ files that I had, but nothing happened when I clicked the ‘Install’ button.
Except for this once, this new Software Center didn’t even ask for my sudo password. Even in the instance where it did ask for it, nothing happened. Now of course you can always install the ‘.deb’ files using the dpkg (command-line deb package manager of Debian: ‘
sudo dpkg -i /path/your-package.deb‘) command, but from the average end-users point of view, this is extremely frustrating. It’s really embarrassing actually. I tried the latest updates, but the issue is still there. I don’t think they should’ve added all these changes with a LTS release.
What is a Snappy Package?
When you open an application, the main executable calls upon many other components that it requires in order for it to run (they’re called ‘dependencies’). And different applications share a lot of such files between each other. These files are called the ‘shared libraries’. The main advantage of having shared libraries is that it saves disk space.
For instance, rather than having 20 copies of a single file that 20 different programs require when running, you can have just 1 copy and let it be shared by the 20 programs thus saving 20 times the disk space. Considering this hypothetical file that’s shared by 20 applications, the biggest problem with this centralization however is that if this shared file gets its state changed (an update for instance), and if the newly updated file is not compatible with large number of programs that it is associated with, then you run the risk of breaking those programs.
But what if we had kept the shared file that each of those 20 programs need, inside each individual program’s installed folder? When nothing is no longer shared between multiple programs, then we do not run the risk of breaking anything because now we have no shared libraries (files). The downside is that this increases disk space. It might not sound like much for a single shared file, but there are hundreds of thousands of shared files used by installed applications in an operating system.
So anyhow, this is the basic idea behind Ubuntu’s Snappy package. The installed folder of each program is actually a small Eco-system, in the sense that all that the program requires (all of its dependencies, not just previously shared libraries) in order for it to run can be found within its installed folder. Now we can update each program (and its files) individually with it only affecting that program only. And also, since the developers now have to pack all the dependencies when they release an application, this also increases its downloadable size.
For instance, the program ‘tmux’ (a terminal that let you run several instances of terminals inside a single window) only takes about 223 kB when installing using the traditional method (sudo apt-get…).
But when installing it using Snappy’s approach, the downloadable size is 64.64 MB! It’s roughly 29,000% higher compared to the 223 kB file size! But the size difference is not always this severe. Nonetheless, this approach has its advantages & disadvantages. Only time will tell if it’s useful. That said, major open-source application developers such as Mozilla has announced that they’ll be releasing Firefox web browser as a Snappy package in the near future.
P.S: All the programs that are installed using ‘snap’ (that’s the name of the actual command) are kept in separate folders under the
/snap system folder. Below is video that I found on YouTube that explains what Snappy packages are and how to use the ‘snap’ utility to install/remove them.
I have measured the boot-up times, memory usage, system responsiveness and shutdown delay (mainly) of Ubuntu 16.04 LTS. And I have compared these readings with the readings from Ubuntu 15.10 & 15.04. And as always, these were the first things I did after finishing installing the OS. Before measuring, I boot into the newly installed Ubuntu 16.04 LTS 5-6 times for letting things settle down. And the only change I made to the system was adding System Monitor to the Application Launcher. I did that because if I opened it from the Dash for measuring the memory usage it would’ve increased the memory usage by a lot and that would’ve dramatically reduced the accuracy of the reading. Otherwise, it’s an almost ‘untouched’ freshly installed system. As always, I took five samples of each of these readings for obtaining the average readings.
Please remember that boot-up speed means from the time I hit the Enter key on the GRUB menu till the desktop is loaded (yes I had enabled the user auto-login feature from the installer).
As you can see, Ubuntu 16.04 LTS was the slowest to boot compared to 15.10 (11%) and 15.04 (15.8%). I’m not hugely worried, but by each release, Ubuntu gets more and more slow to boot compared its predecessor. That’s somewhat troubling because we have other operating systems such as MS Windows that boots faster with each new release, under the same hardware.
So anyhow, you’ll see why Ubuntu 16.04 LTS was slow to boot when you look at the memory usage graph below.
Memory Usage Upon Desktop Loading
There has been a massive increase in the memory usage of Ubuntu 16.04 LTS. It’s 48.1% (205 MiB) compared to Ubuntu 15.10 and 66.7% compared to Ubuntu 15.04. Now, I can’t point out all the reasons behind this massive increase in memory usage, but I used the system monitor to list processes by their memory usage on a freshly installed Ubuntu 15.10 (yes I went through the trouble of installing it on the partition where Ubuntu 16.04 LTS was installed just for taking a screenshot of it) and compared it with one that was taken on a freshly installed Ubuntu 16.04 LTS.
Increased memory usage means more data has to be read from the main storage device (that’s your HDD or the SSD) and that most of the time slows down the booting.
To make a long story short, I identified 6 processes that were related to GNOME3’s Evolution Calendar and in Ubuntu 15.10 they consumed about 60.1 MiB altogether. The same processes in Ubuntu 16.04 LTS consumed about twice as much (120.7 MiB). So altogether they’ve helped increasing the memory usage in Ubuntu 16.04 LTS by about 60 MiB. For some unknown reason, the new Software Center also gets opened with the desktop and it consumes about 18 MiB (you can disable this easily through the ‘Startup Applications’ utility).
It all adds up to 78 MiB but there’s still about a 127 MiB difference between the memory usage of Ubuntu 15.10 and 16.04 LTS. I have no idea where it’s coming from. I know that for the average user going into all these details isn’t important at all, but I just thought it would be nice to at least point out few of the things that I found 🙂 .
Note: Next I usually add the power usage readings. But my laptop battery is officially dead (this is the second one) and, well, that’s that. Sorry about that.
CPU Usage at Idle
At idle, except for the system monitor itself, the rest of the processes did not interrupt the CPU at all. No complains here.
Why is having low CPU usages at idle important? Simple. High CPU usage on idle (meaning when the user is not running any applications) consumes more power from the computer. It increases the power usage and unnecessary CPU consumption also wastes the CPU’s processing power.
Compiz and FPS Readings
Just like in a video file where a ‘movement’ is created using a number of still images being played within a certain time-frame (called Frames Per Seconds -- FPS), when you move or minimize an application window on your computer (or when you literally do anything on the screen), that ‘animation’ is also created by using the same concept. And things on your display screen is displayed using the GPU (Graphical Processing Unit). And just like the CPU usage should be set around zero at idle, when the screen is at idle, meaning nothing is happening on it, the frame rate should also set around zero which takes away the GPU processing. Unnecessarily higher frame-rate increases the power consumption of the GPU. Just like with the CPU, it’s simply wasted energy.
The reason I became interested in this ‘test’ was because in the past, on one occasion, after opening the Dash and leaving it to idle (unintentionally), after a couple of seconds, my laptop’s fans kicked in with some heavy noise and I knew something is using the GPU somewhat heavily.
So I searched for a solution to figure out what is going on and that’s how I came across this handy Compiz plugin (Compiz is the window manager of Ubuntu. To put it into a simpler context: The ‘window manager’ is the utility that provides your application windows with Minimize, Maximize… buttons and it’s also the one that lets you move those windows around). The same thing happened when I opened HUD and let it idle. So out of this habit, when reviewing Ubuntu releases, I just run this plugin and see if such issues are there.
So in Ubuntu 16.04 LTS I measured the FPS:
- When the desktop was idle,
- With Dash open in full-screen and let it to idle,
- With Dash open but in unmaximized and let it to idle (because weirdly enough, Dash when unmaximized had a tendency to ‘abuse’ the GPU for some unknown reason in some Ubuntu versions),
- With HUD opened and let it to idle.
Then I compared the results with Ubuntu 15.10. Ubuntu 15.10 was able to maintain a very low FPS at idle, except with Dash opened in unmaximized where it kept consuming 15.16 frames per second, at idle. But I’m happy to say that in Ubuntu 16.04 LTS everything worked perfectly well and on all these four occasions the frame rate was below 3 (when the desktop was idle it was 0.49 fps). All in all I was really pleased with the fps readings.
At desktop idle
At Dash opened in full-screen (idle)
At Dash opened and unmaximized (idle)
At HUD opened (idle)
Hardware Recognition and ACPI
Except for the fingerprint reader (it’s has never really worked in GNU/Linux), Ubuntu 16.04 LTS was able to correctly recognize and configure the rest of the hardware devices. Ubuntu is able to things like correctly restore the previously set screen brightness upon desktop login, but here and there the Bluetooth gets turned ON, even though I had it turned OFF.
Suspending also works like a charm. I also immediately replaced Firefox with Google Chrome (shame on me! 😛 ) and so far the Adobe Flash player has worked without any issues as well. So all in all, I’m very happy with how things are configured by Ubuntu 16.04 LTS.
There was a very disastrous bug in Ubuntu 15.10 which forcefully logged me out of the desktop sometimes (you never know when it’s going to happen) and anything I was working on also gets lost! But there were no such issues in Ubuntu 16.04 LTS. In fact, as I mentioned in the beginning, I’ve never seen a single ‘clash report’ in Ubuntu 16.04 LTS so far! So all in all, I’m really, I mean really, impressed with the stability.
The hard disk drive is the primary storage of a computer. But unfortunately, it’s also one of the most slowest (whether it’s a rotational disk or a solid state drive) component of a computer. If all the reads and writes that occur in it is not properly handled, your operating system can get very slow and unresponsive. And I’ve been using a very simple test to find out how responsive an operating system is when the hard disk is put under stress.
What I do is simple. First I copy a file (which is usually about 1.5 GB) within two locations in the Home folder of the currently logged in user. And as soon as the OS starts to copy it, I immediately try to open a multimedia file. Then as soon as I’m done double clicking on the multimedia file, then I use the Application Launcher and the Dash (if it’s Ubuntu that I’m testing) to search and open a few programs. And while the OS is busy handling all that, I try to navigate to a folder that contains somewhat large number of files through the file manager.
If the OS was able to open most of the programs that I tried to open, if the file manager responds well and all the while if the multimedia playback didn’t get interrupted too much (because after all, all this puts a lot of pressure on the OS), and also, if the mouse pointer didn’t lose its sensitivity too much, then I consider the operating system to a responsive one.
So how did it go in Ubuntu 16.04 LTS?
Horrible! VLC (yes I manually installed it) was only able to play the multimedia file after the file copy finished, and except for one or two lightweight programs (I tried to open the Terminal emulator, LibreOffice Calc, Firefox, System Monitor, Software Center, System Settings, Document Viewer), all the other programs were also only opened after the file copy was finished, although, the mouse pointer didn’t lose its sensitivity.
But I knew what the cause was. Because this happened in both Ubuntu 15.04 and 15.10. And on both of those occasions I was able to fix the situation completely by changing what is called the I/O scheduler (t’s the piece of software of an OS that manages the read and write requests sent to the hard disk drive). Ubuntu 16.04 LTS by default uses the one called ‘deadline’ which is more suited for SSDs. But since I have a SATA drive, I switched over to what is called ‘CFQ’ (Completely Fair Queuing. Ubuntu includes three I/O schedulers) rebooted the computer ran the test again.
How did it go this time?
It was awesome! File manager lost its responsiveness for about 2-3 seconds but I think that was because as I later got to know, I had opened LibreOffice Calc twice and that should’ve further increased the load on the disk. But even when that happened, the mouse pointer did not lose its sensitivity nor did the whole system got stuck (everything else was working perfectly well), and the multimedia playback was not interrupted, not even once! If you want me to put a number on it, then I’d give it 9/10.
Both Ubuntu 15.10 and 16.04 LTS took the same amount of seconds for shutting down, although Ubuntu 15.04 is the winner taking 44% less time. But a 3.6 seconds of shutting down delay is quite fast for an operating system. No complains here.
In almost all the occasions that I tested Ubuntu LTS releases, quite rightly so, they’ve always worked better than the non-LTS releases. And this Ubuntu 16.04 LTS, the 6th of such release is no exception. This one actually is even more impressive than the others because it has addressed some security related issues and even although not critical, subtle issues that I mentioned in the review.
As far as the performance was concerned, Ubuntu 16.04 LTS was only largely outperformed by the memory usage where there is a large increase in memory usage. Other than that, those numbers look pretty good to me. That ‘.deb’ file issues with the Software Center is the only major concern that I can come up with. But I’m sure it’ll be fixed very soon.
So all in all, for its superior stability (at least on my hardware which have more ‘Linux’ compatible hardware items to be fair) & performance, I definitely recommend it over its predecessors! If interested, get it from here and thank you for reading.