Rebootless display driver upgrades
AssigneeMicrosoft Corporation
InventorsMarcus J. Andrews, Max A. McMullen, Sameer A. Nene, Youssef M. Barakat, Ameet A. Chitre
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsMarcus J. Andrews, Max A. McMullen, Sameer A. Nene, Youssef M. Barakat, Ameet A. Chitre
Estimating the term…
Systems and methods for rebootless updating of a IHV display driver are disclosed. According to such a method, first, the operating system stops the driver from running Second, the system switches over to an interim or temporary display driver, which be a default driver provided with the operating system. Third, the new hardware-specific driver is started. Thus, a hardware-specific display driver may be updated without rebooting.
A method comprising:
A computer readable storage medium comprising computer executable instructions that when executed by a processor cause the processor to perform a rebootless method for transitioning to a second display driver on a host computing system, the method comprising:
A system comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Bootstrapping: configuring for operating with peripheral devices; Loading of device drivers
Computing and data processing
Term ended 31 Oct 2025 (estimated)
Updating a hardware-specific display driver (i.e., a display driver that may be used to control video graphics display associated with a piece of hardware) has always required rebooting. Such a hardware-specific display driver may be referred to as an independent hardware vendor (IHV) display driver.
In previous operating systems, it was not possible to update the display driver without requiring a reboot. The graphics architecture in these operating systems did not support the fact that a display driver would be completely “stopped” from running and then dynamically updated to a completely new display driver. For example, driver resources typically need to be released in order to change to a new driver. In previously-available operating systems, there was no way to release resources. Consequently, the user had to shutdown to release the resources. For the kernel side of the operating system to recognize the presence of a new driver, the user would have to reboot. Also, a driver is typically used by a number of clients. In previously-available operating systems, there was no way to stop clients from using the driver. Accordingly, if the clients could not be stopped from using the driver, then the driver could not be changed. Rebooting the system would force all clients to stop using (i.e., disconnect from) the driver.
It would be desirable, however, if a display driver could be updated without requiring a reboot, while maintaining certain functionality, such as 2D for example, and state of the operating system.
FIG. 1 is a flowchart of a method for upgrading a display driver without rebooting.
FIG. 2 is a flowchart of a method for stopping a currently-running hardware-specific display driver.
FIG. 3 is a flowchart of a method for starting a new hardware-specific display driver.
FIG. 1 is a flowchart of a method for upgrading a hardware-specific display driver without rebooting. At 10, the operating system may detect that a user has requested a display driver upgrade. A user may make such a request by, for example, downloading the upgraded display driver from the Web into memory on the host computer, or uploading the upgraded driver into memory on the host computer from a CD.
To install the upgraded display driver onto the host computer, the user may run a so-called “setup engine” on the host computer. At 20, the setup engine copies the files associated with the upgraded display driver into memory on the host computer. It should be understood that, in prior systems, such new display driver files were deposited somewhere in memory, and, upon the next startup, were detected and used. In a system as disclosed herein, the new files may be copied as in previous systems, and stored in memory until the new driver is started (as described in detail below).
At 30, the currently-running hardware-specific driver is stopped. A method for stopping a currently-running hardware-specific display driver is described in detail below in connection with FIG. 2.