linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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/

  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).