How do we want to deal with 4k tiled displays?
Jasper St. Pierre
jstpierre at mecheye.net
Fri Jan 17 05:36:01 PST 2014
Is there a reason we can't somehow "merge" the two CRTCs together into one
virtual CRTC? Too difficult to modeset?
On Thu, Jan 16, 2014 at 2:11 PM, Aaron Plattner <aplattner at nvidia.com>wrote:
> So, monitor manufacturers are starting to make high-resolution displays
> that
> consist of one LCD panel that appears to the PC as two. The one I've got
> is a
> Dell UP2414Q. It shows up to the PC as two DisplayPort 1.2 multistream
> devices
> that have the same GUID but different EDIDs. There's an extension block
> in the
> EDID that's supposed to indicate which side is the left tile and which is
> the
> right, though I haven't tried to decode it yet.
>
> The problem, obviously, is that applications (including some games) treat
> the
> two tiles as if they were completely separate monitors. Windows maximize
> to
> only half of the screen. My question is, how do we want to deal with these
> monitors?
>
> As far as I see it, we have four options:
>
> 1. Hide the presence of the second tile in the X server.
>
> Somehow combine the two tiles into a single logical output at the RandR
> protocol level. The X server would be responsible for setting up the
> right
> configuration to drive the logical output using the correct physical
> resources.
>
> 2. Hide the presence of the second tile in libXrandr.
>
> This would allow interested applications to query the real state of the
> hardware while also making it easier to do modesets on a per-monitor
> level
> rather than per-output.
>
> This could be exposed either as a new "simple" modeset API in
> libXrandr or
> similar, or by modifying the existing interface and having a new
> interface
> to punch through the façade and get at the real configuration, for
> clients
> that care.
>
> 3. Update every application that uses RandR 1.2.
>
> Applications can detect the presence of these monitors and deal with
> them
> themselves, but this might have poor adoption because programmers are
> a lazy
> bunch in general.
>
> 4. Do nothing and hope the problem goes away.
>
> Hopefully, the situation with current 4k monitors is temporary and
> we'll
> start seeing single-tile 4k displays soon, fixing the problem
> "forever".
> Until we get 8k tiled displays.
>
> If the real output devices are still exposed through the protocol, it
> might make
> sense to add new properties describing their relative positions to make it
> easier for clients to lay them out in the right order. This might be
> useful for
> power-walls too.
>
> The problem with the first two options is that driving these monitors
> consumes
> two crtcs. If we present them as a single output to applications, they'll
> make
> the assumption that they can just assign a single crtc to that output and
> use
> the remaining crtcs for something else. I suspect that deleting crtcs or
> otherwise marking them as used as a side effect of setting a mode on a
> different
> crtc is going to explode a lot of existing applications.
>
> ~~
>
> Regardless of what we do about the current crop of 4k monitors, one
> feature I
> would like to add is a standardized OutputGroup property. Multiple
> outputs with
> the same value of OutputGroup should be considered (both by clients and the
> server) as a single logical monitor. This would affect the Xinerama
> information
> presented by rrxinerama.c, and window managers that use RandR 1.2 directly
> would
> be encouraged to consider output groups in their UI behavior.
>
> The X server could configure OutputGroups automatically when setting up the
> initial configuration based on the presence of tiled displays, and clients
> could
> reconfigure the groups at runtime to get different behavior if desired.
>
> Does this sound like a reasonable extension to RandR?
>
> --
> Aaron
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
--
Jasper
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140117/e5132c85/attachment.html>
More information about the xorg-devel
mailing list