Ubuntu 15.10 Woes

I’ve been using Ubuntu as my daily driver for a few years now, across a couple different computers. While it may not be the most robust or flexible Linux distribution, it did the trick. There was once a time when I had a hard drive die, and with it went my Windows partition (my documents were on a separate disc). Not having been overly experienced with setting up and using Linux on a daily basis, Ubuntu was my quick backup, since it was easy to install and came with software I would use. I’ve regarded that decision as one of the best ones I’ve ever made, as it forced me to learn more about running a Linux desktop environment. I didn’t long stick with the basic installation, as I’m all for customizing the experience to tailor my needs, as well as work with my workflow. I quickly installed the Gnome 3 environment over the Unity one provided by default. While Unity has made great strides over the past few years, I still prefer Gnome due to its customizability with extensions.

My woes with Ubuntu began a couple of years ago, when I got a new laptop. At the time, the main issues with wireless internet access had been corrected (which I experienced on a much older laptop), and with how pleased I was with my desktop installation, I had no concerns installing it on a new system. While the installation worked fine, there were some that I had to fix, work with, or work around. The smaller problem was the special function key my computer has. On Windows this extra button can be mapped to run a program (perhaps other things too), but it wasn’t even recognized at all on Linux. I don’t mind too much about this, since I’m not in the habit of using it, but every once in a while it still bugs me. After tinkering over the past year, I’ve managed to get it working (mapping the button press to another key), this had some strange issues that would cause my keyboard to lock up or act strangely. I’m not sure if I configured it incorrectly, or of the usage of F13 as the key was the cause, but I’ve since removed the config, but may eventually attempt to get it working again one day.

The other big issue I had, was with my graphics drivers. One thing I was particularly excited about in my new shiny laptop was the included Nvidia graphics card, which may be arguably better than the AMD card in my desktop. I had minimal issues with AMD drivers in the past (mostly installing them manually), and I’d heard great things about the Nvidia ones, so I expected to have no issues. Sadly, I was very wrong. One feature Ubuntu comes with is the option to install “Additional Drivers” at the touch of a button. Problem was, this did not list Nvidia drivers as an option. I also tried manually installing them, with no success. What I didn’t know, and took me several months to figure out, was that my laptop has a hybrid graphics configuration. Nvidia Optimus Technology allows the usage of both Discrete Graphics processing through the dedicated card, as well as usage of integrated graphics (less power consumption, but less powerful) through the Intel chipset. Once I discovered this, I made a lot of progress.

The Bumblebee Project is a package that allows the usage of both integrated and dedicated graphics processing. This allows better power consumption through bbswitch, when the discrete card is disabled when not in usage. It’s also possible to specify exactly which applications run on the nvidia card, by executing optirun <command> through the terminal, or via a script (primusrun may also be used). Through this package the nvidia drivers were installed, and I could not only run applications (particularly games) with much improved performance, but my battery life had also doubled since I had installed it. This project came to me as a blessing, and the only downfall I currently have is the inability to use the HDMI port on my laptop, since it comes out of the Nvidia card. From what I understand, an xorg server session cannot run on more than a single graphics card at a time (or perhaps just on hybrid setups?). While it is possible to have multiple to have multiple xorg servers running at the same time, one on the Intel and one on the Nvidia card (keyboard and mouse sharing via the Synergy Project), I’ve not found it to be worth the effort, since I can equally use an external monitor via the VGA output also included on my laptop.

While Bumblebee was a fantastic discovery, it came with a downside, running it on Ubuntu. Every 6 months, Ubuntu does an upgrade. Here new packages are installed, some are updated, and others are removed. I cringed at every upgrade, afraid that something I needed would be removed, or something would break. Having considered my graphics setup to be fragile, I feared being unable to login properly after upgrading. To my surprise, recent advances and improvements with drivers, along with the Linux kernel as a whole, improved Nvidia Optimus support, so I was able to install more up-to-date drivers directly in Ubuntu.

With the release of Ubuntu 15.04 came the first hiccup. I was able to login properly, but I quickly discovered bumblebee was no working. This was easily remedied by adjusting the bumblebee configuration file in /etc/bumblebee/bumblebee.conf. I had never had to tinker with this in the past, but since I was using more up-to-date drivers, I had to manually indicate what version for the library paths. With that out-of-the-way, it was smooth sailing, until the next upgrade.

Ubuntu 15.10 arrived, and I was nervous but prepared. I didn’t immediately upgrade, since I knew it would be time-consuming, but I finally decided to upgrade a couple of days ago. I know I would have to adjust the bumblebee configuration with the new driver version info, so that was no headache. I downloaded the upgrade (took several hours surprisingly), installed and rebooted. Logged in, adjusted the configuration, tested and it all worked fine. It looked like I was in the clear, or so I thought. A couple reboots later, I found myself facing an error screen with this message:

The system is running in low graphics mode

Your screen, graphics card, and input device settings could not be detected correctly. You will need to configure these yourself.

This of course came at a very inopportune time, since I had brought my laptop with me to do some work. Instead of working, I spent countless hours trying to fix this. In the past, I would probably have just reinstalled Ubuntu since I have my /home directory on a separate partition, but this would have meant several more hours re-configuring everything to get back to how it approximately was beforehand. This time, I wanted to try tinkering a bit myself, and see if I could identify and correct the issue myself. The results, to my dismay, were worse than I expected.

What I quickly discovered was that my xorg configuration (found in /etc/X11/xorg.conf) was incorrectly setup. My screen 0 (main screen) was listed as the Nvidia device, and the Inactive device was Intel. Why they were inverted was beyond me, so I switched them and rebooted. This had no effect, and I also discovered that the configuration had reset back to how it was before I modified it. Some more digging (always best to have a second computer when using linux) lead me to find the gpu-manager was responsible, as it was not liking the configuration, and resetting it to an invalid one. I’d tried a few other configurations, some based on suggestions from various websites and tutorials, and the best success I had was getting to the lightdm login screen. Logging in would just loop back to the login. The main problem I had was that I didn’t know what the configuration was prior to this issue, so I came up with a way of getting one.

On a separate partition, I installed a clean Ubuntu 15.10 environment. I then did all the updates, installed bumblebee and related packaged, rebooted and tested. Bumblebee was working, but what really came to a surprise was the xorg configuration, or rather, the lack thereof. There was no xorg.conf file. This suggested that default settings were sufficient to properly run the desired setup. Rebooting again, I tried removing the configuration files on the original partition with no luck. Something about the drivers was breaking it. The following commands are what ultimately allowed me to boot and login successfully to Ubuntu 15.10:

sudo apt-get remove – -purge bumblebee* bumblebee-* nvidia nvidia-* primus primus*

sudo rm /etc/X11/xorg.*

Once I rebooted with this, I was welcomed with the login screen, and soon after my normal desktop. I was partly ecstatic, because although I now had access, I had no bumblebee. This meant no nvidia driver support, and no discrete GPU utilization (except perhaps through nouveau, but.. it’s nouveau). I attempted to reinstall everything similarly to the clean Ubuntu install on the other partition, which took me back to the same error message. The xorg configuration went back to the same faulty setup. Something still wasn’t right. I booted into the clean Ubuntu installation to look for more answers, and the one I found shocked me:

The system is running in low graphics mode

Your screen, graphics card, and input device settings could not be detected correctly. You will need to configure these yourself.

That’s right: the clean installation of Ubuntu 15.10, which was configured properly and working, magically broke too. Either something was broken with the basic setup, which I had working successfully for years, or something was broken with Ubuntu 15.10. My money is on the latter. Regardless, I am stuck with a mostly functional Ubuntu installation, but no effective solution to get my setup working properly. My ultimate decision? I’m jumping ship, and moving to Arch Linux. The clean Ubuntu partition has been formatted, and I’m migrating. I will make a follow-up post to tell that tale, but what I will say right now, is that I like it already. Although I’m disappointed that I couldn’t keep my setup, nothing lasts forever, and I’ve been interested in something more advanced for a while now. I wish good luck to all those still using Ubuntu, and hope my misfortune can be helpful to others.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s