<HTML dir=ltr><HEAD><TITLE>Re: [Intel-gfx] Is there a way to determine which display is the laptop display?</TITLE>
<META content="text/html; charset=unicode" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16440"></HEAD>
<BODY>
<DIV dir=ltr id=idOWAReplyText38657>
<DIV dir=ltr><FONT color=#000000 size=2 face=Arial>Your idea about proxying the lid state to the drm connection state would be perfect.  Why leave the</FONT></DIV>
<DIV dir=ltr><FONT size=2 face=Arial>display turned on when you can't see it anyway?  Closing the lid is pretty much equivalent to yanking</FONT></DIV>
<DIV dir=ltr><FONT size=2 face=Arial>a monitor </FONT><FONT size=2 face=Arial>cable.</FONT></DIV>
<DIV dir=ltr><FONT color=#000000 size=2 face=Arial></FONT> </DIV>
<DIV dir=ltr><FONT color=#000000 size=2 face=Arial>If that can't be done is there any chance something could be put into /sys/class/drm/card*_foo, like a</FONT></DIV>
<DIV dir=ltr><FONT color=#000000 size=2 face=Arial>new entry for the laptop </FONT><FONT size=2 face=Arial>screen, such as /sys/class/drm/card0-LVDS-1/laptop_screen?  Could be created</FONT></DIV>
<DIV dir=ltr><FONT size=2 face=Arial>only for the laptop </FONT><FONT size=2 face=Arial>screen, or for every output but only the laptop returns TRUE.</FONT></DIV>
<DIV dir=ltr><FONT size=2 face=Arial></FONT> </DIV>
<DIV dir=ltr><FONT size=2 face=Arial>I've already got mapping from XRandR output names to drm output names (quite a bitch that was to</FONT></DIV>
<DIV dir=ltr><FONT size=2 face=Arial>get working across all systems), so reading the contents of the sysfs file wouldn't be hard.</FONT></DIV>
<DIV dir=ltr><FONT size=2 face=Arial></FONT> </DIV>
<DIV dir=ltr><FONT size=2 face=Arial>Thanks for the reply,</FONT></DIV>
<DIV dir=ltr><FONT size=2 face=Arial></FONT> </DIV>
<DIV dir=ltr><FONT size=2 face=Arial>Al Amaral</FONT></DIV></DIV>
<DIV dir=ltr><BR>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> Adam Jackson [mailto:ajax@redhat.com]<BR><B>Sent:</B> Mon 2/6/2012 4:44 PM<BR><B>To:</B> Alan Amaral<BR><B>Cc:</B> intel-gfx@lists.freedesktop.org<BR><B>Subject:</B> Re: [Intel-gfx] Is there a way to determine which display is the laptop display?<BR></FONT><BR></DIV>
<DIV>
<P><FONT size=2>On 2/2/12 4:28 PM, Alan Amaral wrote:<BR>> With earlier hardware it was pretty easy to determine which display was the laptop display<BR>> as it was usually (always?) "LVDS".  With new hardware it's sometimes an embedded display<BR>> port (eDP) display, and I've seen at least one laptop which has the laptop monitor listed as simply<BR>> Display Port (DP), although that may not have been an Intel machine.  In the DP case the laptop<BR>> monitor can't be distinguished from a normal display port monitor.<BR><BR>If the driver isn't reporting an eDP display as eDP, the driver is broken.<BR><BR>> The current code I have uses some heuristics to figure out what outputs are available on the system,<BR>> i.e. checks for LVDS, then eDP, then DP, and makes a guess as to which one is the laptop monitor,<BR>> but in some cases, like the DisplayPort case I described above, it's impossible to know for sure, and<BR>> if a future release changes the names it will fail.<BR><BR>The names won't change.  There might be some new embedded display<BR>connectivity in the future with a new name, but that's something you'd<BR>have to handle then anyway.<BR><BR>Ideally we'd come up with a way to proxy laptop lid state into DRM<BR>connector state directly, but a) there's a lot of broken hardware in the<BR>world and b) the kernel tends to stridently resist getting anything<BR>right in kernelspace when it's easier to let people get it wrong in<BR>userspace instead.  Yes I'm bitter.<BR><BR>- ajax<BR></FONT></P></DIV></BODY></HTML>