Simulating a lower resolution on the OLPC XO Laptop

Bert Freudenberg bert at freudenbergs.de
Tue Nov 25 12:43:25 EST 2008


On 25.11.2008, at 18:37, Jordan Crouse wrote:

> Bert Freudenberg wrote:
>> On 25.11.2008, at 17:37, Jordan Crouse wrote:
>>> Bert Freudenberg wrote:
>>>> On 25.11.2008, at 11:57, Strider wrote:
>>>>> Hi,
>>>>> I have a XO Laptop which is a nice machine machine with a high  
>>>>> res  display of 1200x900 pixels. The problem with this is that  
>>>>> the laptop  isn't powerful enugh to handle fullscreen  
>>>>> applications at this  resolution. If only the display could  
>>>>> switch to a lower resolution  things would be much better but it  
>>>>> seems that this laptop only  supports a single resolution.
>>>>>
>>>>> So I was wondering if it would be possible of simulating lower  
>>>>> res  at a low level, that is the xf86-video-geode driver.
>>>>> I'm not an expert in video drivers but i imagine that there are   
>>>>> functions to request a pixel to be drawn on screen based on  
>>>>> what's  in the video ram.
>>>>> Now let's say that it's not one pixel but two that we put on  
>>>>> screen,  and that we draw each lines two times. That would  
>>>>> result in a  600x450 resolution.
>>>>> If we do the same thing but repating the operations three  
>>>>> times , we  would have a 400x300 resolution.
>>>>> Some emulators have a scale option to do such a thing and manage  
>>>>> it  quite well, but if we had such an option in the video  
>>>>> driver, the  result would be even faster !
>>>>>
>>>>> So what do you think about this? Is it possible ?
>>>> The Geode actually can do real upscaling (that is, scale  
>>>> multiple  graphics resolutions to the panel resolution), it works  
>>>> fine on other  machines and LCDs. But latest word is that this  
>>>> somehow interacts  badly with our DCON, so no-one has gotten it  
>>>> to work correctly on the  XO yet.
>>>
>>> Indeed.  I think there is a DCON interaction happening, because  
>>> the mouse gets "corrupted" during upscaling as well - and that  
>>> implies that the issue is happening after the screen is  
>>> constructed.  The upscaling works fine on a CRT and on a  
>>> "standard" TFT panel, so that is what leads me back to the DCON.   
>>> Its also a long shot that the 1200x900 resolution is confusing the  
>>> scaler, but I doubt it since the aspect ratio is still 4:3.  I  
>>> would love for other people to try the driver (it is in the latest  
>>> debxo, I think); perhaps you can see the pattern that I can't.
>>>
>>>> There still may be hope, because the video upscaler can take RGB  
>>>> 5:6:5  data, so in theory a lower-res 16 bpp frame buffer could  
>>>> be upscaled  on-the-fly (and the upscaler does 30 fps easily).  
>>>> But I guess getting  this to work would require a very determined  
>>>> X hacker ...
>>>
>>> The RGB video overlay should just work (TM).  So it would take  
>>> less of a determined X hacker, and more of a determined  
>>> application hacker to put all the pieces together.
>> Well, I meant that this could be used to actually provide, say, an  
>> 800x600x16 mode in the driver, without having to hack applications.  
>> While adapting a single app may be comparatively easy, it's still a  
>> major hassle to patch each and every app. Having it in the driver  
>> would make things just work (TM). But that would be a major hack,  
>> don't you agree?
>
> So if I understand what you are getting at - you want to set up a  
> single  overlay over the whole screen, and render everything on  
> that?  Thats probably doable - you could set up a shadow framebuffer  
> like we do for rotation, and hook the damage code into the video  
> overlay.  It might work out well, but it would preclude using the  
> video overlay for anything else (such as, video).  It would probably  
> also preclude rotation - maybe not.
>
> But rather then invent fanciful ways to handle this, the efforts  
> would be better spent figuring out how to fix the current driver.   
> Mitch reports that the Windows driver works just fine, so clearly  
> the bug is on our side.

Ah, that's news to me. Which resolutions does it support?

> We need developers to start understanding how the driver works.  
> Everybody with a professional interest in the X driver has moved on  
> to other pastures, and OLPC desperately needs community members to  
> pick up the slack.

I thought we had a few X hackers on board. Bernie, you still there? ;)

- Bert -





More information about the Devel mailing list