Re: fullscreen magnification



Hi Krister,

A more general/note comment on magnification...

Unlike Windows, we aren't replacing/chaining video drivers in X. One of the key design goals of the GNOME Accessibility Project was that all AT would be fully supported by the underlying platform. Where necessary functionality wasn't present, we would build it.

Not all of the necessary support for magnification was present when we began. Things we've fixed so far including tracking the mouse cursor changes and getting the mouse pixels (XFIXES extension to X), and tracking pixel changes to the screen (DAMAGE extension to X). To do full screen magnification we at a minimum need to have the unmagnified pixels rendered to an off-screen bitmap, so that the magnifier can then copy them appropriately to the real display. We discovered the existing dummy driver in Linux, and created the Virtual Frame Buffer (VFB) for Solaris.

Note, though, that we aren't done. For magnification to be highly performant (similar to what you experience with ZoomText version 8.x on Windows for example), we need to ensure that the process of taking the unmagnified pixels and moving them (while we magnify them) to the physical frame buffer display is fast. Doing this full-screen 30-60 times/second is often not possible on many system architectures (especially at 1280x1024 24 bit resolution).

So the next step is to move to the COMPOSITE X extension, which allows us to allocate unmagnified pixel maps on the video card (rather than in system memory), and will do so on a window-by-window basis if we want (in fact, that is the default behavior). Then we can direct the video card processor (the GPU) to do the copying, magnifying, etc. for us. This should get us fast magnification, and the ability to support functionality as you experience in ZoomText 8.x.


So, this is really all just a long-winded way of saying "things will get better".


Regards,

Peter Korn
Sun Accessibility team


Bill Haneman wrote:
Hi Krister:

You'll need a very recent gnome-mag, version 0.11.13. 0.11.14 is a little better, because it allows the source display to be smaller than the target. Configuring fullscreen magnification to work is a little tricky still.

Once you've got a recent gnome-mag, you can enable the 'dummy screen' which is mentioned in George Kraft's notes on magnification (the uri which was previously posted). This URI has lots of info, not all of which is relevant for your needs. The part you need is called "Virtual Screen Buffer" / "Off Screen Configuration". Also, there is one additional line that should go into the dummy "Device" section:

Section "Device"
    Identifier "dummy"
    Driver     "dummy"
    VendorName "dummy"
    BoardName  "dummy"

       videoram 10000

EndSection

Once you have done this, the steps for getting a usable fullscreen login are a little tricky, because you now have one "display" that isn't connected to any physical monitor, and you can paint yourself into a corner.

The suggested XOrg.conf file (or XF86Config file should work also) puts the 'virtual' display on "screen 1".
The way I do it is this:

(1) start gnopernicus with the halfscreen magnification option (default magnification settings). (2) from gnopernicus magnifier preferences, choose the 'default' zoomer and edit it to change the 'source' from ":0.0" to ":0.1". (3) you will now need to exit gnopernicus from the unmagnified view (sorry). Turning speech on may help. (4) restart gnopernicus from the command line, but tell it to use the second display instead of the first: "gnopernicus --display=:0.1" You should now see the gnopernicus UI in the magnified section of your screen again. (5) from gnopernicus magnifier preferences, choose 'default' zoomer and change the left bounds of the region to '0', and 'Apply'. You should now have fullscreen magnification.

From this point, as long as your mouse pointer is in the right hand side of the screen (if so, it will be magnified), the applications you launch from the panel or nautilus should display in the 'virtual' screen and get magnified to the fullscreen window on 'screen 0'.

It is a little annoying that the mouse pointer can go back into the 'wrong' screen if you move too far left, we are still working out the kinks in fullscreen magnification, so please bear with us. In my experience this works pretty well up to zoom factors of about 5, but above that you may see some odd behavior which we are still working to fix.

It should be possible to make 'gnopernicus' launch in display :0.1 everytime (as a startup application), if you want to do that please let us know and we'll try to send directions. Until then, starting gnopernicus from a terminal with the "--display=0.1" parameter should do the trick.

If you just want mouse-centered magnification and don't need focus-tracking, you can get it without using gnopernicus, by running gnome-mag directly with the following command:

"magnifier -s:0.1 -m -f"

(-f==fullscreen; -m==keep mouse centered; -s==source display).

You can add "-z4", etc. to get higher magnification (zoom) factors, the default is just 2.0.

best regards,

Bill

Hello, I need to get the fullscreen magnification to work. What do i have to change in the XF86Config file? I am using Ubuntu linux.

Krister



_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list gnome org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]