Video PM Methods

Richard Hughes hughsient at gmail.com
Tue May 16 09:54:34 PDT 2006


Right, lets re-open the discussion:

I agree having three types of video card (ati, nvidia, intel) was
probably over-generalising the quirks needed and we need finer-grained
control for some videocards.

To resume from video suspend we may have to use (one or many of):

1. S3_BIOS kernel boot option
2. S3_MODE kernel boot option
3. vbetool post
4. vbetool vbestate save <and> vbetool vbestate restore
5. vbetool dpms suspend  <and> vbetool dpms on
6. radeontool?

How do we handle the kernel parameters? Should we check the grub
commandline to make sure we have the correct parameters and fail to
suspend the video if not set correctly?

How do we specify, for instance, that my intel video card needs to do:

vbetool vbestate save
vbetool dpms suspend > foo
<suspend>
vbetool dpms on
vbetool vbestate restore < foo

How about:

video_adapter_pm.vbe_state_restore (bool)
video_adapter_pm.vbe_post (bool)
video_adapter_pm.dpms_force (bool)

And then we can have:

  <device>
    <match key="/org/freedesktop/Hal/devices/computer:smbios.system.manufacturer" string="Acer">
      <match key="/org/freedesktop/Hal/devices/computer:smbios.system.version" string="TravelMate 650">
        <merge key="video_adapter_pm.vbe_state_restore" type="bool">true</merge>
        <merge key="video_adapter_pm.vbe_post" type="bool">true</merge>

        <!-- suspend method -->
        <append key="org.freedesktop.Hal.Device.VideoAdapterPM.method_names" type="strlist">SuspendVideo</append>
        <append key="org.freedesktop.Hal.Device.VideoAdapterPM.method_signatures" type="strlist"></append>
        <append key="org.freedesktop.Hal.Device.VideoAdapterPM.method_execpaths" type="strlist">hal-system-video-suspend</append>

        <!-- resume method -->
        <append key="org.freedesktop.Hal.Device.VideoAdapterPM.method_names" type="strlist">ResumeVideo</append>
        <append key="org.freedesktop.Hal.Device.VideoAdapterPM.method_signatures" type="strlist"></append>
        <append key="org.freedesktop.Hal.Device.VideoAdapterPM.method_execpaths" type="strlist">hal-system-video-resume</append>

      </match>
    </match>
  </device>

But then the methods are present on the computer node, not the display adapter (problem?).

Anyone got any good ideas?

Richard.
 



More information about the hal mailing list