Thursday, December 11, 2008

Ubuntu: Downgrading X.org

First things first, if you use multiple monitors and you're thinking about upgrading to Ubuntu 8.10 (Intrepid), I would recommend holding off. A good number of users, myself included, have experienced a very annoying bug where the mouse spontaneously loses it's ability to click. The only way to regain mouse support is to kill X with ctrl-alt-backspace (ugh). I've been able to faithfully reproduce the bug by doing the following:

* Enable Xinerama in xorg.conf
* Open firefox fullscreen on both monitors
* Rapidly move the mouse between monitors

It's worth noting that this bug has nothing to do with what window manager you're using. I've experienced it under Gnome, AwesomeWM, and Xmonad. The bad news is that even though a lot of people are complaining about it, the bug has not been fixed. As of right now, the only reliable method to regain workstation stability seems to be downgrading X.org back to the Hardy packages. To assist anyone who might be Google'ing this issue, here are the instructions for doing so.

Log into a text console as root and shut down X with '/etc/init.d/gdm stop'.

Add the following to your /etc/apt/sources.list:

deb http://us.archive.ubuntu.com/ubuntu hardy main
deb http://us.archive.ubuntu.com/ubuntu hardy-updates main
deb http://us.archive.ubuntu.com/ubuntu hardy-security main

Run apt-get update.

Purge all the packages you can by doing the following:

cd /var/lib/dpkg/info/
dpkg --purge `ls *xorg*.list | sed s/.list// `

Some of these will fail to purge due to dependency issues. That's OK. Continue with the instructions.

Reinstall the packages from the Hardy repo:

apt-get --reinstall install x11-common/hardy xorg/hardy xserver-xorg/hardy xserver-xorg-core/hardy xserver-xorg-input-kbd/hardy xserver-xorg-input-mouse/hardy

Note that if you're using a stock Ubuntu video driver such as the Matrox driver you will need to include it in the list as well (xserver-xorg-video-mga/hardy). I use the third-party Nvidia driver, so it wasn't necessary to include it in the list.

After this, you can start X with "/etc/init.d/gdm start" and hopefully login to a working desktop. The final step is to go into synaptic and lock the reinstalled packages to avoid the upgrade manager from nagging.

Thanks to Nelson for providing these instructions, which I've modified slightly for presentation here.

9 comments:

Dotan Cohen said...

Thanks for the tip, Travis, but off-topic posts like this really ruin a blog. If the blog maintainer cannot respect his blog enough to keep if on topic, why should I respect the blog and how can I expect it to provide information that is important to _me_? If I want random bits of maybe-useful-to-me trivia then I'll visit Wikipedia's Random link. But if I am subscribing to a VIM blog, that is because I am interested in information specific to VIM.

Travis Whitton said...

While I appreciate your feedback, previous readers have often commented that they enjoy posts of all sorts here. If this blog doesn't suit your needs, I'm sure there are plenty of alternatives out there. As an aside, I also use this blog as permanent storage of things I may want to reference later, so I'll be using it as I see fit.

Unknown said...

@ Travis & dotancohen:
I believe that the only thing that matters here is RSS as if one just browse the site, they can always choose only VIM label. Maybe it would be valuable for some people if You, Travis, maintained a separate RSS channel only for VIM-labeled post? It would make everyone happy. :)

Anonymous said...

Dear Travis,
I'd like to thank you for publishing this post. I've been struggling with these very bugs in Intrepid since I upgraded it from Hardy. You'll see around the web lots of people having issues with textures of OpenGL applications (myself included). To fix this I also needed to downgrade Mesa, so you may want to add this line:

dpkg --purge `ls *mesa*.list | sed s/.list//`

Once I downgraded X and Mesa, everything was working perfectly!

Kindest regards

Anonymous said...

Thanks for the post. My system had been suffering as well and is much more stable now.

Unknown said...

Thanks Travis,

followed your advice and have everything working again. Especially Dual Head, which I need for work.

I have an intel 915GM chip set and used the i810 driver in hardy which is no longer available in intrepid. So this has to be (re)installed as well. Of course the xorg.conf driver line also needs to be changed to i810.
At least that's what works best on my Vaio VGN-TX2HP

Anonymous said...

Travis
I *so* appreciate your instructions!
I had an absolute headache after upgrading to U8.10 which broke the dual screen setup on a lappie with intel i810 graphics.
now it runs xinerama again!
and FYI, yes I do use vim!
so this for me *is* on topic!
cheers

Matt said...

I just had some similar issues on jaunty with focus being stuck in a window and not being able to click to another window. I followed your instructions except replaced hardy with intrepid and it worked a treat thanks! I didn't know my video driver so I ended up installing xserver-xorg-video-all/intrepid which somehow managed to install some jaunty packages but I haven't noticed any problems (yet).

Denny said...

Thank you very much for this post - just downgraded my Jaunty system to Hardy xorg so that I can run triple-head again. (It broke on the upgrade from Hardy to Jaunty and it took me ages to find out that the breakage was a deliberate feature removal by the xorg project!) Hopefully they'll fix multi-card in the future, but for now I'm back in business after following these instructions.