Apparently, the recently released Ubuntu operating system (17.04) will be the last time Ubuntu will feature its own desktop shell ‘Unity’ which was first introduced back in 2010. So, it survived 7 years, almost. It actually did not ‘survive’, in my opinion, even though I myself was too quick to criticize it (well, back then I was young, somewhat 😉 ), it thrived! Sure the desktop may have had its flaws, but compared to the GNOME3, the foundation of which Unity was heavily relying upon, Unity was a much sensible desktop shell to use. That is at least my judgement after using it for all these years.
Ubuntu had to let go Unity because, well first they lost the ideological battle (they were never fully trusted by the coding elite of Free Software Movement & they may have had their reasons, granted, but they never trusted what Ubuntu represented ideologically. As a subtle example, observe that despite using the GNOME’s foundation, Ubuntu was always inclined towards using Qt), and secondly, there wasn’t enough man-power to push forward their technological implementations with brute force (Mir & Unity8 are just two examples) because unless the ‘external circumstances’ are already in place, ideas alone cannot change anything.
So what can Ubuntu do? That’s an interesting question. ‘Just be honest in your act!‘, that’s my answer to Ubuntu. You see, the rest put aside, it was Mr. Mark Shuttleworth who created Ubuntu, and he created Ubuntu in his image! Why do I say this? Well, as far as back in 2011 he said, I quote:
Church schools in apartheid South Africa needed to find creative ways to teach pupils about the wrongs of that system. They couldn’t actively foment revolt, but they could teach alternative approaches to governance. That’s how, as a kid in South Africa, I spent a lot of time studying the foundations of the United States, a system of governance defined by underdogs who wanted to defend not just against the abuses of the current power, but abuses of power in general.
My favourite insight in that regard comes from James Madison in the Federalist Papers, where he describes the need to understand and harness human nature as a force: to pit ambition against ambition, as it is often described. The relevant text is worth a read if you don’t have time for the whole letter:
“…But the great security against a gradual concentration of the several powers in the same department, consists in giving to those who administer each department the necessary constitutional means and personal motives to resist encroachments of the others. The provision for defense must in this, as in all other cases, be made commensurate to the danger of attack. Ambition must be made to counteract ambition…“
Right then & there I knew exactly what his intention was, and the moment I realized it I knew it was bound to be a failure! If you don’t ‘know’ the history of the elite of the Free Software movement and their battle against KDE, then you can’t really understand what I’m saying. And I’m not going to write about it here because that’s a big story. I have however, scratched the surface of this ‘history’ in one of my old posts, if interested, you can read it from here (I wrote it many years ago & it’s not exactly a ‘professional looking’ article, but my gut feeling, which is something that I always follow on difficult situations, was quite accurate, once again).
Mark was not necessarily trying to bring ‘harmony’ to GNOME and KDE, even though that’s what he says, he had a far bigger ambition. He was actually, in a very subtle sense, challenging the core identity of the founders of the Free Software Movement (they’re mostly GNOME guys). ‘Convergence’ is just the cover story, I just don’t buy it!
He could’ve easily cooperated with KDE and could’ve easily created a reasonably good distribution based on KDE because ideologically KDE was more ‘closer’ to him… but no, he instead challenged Free Software Movement’s founders. If he was to win, he first he had to distort the coding authority the FSM has rendered upon the community and which it ferociously retains, in order to safeguard their ideological belief system from outside infiltration. This is how they have survived all these years. And to his credit, he did succeed to a certain degree (take Upstart and its wide adaptation within the community for instance), but the FSM quickly took notice and eliminated the ‘bug’ (systemd, Wayland, Flatpack…. take your pick). Because again, in this crucial element, he miscalculated. He had far less coding man-power and yet he challenged the old, the skilled and the settled, without having an equally matching force, and the rest is history.
So again, my opinion is that Ubuntu should come clean. Maybe it’s better to team up with KDE (if they go with KDE then they should be willing to fix a lot of issues in order to create a stable Ubuntu release, because as I’ve said many times, KDE does not excel in coding compared to GNOME who’re in a class of their own) and use their momentum as the driving force and slightly influence from the background (because after all, Ubuntu has shown us that it too can come up with new ideas), and maybe, just maybe, that could work. However, there won’t be a ‘convergence’ I assure you. It’ll simply be a war!
So anyhow, that’s all I’m going to say about this all, because otherwise I won’t have time to write a review. Coming back to this release, except for Unity, there aren’t big changes. Ubuntu 17.04 uses the Kernel 4.10, X Server 1.19.3, Unity 7.5.0, Firefox 53.0, LibreOffice 5.3 and GNOME apps are updated to 3.24, although, Nautilus & Terminal are still based on GNOME apps 3.20.
Again, there aren’t lots of changes to talk about, but I’ll mention the ones that I’ve come across, as the Ubuntu 17.04 review progresses. I’ve also compared the performance with both Ubuntu 16.04 LTS and Ubuntu 16.10. And as usual, before I begin, below is the summary of the hardware on top of which I tested Ubuntu 17.04 (including Ubuntu 16.04 LTS and Ubuntu 16.10 when I was reviewing them):
Intel Core i7-5500U, Hybrid GPU Setup (Intel Broadwell HD Graphics 5500, Nvidia 920M), 4GB RAM DDR3, Hybrid Permanent Storage Setup (Seagate 5400 RPM, 500 GB rotational disk and a Kingston 24 GB SSD), Qualcomm Atheros AR9565 Wireless Adapter, Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller, Realtek ALC3236 Sound Card, LED Display (1366 x 768 resolution, 60 FPS/HZ). It's an Asus laptop (F302LJ-FN024H).
This time however, I slightly had to change the partition layout. You see, with this laptop, I had setup the partition that I use to test GNU/Linux distributions as a ‘logical volume’ (it’s mostly used in server environments) on the rotational disk. But most distributions don’t yet support installing into logical volume. Because of this, I couldn’t review a good number of GNU/Linux distributions. Therefore, I took the trouble of completely re-arranging the partition layout. However, I made sure to create the ‘test’ partition with the same starting sector and added another 10 GB to its size. All in all, this should not affect the performance related data before this change took place, because the read/write speed of the ‘test’ partition should’t have changed since it starts from the same sector (in rotational disks, partitions that are spanned on the edge of the disk have slower read/write speeds). Even though this explanation is not even necessary, but I just thought I’d just mention it anyway 🙂 . So, without any further delay, let’s head on with the damn review now shall we!
Except for a subtle (and important) change, the installer is pretty much the old, easy to use and very stable Ubuntu installer that I quite praise a lot 😉 .
The subtle change is that the installer no longer reminds you to create a ‘Swap’ partition and creates a Swap file (which is the most suitable alternative for Desktop users anyway) instead, automatically (size is automatically calculated based on your RAM size), in the root directory. I quite like it, I think it should’ve been implemented years ago.
The GRUB theme and the Boot-Up logo are all the same, and I’m sure you all have seen them so I won’t go through the trouble of capturing them (it’s somewhat difficult).
The desktop (the layout, icons, right-click context menu of the mouse etc) is unchanged compared to Ubuntu 16.10, except for the wallpaper. As usual, Ubuntu 17.04 too comes with the most random looking collection of wallpapers.
Well, if you’re the average end-user, that’s about it as far as new features are concerned. Bugger!
I tried to install Google Chrome and Skype (both are proprietary ‘deb’ files) using Software Center, but failed to do so. When I hit the ‘Install’ button on Software Center nothing happened. A similar issue was present in Ubuntu 16.04 LTS and it was later fixed in an update. But I’ve updated my system after installing, and the issue is still there.
You can still install ‘deb’ file using few other methods, and I’m currently using the ‘dpkg’ command to do so.
Multimedia Playback, Adobe Flash & Skype…
Ubuntu does not ship proprietary multimedia codecs by default for audio manager & the video player that it comes with (Rhythmbox & Totem). But there is a built-in GUI for installing these codecs with ease. I however, usually don’t touch that, instead, I simply install the VLC player. So far, VLC has been working perfectly well, without any issues. However, whenever I play something in it and if the screen get turned off, then the next time I turn on the screen, VLC windows stutters a bit. But it can be easily fixed by first deselecting the VLC application window and then re-selecting it. It’s a minor issue and it’s not an issue at all to be honest.
I manually installed Google Chrome and added an extension that lets you manually enable Adobe Flash on YouTube. I usually add this extension so that I can test out Flash Playback issues. So far no issues whatsoever!
I’m not a heavy Skype user, but I made short Skype call with video enabled (Skype’s all new version for GNU/Linux is now in Beta & now it supports making videos calls) for about 10-12 minutes without any issues.
However, I cannot close Skype into the system tray area. Whenever I try to do that, Skype’s window disappears and there is no indicator icon running on the system-tray area. There was a similar issue in the old version of Skype as well. The easiest fix is to manually enter the below command into the terminal window for opening Skype:
env XDG_CURRENT_DESKTOP=Unity /usr/bin/skypeforlinux
To make things permanent so that you don’t have to use the Terminal every time you want to execute Skype you need to create a ‘.desktop’ entry file (which’ll create a shortcut to Skype on the Unity’s Application Launcher) with the above command for opening Skype. I’ve already prepared the file for you below. So all you have to do is first open a terminal window and enter the below command:
This will open up a file called ‘skypeforlinux.desktop’ in a command-line editor called ‘nano. Once the empty file is opened, simply copy and paste the below content into it:
Name=Skype for Linux Beta
Name[en]=Skype for Linux Beta
Name[de]=Skype für Linux Beta
Name[es]=Skype para Linux Beta
Name[fr]=Skype pour Linux Beta
Name[hi]=Linux बीटा के लिए Skype
Name[it]=Skype per Linux Beta
Name[nl]=Skype voor Linux Beta
Name[pt_BR]=Skype para Linux Beta
Name[ru]=Skype для Linux Beta
Name[sv]=Skype för Linux Beta
Name[uk]=Skype для Linux Beta
Name[zh_CN]=Skype for Linux Beta
Comment=Skype Internet Telephony
Exec=env XDG_CURRENT_DESKTOP=Unity /usr/bin/skypeforlinux %U
[Desktop Action QuitSkype]
Name[es]=Salir de Skype
Name[hi]=Skype से बाहर निकलें
Name[it]=Esci da Skype
Name[pt_BR]=Sair do Skype
Name[ru]=Выйти из Skype
Name[uk]=Вийти зі Skype
Once done, press the
x keys to save the content. When asked, simply press the
y key and then hit the
Enter key. That’s it, now you should see a shortcut for opening Skype on the Application Launcher and now click on it and Skype should open with system tray indicator support (if the shortcut doesn’t appear, reboot the computer).
As always I measured these data before tweaking any of the system’s settings (except for ‘Compiz Frame Rate’ test. I forgot it and had installed VLC, but that shouldn’t have contributed negatively for that test as far as I can see) in order to keep it in a ‘pure’ state (I enabled user auto-login feature from the installer. I always turn this feature on). The after installing the operating system, I boot into it 6-7 times for letting things settle down (such as for letting first time wizards to be done with, and other services such as ‘ureadahead’ that is designed to improve boot-up times which requires a couple of boots to start working, for instance). And then I took 5 samples of each test (except while measuring power because I use an application that’s specifically designed to do that and running it once is enough) for coming up with average values.
Using my Android phone’s built in timer app, I turned it ON and started to measure as soon as I hit the Enter key at GRUB’s menu and stopped measuring as soon as the desktop was loaded. I don’t always wait till the desktop loads all its start-up application since even before all that takes place the desktop is usable (this is usually the case with KDE), thus I stop measuring. However, with Ubuntu’s Unity when I stop measuring, the desktop is fully loaded.
So below is the graph that I created using the data I gathered:
As you can see, compared to Ubuntu 16.04 LTS Ubuntu 17.04 is 14.8% faster and compared to Ubuntu 16.10 Ubuntu 17.04 is 20.2% faster. In both instances, that’s an impressive decrease! I cannot point out all the possible reasons for this decrease, but except for the ‘Printing Queue Applet’, all the other start-up applications of Unity has been gotten rid of. There could be other changes (such as boot-up services) that have contributed to the welcomed decrease in boot-up times as well.
Before measuring the memory usage, I make sure the desktop is fully loaded (including all the start-up applications). Then I also wait for another 10-15 seconds for letting things to settle down (because sometimes it’s normal for memory usage to vary a bit just after loading the desktop). And after that I open-up the System Monitor and take a note of the memory usage. So, below is the graph that I created:
As you can see, Ubuntu 17.04 consumed 28.4% more memory (that’s quite a margin) compared to Ubuntu 16.04 LTS (as you can see, having a small memory footprint doesn’t always guarantee a faster start-up. The crucial element is the efficiency of the process) and compared to Ubuntu 16.10 Ubuntu 17.04 consumed 1.5% less.
CPU Usage at Idle
When there are no user-applications running, the CPU usage should be set around zero. As I observed it, Ubuntu 17.04 was able to retain 0 CPU usage values for 10-12 seconds intervals and here & there System Monitor process itself consumed about 1%. All in all, it’s excellent.
Power Usage at Idle
Before measuring power I set the screen brightness to its maximum (100%) and disable features that could come in between (such as screen dimming, automated screen turning off mechanisms, screensavers, screen lockers etc), Bluetooth is turned OFF, Wi-Fi is turned ON & connected to my wireless router and an USB mouse is also connected.
Then I run the power-usage monitor application (it doesn’t work on external batteries such as USPs). Below is the graph for comparison, and below that is the actual output of the application:
As you can see, compared to Ubuntu 16.04 LTS Ubuntu 17.04 consumed 2.4% less power but compared to Ubuntu 16.10 Ubuntu 17.04 consumed 9.7% more power.
There are number of applications that you can install on Ubuntu that you can use to further reduce the power usage. One such application is ‘TLP’ (
sudo apt-get install tlp). You just install ‘TLP’ and forget about the rest, it’s fully automated. So I did that, and below is the new power usage at idle:
As you can see, the power usage went from 7.93 Watts to 6.04 Watts, a 23.8% reduction, isn’t that impressive! So, basically, with TLP installed and with my battery fully charged (even though fully charged, since’s its worn somewhat, the batter’s charge holding capacity is at 80% percent), screen brightness set to 20% (I use my laptop indoors and very rarely go over 40%), Bluetooth turned OFF and Wi-Fi turned ON (connected to the router), while mostly browsing the web (including watching quite a few YouTube videos, non-HD mode of course, reading web pages) and playing a part of a movie later on…. I was able to use the laptop for 3 hours and 5 minutes continuously, until the battery charge level reached 16% (as you can see, Ubuntu indicated that I still got left about 30 minutes or so).
Frame Rate (Frames Per Second) under Compiz
When your screen is idle, meaning that nothing significant changes on it (no application animations such as Maximizing/Minimizing etc, no notifications etc) the frame rate of the screen should reach a very low value (somewhere closer to zero). This in effect, reduces the load from the CPU & the GPU which ultimately results in power efficiency.
Ubuntu’s Unity uses Compiz as the window manager (window manager is the app that adds control buttons to the application windows, it also lets you move the apps around & add effects etc) and it comes with a plugin that lets you measure the frame rate. So over the years I’ve used this plugin to observe the frame rate while the desktop is idle, with Dash opened in full screen (in idle), with Dash opened in windowed mode (in idle) and with HUD opened (in idle). The reason is, in some versions of Ubuntu, even at idle the frame rate sometimes is set at a higher value which means more unnecessary power consumption (it also creates more heat).
P.S: This will be the last time I’ll run this test sadly, because this is the last time we’re going to see Unity.
I’ve had observed the frame rate in both Ubuntu 16.04 LTS and Ubuntu 16.10 and they both did excellent. So what about Ubuntu 17.04? No worries, it also did extremely well!
Compiz Frame Rate when Unity Desktop is idle
Compiz Frame Rate when Dash is opened in full screen and let to idle
Compiz Frame Rate when Dash is opened in windowed mode (idle)
Compiz Frame Rate when HUD is opened and let to idle
Hardware recognition is excellent in Ubuntu 17.04! Yes you still have to manually install the proprietary drivers for Nvidia (for instance), but with the provided Driver Installer GUI, it’s quite simple. Ubuntu 17.04 was able to correctly remember the previously set screen brightness, Wi-Fi & Bluetooth adapters’ power state (whether they were turned ON or OFF) as well. And finally, now I can put the laptop to sleep mode and when I turned in back ON the touchpad (Focaltech) just works! Previously this was not the case. I couldn’t put the laptop to sleep mode and turn it back ON and get my touchpad to work without rebooting the laptop. This is most welcome!
Almost immediately installing the OS, I noticed that I couldn’t load certain websites and there was a strong indication that the system was having a DNS (DNS is there to convert the human readable names of websites into numbers that your computer ‘understands’. This is essential for properly loading a website) issue. This was irritating. And after a further investigation, I figured out what was causing the issue and even wrote an article on how to somewhat fix the issue. But Ubuntu later added an update addressing the issue. All you have to do now is to make sure to update the system while installing (recommended) the OS.
I have also seen a couple of app crashes so far (normal for Ubuntu), and except for ‘Control Center’ crash which did not let me access any of the ‘Control Center’ elements (such as Screen Lock & Brightness setting), nothing major has happened. So far I’m quite happy the stability.
In many ways, the real strength of an operating system can be measured by observing how it manages its most weakest points. For instance, when it comes to responsiveness, the main storage device can be considered as the weakest point, because compared to other devices involved, it is one of the slowest components. Therefore, when that device is stressed out heavily, the way in which the operating system responds in order to maintain the responsiveness, is usually an excellent indicator of how well it is optimized to deliver the best possible responsiveness.
So with that in mind, what I usually do is simple. I copy a file (usually about 1.5 GB to 2 GB) within two locations of the currently logged in user’s Home directory. And as soon as the file copy starts, I try to execute few programs from shortcuts and by searching in the start-menu (if such functionality is available) to put more load on the hard disk drive. At the same time, I also make sure to try to play a multimedia file and try to open a folder that contains a reasonable amount of files/folder in it, using the file manager. And then I observe the following details.
I try to see whether the cursor loses its sensitivity (its fluid motion), from all the programs I tried to open how many were actually opened before the file copy finished, whether the multimedia playback was heavily interrupted or not and lastly although I don’t necessarily put a whole lot of importance, I also try to see if the file manager was able to open the location without a huge delay (after all, by then, the main storage is in a quite stressed state).
So how was it under Ubuntu 17.04?
It was horrible! VLC (yes I manually installed it) was never able to open up including almost all the programs, until the file was finished copying. Heck, there was even a systemd crash!
Now, GNU/Linux comes with three or four utilities that control the storage device for managing read/write requests. They are usually called the “I/O schedulers”. Ubuntu 17.04 uses the one called ‘CFQ’ and it used to fix all my responsiveness related issues in the past, however, with this version, with it enabled by default, ‘CFQ’ does not work at all.
However, this is not surprising because, I’ve come across similar scenarios with other distributions in the past as well. For instance, with certain versions of Fedora, the same default I/O scheduler that used to suck at this test would work wondrously in a different release. Even though this is quite a mystery to me, this in fact, how it has been. Quite confusing, I agree.
Nonetheless, I ran this test 3 times just to make sure that I’m not imagining things. And in all those three trials, the results were almost identical. Anyhow, being fed-up with the ugly performance, I then changed the I/O scheduler to ‘deadline’ (which used to suck in some versions of Ubuntu) and re-ran the test.
(The screenshot is just an illustration)
Guess what? It completely fixed the issue! Almost all the programs (including VLC) were opened before the file copy finished, VLC was once or twice interrupted slightly for a fraction of a second (it’s nothing!)…. other than that it was excellent. File manager too was able to open up the location without a huge delay and all the while the cursor sensitivity was excellent.
Ubuntu 16.04 LTS was about 8% fast while shutting down compared to Ubuntu 17.04. However, Ubuntu 17.04 beat Ubuntu 16.10 by being 10.8% faster. All in all, all 3 operating systems actually shutdown pretty fast (under 5 seconds).
This Ubuntu release boots 14-20% faster compared to 2 of its predecessors (these readings are from a much slower rotational disk), and a fast booting operating system is always a plus. Memory usage is also not too high, it manages power efficiently (although it can further be optimized easily), hardware recognition was excellent (that may vary depending on your hardware configuration), although the responsiveness sucked at first that too can be fixed. It had a horrible DNS issue and now even that is fixed. Therefore, right now, my only complain is the Software Center’s inability to let you install ‘deb’ files. Yes you can use alternative methods, but most average users may not be aware of those workarounds. And finally, according to Mark Shuttleworth, this will be the last time Ubuntu is going to use its own desktop shell, Unity, and that makes me sad (honestly).