linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Holger Waechtler <holger@qanu.de>
To: "Ville Syrjälä" <syrjala@sci.fi>
Cc: dri-devel <dri-devel@lists.sourceforge.net>,
	mesa3d-dev <mesa3d-dev@lists.sourceforge.net>,
	fb-devel <linux-fbdev-devel@lists.sourceforge.net>
Subject: Re: Re: [Linux-fbdev-devel] Redesign of kernel graphics interface
Date: Sat, 15 May 2004 09:27:34 +0200	[thread overview]
Message-ID: <40A5C666.8020901@qanu.de> (raw)
In-Reply-To: <20040514190103.GA18868@sci.fi>

Ville Syrjälä wrote:
> On Fri, May 14, 2004 at 11:40:04AM -0700, Jon Smirl wrote:
> 
>>--- Ville Syrjälä <syrjala@sci.fi> wrote:
>>
>>>>I said OpenGL is the only accelerated API available on Linux. Can you name
>>>>another?
>>>
>>>DirectFB.
>>
>>Does DirectFB work on anything beside Matrox now?
> 
> 
> It works on any card with a working fbdev driver (vga16fb excluded). 
> Hardware acceleration is available on quite a few chips these days.
> 
> ati128  cyber5k  mach64  neomagic  nvidia  savage  tdfx
> cle266  i810     matrox  nsc       radeon  sis315

Keep in mind that beside the matrox driver almost none of them 
implements the full accelerated 2D API and that most are misusing the 3D 
engine to implement 2D functionality. Alpha blended stretch blits are 
almost always implemented using the 3D texture engines on PC graphics cards.

About one third of these drivers have been written using specs and 
documentation files that have never been officially released by the 
hardware vendors, so I'm not really sure whether they are much better 
from a security point of view than a closed source driver -- what's the 
point of a open source hardware driver without hardware specs? - you're 
not really able to review it seriously.

The specs for the remaining ones usually showed up as soon the hardware 
was getting outdated. Basically the same situation like the one you see 
with DRI drivers.


> That's the list of drivers in DirectFB cvs. Plus there is at least one 
> driver outside the DirectFB tree.
> 
> I use matrox and mach64 drivers daily. It's been a few years since I 
> seriously used XFree86.

Have you ever thought about the inherent security risks of memory mapped 
i/o registers when executing non-trusted applications? Imagine what 
happens if every single application is allowed to program the blitter 
and texture engines to copy host memory from anywhere in the system to 
graphics memory and back - a single misbehaving application can damage 
your entire system.

And do you really have the time to review every line of code you execute 
on your system?


>>>>There is a little acceleration in framebuffer, but I don't know of any
>>>>others. Also, software mesa works just fine to provide OpenGL on dumb 2D
>>>
>>>cards.
>>>
>>>Using unaccelerated OpenGL for 2D rendering doesn't sound exatly useful. 
>>
>>There is much more to 2D rendering in things like the Mac UI and Longhorn than
>>can be accomplished with BitBlt. You need transforms, filters and alpha
>>blending. Hardware texturing is much faster than doing it in software. Some of
>>the effects are achieved with pixel shaders. xserver features a fully composited
>>window manager, it needs these features to have a fast response time.
>>
>>OpenGL to me seems like the best pick for these reasons:
>>1) with have a good open source version, mesa
>>2) mesa supports a broad number of cards, basically everything there is doc for
> 
> 
> Just about as broad as DirectFB.

be honest.


>>3) OpenGL is a well published API, it is taught in universities and many books
>>are available
>>4) It is likely that Nvidia and ATI will support standalone OpenGL stacks for
>>their high end hardware on Linux
>>5) OpenGL is cross-platform. For example Cairo is being written with an OpenGL
>>back end. OpenGL Cairo will run on Window and the Mac too. This will make Linux
>>apps more portable.
>>6) The embedded market has OpenGL-ES which can run in less than 100K.
>>
>>What would be reasons for picking another API?

:) well - I could see one, but that's not the point here, as soon you 
have a secure low-level GPU interface you can place any API wrapper you 
want above this, OpenGL is just one of multiple choices. But probably 
the one that's most familiar to most of us.

Even a secure DirectFB port would be possible on top of this interface 
if you don't need any 3D graphics (you remember the DirectFB-on-SDL 
system target?).


> DirectFB is good for a few reasons:
> - Input handling
> - Easy access to hardware overlays
> - YUV formats
> - Ease of porting DirectX applications
> - Good acceleration
> - Easy API / personal preference
> 
> I'm not suggesting that everyone start using DirectFB. Everyong should be 
> able to use any API they want. The kernel should provide just enough to 
> allow these APIs to be implemented.

that would be always possible, don't worry.

Please keep in mind that we developed DirectFB at Convergence as API to 
access SettopBox and Game Console functionality in a convenient way, it 
was never intended and has not been designed for use in 
security-critical desktop or workstation environments.

Holger


-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id%62&alloc_ida84&op=click

  reply	other threads:[~2004-05-15  7:27 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-06 18:16 Redesign of kernel graphics interface Jon Smirl
2004-05-06 19:46 ` [Linux-fbdev-devel] " Geert Uytterhoeven
2004-05-06 23:20   ` James Simmons
2004-05-06 20:57 ` Otto Solares
2004-05-06 23:19 ` Nicolas Souchu
2004-05-06 21:42   ` Jon Smirl
2004-05-07  0:30     ` Nicolas Souchu
2004-05-06 22:48       ` James Simmons
2004-05-07  0:50         ` Jon Smirl
2004-05-07  1:20           ` [Dri-devel] " Keith Packard
2004-05-07  1:33             ` Jon Smirl
2004-05-07  8:31           ` Geert Uytterhoeven
2004-05-14 17:20           ` Sven Luther
2004-05-14 17:35             ` Alex Deucher
2004-05-14 19:25               ` Sven Luther
2004-05-14 17:51             ` Jon Smirl
2004-05-14 18:08               ` Ville Syrjälä
     [not found]                 ` <20040514184004.16621.qmail@web14930.mail.yahoo.com>
2004-05-14 19:01                   ` Ville Syrjälä
2004-05-15  7:27                     ` Holger Waechtler [this message]
2004-05-15  8:25                       ` Ville Syrjälä
2004-05-17 17:40                   ` Alan Cox
2004-05-14 19:31               ` Sven Luther
2004-05-10  0:57         ` [Dri-devel] " Benjamin Herrenschmidt
2004-05-10 16:14           ` James Simmons
2004-05-10 16:28             ` [Dri-devel] " Ville Syrjälä
2004-05-10 22:42               ` Nicolas Souchu
2004-05-10 18:29             ` Jon Smirl
2004-05-10 19:16               ` Mike Mestnik
2004-05-10 21:05               ` James Simmons
2004-05-10 22:39               ` Nicolas Souchu
2004-05-10 20:47                 ` Otto Solares
2004-05-10 23:58                   ` James Simmons
2004-05-11 22:57                   ` Nicolas Souchu
2004-05-11 21:17                     ` Otto Solares
2004-05-11 21:29                     ` Ville Syrjälä
2004-05-10 19:33             ` [Dri-devel] Re: [Linux-fbdev-devel] " Alan Cox
2004-05-11  8:33               ` Geert Uytterhoeven
2004-05-10 23:40             ` Benjamin Herrenschmidt
2004-05-10 23:50               ` James Simmons
2004-05-11 22:13                 ` Compiling Rage xlinit.c Richard Smith
2004-05-14 19:41                   ` Richard Smith
2004-05-14 21:28                     ` Steve Longerbeam
2004-05-14 22:16                       ` Richard Smith
2004-05-14 22:48                         ` Steve Longerbeam
2004-05-14 23:57                           ` Richard Smith
2004-05-15  0:22                             ` Steve Longerbeam
2004-05-15  0:42                             ` Ville Syrjälä
2004-05-18 22:06                             ` James Simmons
2004-05-19 14:36                               ` Richard Smith
2004-05-19 22:20                                 ` James Simmons
2004-05-07  8:30       ` [Linux-fbdev-devel] Redesign of kernel graphics interface Geert Uytterhoeven
2004-05-06 23:21   ` James Simmons
2004-05-10 12:07 ` [Dri-devel] " Egbert Eich

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=40A5C666.8020901@qanu.de \
    --to=holger@qanu.de \
    --cc=dri-devel@lists.sourceforge.net \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=mesa3d-dev@lists.sourceforge.net \
    --cc=syrjala@sci.fi \
    /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).