public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Enrico Weigelt <weigelt@metux.de>
To: linux-kernel@vger.kernel.org
Subject: Re: Proposal for a low-level Linux display framework
Date: Sat, 1 Oct 2011 18:52:11 +0200	[thread overview]
Message-ID: <20111001165211.GA15179@nibiru.local> (raw)
In-Reply-To: <1316088425.11294.78.camel@lappyti>

* Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:

Hi folks,


just some *naive* thoughts (actually, I dont really understand much
of the hardware and the APIs ;-o).

> So we may have something like this, when all overlays read pixels from
> separate areas in the memory, and all overlays are on LCD display:
> 
>  .-----.         .------.           .------.
>  | mem |-------->| ovl0 |-----.---->| LCD  |
>  '-----'         '------'     |     '------'
>  .-----.         .------.     |
>  | mem |-------->| ovl1 |-----|
>  '-----'         '------'     |
>  .-----.         .------.     |     .------.
>  | mem |-------->| ovl2 |-----'     |  TV  |
>  '-----'         '------'           '------'

This somehow reminds me on the spire concept on C64 ;-)

Wouldn't this call for an model and API which understands the
concept of windows or sprites ?

Lets say: we have some (virtual?) image (that's in the end seen
by the user in front) that's made of certain visual objects.
These objects all have their datasource (might be some in-memory
framebuffer or even some external input). Somethings in the middle,
lets call it compositor, somehow attached to these objects puts
them together and generate the output for the physical output
device (end the end of the pipeline, we'll have somehing like analog
VGA or digital HDMI signal, or whatever).

Ah, of course, the connections between these (sub)devices are not
arbitrary, they might be switchable between a certain set of endpoints
and might support different formats or transformation types
(just like a amplifier in a HiFi could switch between several inputs
where other devices are cabled-onto, but it wouldn't be able to
connect directly to a video recorder that's just plugged to the 
TV by SCART cabling).

In the end this IMHO looks like its all about routing and transformation.
Not as simple as IP routing, more like carrier or phone networks
w/ different media types, encodings, in- vs. outbound-signaling, etc.
(hmm, welcome to the world of traffic engineering ;-))

Things like power management could go the opposite direction by an
dependency graph: switching off the monitor could tell the output
hardware that it's not needed now, and this one could tell its inputs
that they're also currently not needed, and so on, and so on. All of
them could tell their power supplies that they're not needed, and if
no active users are left in a subgraph, the power is cut.


No idea, if this all makes sense in that area, so feel free to
correct me if I'm wrong ;-O


cu
-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@metux.de
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------

      parent reply	other threads:[~2011-10-01 17:00 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-15 12:07 Proposal for a low-level Linux display framework Tomi Valkeinen
2011-09-15 14:59 ` Keith Packard
2011-09-15 15:29   ` Tomi Valkeinen
2011-09-15 15:50     ` Keith Packard
2011-09-15 17:05       ` Alan Cox
2011-09-17 21:36         ` Laurent Pinchart
2011-09-15 17:12       ` Florian Tobias Schandinat
2011-09-15 17:18         ` Alan Cox
2011-09-15 17:47           ` Florian Tobias Schandinat
2011-09-15 19:05             ` Alan Cox
2011-09-15 19:46               ` Florian Tobias Schandinat
2011-09-15 21:31                 ` Alan Cox
2011-09-15 17:52         ` Alex Deucher
2011-09-15 17:56           ` Geert Uytterhoeven
2011-09-15 18:04             ` Alex Deucher
2011-09-15 18:39           ` Florian Tobias Schandinat
2011-09-15 18:58             ` Alan Cox
2011-09-15 19:18               ` Florian Tobias Schandinat
2011-09-15 19:28                 ` Alan Cox
2011-09-15 19:45                 ` Alex Deucher
2011-09-17 14:44               ` Felipe Contreras
2011-09-17 15:16                 ` Rob Clark
2011-09-17 16:11                   ` Florian Tobias Schandinat
2011-09-17 16:47                     ` Dave Airlie
2011-09-17 18:15                       ` Florian Tobias Schandinat
2011-09-17 18:23                         ` Dave Airlie
2011-09-17 19:06                           ` Florian Tobias Schandinat
2011-09-17 19:25                             ` Corbin Simpson
2011-09-17 21:25                             ` Alex Deucher
2011-09-17 20:25                           ` Alan Cox
2011-10-31 20:24                             ` Jesse Barnes
2011-09-17 16:50                     ` Rob Clark
2011-09-16  4:53             ` Keith Packard
2011-09-17 23:12             ` Laurent Pinchart
2011-09-18 16:14               ` Rob Clark
2011-09-18 21:55                 ` Laurent Pinchart
2011-09-18 22:23               ` Alan Cox
2011-09-19  0:09                 ` Rob Clark
2011-09-20 23:32                   ` Laurent Pinchart
2011-09-15 18:12         ` Keith Packard
2011-10-01 17:30           ` Enrico Weigelt
2011-09-15 17:21       ` Tomi Valkeinen
2011-09-15 18:32         ` Rob Clark
2011-09-16  0:55         ` Keith Packard
2011-09-16  6:38           ` Tomi Valkeinen
2011-09-16 14:17           ` Daniel Vetter
2011-09-16 16:53           ` Alan Cox
2011-09-19  6:33             ` Tomi Valkeinen
2011-09-19  6:53               ` Keith Packard
2011-09-19  7:29                 ` Tomi Valkeinen
2011-09-20  8:29                   ` Patrik Jakobsson
2011-09-20 15:55                     ` Keith Packard
2011-09-20 21:20                       ` Patrik Jakobsson
2011-09-21  6:01                         ` Tomi Valkeinen
2011-09-21 18:07                           ` Patrik Jakobsson
2011-10-01 17:34         ` Enrico Weigelt
2011-09-15 15:03 ` Kyungmin Park
2011-09-21 13:26 ` Heiko Stübner
2011-10-01 16:52 ` Enrico Weigelt [this message]

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=20111001165211.GA15179@nibiru.local \
    --to=weigelt@metux.de \
    --cc=linux-kernel@vger.kernel.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