linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	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:15:15 +0000	[thread overview]
Message-ID: <4C001643.2070802@gmx.de> (raw)
In-Reply-To: <AANLkTikTBFPxbl5p9kI65bHt2UJZ5j0DAxFwJ6rzD77L@mail.gmail.com>

Alex Deucher schrieb:
> On Fri, May 28, 2010 at 4:21 AM, Guennadi Liakhovetski
> <g.liakhovetski@gmx.de> wrote:
>> On Thu, 27 May 2010, Alex Deucher wrote:
>>
>>>
>>> Another API to consider in the drm kms (kernel modesetting) interface.
>>>  The kms API deals properly with advanced display hardware and
>>> properly handles crtcs, encoders, and connectors.  It also provides
>>> fbdev api emulation.
>> Well, is KMS planned as a replacement for both fbdev and user-space
>> graphics drivers? I mean, if you'd be writing a new fb driver for a
>> relatively simple embedded SoC, would KMS apriori be a preferred API?
> 
> It's become the defacto standard for X and things like EGL are being
> built onto of the API.  As for the kms vs fbdev, kms provides a nice
> API for complex display setups with multiple display controllers and
> connectors while fbdev assumes one monitor/connector/encoder per
> device.  The fbdev and console stuff has yet to take advantage of this
> flexibility, I'm not sure what will happen there.  fbdev emulation is
> provided by kms, but it has to hide the complexity of the attached
> displays.  For an soc with a single encoder and display, there's
> probably not much advantage over fbdev, but if you have an soc that
> can do TMDS and LVDS and possibly analog tv out, it gets more
> interesting.

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.


Regards,

Florian Tobias Schandinat


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

Thread overview: 18+ 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 11:05     ` Jaya Kumar
2010-05-27 12:48       ` Guennadi Liakhovetski
2010-05-27 19:55     ` Alex Deucher
2010-05-28  8:21       ` Guennadi Liakhovetski
2010-05-28 17:47         ` Alex Deucher
2010-05-28 19:15           ` Florian Tobias Schandinat [this message]
2010-05-28 19:25             ` Guennadi Liakhovetski
2010-05-28 19:58               ` Florian Tobias Schandinat
2010-05-28 19:41             ` Alex Deucher
2010-05-28 20:06               ` Ville Syrjälä
2010-05-30 11:15                 ` Dave Airlie
     [not found]     ` <4BFED8B0.8010504@ti.com>
2010-05-28 10:07       ` Guennadi Liakhovetski
2010-05-27  6:56 ` Hiremath, Vaibhav
2010-05-27  7:35   ` Guennadi Liakhovetski
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=4C001643.2070802@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).