[ltp] RFC: removal of video output switching from thinkpad-acpi

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Sat, 9 Feb 2008 22:39:53 -0200


This is a request for comments.  Nothing is set in stone yet.


About the thinkpad-acpi video output switching:

The video output port switching in thinkpad-acpi has always been a major
hack.  It works by hinting to the firmware what ports we want to have
enabled, then asking it to switch to the next port (whatever might it be).

Enabling and disabling video ports is sane, but it seldom works (especially
when X.org is running).

The whole thing doesn't work well on many thinkpads.  It is not very
reliable on some of the thinkpads it works well on.  And I have no idea how
well it works on most thinkpads, except for the vague idea I can get from
the ibm-acpi.sf.net tables (which doesn't take new X.org into account), and
a few emails I got with some information that did not go to the webpages
yet.


About video output switching in the generic ACPI video driver:

It is gone.  ACPI defines how it should work, but the vendors almost never
get it right.  So, it was removed from video.c very recently.

Most thinkpads don't have a real generic ACPI video interface, it piggybacks
on IBM's weird proprietary ACPI hooks for this (which thinkpad-acpi uses),
and as (AFAIK) Windows doesn't use it either, it might not be really well
tested.  AFAIK, only recent thinkpads have standard ACPI hooks for video
control, and all of those are much better using X.org to deal with the video
output ports (see below).


About video output switching in userspace:

Newer RandR 1.2 X.org drivers can do it, and they can do it very well.  ATI
Radeon does it nearly perfectly, and so do the Intel drivers.  Any remaining
bugs on that area are probably going to be gone soon.

As I type this on a Debian testing machine with a backport of the latest git
xserver-xorg-video-ati code, I have LVDS, VGA, DVI and S-Video output
control working through RandR (DVI goes through the port replicator).


The questions I need answered:

I am inclined to NOT port any of the thinkpad-acpi video output switching
interfaces to sysfs, which means they will be gone if/when /proc/acpi dies.
IMHO, it looks like we better work on userspace utilities to deal with it,
or move it to kernel framebuffer drivers.

Also, I am considering removing the entire thing from thinkpad-acpi one year
from now, regardless of the fate of /proc/acpi.

Would the removal of this functionality impact your use of your thinkpad?
Which model of thinkpad? How well does the video output stuff work on
console mode? and under X.org 7.2 or 7.3?

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh