And it turns out the xf86-video-ati driver has a bug very similar to the one in xf86-video-r128. This makes my XVR-100 restore the video mode a blade2k.
Again, this could use some testing on i386/amd64. Index: radeon_driver.c =================================================================== RCS file: /cvs/xenocara/driver/xf86-video-ati/src/radeon_driver.c,v retrieving revision 1.10 diff -u -p -r1.10 radeon_driver.c --- radeon_driver.c 8 Feb 2011 20:50:36 -0000 1.10 +++ radeon_driver.c 20 Feb 2011 21:02:30 -0000 @@ -5225,8 +5225,6 @@ static void RADEONRestore(ScrnInfoPtr pS RADEONRestoreMemMapRegisters(pScrn, restore); avivo_restore(pScrn, restore); } else { - OUTREG(RADEON_CLOCK_CNTL_INDEX, restore->clock_cntl_index); - RADEONPllErrataAfterIndex(info); OUTREG(RADEON_RBBM_SOFT_RESET, restore->rbbm_soft_reset); OUTREG(RADEON_DP_DATATYPE, restore->dp_datatype); OUTREG(RADEON_GRPH_BUFFER_CNTL, restore->grph_buffer_cntl); @@ -5251,6 +5249,9 @@ static void RADEONRestore(ScrnInfoPtr pS if (info->InternalTVOut) RADEONRestoreTVRegisters(pScrn, restore); } + + OUTREG(RADEON_CLOCK_CNTL_INDEX, restore->clock_cntl_index); + RADEONPllErrataAfterIndex(info); RADEONRestoreBIOSRegisters(pScrn, restore); }