public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jon Smirl <jonsmirl@gmail.com>
To: Mike Mestnik <cheako911@yahoo.com>
Cc: dri-devel <dri-devel@lists.sourceforge.net>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: Design for setting video modes, ownership of sysfs attributes
Date: Sat, 18 Sep 2004 18:12:17 -0400	[thread overview]
Message-ID: <9e47339104091815125ef78738@mail.gmail.com> (raw)
In-Reply-To: <20040918195807.18874.qmail@web11906.mail.yahoo.com>

On Sat, 18 Sep 2004 12:58:07 -0700 (PDT), Mike Mestnik
<cheako911@yahoo.com> wrote:
> This is intersting...
> I'd like to know how you plan to use VCs?  That is more then one tty
> sharing the same monitor.  I'd also like to see VCs able to change modes
> while not being active, thought I can't imagin how one would plan todo
> this  /wo blocking.  I don't see any good reason why it can't be an ioctl,
> you can have the same exe/bin/app handle BOTH the user and root parts of
> the mode change.  This way it can keep a cache of things, like modes that
> will currently not be valid.

VCs should be dealt with at a higher layer. This higher layer would
track what mode is on each virtual console and set it back after
console swap. The VC code would provide it's own sysfs mode attribute
in the VC's sysfs entry. A VC layer may suppress direct access to the
head specific mode attribute. This brings up a question, how do I know
which sysfs VC entry corresponds to the one I'm logged into?

I'm trying to allow for a user space VC implementation at some point
in the future so I don't want to build assumptions about a kernel
space VC implementation into the code.

The sysfs scheme has the advantage that there is no special user
command required. You just use echo or cp to set the mode.

I'm still undecided if there needs to be a root priv daemon caching
the EDID and polling for a monitor change. EDID can be regenerated on
each request to change mode but it takes a few seconds. The root priv
daemon will dynamically link to card specific libraries. Initially I'm
going to add the functions to the mesa libraries but they may get
broken out later.

> There is another thing I can't see.  Why can't the module for the drm
> create fb[0-9]* devices, one for each monitor?  This would seam to solve
> the problem with having another app and ioctl(API).

The DRM driver I'm working on already creates one DRM device for each
head. Doing this also creates a sysfs entry for each head too. Each
head has it's own mode/modes attributes.

Another item is merged fb. Initially heads will be unowned. Logging
into a head makes you the owner. If you ask for the modes available on
your head the list will also contain merged fb mode. If you set a
merged fb mode, the login process on the secondary screen needs to be
killed. If some one is logged into the secondary head merged fb modes
won't be in the list. This scheme has the nice side effect of making
all heads equal, there is no separate controlling device for the card.

-- 
Jon Smirl
jonsmirl@gmail.com

  reply	other threads:[~2004-09-18 22:12 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-18 18:43 Design for setting video modes, ownership of sysfs attributes Jon Smirl
2004-09-18 19:58 ` Mike Mestnik
2004-09-18 22:12   ` Jon Smirl [this message]
2004-09-18 22:37     ` Mike Mestnik
2004-09-18 23:33     ` Keith Packard
2004-09-19  0:54       ` Jon Smirl
2004-09-19  1:57         ` Vladimir Dergachev
2004-09-19  2:16           ` Jon Smirl
2004-09-19  2:32             ` Vladimir Dergachev
2004-09-19 10:11             ` Mike Mestnik
2004-09-19  9:55         ` Mike Mestnik
2004-09-19  4:48     ` Benjamin Herrenschmidt
2004-09-19 16:12       ` Jon Smirl
2004-09-20  0:07         ` Benjamin Herrenschmidt
2004-09-20  1:06           ` Jon Smirl
2004-09-19  4:45 ` Benjamin Herrenschmidt
2004-09-19 16:46   ` Jon Smirl
2004-09-19 17:19     ` Mike Mestnik
2004-09-19 20:40     ` Keith Packard
2004-09-20 13:02       ` Alan Cox
2004-09-19 20:44     ` Felix Kühling
2004-09-20  1:25       ` Mike Mestnik
2004-09-20  0:10     ` Benjamin Herrenschmidt
2004-09-21 12:45 ` Pavel Machek
2004-09-21 15:56   ` Jon Smirl
2004-09-21 15:42     ` Alan Cox
     [not found] <2FYdH-10h-5@gated-at.bofh.it>
     [not found] ` <2G6Et-6D7-31@gated-at.bofh.it>
2004-09-19 14:18   ` Pascal Schmidt
2004-09-19 15:00     ` P. Benie
2004-09-19 19:08       ` Pascal Schmidt

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=9e47339104091815125ef78738@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=cheako911@yahoo.com \
    --cc=dri-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox