That, it turns out, was a mistake. nvidia-glx again failed to upgrade, and that caused most of xorg to fail to upgrade properly. This time, however, I did not try a reboot before having tried to fix the problem.
The solution in the end was to manually create an empty file that was missing and stopping the old nvidia-glx from un-installing. With that done, I was then able to upgrade that package, and all the remaining un-configured packages were sorted.
Having read somewhere that the new xorg is able to sort out its own configuration, I decided to give that a try and rm’d all my xorg.conf files. That’s right, no backing up. Back ups are for wimps!
X did start just fine, but using the vesa driver, at some horrible low resolution. At this point, I realised that maybe backups of my config files would have been a good idea. 🙂
I finally got the Nvidia driver installed, but it would refuse to use the correct resolution. At this point I remember having the same problem last time I set up the Nvidia driver. The problem is that the Nvidia driver will not use any resolution that it does not find in the EDID. Setting UseEDID to ‘no’ has no effect. The only solution, from what I can remember, is to use a utility in Windows to extract the EDID to a file, and then use the option for the Nvidia driver to look to that file for the EDID.
Luckily, as this was an upgrade, and not a re-install, I still had the EDID file from before, and once again, I had xorg running at the correct resolution.
That meant that the whole operation took a lot longer than I wanted. Next time, I will try and remember to downgrade as much as possible before update. If I had switched to the nv driver, and kept a backup of xorg.conf, I could have updated this system really easily. Well at least I now know for next time.