yes, the problem with graphics cards is really the strange card-specific stuff needed to put it into a reasonable large, deep linear colour mode. if we had only to write code for the hw cursor for each one, that would be much less of a problem. even some of the hardware drawing code doesn't look hard to exploit ... once the card is in a sensible mode. the cursor code always seemed fairly similar, so it might not be too hard to have a table of ids just for that if necessary, and certainly card-specific code for that is fairly easy to write. one of the changes i was making to the software cursor in inferno is to bring it into a common interface with the hardware one (allowing for the need to interact a bit with devdraw re. screen access).