From: "Jon Smirl" <jonsmirl@gmail.com>
To: "D. Hazelton" <dhazelton@enter.net>
Cc: "Kyle Moffett" <mrmacman_g4@mac.com>,
"Manu Abraham" <abraham.manu@gmail.com>,
"linux cbon" <linuxcbon@yahoo.fr>,
"Helge Hafting" <helge.hafting@aitel.hist.no>,
Valdis.Kletnieks@vt.edu, linux-kernel@vger.kernel.org
Subject: Re: OpenGL-based framebuffer concepts
Date: Tue, 23 May 2006 13:17:18 -0400 [thread overview]
Message-ID: <9e4733910605231017g146e16dfnd61eb22a72bd3f5f@mail.gmail.com> (raw)
In-Reply-To: <200605230048.14708.dhazelton@enter.net>
On 5/22/06, D. Hazelton <dhazelton@enter.net> wrote:
> Not that I can see, but the network connectivity bit should probably not be
> targeted in the first set of patches. IMHO, the best way to handle this would
> be to start merging the DRI drivers into the Framebuffer drivers. This would
> then provide some of the infrastructure needed to bring an accelerated
> graphics framework into the realm of possibility just in userspace.
Merging fbdev and DRM is the obvious place to start. Fully
implementing a merge requires solving a number of issues. Here are a
few to get you going...
1) Running the video ROM at boot to reset cards, emu86
2) Sorting out VGA when multiple cards are present
3) Determining where mode setting code is going to live
4) Providing a default driver for video cards that have none
5) Actually merging DRM/fbdev
6) Some way for multiple users to control their video card without being root
None of this is rocket science, patches have been already attempted
for everything on the list. The real challenge is political, not
technical.
> By implementing a framework where userspace doesn't have to know - or care -
> about the hardware, which, IMNSHO, is the way things should be, then
> userspace applications can take advantage of such a system and be even more
> stable.
A true monolithic design doesn't really work for video hardware. In
the monolithic model all devices in a class present a uniform API. The
better design for GPUs is the exo-kernel model. DRM already uses the
exo-kernel model. With exokernels each driver presents a unique API
and userspace libraries are used to provide a uniform API.
The exo-kernel model works well with software fallbacks. mesa provides
a complete software OpenGL implementation. The device specific user
space library then overlays functions that its hardware can
accelerate.
The current microkernel'ish design of the 2D Xserver causes a great
deal of conflict with existing Linux subsystems. Given that 3D is
already in the exo-kernel model, I don't see much benefit is pursuing
a microkernel 2D solution.
> > The necessary kernel support would include a graphics-memory
> > allocator, resource management, GPU-time allocation, etc, as well as
> > support for an overlaid kernel console. Ideally an improved graphics
> > driver like that would be able to dump panics directly to the screen
> > composited on top of whatever graphics are being displayed, so you'd
> > get panics even while running X. If that kind of support was
> > available in-kernel, fixing X to not need root would be far simpler,
There is no technical reason requiring X to run as root, it is a
matter of choice and convenience. I have had versions of X with 3D
support running without root on my local machine but the patches were
not merged.
> > plus you could also write replacement X-like tools without half the
> > effort. Given that sort of support, a rootless xserver would be a
> > fairly trivial wrapper over whatever underlying implementation there
> > was.
>
> Here you outline what is needed, and strangely I find myself thinking that a
> lot of this code has already been written. The DRI/DRM system provides a
> method for userspace to directly access the acceleration features of graphics
> cards. Would it not be possible, then, to take the DRI system, merge it with
> the framebuffer system in some manner, and provide a single interface to
> userspace?
The strategy of adding acceleration feature to the framebuffer drivers
causes conflict with X and DRM drivers. The better solution is to
collect all acceleration support into a single driver. The DRM
acceleration code is much more advanced than the fbdev code.
> One thing that I've been thinking about is that there is some need for DMA to
> and from the card. This would probably best be done by the current S/G DMA
> system, as it's a well known and very stable part of the kernel that is
> (IIRC) exposed to userspace.
DRM already supports DMA to/from the GPU and does security checks on
the parameters. It also security checks the commands being fed to the
GPU to keep Direct Rendering applications from causing mischief.
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2006-05-23 17:17 UTC|newest]
Thread overview: 321+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-16 21:41 replacing X Window System ! linux cbon
2006-05-16 21:51 ` Michal Piotrowski
2006-05-16 21:57 ` Måns Rullgård
2006-05-16 23:23 ` Alistair John Strachan
2006-05-16 22:19 ` alan
2006-05-16 22:42 ` Valdis.Kletnieks
2006-05-16 23:05 ` alan
2006-05-17 11:47 ` linux cbon
2006-05-17 12:18 ` Valdis.Kletnieks
2006-05-17 12:39 ` linux cbon
2006-05-17 13:19 ` Valdis.Kletnieks
2006-05-17 14:10 ` Panagiotis Issaris
2006-05-17 14:19 ` Ondrej Zary
2006-05-17 14:23 ` Olivier Galibert
2006-05-17 14:46 ` Bob Copeland
2006-05-17 13:24 ` Lennart Sorensen
2006-05-17 13:46 ` Bob Copeland
2006-05-17 14:01 ` Michal Piotrowski
2006-05-17 13:39 ` Jesper Juhl
2006-05-17 14:53 ` linux cbon
2006-05-17 15:09 ` Valdis.Kletnieks
2006-05-17 15:14 ` Valdis.Kletnieks
2006-05-17 15:30 ` linux-os (Dick Johnson)
2006-05-17 16:29 ` Valdis.Kletnieks
2006-05-17 15:53 ` linux cbon
2006-05-17 16:09 ` Randy.Dunlap
2006-05-17 16:12 ` Stas Myasnikov
2006-05-17 15:16 ` Alan Cox
2006-05-17 15:49 ` linux cbon
2006-05-17 16:11 ` Stas Myasnikov
2006-05-17 17:52 ` Gábor Lénárt
2006-05-17 17:17 ` Felipe Alfaro Solana
2006-05-17 17:33 ` grundig
2006-05-18 15:42 ` Lennart Sorensen
2006-05-18 18:40 ` grundig
2006-05-18 12:00 ` Helge Hafting
2006-05-18 17:28 ` linux cbon
2006-05-18 18:42 ` Valdis.Kletnieks
2006-05-18 18:52 ` Thierry Vignaud
2006-05-18 19:31 ` linux cbon
2006-05-18 19:37 ` David Lang
2006-05-18 20:12 ` Gerhard Mack
2006-05-18 22:22 ` linux cbon
2006-05-19 9:09 ` Martin Mares
2006-05-18 20:12 ` Adrian Bunk
2006-05-18 21:47 ` Valdis.Kletnieks
2006-05-18 22:03 ` linux cbon
2006-05-18 22:23 ` Al Viro
2006-05-21 14:56 ` Stefan Smietanowski
2006-05-19 9:26 ` Helge Hafting
2006-05-19 11:08 ` Panagiotis Issaris
2006-05-19 13:07 ` Helge Hafting
2006-05-19 14:34 ` David Greaves
2006-05-19 14:40 ` Xavier Bestel
2006-05-19 15:13 ` linux cbon
2006-05-19 15:18 ` Xavier Bestel
2006-05-19 22:09 ` linux cbon
2006-05-19 22:51 ` Peter Gordon
2006-05-21 20:49 ` Xavier Bestel
2006-05-20 0:43 ` Jeff Carr
2006-05-19 15:01 ` Sander
2006-05-19 22:29 ` Jan Engelhardt
2006-05-19 22:34 ` David Lang
2006-05-19 22:20 ` Jan Engelhardt
2006-05-19 22:40 ` linux cbon
2006-05-20 1:02 ` Adrian Bunk
2006-05-20 6:31 ` Willy Tarreau
2006-05-20 8:25 ` jerome lacoste
2006-05-21 6:16 ` Valdis.Kletnieks
2006-05-21 12:17 ` linux cbon
2006-05-21 6:38 ` Manu Abraham
2006-05-23 5:08 ` OpenGL-based framebuffer concepts Kyle Moffett
2006-05-23 0:48 ` D. Hazelton
2006-05-23 17:17 ` Jon Smirl [this message]
2006-05-23 22:57 ` Matthew Garrett
2006-05-23 23:38 ` Jon Smirl
2006-05-23 23:24 ` D. Hazelton
2006-05-24 4:21 ` Jon Smirl
2006-05-24 0:42 ` D. Hazelton
2006-05-24 4:57 ` Jon Smirl
2006-05-24 1:04 ` D. Hazelton
2006-05-24 14:30 ` Chase Venters
2006-05-24 13:32 ` Paulo Marques
2006-05-24 6:39 ` Helge Hafting
2006-05-24 13:17 ` Stefan Seyfried
2006-05-24 22:08 ` Matthew Garrett
2006-05-24 22:09 ` D. Hazelton
2006-05-24 22:41 ` Jon Smirl
2006-05-24 1:50 ` Jeff Garzik
2006-05-24 7:30 ` Matthew Garrett
2006-05-24 0:10 ` Kyle Moffett
2006-05-23 23:27 ` D. Hazelton
2006-05-24 0:24 ` Jon Smirl
2006-05-24 7:03 ` Helge Hafting
2006-05-24 13:55 ` Alexander E. Patrakov
2006-05-24 14:49 ` Jon Smirl
2006-05-24 14:56 ` Alexander E. Patrakov
2006-05-24 16:15 ` Matheus Izvekov
2006-05-24 16:26 ` Alexander E. Patrakov
2006-05-24 16:32 ` Jon Smirl
2006-05-26 4:57 ` Alexander E. Patrakov
2006-05-26 2:09 ` D. Hazelton
2006-05-26 7:12 ` Helge Hafting
2006-05-24 16:42 ` Matheus Izvekov
2006-05-24 17:34 ` Xavier Bestel
2006-05-26 7:05 ` Helge Hafting
2006-05-26 7:59 ` Xavier Bestel
2006-05-26 6:58 ` Helge Hafting
2006-05-24 22:03 ` D. Hazelton
2006-05-26 7:08 ` Helge Hafting
2006-05-26 8:32 ` Alexander E. Patrakov
2006-05-26 10:58 ` Helge Hafting
2006-05-26 11:06 ` Xavier Bestel
2006-05-24 15:41 ` Geert Uytterhoeven
2006-05-23 10:11 ` Alan Cox
2006-05-23 10:28 ` Jeff Garzik
2006-05-23 14:10 ` Kyle Moffett
2006-05-23 14:43 ` Alan Cox
2006-05-23 15:41 ` Kyle Moffett
2006-05-23 16:53 ` Alan Cox
[not found] ` <9b5164430605231015s40ebcd38had1c3029da8afc7@mail.gmail.com>
2006-05-23 17:21 ` Xiong Jiang
2006-05-24 12:47 ` Alan Cox
2006-05-23 23:31 ` D. Hazelton
2006-05-23 15:52 ` Rene Rebe
2006-05-23 23:41 ` D. Hazelton
2006-05-24 4:48 ` Jon Smirl
2006-05-24 5:24 ` Jeff Garzik
2006-05-23 23:38 ` D. Hazelton
2006-05-24 4:08 ` Dave Airlie
2006-05-24 0:17 ` D. Hazelton
2006-05-24 5:14 ` Dave Airlie
2006-05-24 1:30 ` D. Hazelton
2006-05-24 5:48 ` Dave Airlie
2006-05-24 2:11 ` D. Hazelton
2006-05-26 17:53 ` Pavel Machek
2006-05-27 18:03 ` D. Hazelton
2006-05-24 15:27 ` Jon Smirl
2006-05-24 23:18 ` Dave Airlie
2006-05-24 23:56 ` Jon Smirl
2006-05-25 0:31 ` Dave Airlie
2006-05-25 0:55 ` Jeff Garzik
2006-05-25 2:37 ` D. Hazelton
2006-05-25 8:44 ` Jeff Garzik
2006-05-25 14:04 ` Jon Smirl
2006-05-25 15:07 ` Jeff Garzik
2006-05-25 15:37 ` Jon Smirl
2006-05-25 23:04 ` Dave Airlie
2006-05-25 23:17 ` Jeff Garzik
2006-05-25 23:31 ` Dave Airlie
2006-05-25 23:19 ` Jeff Garzik
2006-05-25 23:48 ` Jon Smirl
2006-05-25 15:57 ` Paulo Marques
2006-05-25 18:01 ` Alan Cox
2006-05-26 11:26 ` Olivier Galibert
2006-05-25 16:13 ` Greg KH
2006-05-26 17:39 ` Pavel Machek
2006-05-27 18:01 ` D. Hazelton
2006-05-28 0:03 ` Jon Smirl
2006-05-27 22:13 ` D. Hazelton
2006-05-28 2:34 ` Jon Smirl
2006-05-27 22:45 ` D. Hazelton
2006-05-28 3:27 ` Jon Smirl
2006-05-28 1:12 ` D. Hazelton
2006-05-28 23:13 ` Dave Airlie
2006-05-28 23:16 ` D. Hazelton
2006-05-29 3:43 ` Dave Airlie
2006-05-29 4:05 ` Jon Smirl
2006-05-29 0:25 ` D. Hazelton
2006-05-29 4:58 ` Neil Brown
2006-05-29 2:07 ` D. Hazelton
2006-05-29 5:14 ` Dave Airlie
2006-05-29 2:09 ` D. Hazelton
2006-05-29 5:28 ` Neil Brown
2006-05-29 7:14 ` Dave Airlie
2006-05-31 21:42 ` Jan Engelhardt
2006-05-31 21:15 ` D. Hazelton
2006-06-01 9:43 ` Jan Engelhardt
2006-06-01 11:51 ` Marko M
2006-06-01 15:54 ` D. Hazelton
2006-06-01 21:39 ` Antonino A. Daplas
2006-05-29 0:59 ` Jon Smirl
2006-05-29 1:29 ` Daniel Stone
2006-05-29 2:28 ` Jon Smirl
2006-05-30 17:40 ` David Lang
2006-05-30 21:53 ` Antonino A. Daplas
2006-05-30 21:55 ` Antonino A. Daplas
2006-05-30 22:13 ` Jon Smirl
2006-06-02 8:36 ` Ondrej Zajicek
2006-06-02 8:58 ` Pavel Machek
2006-06-02 18:49 ` David Lang
2006-06-02 22:01 ` Pavel Machek
2006-06-02 19:57 ` David Lang
2006-06-02 23:25 ` Antonino A. Daplas
2006-06-03 6:32 ` Pavel Machek
2006-06-03 7:05 ` Antonino A. Daplas
2006-06-03 16:35 ` Kyle Moffett
2006-06-03 20:55 ` Antonino A. Daplas
2006-06-02 12:17 ` Antonino A. Daplas
2006-05-30 22:35 ` Ondrej Zajicek
2006-05-30 22:55 ` Jon Smirl
2006-05-31 6:48 ` Martin Mares
2006-05-31 7:13 ` Jon Smirl
2006-05-31 3:25 ` D. Hazelton
2006-05-31 7:19 ` Martin Mares
2006-05-31 12:09 ` Helge Hafting
2006-05-31 13:34 ` Pavel Machek
2006-05-31 13:56 ` Martin Mares
2006-05-30 23:21 ` Antonino A. Daplas
2006-05-31 8:26 ` Ondrej Zajicek
2006-05-31 10:25 ` Marko M
2006-05-31 11:59 ` Antonino A. Daplas
2006-05-31 19:24 ` Geert Uytterhoeven
2006-05-31 19:57 ` Jon Smirl
2006-05-31 20:32 ` Matthew Garrett
2006-05-31 21:23 ` Jon Smirl
2006-06-01 2:21 ` Antonino A. Daplas
2006-05-29 10:23 ` Pavel Machek
2006-05-29 10:36 ` Dave Airlie
2006-05-29 12:48 ` Pavel Machek
2006-05-29 21:23 ` Jeff Garzik
2006-05-29 21:45 ` Pavel Machek
2006-05-30 17:44 ` David Lang
2006-05-30 20:18 ` Pavel Machek
2006-05-29 22:10 ` Jon Smirl
2006-05-29 22:58 ` D. Hazelton
2006-05-29 22:57 ` D. Hazelton
2006-05-29 23:23 ` Dave Airlie
2006-05-29 23:48 ` Marko M
2006-05-30 1:39 ` Ian Kester-Haney
2006-05-30 2:09 ` Randy.Dunlap
[not found] ` <441e43c90605291936t19caa0eat4bd4b699e0ac9202@mail.gmail.com>
2006-05-30 2:37 ` Fwd: " Ian Kester-Haney
2006-05-30 10:49 ` Alexey Dobriyan
2006-05-30 20:24 ` Pavel Machek
2006-05-30 20:56 ` Jon Smirl
2006-05-30 21:15 ` Ian Kester-Haney
2006-05-30 23:01 ` Dave Airlie
2006-05-30 23:27 ` Jon Smirl
2006-05-30 23:14 ` D. Hazelton
2006-05-31 4:02 ` Jon Smirl
2006-05-31 0:11 ` D. Hazelton
2006-05-31 4:16 ` Jon Smirl
2006-05-31 0:26 ` D. Hazelton
2006-05-31 4:39 ` Jon Smirl
2006-05-31 0:45 ` D. Hazelton
2006-06-01 0:50 ` Antonino A. Daplas
2006-06-01 1:37 ` Jon Smirl
2006-06-01 1:56 ` Antonino A. Daplas
2006-06-01 2:19 ` Jon Smirl
2006-05-31 22:36 ` D. Hazelton
2006-06-01 2:49 ` Jon Smirl
2006-06-01 9:28 ` Ondrej Zajicek
2006-06-01 16:59 ` Jon Smirl
2006-06-01 14:59 ` David Lang
2006-06-01 16:03 ` D. Hazelton
2006-06-01 20:35 ` Jon Smirl
2006-06-01 16:47 ` D. Hazelton
2006-06-01 21:21 ` Jon Smirl
2006-06-01 22:22 ` D. Hazelton
2006-06-01 21:05 ` Antonino A. Daplas
2006-06-01 21:23 ` Jon Smirl
2006-06-01 21:31 ` Antonino A. Daplas
2006-06-01 21:48 ` Jon Smirl
2006-06-01 22:21 ` Pavel Machek
2006-06-01 23:14 ` Antonino A. Daplas
2006-06-01 23:00 ` Andrew Morton
2006-06-01 23:39 ` Antonino A. Daplas
2006-06-01 23:14 ` Dave Airlie
2006-06-01 23:38 ` Jon Smirl
2006-06-01 23:47 ` Dave Airlie
2006-06-02 0:45 ` Jon Smirl
2006-06-02 9:05 ` Pavel Machek
2006-06-02 9:03 ` Pavel Machek
2006-06-02 1:15 ` Dave Airlie
2006-06-02 2:18 ` Jon Smirl
2006-06-01 22:34 ` D. Hazelton
2006-06-02 2:58 ` Jon Smirl
2006-06-01 23:01 ` D. Hazelton
2006-06-02 3:16 ` Jon Smirl
2006-06-02 0:34 ` D. Hazelton
2006-06-02 2:45 ` Dave Airlie
2006-06-02 3:27 ` Jon Smirl
2006-06-02 4:28 ` Jon Smirl
2006-06-02 0:35 ` D. Hazelton
2006-06-02 9:00 ` Pavel Machek
2006-06-03 3:21 ` Kyle Moffett
2006-06-03 1:25 ` D. Hazelton
2006-06-03 5:55 ` Jon Smirl
2006-06-03 2:09 ` D. Hazelton
2006-06-03 6:31 ` Jon Smirl
2006-06-03 2:38 ` D. Hazelton
2006-06-03 4:03 ` Jon Smirl
2006-06-08 7:02 ` Helge Hafting
2006-06-08 7:40 ` Daniel Hazelton
2006-06-08 8:30 ` Antonino A. Daplas
2006-06-09 2:44 ` Daniel Hazelton
2006-06-02 4:34 ` Ville Syrjälä
2006-06-02 0:36 ` D. Hazelton
2006-06-02 6:19 ` Dave Airlie
2006-06-02 17:31 ` Ville Syrjälä
2006-06-02 1:42 ` Antonino A. Daplas
2006-05-31 8:08 ` Pavel Machek
2006-05-30 23:38 ` Daniel Stone
2006-05-30 23:38 ` Pavel Machek
2006-05-30 23:55 ` Jon Smirl
2006-05-30 23:38 ` Pavel Machek
2006-05-31 0:00 ` Antonino A. Daplas
2006-05-31 0:47 ` Jon Smirl
2006-05-31 1:23 ` Antonino A. Daplas
2006-05-31 2:34 ` Jon Smirl
2006-05-18 20:27 ` replacing X Window System ! D. Hazelton
2006-05-17 13:20 ` Lennart Sorensen
2006-05-17 18:34 ` Jan Engelhardt
2006-05-16 23:10 ` Felipe Alfaro Solana
2006-05-17 8:46 ` Ondrej Zary
2006-05-17 9:59 ` Carlos Silva
2006-05-17 13:27 ` Lennart Sorensen
2006-05-17 17:37 ` David Schwartz
2006-05-17 17:46 ` alan
2006-05-17 17:56 ` Gábor Lénárt
2006-05-17 17:12 ` Felipe Alfaro Solana
2006-05-19 10:27 ` [OT] " Jan Knutar
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=9e4733910605231017g146e16dfnd61eb22a72bd3f5f@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=abraham.manu@gmail.com \
--cc=dhazelton@enter.net \
--cc=helge.hafting@aitel.hist.no \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxcbon@yahoo.fr \
--cc=mrmacman_g4@mac.com \
/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
all inboxes | Powered by JetHome®