Patent ID: 7644407

Claim:
A method for enabling multiple virtual machines (“VMs”) on a host to share a graphics device, the method comprising: identifying a first VM to display output on a display device, the identified first VM to be considered a focus VM; storing output for the first VM in a first frame buffer associated with the first VM; creating a first display buffer associated with the first VM by copying page table entries (PTEs) that point to the first frame buffer, the first display buffer located at a predetermined offset; creating a second display buffer associated with a second VM by copying the PTEs that point to the first frame buffer, the second display buffer located at the predetermined offset; rendering display of the second VM, when required, in a second frame buffer associated with the second VM; displaying contents of the first frame buffer by utilizing the PTEs in the first display buffer, when the first VM is active, and utilizing the PTEs in the second display buffer associated with the second VM, when the second VM is active, thereby continuing to display the first frame buffer associated with the focus VM; switching the focus VM from the first VM to the second VM to display output from the second VM on the display device; storing rendered output for the second VM in a the second frame buffer associated with the second VM; copying PTEs that point to the second frame buffer to the first display buffer and the second display buffer; and displaying the contents of the second frame buffer by utilizing the PTEs in the first display buffer, when the first VM is active, and utilizing the PTEs in the second display buffer associated with the second VN, when the second VM is active, thereby continuing to display the second frame buffer associated with the focus VM.