tile property contents
Aaron Plattner
aplattner at nvidia.com
Wed Dec 3 07:41:12 PST 2014
On 12/02/2014 07:04 PM, Dave Airlie wrote:
> On 3 December 2014 at 10:01, Aaron Plattner <aplattner at nvidia.com> wrote:
>> On 10/13/2014 08:23 PM, Dave Airlie wrote:
>>>
>>> Hi,
>>>
>>> So I've been hacking on mutter and the gnome pieces for tiling, and
>>> I've at least fixed mutter locally so maximise windows works and the
>>> heads are in the right order.
>>>
>>> Now I've strung all the pieces together using a single KMS property
>>> that X.org propogates, and mutter picks up and propagates over dbus as
>>> well,
>>>
>>> Currently I've ascii encoded the property into a blob,
>>>
>>>
>>> <ver>:<tileid>:<flags>:<maxhtiles>:<maxvtiles>:<h_tile_loc>:<v_tile_loc>:<tile_w>:<tile_h>
>>>
>>> I'm thinking of dropping the version field and just exposing TILE2
>>> property if we need it later to add more values,
>>
>>
>> Nifty. Is there a randrproto.txt spec for this planned?
>>
>
> Well for KMS its a kernel property and is documented there,
> I suppose randrproto should also contain the info.
>>
>> What format does this ID need to be in? It looks like monitors are
>> identified by (vendor id, product id, serial number) tuples in the DisplayID
>> extension block so it would make sense to just concatenate that into one
>> giant number as the tileid. Having to centrally manage these (in the
>> kernel??) seems like overkill.
>
> I don't mind, but central management is what we've done, it wasn't a lot
> of work, you could munge the vendor/product/serial, but maybe
> DisplayId won't be the only game in town in the future and I'd hate
> to tie things to it.
Alright. At least for now, we can just centrally manage group IDs in
our X driver until we move that stuff to the kernel.
>>> group - unique per group
>>> flags: bit 0 : single monitor enclosure
>>> maxhtiles: total number of horiz tiles
>>> maxvtiles: total number of vert tiles
>>> h_tile_loc: horiz location of this output in tile group
>>> v_tile_loc: vert location of this output in tile group
>>> tile_w: width of this tile
>>> tile_h: height of this tile.
>>>
>>> Now we extract all of these from the DisplayID v1.3 block, and I'm
>>> wondering if maybe I shouldn't just export the whole DisplayID tiling
>>> info block instead, it however encodes a few other pieces of
>>> information, including bezel info, and some flags specifying behaviour
>>> in some cases.
>>
>>
>> I don't know whether the other flags would be useful, but one important one
>> is the "native resolution" field. At least one monitor I've seen fails to
>> work if you drive the normal EDID "preferred" timings on both tiles.
>
> I think the last two fields are copied from that, the tile w/h, I can't see
> any mention of a specific native res flag.
Oh, got it. I was confused by this because our DisplayID parsing
library calls this field 'native_resolution'.
--
Aaron
More information about the dri-devel
mailing list