All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keith Packard <keithp@keithp.com>
To: Pekka Paalanen <ppaalanen@gmail.com>
Cc: xorg-devel@lists.freedesktop.org,
	"Michel Dänzer" <michel@daenzer.net>,
	dri-devel@lists.freedesktop.org
Subject: Re: Proposal for RandR version 1.6, Leases and EDID-based output grabs
Date: Fri, 28 Apr 2017 15:03:17 -0700	[thread overview]
Message-ID: <86lgqkw5p6.fsf@hiro.keithp.com> (raw)
In-Reply-To: <20170410143531.09b84bd7@eldfell>


[-- Attachment #1.1: Type: text/plain, Size: 3179 bytes --]

Pekka Paalanen <ppaalanen@gmail.com> writes:

> IMHO, if nothing is providing a picture intended for the HMD, the HMD
> should be off. There is no use in showing an arbitrary image that does
> not look right, is there?

Well, if the HMD is being worn and the application crashes, then
what you want is something that keeps responding to your motion so you
can get the HMD off without falling or running into stuff...

But, yeah, in general, if you don't have an HMD application running, the
HMD can't usefully show anything from a bare window system. The trick is
to make sure existing desktop applications don't try to use it by mistake.

> even if the database was just a bunch of files, you still need code to
> access it, and probably something to ensure the entries are
> well-formed, so that everyone will agree on how to parse them. One
> should probably decide whether the database will only answer the
> question "is it a HMD?" or can it provide other information as well.

Yup, we need a spec for the files that is reasonably sane, and also
extensible so that if we want to add new data, we can. I discussed this
with Eric Anholt at breakfast this morning and we came up with a couple
of ideas:

 1) A directory full of files, each file can contain one or more monitor
    entries

 2) Monitors should be identified (at a minimum) using the EDID
    Manufacturer ID and Manufacturer product code. I can imagine
    also allowing the use of a serial number and/or date code if we end
    up using this for more stuff later.

 3) Window system independent. We obviously need this for X, but
    other window systems should share the same data.

 4) Use an existing format. Both of us would rather use JSON, but
    there's already XML in the DRM world, so that might make
    sense. These are functionally equivalent, but XML syntax is rough on
    the eyes.

 5) Allow multiple definitions in each file, but allow for multiple
    files too.

Here's a JSON-formatted example:

{
        "monitors": [
                {
                        "Manufacturer" : "LGD",
                        "Product" : 437,
                        "desktop" : true
                }
        ]
        "copyright" : "Copyright © 2017, Keith Packard",
        "license" : "GPLv3"
}

One can imagine the same done in XML, but I'm too lazy to type that
here. In any case, as you can see above, I've added a "desktop" field;
if false, the monitor would be hidden to 'normal' desktop applications
and only made visible to others.

Questions:

 Q) Where should the directory live.

 A) /usr/share/monitors for distribution-provided files, /etc/monitors
    for application-provided files.

 Q) How about RandR protocol.

 A) I'm thinking of just creating a new randr request like
    RRGetOutputInfo but which will return even "hidden" outputs with
    non-spoofed 'connection' value.

 Q) What file names should the entries use.

 A) How about just the manufacturer and product of the first entry?

 Q) Ranges of product ids?

 A) Yeah, we might want this to avoid a lot of duplicate entries.

-- 
-keith

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-04-28 22:03 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-01 22:58 Proposal for RandR version 1.6, Leases and EDID-based output grabs "Keith Packard"
2017-04-02 15:43 ` Daniel Vetter
     [not found]   ` <20170402154302.zd7nmqf7vtcvgssu-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-04-02 19:58     ` Keith Packard
2017-04-03  7:45       ` Daniel Vetter
     [not found]         ` <20170403074528.c7vwoi3mg7yeojdr-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-04-03 16:41           ` Keith Packard
2017-04-03 22:07             ` Daniel Vetter
     [not found]               ` <20170403220749.5ujhdzuy6dnikwry-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-04-03 22:50                 ` Keith Packard
2017-04-04  7:02                   ` Daniel Vetter
     [not found]                     ` <20170404070242.rphtgg4yopek2sf7-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-04-04 15:53                       ` Keith Packard
2017-04-04 15:59                         ` Daniel Vetter
     [not found]                           ` <20170404155923.wllkgop2fyj7wydt-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2017-04-04 16:48                             ` Keith Packard
     [not found]                               ` <864ly4glvd.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-04-10 17:47                                 ` Mario Kleiner
2017-04-10 18:11                                   ` Keith Packard
2017-04-10 20:05                                     ` Mario Kleiner
     [not found]                                       ` <d6040e25-326c-90dd-bc47-d88e6823e9a3-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-10 21:16                                         ` Keith Packard
2017-04-10 18:45                       ` Alex Deucher
2017-04-10 19:39                         ` Keith Packard
2017-04-07  0:17 ` Michel Dänzer
     [not found]   ` <4caa78af-7dc8-fbcf-d2ca-285d4554f5c9-otUistvHUpPR7s880joybQ@public.gmane.org>
2017-04-07  3:02     ` Keith Packard
     [not found]       ` <86zifsyl6o.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-04-07  7:56         ` Pekka Paalanen
2017-04-09 17:27           ` Keith Packard
2017-04-10 11:35             ` Pekka Paalanen
2017-04-28 22:03               ` Keith Packard [this message]
     [not found]                 ` <86lgqkw5p6.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-05-02  7:39                   ` Pekka Paalanen
2017-05-02 14:45                     ` Keith Packard
     [not found]                       ` <868tmfl3lm.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-05-03  7:08                         ` Pekka Paalanen
2017-05-04  2:04                           ` Keith Packard
     [not found]                             ` <86tw5174y1.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-05-04  8:13                               ` Pekka Paalanen
2017-05-04 18:02                                 ` Keith Packard
     [not found]                                   ` <86inlg7b5n.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-05-05  8:20                                     ` Pekka Paalanen
2017-05-05 14:25                                       ` Keith Packard
2017-05-06 11:34                                         ` Mario Kleiner
     [not found]                                           ` <7f68d9fe-a40f-cfb2-3efd-1149d93bb5cb-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-05-06 15:19                                             ` Keith Packard
2017-05-08  7:33                                             ` Pekka Paalanen
2017-05-10  0:29                                             ` Dave Airlie
     [not found]                                         ` <867f1v1iut.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-05-08 10:47                                           ` Pekka Paalanen
2017-05-08 15:29                                             ` Keith Packard
     [not found]                                               ` <86fugfxt7p.fsf-6d7jPg3SX/+z9DMzp4kqnw@public.gmane.org>
2017-05-09  7:08                                                 ` Pekka Paalanen
2017-04-29  5:52 ` Proposal for RandR version 1.6, Leases [v2] Keith Packard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86lgqkw5p6.fsf@hiro.keithp.com \
    --to=keithp@keithp.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=michel@daenzer.net \
    --cc=ppaalanen@gmail.com \
    --cc=xorg-devel@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.