Ubuntu — not ready for primetime

I wanted to install Ubuntu on my Dell XPS 15 to try out Steam for Linux. This was not the enjoyable experience I had hoped for since a lot of things did not work perfectly out of the box. Below are some steps I had to take to get the system going.

Fixing the graphics

My laptop has NVIDIA optimus technology which automatically switches between Intel’s HD 4000 graphics card and the faster NVIDIA Geforce GFX 640. Apparently, optimus support on Linux is not good.

In Ubuntu, I had no 3D support and the graphics would spontanously turn off after a restart so I was presented with only the terminal. Fortunately, there are some nice people that are maintaining a project called Bumblebee which adds support for optimus in Linux. After installing this, my graphics system has been fairly stable. Just do this:

sudo add-apt-repository ppa:bumblebee/stable
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic

I also recommend the primusrun package:

sudo apt-get install primus

With the above installed, it is possible to run programs specifically with the NVIDIA card like so:

optirun glxspheres
primusrun glxspheres

Fixing the mouse

Yes, the mouse did not work. Well, the touchpad worked but my wireless Logitech M705 mouse did not. The problem, it turned out, was the Logitech Unifying Receiver. It is a small USB thing that is plugged in for a mouse and external keyboard and is used for many Logitech devices. After searching for many hours, somewhere on some forum, I found the following simple command-line trick:

#!/bin/bash
while :; do dmesg|grep logitech-djreceiver|tail -1|grep -q -c "failed with error -32" || exit; echo -n `date`" Driver Reload" ; rmmod hid_logitech_dj ; modprobe hid_logitech_dj ; dmesg|grep logitech-djreceiver|tail -1 ; sleep 1; done

You can also find it as a github gist here.

The script simply tries to reload the receiver with modprobe and it works. Sometimes after one loop, sometimes after ten. And it is a pain in the ass to run it at every startup.

Getting Steam to work

The real reason I wanted to try Ubuntu again was the recently released Steam for Linux client. After installing Bumblebee, Steam actually installed and ran quite well. However, it is worth taking a look at this guide for running programs with optirun/primusrun.

Conclusion

In the above, I left out the fact that before finding the solutions, I had to reinstall Ubuntu three times because of playing around with graphics drivers that broke the system until finally figuring out about the Bumblebee project. This is definitely something most users would not want to mess around with. Not only that but my mouse is still not working after a restart and sometimes I am still greated with the terminal login instead of a graphics login. It is quite random, actually.

I should also note that I have had similar experiences with Ubuntu in the past. I love Linux but it just does not work like Windows or Mac. As soon as you are faced with a weird hardware problem, good luck fixing that without the command-line!

Therefore, I have to recommend not installing Ubuntu at the current time — at least if you have dual graphics card with optimus technology or you are not willing to spend hours trying to fix things. It is a big shame because the Linux platform and Ubuntu in particular shows great promise. But it is not for everyone. It is not ready for primetime.

4 comments

  1. Hey David,

    You are right that Ubuntu (and Linux as a whole, really) is not ready for primetime as a *desktop* OS. In fact, I would go one step further and deem it a *failure*. I had so many experiences like this myself over the last 10 years that I have given up on it completely; I will never install a Linux desktop OS again if I can help it.

    But, I want to point out that Linux (and Ubuntu specifically) is very useful and stable as a server OS. At my work, we have hundreds of AWS nodes, and all of them are running Ubuntu. Not to mention all of the VMs that we use for local development (also 100% Ubuntu).

    When you leave graphics cards, sound cards, mice, and multiple monitors out of the picture, Linux actually works quite well.

    1. Hi Kevin,

      Good to hear from you :-)

      I agree with you. I am also using Ubuntu Server for hosting my websites and it is very stable and quite easy to use.

      The Ubuntu Desktop OS is constantly evolving so I hoped that this time, I would have a 100% error-/tweaking-free experience so it was quite disappointing when a lot of things are still a mess.

      Right now, I am also running Ubuntu as my main Desktop OS. After all the tweaks, it works and I like it better than Windows. Before this, I used Ubuntu inside VirtualBox on Windows. This actually worked perfectly out of the box but that is probably because VirtualBox has already been tweaked to work well with a lot of Linux distributions. Maybe I will end up going back to this setup…

  2. Linux sucks. Period. Of course you’ll always get the argument from “that guy” why you suck and Linux doesn’t. Bottom line: As of mid-2016 there is still to much researching, configuring and poking and praying that it works for your particular system. I typically give Linux a try about every year or so. It always ends up with my frustration, waste of countless hours and calling BS on the whole Linux experience. This after trying a half dozen distros and wasting my blank DVD’s. Nope. Linux is NOT ready for prime time. After all these years I would expect differently.

    1. Thanks for your comment Mike. As you can see from my follow-up blog post, Ubuntu has long been very good for developers. In fact, I have been using Ubuntu (or Xubuntu) for the last 1½ years exclusively. When it comes to normal desktop functionality, I usually switch over to Windows only for gaming performance, but I have played both XCOM 2 and Cities Skylines without any “special configuration” in Ubuntu. It just worked. The only problem I have had with Ubuntu lately was getting my USB Wifi adapter to work properly because ASUS has not released a proper Linux driver.

Leave a Reply to David Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.