From: "Brian G. Rhodes" <bgr@acdstar.com>
To: Denis Oliver Kropp <dok@directfb.org>
Cc: directfb-users@directfb.org,
linux-fbdev-devel@lists.sourceforge.net,
directfb-dev@directfb.org,
Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [directfb-users] DirectFB without FBDev
Date: Wed, 28 May 2008 13:55:51 -0500 [thread overview]
Message-ID: <483DAAB7.6080208@acdstar.com> (raw)
In-Reply-To: <483D9F4E.4000707@directfb.org>
Denis Oliver Kropp wrote:
> Brian G. Rhodes wrote:
>
>>> Furthermore, the pan_display functionality could be enhanced to allow
>>> a kernel side queue
>>> for frame accurate display of several buffers, e.g. video playback
>>> with five or more buffers
>>> pre-rendered. A frame/sync counter and some new flags would be enough
>>> to be added for this.
>>> Ville Syrjala once did an extension like FBIO_FLIP or similar, maybe
>>> he can elaborate.
>>>
>>> I'm also seeing the need to have one pool of memory used by different
>>> frame buffer devices
>>> or some other way to support multiple layers without statically
>>> partitioning memory that could
>>> be managed more intelligently.
>>>
>>> And how about such capabilities like layer opacity, alpha ramps...?
>>>
>>> I know all this was not required to run the kernel based terminal
>>> emulation that the frame
>>> buffer device has been invented for :)
>>>
>>>
>>>
>> I don't think the solution to abstracting access to multiple hardware
>> planes which can be located in at dynamic memory addresses to be
>> implemented by adding complexity to the framebuffer driver. It is
>> supposed to be just a dumb chunk of memory and storage for hardware
>> timings.
>>
>
> Adding the byte offset and pitch fits into this as well and would save
> it from being removed from DirectFB.
>
>
Seems like an end-run around supporting windows in framebuffer memory
and using pan to jump back and forth. This obviously was not the
original intention of panning. I have seen it used quite a bit for
buffering and it seems like a pretty inelegant method for accessing the
memory. So you add a byte offset and a pitch so that you can pull out
your next screen buffer. Now you also need to add flags for the fb
driver to tell the user-space implementation that it supports this
functionality. Pretty soon it's not a framebuffer driver. Not that
it's terribly atrocious what you suggest... I didn't mean to come off
as such. I would just prefer that there is an intermediary interface to
the fb driver which understands the hardware better and can manage these
line-width writes better.
>> Considering video, and the amount of data which has to be shuffled
>> around for higher resolution/bitrate files it does not make sense to
>> require sending rendered frames off directly to a framebuffer device.
>>
>
> I was not talking about copying any data back and forth, but just keep
> a queue of start addresses assigned to future sync counters, being taken
> care of in IRQs.
>
>
>> It is too inefficient and in cases with hardware-assist (other than
>> coprocessors), likely unnecessary. The answer probably isn't using
>> Video4Linux directly either. Perhaps a DirectFB kernel component which
>> can standardize an interface and provide a better architecture than v4l2
>> does. An application where, as mentioned above, you are using video
>> memory for multiple buffers as a implementation for queuing seems too
>> specialized to me to ever be done in a linuxfb driver.
>>
>
> It's not special regarding the hardware. Every driver with an interrupt
> handler could support it.
>
>
No, it's not special with respect to the hardware. It's special because
you're turning your framebuffer into a fifo.
>> Has any thought been given to designing a DirectFB kernel-space
>> component which abstracts that access at the kernel level? Seems to me
>> that it would make direct interaction from directfb with specialized
>> hardware much easier.
>>
>
> I don't think a new kernel graphics interface should be added, instead using
> UIO to access MMIO, DMA and IRQs would be enough and implement most of the
> graphics driver in user space. Downside is to loose the kernel console which
> you usually don't need on an embedded device...
> For acceleration and DMA/IRQ based programming, I still need to check if a
> user space approach would be enough. So far I always handled IRQs in kernel
> space for timing/performance reasons...
>
>
I wouldn't want to signal userspace from an ISR to handle work. All the
unnecessary context switches just seem wasteful. Or is there a better
method now for waking up userspace from the kernel now?
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2008-05-28 18:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-28 14:59 DirectFB without FBDev Denis Oliver Kropp
2008-05-28 17:04 ` Geert Uytterhoeven
2008-05-28 17:20 ` Denis Oliver Kropp
[not found] ` <483D9453.1080700-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-05-28 17:53 ` [Linux-fbdev-devel] " Brian G. Rhodes
2008-05-28 18:07 ` [directfb-users] " Denis Oliver Kropp
2008-05-28 18:24 ` Alex Deucher
[not found] ` <a728f9f90805281124y53df86e7n7ae1918ac97907fc-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-05-28 18:57 ` [Linux-fbdev-devel] " Denis Oliver Kropp
2008-05-28 19:33 ` [directfb-users] " Alex Deucher
2008-05-28 18:55 ` Brian G. Rhodes [this message]
[not found] ` <483DAAB7.6080208-3mWahjwryh5BDgjK7y7TUQ@public.gmane.org>
2008-05-28 19:11 ` [Linux-fbdev-devel] " Denis Oliver Kropp
2008-05-28 19:38 ` [directfb-users] " Brian G. Rhodes
[not found] ` <483D9F4E.4000707-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-05-29 16:54 ` [directfb-dev] [Linux-fbdev-devel] " Sven Luther
2008-05-31 6:08 ` [directfb-dev] [directfb-users] " Denis Oliver Kropp
2008-05-31 6:21 ` Sven Luther
2008-05-31 6:29 ` Denis Oliver Kropp
2008-05-31 6:45 ` Sven Luther
[not found] ` <20080531064501.GA7526-XkLrfMvk983aVgXGlvhGPA@public.gmane.org>
2008-05-31 20:32 ` George Tsalikis
2008-06-01 7:10 ` [directfb-dev] " Denis Oliver Kropp
[not found] ` <48424B49.8080202-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 9:20 ` [directfb-dev] " George Tsalikis
2008-06-01 9:38 ` Denis Oliver Kropp
2008-05-28 17:55 ` Geert Uytterhoeven
2008-05-28 18:33 ` Denis Oliver Kropp
[not found] ` <483D7344.6030503-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 9:31 ` [directfb-dev] " Denis Oliver Kropp
[not found] ` <48426C76.5080606-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
2008-06-01 11:57 ` Denis Oliver Kropp
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=483DAAB7.6080208@acdstar.com \
--to=bgr@acdstar.com \
--cc=directfb-dev@directfb.org \
--cc=directfb-users@directfb.org \
--cc=dok@directfb.org \
--cc=geert@linux-m68k.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
/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).