try xrandr (it stands for x resize and rotate)
here is the output on my ibm thinkpad x40 which has an intel i855 graphic chip
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 2048 x 2048
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm panning 1024x768+0+0
1024x768 50.0*+ 85.0 75.0 70.1 60.0
800x600 85.1 72.2 75.0 60.3 56.2
640x480 85.0 72.8 75.0 59.9
you see that my monitor is connected to LVDS1 and what the available resolutions are
you can zoom using following command
$ xrandr --output LVDS1 --panning 1024x768 --mode 640x480
that will set your monitor resolution to 640x480 showing a 640x480 area out of your 1024x768 desktop.
to restore your normal resolution use following command
$ xrandr --output LVDS1 --panning 1024x768 --mode 1024x768
the difference to just changing resolution is that all other programms think the the resolution is still 1024x768. they have no idea that only a part of those 1024x768 is actually projected to the monitor.
let's compare this to the compiz zoom
- compiz zoom centers on the mouse and moves the visible area with every pixel the mouse moves. xrandr only moves the visible area when the mouse cursor reaches the edge of the visible area.
- compiz keeps the monitor resolution. xrandr changes the monitor resolution.
- compiz blurs the pixels. xrandr does not blur the pixels. though the monitor might show them a bit blurred because it is not in it's native resolution.
- compiz has arbitrary zoom levels. xrandr only has as many zoom levels as supported by the graphic card and monitor.
- compiz can zoom instantly. xrandr zoom time depends on the monitor switching resolution.
of all the arguments, i find the first point to be dominating. i can't understand why the compiz developers made the zoom follow every pixel movement of the mouse. i think they never really used it other than showing off.