I don't think display lists are obsolete. They still give the driver the chance to cache and optimize data. Admittedly they are not a quick are vertex arrays or vertex buffers, but they are very flexable and easy to use.