Features/DisplayPort

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(updates)
Line 15: Line 15:
 
* Targeted release: [[Releases/12|Fedora 12]]  
 
* Targeted release: [[Releases/12|Fedora 12]]  
 
* Last updated: 2009-07-15
 
* Last updated: 2009-07-15
* Percentage of completion: 10%
+
* Percentage of completion: 40%
  
The intel driver has somewhat functional DisplayPort support.
+
The intel driver has DisplayPort and embedded-DP support. Still needs more testing, particularly with eDP hardware.
ati and nouveau are still in early stages.
+
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 49: Line 48:
 
| ATI Radeon, DVO (<RV630) || ? || ? || ? || ? || ?
 
| ATI Radeon, DVO (<RV630) || ? || ? || ? || ? || ?
 
|-
 
|-
| Intel GM45 || ? || ? || ? || ? || ?
+
| Intel GM45 || OK || ? || ? || ? || ?
 
|-
 
|-
 
| NVIDIA || ? || ? || ? || ? || ?
 
| NVIDIA || ? || ? || ? || ? || ?
Line 74: Line 73:
  
 
== Dependencies ==
 
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
 
  
 
DisplayPort sinks with EDID are required to support EDID 1.4.  This is landed.
 
DisplayPort sinks with EDID are required to support EDID 1.4.  This is landed.
  
eDP sinks may use DisplayID instead.  This is [http://people.freedesktop.org/~ajax/patches/displayid.patch kind of written], but we don't have any eDP devices to test with yet, so who knows.
+
eDP sinks may use DisplayID instead.  X [http://cgit.freedesktop.org/xorg/xserver/commit/?id=0bb9a7e1650180a24246d14493a8168487cf8914 implements] a DisplayID decode but no fetch mechanism.  But we don't have any eDP devices to test with yet, so who knows.
  
 
Possible common functionality: link/lane computation, manual link training, dongle identification, various other AUXCH services.
 
Possible common functionality: link/lane computation, manual link training, dongle identification, various other AUXCH services.
Line 90: Line 88:
 
== Documentation ==
 
== Documentation ==
  
Ideally, none needed, besides "DisplayPort just works now".  It's not like we have documentation for DVI.  However, if the support matrix above doesn't get completely filled in, then we will probably want to mention exactly which chips have DP support.
+
Ideally, none needed, besides "DisplayPort just works now".  It's not like we have documentation for DVI.  However, if the support matrix above doesn't get completely filled in, then we will want to mention exactly which chips have DP support.
  
 
== Release Notes ==
 
== Release Notes ==

Revision as of 18:26, 4 August 2009

Contents

DisplayPort support

Summary

Enhanced support for DisplayPort in X and kernel drivers.

Owner

Current status

  • Targeted release: Fedora 12
  • Last updated: 2009-07-15
  • Percentage of completion: 40%

The intel driver has DisplayPort and embedded-DP support. Still needs more testing, particularly with eDP hardware.

Detailed Description

DisplayPort is a new digital display connector and protocol. While much more capable than DVI, it's also much more complicated, and some work is needed to take advantage of it.

Benefit to Fedora

DisplayPort has a higher link bandwidth than dual-link DVI. Monitors can take advantage of this by providing higher resolutions, higher color depths, and higher refresh rates. DisplayPort also runs at a lower voltage than DVI and LVDS, using less power. Future laptops will likely switch to embedded DisplayPort for the local panel for this reason. With this feature, Fedora users can take advantage of the the technical superiority of DisplayPort.

Scope

Every device with a DisplayPort PHY will almost certainly need driver work to enable it. At the moment this includes the big three of intel, radeon, and nouveau. Some DisplayPort functionality will likely be common among all devices and can be lifted to helper routines in the X server or drm core.

Affected packages:

  • kernel
  • xorg-x11-server
  • xorg-x11-drv-{ati,intel,nouveau}

How To Test

See this grid? Fill it in.

Device DisplayPort sink DP-to-HDMI converter DP-to-DVI converter DP-to-VGA converter Embedded DP
ATI Radeon, UNIPHY (>=RV630)  ?  ?  ?  ?  ?
ATI Radeon, DVO (<RV630)  ?  ?  ?  ?  ?
Intel GM45 OK  ?  ?  ?  ?
NVIDIA  ?  ?  ?  ?  ?

For full rigor points, make another set of grids per device class, with DP/HDMI/DVI/VGA as both rows and columns, and test hotplug switching between all cases.

Known DP sinks:

  • Apple: 24" LED
  • Dell: 2408WFP, 3008WFP
  • HP: LP2275w, LP2480zx

Known DP sources:

  • ATI UNIPHY: FirePro V8700 (probably), RadeonHD 3650
  • ATI DVO: FireGL V7700, FireMV 2260 (probably)
  • Intel: Various motherboards and laptops, FIXME give examples
  • NVIDIA: Quadro NVS295, Quadro NVS540, Quadro FX580

User Experience

DisplayPort connections should Just Work.

Dependencies

DisplayPort sinks with EDID are required to support EDID 1.4. This is landed.

eDP sinks may use DisplayID instead. X implements a DisplayID decode but no fetch mechanism. But we don't have any eDP devices to test with yet, so who knows.

Possible common functionality: link/lane computation, manual link training, dongle identification, various other AUXCH services.

Some IHV communication may be necessary to get details on specific DP PHYs.

Contingency Plan

None necessary. It doesn't work in F11, so it can continue to not work in F12.

Documentation

Ideally, none needed, besides "DisplayPort just works now". It's not like we have documentation for DVI. However, if the support matrix above doesn't get completely filled in, then we will want to mention exactly which chips have DP support.

Release Notes

DisplayPort is likely to require kernel support in a much stronger way than DVI, since hotplugging the monitor requires another link training cycle, and the only reliable way to detect that is with interrupts. UMS configurations may accidentally work in some situations, but this is not recommended.

Comments and Discussion