All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
To: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: Alex Deucher <alexdeucher@gmail.com>,
	Jaya Kumar <jayakumar.lkml@gmail.com>,
	linux-fbdev@vger.kernel.org,
	Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: Idea of a v4l -> fb interface driver
Date: Fri, 28 May 2010 19:58:58 +0000	[thread overview]
Message-ID: <4C002082.6030006@gmx.de> (raw)
In-Reply-To: <Pine.LNX.4.64.1005282124060.27251@axis700.grange>

Guennadi Liakhovetski schrieb:
> On Fri, 28 May 2010, Florian Tobias Schandinat wrote:
> 
>> Well hiding complexity is actually the job of an API. I don't see any need for
>> major changes in fbdev for complex display setups. In most cases as a
>> userspace application you really don't want to be bothered how many different
>> output devices you have and control each individually, you just want an area
>> to draw and to know/control what area the user is expected to see and that's
>> already provided in fbdev.
>> If the user wants the same content on multiple outputs just configure the
>> driver to do so.
>> If he wants different (independent) content on each output, just provide
>> multiple /dev/fbX devices. I admit that we could use a controlling interface
>> here that decides which user (application) might draw at a time to the
>> interface which they currently only do if they are the active VT.
>> If you want 2 or more outputs to be merged as one just configure this in the
>> driver.
>> The only thing that is impossible to do in fbdev is controlling 2 or more
>> independent display outputs that access the same buffer. But that's not an
>> issue I think.
>> The things above only could use a unification of how to set them up on module
>> load time (as only limited runtime changes are permited given that we must
>> always be able to support a mode that we once entered during runtime).
>>
>> The thing that's really missing in fbdev is a way to allow hardware
>> acceleration for userspace.
> 
> How about a "simple" use-case, that I asked about in another my mail: how 
> do you inform fbdev users, if a (DVI) display has been disconnected and 
> another one with a different resolution has been connected?

Yes that's a problem. The thing is that the virtual terminal requires us 
to always be able to switch to a resolution we once supported. Probably 
what I would do in such a case is switching the screen off and let the 
user figure out that he has done something "wrong". As we don't really 
know our users (applications) there is not much we can do but wait for 
the next check_var to solve this. So yes things that force us to be 
incompatible with our previous behaviour can do some harm if the user is 
not aware of it.

Note 1: Interesting that you mentioned viafb, the driver that is 
currently nearly completely incapable to determine any output device 
limitations.

Note 2: set_par returns a value but that's rather a mistake and we can't 
rely anyone to react on a sane way on error. check_var is the only place 
where framebuffers can say that they don't support something after this 
they have to support it regardless of any external events.


Thanks,

Florian Tobias Schandinat


WARNING: multiple messages have this Message-ID (diff)
From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
To: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: Alex Deucher <alexdeucher@gmail.com>,
	Jaya Kumar <jayakumar.lkml@gmail.com>,
	linux-fbdev@vger.kernel.org,
	Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: Idea of a v4l -> fb interface driver
Date: Fri, 28 May 2010 21:58:58 +0200	[thread overview]
Message-ID: <4C002082.6030006@gmx.de> (raw)
In-Reply-To: <Pine.LNX.4.64.1005282124060.27251@axis700.grange>

Guennadi Liakhovetski schrieb:
> On Fri, 28 May 2010, Florian Tobias Schandinat wrote:
> 
>> Well hiding complexity is actually the job of an API. I don't see any need for
>> major changes in fbdev for complex display setups. In most cases as a
>> userspace application you really don't want to be bothered how many different
>> output devices you have and control each individually, you just want an area
>> to draw and to know/control what area the user is expected to see and that's
>> already provided in fbdev.
>> If the user wants the same content on multiple outputs just configure the
>> driver to do so.
>> If he wants different (independent) content on each output, just provide
>> multiple /dev/fbX devices. I admit that we could use a controlling interface
>> here that decides which user (application) might draw at a time to the
>> interface which they currently only do if they are the active VT.
>> If you want 2 or more outputs to be merged as one just configure this in the
>> driver.
>> The only thing that is impossible to do in fbdev is controlling 2 or more
>> independent display outputs that access the same buffer. But that's not an
>> issue I think.
>> The things above only could use a unification of how to set them up on module
>> load time (as only limited runtime changes are permited given that we must
>> always be able to support a mode that we once entered during runtime).
>>
>> The thing that's really missing in fbdev is a way to allow hardware
>> acceleration for userspace.
> 
> How about a "simple" use-case, that I asked about in another my mail: how 
> do you inform fbdev users, if a (DVI) display has been disconnected and 
> another one with a different resolution has been connected?

Yes that's a problem. The thing is that the virtual terminal requires us 
to always be able to switch to a resolution we once supported. Probably 
what I would do in such a case is switching the screen off and let the 
user figure out that he has done something "wrong". As we don't really 
know our users (applications) there is not much we can do but wait for 
the next check_var to solve this. So yes things that force us to be 
incompatible with our previous behaviour can do some harm if the user is 
not aware of it.

Note 1: Interesting that you mentioned viafb, the driver that is 
currently nearly completely incapable to determine any output device 
limitations.

Note 2: set_par returns a value but that's rather a mistake and we can't 
rely anyone to react on a sane way on error. check_var is the only place 
where framebuffers can say that they don't support something after this 
they have to support it regardless of any external events.


Thanks,

Florian Tobias Schandinat


  reply	other threads:[~2010-05-28 19:58 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-26 14:09 Idea of a v4l -> fb interface driver Guennadi Liakhovetski
2010-05-27  0:21 ` Jaya Kumar
2010-05-27  6:56   ` Guennadi Liakhovetski
2010-05-27  6:56     ` Guennadi Liakhovetski
2010-05-27 11:05     ` Jaya Kumar
2010-05-27 11:05       ` Jaya Kumar
2010-05-27 12:48       ` Guennadi Liakhovetski
2010-05-27 12:48         ` Guennadi Liakhovetski
2010-05-27 19:55     ` Alex Deucher
2010-05-27 19:55       ` Alex Deucher
2010-05-28  8:21       ` Guennadi Liakhovetski
2010-05-28  8:21         ` Guennadi Liakhovetski
2010-05-28 17:47         ` Alex Deucher
2010-05-28 17:47           ` Alex Deucher
2010-05-28 19:15           ` Florian Tobias Schandinat
2010-05-28 19:15             ` Florian Tobias Schandinat
2010-05-28 19:25             ` Guennadi Liakhovetski
2010-05-28 19:25               ` Guennadi Liakhovetski
2010-05-28 19:58               ` Florian Tobias Schandinat [this message]
2010-05-28 19:58                 ` Florian Tobias Schandinat
2010-05-28 19:41             ` Alex Deucher
2010-05-28 19:41               ` Alex Deucher
2010-05-28 20:06               ` Ville Syrjälä
2010-05-28 20:06                 ` Ville Syrjälä
2010-05-30 11:15                 ` Dave Airlie
2010-05-30 11:15                   ` Dave Airlie
     [not found]     ` <4BFED8B0.8010504@ti.com>
2010-05-28 10:07       ` Guennadi Liakhovetski
2010-05-28 10:07         ` Guennadi Liakhovetski
2010-05-27  6:44 ` Hiremath, Vaibhav
2010-05-27  6:56   ` Hiremath, Vaibhav
2010-05-27  7:35   ` Guennadi Liakhovetski
2010-05-27  7:35     ` Guennadi Liakhovetski
2010-05-27 19:00   ` Udo Richter
2010-05-27 19:00     ` Udo Richter

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=4C002082.6030006@gmx.de \
    --to=florianschandinat@gmx.de \
    --cc=alexdeucher@gmail.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=jayakumar.lkml@gmail.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-media@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 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.