Geminus is a graphics enhancement suite for RISC OS.
Four of the six planned features are now available to purchase:
1. Multi-monitor support (IYONIX only)
This allows several PCI graphics cards to be installed and your desktop to be split across several screens in various configurations.
2. Screen rotation (IYONIX only)
Allows the RISC OS desktop to be rotated in any orientation (+90, -90, +180 degrees) . This is primarily designed for users with LCD panels that can be rotated thus allowing the use of "portait" desktops - ideal for web design, DTP, programming etc
3. Graphics acceleration
Provides various hardware acceleration and caching to speed up desktop graphical operations. See below for the complete list
4. JPEG rotation and acceleration (RiscPC, A9Home and Iyonix)
Allows the use of rotated and transformed (eg. skewed) JPEG images in !Draw, !OpenVector, !OvationPro, !ArtWorks2 and other applications.
Decoding and rendering is about 3 times faster than the RISC OS 5 SpriteExtend module. (Also faster than the RISC OS 4/Select/Adjust SpriteExtend module but the difference is not as great because these versions already have faster JPEG decoding.)
Multi monitor & rotation features
- provides screen modes which span multiple graphics cards, allowing the desktop to be used across two or more screens
- supports up to 8 screens (Note: only 3 PCI slots are available for graphics cards in current IYONIX pcs.)
- screens can be arranged in any configuration (left to right horizontally,
right to left horizontally, vertically..)
- each screen image can be rotated 90 degrees clockwise or anti-clockwise,
allowing rotatable LCD panels to be used in portrait mode
- makes full use of the hardware acceleration already available in RISC OS 5 on all screens, plus a hardware DMA channel to improve scrolling and copying between screens
- graphical Configuration plug-in allows you to define your own large screen modes, specifying the screen positions and, optionally, rotations for each mode.
Screen acceleration features
- Drawing window background textures.
- Drawing window furniture.('Toolsprites')
- Sprite plotting, especially large sprites such as backdrops and camera images. (uses DMA hardware to plot the sprite 3-5 times faster than the OS sprite plotting routines can manage.)
- Sprites are remembered in off-screen video memory, so that they can be plotted again much more quickly. (this helps large Filer windows and applications that use a lot of sprites such as !Paint.)
- Rendering of web pages in NetSurf and Firefox via Tinct (uses the DMA acceleration for large images/pages,
and faster sprite plotting for rotated/swapped modes)
- Redrawing of window as other windows are moved around. Window contents are remembered (cached) in the extra video memory on the graphics card(s) so that they can be redrawn much more quickly when another window is moved across them.
This makes complex applications such as ArtWorks, Oregano2, PDF, NetSurf and others much smoother in use.
- Selecting rows and columns in !Paint.
(rectangle inversions are performed using the hardware and are hundreds of times faster than doing them in software with RISC OS 5)
- Drawing horizontal and vertical lines (eg. window borders).
The acceleration feature is especially helpful in portrait modes and R/B swapped modes (as required for DVI/composite outputs and unmodified analogue RGB outputs) because all of
the acceleration code knows about these features.
It can therefore accomodate them directly rather than using the software emulation that must be used when the OS does the rendering.
JPEG acceleration and rotation features
- Allows the use of rotated and transformed (eg. skewed) JPEG images in !Draw, !OpenVector, !OvationPro, !ArtWorks2 and other applications.
- Decoding and rendering is about 3 times faster than the RISC OS 5 SpriteExtend module. (Also faster than the RISC OS 4/Select/Adjust SpriteExtend module but the difference is not as great because these versions already have faster JPEG decoding.)
- Decoding and rendering of JPEGs is now performed in USR mode so that audio playback and ShareFS network traffic, for example, will continue even when decoding and rendering large images. (This also allows the code to be Alt-Breaked in the event that an incorrect/ corrupted file exposes a flaw in the decoder.)
- Greater robustness against incorrectly coded images. (RISC OS 5 SpriteExtend will often crash the machine if presented with spurious information.)
- A modified version of the 'djpeg' utility will be released as open source code allowing other applications to benefit from the faster JPEG decoding by calling the Geminus module.
- !OpenVector has been updated to allow rotated JPEGs.
Here is a 3840 x 1024 desktop screenshot showing just how much screen real-estate now obtainable under RISC OS for the first time! (warning: 800k download)
Geminus doesnt just end there. We have a host of exciting features planned for the product, which will be made available in different "flavours" depending on which features you require.
The widths of the individual screens within a multi-screen mode are
restricted slightly, as shown below:
|16 million colours||width must be a multiple of 256 pixels|
|32 thousand colours||width must be a multiple of 512 pixels|
|256 colours||width must be a multiple of 1024 pixels|
So most standard modes are available in 16 million colours
(eg. 1024 x 768, 1280 x 1024, 1536 x 1152, 2048 x 1536)
Some example desktop modes available with 2 CRT monitors side-by-side :
2560 x 1024 x 16 million colours
4096 x 1536 x 16 million colours!!
At present 1600x1200 isnt supported due to limitations of the OS NVidia driver, however with the latest version of RISC OS 5 this has now been made possible so Geminus will support this screenmode in a future upgrade.