Thanks to Mitch, I fixed the scaling problem. Based on conversations on IRC, I am afraid that you will be very disappointed, so I am going to try to explain in great detail how this all works.
First of all, you are going to need either build a new driver on your own, or convince your favorite maintainer to build one for you. The fix is checked into the xf86-video-geode GIT tree HEAD. Secondly, a bit of background on how this all works. Unlike most modern GPUs, the Geode does not support scaling transforms - in simple terms, we cannot use the hardware to automatically scale a given rectangle on the screen, which is how scaling would normally work in a modern 3D compositor. However, we do have the ability to scale the entire screen at once. Again in simple terms, this means you can scale an effective display of say, 800x600 to 1200x900. But this also means that the entire display needs to be put into a 800x600 mode. This means you need to execute a mode switch, and your underlying display manager and window manager need to be able to grok the switch. If you want to switch back to 1200x900 mode, then again, you'll have to take a mode switch. So, assuming you are still with me, lets discuss how to actually pull this off. The method depends on which X server you are using. To easily tell, type 'xrandr' in a terminal - if you see a single 1200x900 mode, then you are using X 1.4. If you see multiple modes, then you are using X 1.5. ** X 1.4 instructions ** For X 1.4, you need to add the mode that you want scale to 1200x900. For this example, lets use 800x600. Add the mode to the xrandr database: xrandr --newmode 800x600 0 800 0 0 0 600 0 0 0 You don't need to worry about setting accurate timings, since the driver is going to scale the mode to 1200x900 anyway. Next, add the mode to the default output: xrandr --addmode default 800x600 Now, if you type 'xrandr' you will see your new mode in the list. Skip ahead to the X 1.5 instructions. ** X 1.5 instructions ** Type 'xrandr' in a terminal. You will see a list of possible modes. Any mode not equal to 1200x900 will be scaled on the XO. To set a mode, type the following: xrandr --output default --mode <modname> The modename can be anything in the list. If you want to add something not in the list, refer to the X 1.4 instructions for how to do that. The screen should immediately scale. To return to "normal" mode, set the 1200x900 mode. That should be enough to get you started. Jordan _______________________________________________ Devel mailing list [email protected] http://lists.laptop.org/listinfo/devel
