Did the dist-upgrade to Jaunty, which I've been putting off because nothing was actually broken; but as soon as it rebooted from the upgrade, things WERE broken. What had happened was that the upgrade had installed the fglrx driver for the graphics chip, and that driver is broken (at least with my mobo/gpu). The result was that I couldn't even get a login screen; the display was completely borked. Found instructions here on what to do:
sudo /usr/share/ati/fglrx-uninstall.sh # (if it exists) sudo apt-get remove --purge fglrx* sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon sudo apt-get install xserver-xorg-video-ati sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core dpkg-reconfigure xserver-xorg
However, I was unable to do this because I'd neglected to set the root user password on my machine (I don't usually enable root); and when I booted to the recovery console, the only command-line options available to me demanded a root login. However, Greg found a solution to this:
- Boot to grub menu. Select the first line (normal boot).
- Press e to edit; then select the kernel line and press e to edit again.
- Delete back to "ro", including the "ro".
- Add rw init=/bin/bash.
- Press Enter, then b to boot the system.
At this point, you should have a root console; however, mine had frozen up due to some USB problems, which were caused by the USB hub in the monitor being connected. Disconnected this, and found a PS2 keyboard, then went through the process again, and finally got a root console. Then I was able to do these two things:
sudo /usr/share/ati/fglrx-uninstall.sh # (if it exists) sudo apt-get remove --purge fglrx*
Although the first file didn't exist, so it wasn't necessary. Then rebooted, and got a login screen in an almost normal way. Then I ran the rest of the instructions at the top to remove and reinstall the ati and xorg stuff.
After that, I ended up in the same position I'd been in after the initial Intrepid install, with only one monitor detected, mirrored on both screens. Followed my own instructions from this blog to fix it:
- Disconnect the smaller monitor leaving only the bigger one plugged in, and reboot.
- Ubuntu correctly detects the new monitor, and configures its resolution correctly. Set the refresh rate if necessary in the Screen Resolution applet.
- Hot-plug the old monitor, then do Detect Displays in the Screen Res applet. It will detect the smaller monitor correctly, but shows it as "Off"; Select "On".
- The applet will ask for permission to change some settings (presumably writing to
xorg.conf). Agree and authenticate.
- Reboot, or restart X, and the two monitors will now work happily together.