repak shawahb
si vis pacem, para rectum



Mon, 14 Nov 2011
hack the planetvideo subsystem

Well shit, it's been about 18 months since my last post. Here's one that'll bore you!

In Debian Wheezy, xorg is now version 7.6 and xserver-xorg-core is version 1.11. With this update comes an increment to the xorg input ABI and the xorg video ABI.

That's great unless you're using a binary driver that hasn't been updated to work with the ABI (NVidia legacy, I'm looking at you). In my case, I've got a Quadro FX 3000 in one of my boxes, and it still needs the 173.xx driver. What to do?

My solution is a hack, plain and simple: downgrade xserver-xorg-core to 1.10 without downgrading anything else. However, you have to be a little tricky about this because otherwise apt will complain that your X install is broken. Here's what you do:

  • Grab xserver-xorg-core_1.10.4-1ubuntu5 from the Ubuntu pool (amd64, i386) (local copies: amd64, i386).
  • mkdir /tmp/xserver-xorg-core_1.11.4-really1.10
    dpkg-deb -R xserver-xorg-core_1.10.4-1ubuntu5_*.deb /tmp/xserver-xorg-core_1.11.4-really1.10
    cd /tmp/xserver-xorg-core_1.11.4-really1.10/DEBIAN/
    sed 's/Version: 2:1.10.4-1ubuntu5/Version: 2:1.11.4-really1.10/; s/Provides: xorg-input-abi-12, xorg-video-abi-10/Provides: xorg-input-abi-12, xorg-video-abi-10, xorg-input-abi-13, xorg-video-abi-11/;' control >
    mv control
    cd /tmp
    dpkg-deb --build xserver-xorg-core_1.11.4-really1.10
    dpkg -i xserver-xorg-core_1.11.4-really1.10.deb
    echo xserver-xorg-core hold | dpkg --set-selections
  • Install the legacy driver of your choice.
  • Enjoy.

Note that we've held the package at its present version. You will need to manually undo this (or just explicitly apt-get install xserver-xorg-core) if you want to upgrade later.