1. A data processing system, comprising: device driver generation logic that is encoded in one or more computer-readable storage media for execution and which when executed is operable to perform: receiving a first capability description from a computer peripheral device, wherein the first capability description describes one or more capabilities of the computer peripheral device; receiving a generic device driver file; receiving configuration data; automatically generating a device driver for the computer peripheral device and for a computer operating system based on the first capability description, the generic device driver file and the configuration data; device job processing logic that is configured to receive a request to use the computer peripheral device, to request and receive current first capability description from the computer peripheral device at the time of the request, to generate based on the current first capability description and send to the computer peripheral device job ticket data that describes a job for the computer peripheral device to perform, and to provide job data formatted in a page description language to the computer peripheral device.