Skype and Google Earth Causes X To Crash On Ubuntu 10.10

[UPDATED 19-JAN-2010 – Thanks to Drew (in the comments) for bringing up the fact that this is only for 64-bit versions of Ubuntu. The filenames would indicate that, but no sense wasting your time if you’re looking for a 32-bit solution. Well, at least not yet. I may do a 32-bit build if there’s a need, but it seems as though the official repos may now have the patched versions. Have you gotten an official solution that resolved the issues? Feel free to let me know in the comments.]

After months of dealing with the mouse getting stuck between monitors, blinking like crazy and freezing all but remote SSH administration of my Ubuntu 10.04 (Lucid) desktop with triple-head monitor setup, I gave up and upgraded to 10.10 (Maverick) in hopes that it would fix the issues. I didn’t know if it did or not, because it introduced new errors. Worst of all: any time I would launch Skype, the screens would go black and X would crash in a segfault and restart. The same was true of Google Earth and of at least all Qt applications on the desktop. It took a good thirty-six hours before I traced everything back and came up with a solution. So now I’m running 10.10, which not only has a couple of minor improvements, but also seems to have finally fixed the mouse-locking issue. Hooray!

My issue turned out to be rooted in an issue with Xinerama on X with multiple monitors on an x86_64 box running the final stable of Ubuntu 10.10 (Maverick). If you have the same issues (Skype crashes X), try downloading the following file (routed through my company’s URL service so that it’s easier to share):

http://links.parasane.net/fvsq

The filename is xorg_crash_fix_debs_and_NVIDIA_driver_x86_64.tar.bz2, with the following hashes:

MD5: fe2fa5684a0f051d552bd7d0b4ee6f6a
SHA1: 0edea79d4832ce31954e29991405a67403732639

Applying it is simple (provided you have experience in knowing how to resolve your own dependencies, if any are missing). If you’d like to nip it in the bud before getting started, here’s an all-inclusive list of all packages of which I’m aware that you should have installed or which may be needed to finish this process without errors (feel free to pick and choose on your own, if you’re more comfortable doing a minimalist installation):

sudo apt-get install debhelper quilt bison flex xutils-dev x11proto-bigreqs-dev x11proto-composite-dev x11proto-damage-dev x11proto-xinerama-dev x11proto-randr-dev x11proto-record-dev x11proto-render-dev x11proto-resource-dev x11proto-scrnsaver-dev x11proto-video-dev x11proto-xcmisc-dev x11proto-xf86bigfont-dev x11proto-xf86dga-dev x11proto-xf86vidmode-dev x11proto-dri2-dev libxfont-dev libxkbfile-dev libpixman-1-dev libpciaccess-dev libgcrypt-dev nettle-dev libudev-dev libselinux1-dev x11proto-xf86dri-dev x11proto-gl-dev libxmuu-dev libxrender-dev libxi-dev x11proto-dmx-dev libdmx-dev libxpm-dev libxaw7-dev libxmu-dev libxtst-dev libxres-dev libxv-dev libxinerama-dev devscripts build-dep xserver-xorg-core

The steps to installing the fixed binaries are:

  • Drop to an alternative TTY prompt: Press CTRL+ALT+F1
  • Download the package file: wget http://links.parasane.net/fvsq -O xorg_crash_fix_debs_and_NVIDIA_driver_x86_64.tar.bz2
  • Uninstall your current NVIDIA drivers: sudo nvidia-uninstall
  • Decompress the file linked above: tar -xjvf xorg_crash_fix_debs_and_NVIDIA_driver_x86_64.tar.bz2
  • Change to the newly-created directory: cd xorg_crash_fix_debs_and_NVIDIA_driver_x86_64/
  • Install the core and common packages: sudo dpkg -i xserver-xorg-core_1.9.0-0ubuntu7_amd64.deb xserver-common_1.9.0-0ubuntu7_all.deb xvfb_1.9.0-0ubuntu7_amd64.deb
  • Set execution permissions on the included NVIDIA driver: chmod 0755 ./NVIDIA-Linux-x86_64-260.19.21.run
  • Execute the new NVIDIA driver: sudo ./NVIDIA-Linux-x86_64-260.19.21.run
  • Reboot the system: sudo shutdown -r now

You should now have a fully-working X system again. And if you upgraded because of the mouse-hang issues, you should be in good shape there, too!

NOTE: It should be VERY obvious, but this comes with absolutely no warranty or guarantee whatsoever, and you’re completely responsible for any issues that arise, directly and/or indirectly, from usage of these packages or instructions, et cetera. You know the drill by now, I’m sure.

Share

6 comments

  1. Scott says:

    SIgh I wish it had worked for me. I’m having the exact same problem and have tried a couple of fixes such as yours. I did yours also and it still crashes X.. I use skype and Virtualbox and both of them crash it dead.. I just bought the nvidia card and second monitor so that I could support virtualbox running in the second monitor…

    grrrr…

    If you come up with anything else you can think of email me and let me know.. glad your fix worked for you.
    Scott

    • Dan says:

      Are you using LTS or 10.10? Every 10.10 install I installed this patched package onto works like a dream now, and I’ve gotten encouraging reports from others out there in the community who indicated it worked for them as well. Though you’re the first of whom I know who’s using VirtualBox, I wouldn’t think that would necessarily make a difference in this case.

      Also, did you install/update all of the packages mentioned in the post?

      It may be something completely unrelated to anything the package I have here provides. Maybe you need to reinstall or update your Qt libraries or even Skype itself (though that, I’m sure, you’ve already tried).

      No matter what, best of luck.

  2. Drew says:

    It looks like this is 64 bit only or will it work on 32bit?

    • Dan says:

      Ah, good point, Drew. I forgot to mention that explicitly in the article. The filenames should be a giveaway, but mentioning it near the top might save someone the hassle of reading just to be let down when they find it’s strictly x64. All of our Ubuntu machines in the network are 64-bit, so that’s all I compiled. I could probably set up a virtual machine to do a 32-bit version if absolutely needed, but it might not get done until later in the week.

      The other day, I noticed updates available for X11 in the official 10.10 repos. Have you tried running your update manager to see if they’re available and if they fix the issue for you? If not, let me know and I’ll see what I can do about building the 32-bit version for you.

  3. Alejandro says:

    I really wished you remebered what was it that you patched.
    That way we could send the changes upstream and have a solution delivered to every one. :)

    • Dan says:

      I keep forgetting to check. I’ll try to remember to put up the whole source package later today, and then someone can run diffs on it to see where the change was made. It was essentially just one variable typo, really. Simplest thing caused the biggest issue.

Leave a Reply

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