many systems attempt to emulate the function of a framebuffer device, often for reasons of compatibility. the two most common virtual framebuffers are the linux framebuffer device (fbdev) and the x virtual framebuffer (xvfb). xvfb was added to the x window system distribution to provide a method for running x without a graphical framebuffer. the linux framebuffer device was developed to abstract the physical method for accessing the underlying framebuffer into a guaranteed memory map that is easy for programs to access. this increases portability, as programs are not required to deal with systems that have disjointed memory maps or require bank switching.