From: "Brian G. Rhodes" <bgr-3mWahjwryh5BDgjK7y7TUQ@public.gmane.org>
To: Denis Oliver Kropp <dok-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
Cc: linux-fbdev-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
directfb-users-iGvX3keArt1g9hUCZPvPmw@public.gmane.org,
Geert Uytterhoeven
<geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org>,
directfb-dev-iGvX3keArt1g9hUCZPvPmw@public.gmane.org
Subject: Re: [Linux-fbdev-devel] DirectFB without FBDev
Date: Wed, 28 May 2008 12:53:52 -0500 [thread overview]
Message-ID: <483D9C30.8010301@acdstar.com> (raw)
In-Reply-To: <483D9453.1080700-iGvX3keArt1g9hUCZPvPmw@public.gmane.org>
Denis Oliver Kropp wrote:
> Geert Uytterhoeven wrote:
>
>> Hi Denis,
>>
>> On Wed, 28 May 2008, Denis Oliver Kropp wrote:
>>
>>> One major bug at the moment is mode switching and pitch values being wrong. It's dumb to
>>> return the pitch of the variable mode settings in the fixed settings structure anyhow, but
>>> if you like to start with the above mentioned mission, that's where it could begin.
>>>
>> Do you care to tell us why this is dumb?
>>
>
> Ok, the fixed information should not contain information that changes over time,
> otherwise it is not fixed, at least that's my understanding of "fixed".
>
>
>> The pitch depends on the video mode and the hardware requirements,
>> that's why it's in struct fb_fix_screeninfo.
>>
>
> It would suffice to encode the pitch requirements independent from the video mode,
> i.e. just put the pixel or byte alignment into the fixed structure.
>
>
>>> And while you're at it, please also add an ioctl to just simply set the display offset without
>>> a virtual resolution and x/y offset values within the whole frame buffer...
>>>
>> Why do you need this? What's different compared to setting a virtual
>> resolution and a y offset (I assume you're talking about y only, as an x
>> offset without a virtual resolution doesn't make much sense).
>>
>
> If you see the frame buffer as a big pool of memory in which you can allocate chunks
> for being displayed or otherwise used by the hardware, it is a handicap if you need to
> specify the offset of these buffers in non-linear mode after putting some 2D coordinate
> system onto the 1D memory area.
>
> I'd propose to allow user space to choose any byte offset and pitch as part of the variable
> information that is compatible with the hardware. To achieve this the constrains should be
> put into the fixed information.
>
> fb_var_screeninfo
> - remove/disable x_offset/y_offset
> + add byte_offset/byte_pitch
>
> fb_fix_screeninfo
> - remove variable pitch info
> + add byte/pixel alignment constrains for offset and pitch
>
> 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.
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.
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.
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.
next prev parent reply other threads:[~2008-05-28 17:53 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 ` Brian G. Rhodes [this message]
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
[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=483D9C30.8010301@acdstar.com \
--to=bgr-3mwahjwryh5bdgjk7y7tuq@public.gmane.org \
--cc=directfb-dev-iGvX3keArt1g9hUCZPvPmw@public.gmane.org \
--cc=directfb-users-iGvX3keArt1g9hUCZPvPmw@public.gmane.org \
--cc=dok-iGvX3keArt1g9hUCZPvPmw@public.gmane.org \
--cc=geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org \
--cc=linux-fbdev-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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).