Currently, the video card is left randomly after it resume from the power suspend.
Neither BIOS nor video card driver restore all the device context.
Here video card driver refers to both DDX driver and DRM driver.

The context of the video cards is composed from three parts:
   1. 2D context including register status and device memory content
      Xserver charge these.
   2. 3D context including register status and device memory content
      DRI and DRM driver charge these.
   3. PCI config space.
      In Solaris, it is the responsibility of Nexus driver to save and restore all the PCI
     config space.

    Xserver and DRM driver may save and restore part of the device's register. It is highly
 possible that we will create a boundary and hand shake for Xserver and DRM driver.


    How linux does?


    In open source world, some guys use some hack method to the graphics suspend and resume.

    1). Save the configuration space of the device manually by some tools.
    2). Suspend the device, then bios will leave the device in random state
    3). Post the device and restore the configuration of the device manually by some tools.
     


   By this way, linux sometimes can work with or without Xorg. But it is very unstable.


 
 


 

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

This blog copyright 2009 by Ming Shu