Sugar on the DCON chip

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Sugar on the DCON chip

Federico Mena Quintero-2
Hi,

I'm mentoring Manu Cornet <[hidden email]> for the Summer of
Code.  He's doing a bunch of work on GTK+ for OLPC:

- Making the text cursor stop blinking after a few seconds in GtkEntry
and GtkTextView

- Creating a torture test for theme engines so that we can see that they
don't crash, don't leak, and so that we can profile them for
performance.

The original task specified for the SoC was to write a theme engine for
the laptop.  Diana and Marco (and Dave?) have been working on this
already, so I want Manu to finish the work.

The DCON-based display in the laptop has some very particular
requirements.  It does not display three channels per pixel like normal
LCDs, but rather it picks one of the R/G/B channels alternately for
every pixel.  So, several things do not look quite right:  thin lines,
lines which match the RGB diagonals, very small GUI elements, small
fonts.  We need to make sure that the theme engine looks good with these
constraints.

Also, the display can be switched to grayscale for viewing in plain
sunlight.  The theme engine needs to know about that.

I'll have Manu start poking at the current state of the theme engine.
The first part is to run it through the torturer to ensure that it is
robust.  The second part is to actually modify the theme engine to make
it suitable for the laptop's funky display.

We had several questions:

- How set in stone is the visual appearance of the theme?  Diana's
"green" theme is beautiful, although I'm sure we'll need to make changes
to make it look good on the DCON display.

- We need write access to the GIT repository, so that Manu can put his
patches in a branch (or whatever the GIT terminology is for that).
Could someone please help us with this?

- Do you have a list of missing features and other things that you want
done in the theme engine?

Thanks,
 
  Federico

Reply | Threaded
Open this post in threaded view
|

Sugar on the DCON chip

Marco Pesenti Gritti

> We had several questions:
>
> - How set in stone is the visual appearance of the theme?  Diana's
> "green" theme is beautiful, although I'm sure we'll need to make changes
> to make it look good on the DCON display.
>
>  

I think Diana design is excellent (also everyone likes it!), so I think
it should be our target. Though remember that we are still iterating
over sugar design. Diana is working on mockups for the "Home" page
introduced by design review 3... We have a meeting specifically targeted
at visual design at the end of July... Things could change heavily.

We need to deal with technical limitations... Do you or Manu have a good
idea of what are going to be the problems? Or is there any documentation
about it? Certainly being able to emulate the display in xephyr would be
a big help... sugar itself is running in xephyr now (for development).
Anyway I'm sure that with Diana help we can figure out a way to adapt
the design to the laptop screen. Let's keep talking...

> - We need write access to the GIT repository, so that Manu can put his
> patches in a branch (or whatever the GIT terminology is for that).
> Could someone please help us with this?
>  
I just sent mail to Ivan about this, he is usually very responsive.
> - Do you have a list of missing features and other things that you want
> done in the theme engine?
>  
I don't have a detailed list but in general here is stuff that needs work:

- Cleanup current code. It was put together quickly for the demo and
it's certainly messy, incomplete, buggy in several places.
- There are lots of details in Diana mockups (shadows for examples) that
are just not implemented in current code or that are wrong. It should be
easy to figure out those by just comparing the mockups with current Sugar.
- There are widgets or widgets combinations (for example
GtkMenuButtonToolItem in a toolbar) that just looks bad or unreadable.
As we do design iterations we expose some of these, and they really need
to be fixed anyway.
- There are performance issues. For example the gradients are really slow.

Manu, feel free to play with the theme and see where you can improve
it... I'm going to put a more detailed list here:
http://wiki.laptop.org/index.php/SugarTheme
Feel free to edit it too...

Thanks,
Marco
Reply | Threaded
Open this post in threaded view
|

Sugar on the DCON chip

Manu Cornet-2
Hi !

Thanks a lot for all this information! I am already testing things,
diving into the current code, and I am definitely ready to do what it
takes to make a great theme!!

I will keep you guys posted on what I am doing with log files (e.g.,
the changes I make to solve the problems that make the theme crash
with the torturer) and screen captures, commit often and coordinate on
IRC.

Cheers,
Manu
Reply | Threaded
Open this post in threaded view
|

Sugar on the DCON chip

Federico Mena Quintero-2
In reply to this post by Marco Pesenti Gritti
On Mon, 2006-07-10 at 22:36 +0200, Marco Pesenti Gritti wrote:

> I think Diana design is excellent (also everyone likes it!), so I think
> it should be our target. Though remember that we are still iterating
> over sugar design. Diana is working on mockups for the "Home" page
> introduced by design review 3... We have a meeting specifically targeted
> at visual design at the end of July... Things could change heavily.

End of July is pretty late for the Summer of Code ;)

Attached is a tiny program to simulate the "swizzling" that is done in
the laptop's display.  It doesn't support the kind of interpolation that
the DCON chip can do, but it will give you a good idea of how things
will look.  Run it like "swizzle in.png out.png".

The results, when viewed at 1:1 on a normal display, will look terrible:
dark, murky, and fuzzy in a weird way.  But they will look different on
the DCON display, as it has a higher resolution than your screen and it
is way brighter.  Still, with a bit of imagination you can begin to see
what the problems are.

I think Diana's design is gorgeous, and it just needs some fattening of
lines and elements here and there.  We'll also have to see what font
looks good on the display; probably one that is big enough and has fat,
non-curvy strokes.

> We need to deal with technical limitations... Do you or Manu have a good
> idea of what are going to be the problems? Or is there any documentation
> about it? Certainly being able to emulate the display in xephyr would be
> a big help...

Yes, definitely.  Manu, as soon as you have the theme engine more or
less working in the torturer, please work on making Xephyr use the
swizzling code.  The stuff you need to modify is around
xserver/hw/kdrive/ephyr/hostx.c:hostx_paint_rect().  That's the function
that blasts the RGB buffer to the X server.  Mail me if you need more
details on how to do it, or how the swizzling works in general.

Attached is Jim Gettys's mail with a detailed description of how the
DCON chip works.

> > - We need write access to the GIT repository, so that Manu can put his
> > patches in a branch (or whatever the GIT terminology is for that).
> > Could someone please help us with this?
> >  
> I just sent mail to Ivan about this, he is usually very responsive.

Fantastic, thanks.

Manu, learn how to make branches in GIT or whatever they call them
there :)

> - Cleanup current code. It was put together quickly for the demo and
> it's certainly messy, incomplete, buggy in several places.

OK.  Manu tells me that it fails the very first test in his torturer, so
that's a good place to start :)

> - There are lots of details in Diana mockups (shadows for examples) that
> are just not implemented in current code or that are wrong. It should be
> easy to figure out those by just comparing the mockups with current Sugar.

Shadows may not look very good on the DCON display.  It has high
resolution, but low acutance.  So, you can't display very fine details
or very subtle gradations with good visual results.  Anyway, run the
swizzle program and see how it affects things.

Thanks for the quick response!

  Federico
-------------- next part --------------
A non-text attachment was scrubbed...
Name: swizzle.c
Type: text/x-csrc
Size: 2434 bytes
Desc: not available
Url : http://mailman.laptop.org/pipermail/sugar/attachments/20060710/5d0290f3/swizzle-0001.bin
-------------- next part --------------
An embedded message was scrubbed...
From: Jim Gettys <[hidden email]>
Subject: Re: simulation of dcon chip
Date: Mon, 12 Jun 2006 15:13:19 -0400
Size: 11153
Url: http://mailman.laptop.org/pipermail/sugar/attachments/20060710/5d0290f3/attachment-0001.mht