Today was a very frustrating day.

So, yesterday, I did a rollup of software on my main work machine. I performed an apt-get upgrade as I have done a thousand times before. Logged off, and went to bed.

This morning, when tried to log on, after I’d entered my details on the login screen, I was greeted by a blank screen for about 2 minutes, before being kicked back to the login screen.

Hmm..

This kind of thing had happened before, and in the past it was just a matter of installing the vendor NVidia drivers for my card. Sometime back in the day the distro provided nvidia drivers had stopped working, so using the vendor ones was the way to go (this has since changed).

No joy. So, I began diving in and pulling at the various ends in an attempt to unravel this knotted ball of string.

Watching the logs, I noticed that just before the login process got thrown back to lightdm, I got a bunch of…

…appearing in my syslog.

So, something was suddenly up with systemd, but I was nonthewiser.

My setup at home is that I have a server which has my home directory and users exported by NFS/NIS to various machines, so there was nothing actually on the work machine. Sod it I thought, nuke the site from orbit. So, I reinstalled, just in case I had bawked something up over the years.

The fresh install made me create a new user, fine. I installed all the graphics drivers, and was able to log in just fine. Great! So, installed the various bits of software, set up NIS/NFS, could log in on console… great! Logged in through gdm3… aaaand. Nothing. Same error. Switched to lightdm. Same thing.

But… the local user worked. Must be something in my user’s home dir, after all that. So, unmounted my home directory, and tried to log in as a fresh user… still no joy. But the local user could log in…

Hmmm….

Lightbulb!

As a hunch, I copied the user line from my server’s /etc/passwd into my local machine’s /etc/passwd… and bingo, I was able to log in.

So, what looks like has happened is that a recent change (within the last week or so) has broken NIS user support for systemd/dbus. So, when the window manager was trying to start the services it needed to run, it wasn’t able to, since the user it was attempting to use couldn’t be found. Lightdm/Pam still functioned with NIS, so my thinking is that there’s something about the environment that’s looking directly at /etc/passwd for something, or to validate uids.. I’m not an expert.

So, if any of you are in a similar situation, hopefully this blog post will stop you from losing an entire day of work!

My askubuntu ticket is over here, and I’ll keep updated should I find a better solution than this rather crufty hack.

So, after I fixed the two screen problem I was having with my Ubuntu setup, I started getting an odd flickering.

This flickering didn’t affect the whole screen, rather it seemed to be something to do with window repainting, and it became even worse after I updated to 14.04.

I run a slightly non-traditional configuration, in that I run Gnome2 fallback rather than Gnome3 or Unity, therefore this probably won’t effect a lot of people, and is probably why it persists.

After a bit of digging, I discovered that this is actually a compiz issue. Here’s a summary of the fix:

Fixing the flicker

  • Install the compiz settings manager: apt-get install compizconfig-settings-manager
  • Scroll down to “Workarounds” in the “Utility” section:

compiz-1

  • Select “Force full screen redraws (buffer swap) on repaint”:

compiz-2

Once this is done, your windows should repaint as normal.

So, I recently got a notification that my Hardware Enablement Stack (HWE) was no longer going to be supported, so I had to perform an upgrade. I didn’t have time to move to 14.04, so I just did the HWE upgrade.

Unfortunately when I rebooted, I no longer had 3D support, and worse, my twin monitor setup was no longer supported (or rather, both monitors were active, but showed the same thing!).

Diagnosis

I am rocking a NVIDIA GeForce GT 610, which, although it’s a basic card, doesn’t seem to be supported very well by Ubuntu’s native Nvidia drivers. When I ran nvidia-detector, no cards were found.

Since my card was working before, I figured it was probably just a driver problem.

Solution

The solution I used for this was to update the Nvidia drivers to use the Nvidia proprietary drivers. Here’s how…

  1. First, visit the Nvidia website and use the wizard to download the correct driver bundle for your card.
  2. Hit Ctrl-Alt-F1 to enter a console
  3. Uninstall the existing Nvidia drivers: sudo apt-get remove --purge nvidia-*
  4. Move the old Xorg config out of the way: sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.orig1
  5. Stop X: sudo stop lightdm
  6. Run the NVidia installer (Note, you may need to reboot and re-run steps 5 & 6, as the installer may have to disable some kernel modules). Save yourself a headache, and be sure to build the DKMS module, so that changes aren’t lost when ubuntu updates itself.
  7. Reboot

All going well, you should now have working Nvidia drivers with two screen support!