Access to video memory present about The role of a device-driver, Raster Display Technology, Special “dual-ported” memory, How much VRAM is needed?, Some operating system issues, PCI Configuration Space. | Access to video memory We create a Linux device-driver that gives applications access to our graphics frame-buffer The role of a device-driver A device-driver is a software module that controls a hardware device in response to OS kernel requests relayed, often, from an application i/o memory RAM hardware device in out device-driver module user application ret call call ret syscall standard “runtime” libraries Operating System kernel sysret user space kernel space Raster Display Technology The graphics screen is a two-dimensional array of picture elements (‘pixels’) These pixels are redrawn sequentially, left-to-right, by rows from top to bottom Each pixel’s color is an individually programmable mix of red, green, and blue Special “dual-ported” memory VRAM CRT CPU 16-MB of VRAM RAM 2048-MB of RAM How much VRAM is needed? • This depends on (1) the total number of pixels, and on (2) the number of bits-per-pixel • The total number of pixels is determined by the screen’s width and height (measured in pixels) • Example: when our “screen-resolution” is set to 1280-by-960, we are seeing 1,228,800 pixels • The number of bits-per-pixel (“color depth”) is a programmable parameter (varies from 1 to 32) • Certain types of applications also need to use extra VRAM (for multiple displays, or for “special effects” like computer game .