# Retargetable graphics

Retargetable graphics (abbreviated as RTG) is a device driver API mainly used by third-party graphics hardware to interface with AmigaOS via a set of libraries. The software libraries may include software tools to adjust resolution, screen colors, pointers, and screenmodes. It will use available hardware and will not extend the capabilities in any way.
The Amiga OS 3.x intuition.library is limited to 8-bit display depths, but RTG libraries make it possible to handle higher depths such as 24 bits; on Amiga there are two common APIs: Picasso 96 and CyberGraphX, which are almost compatible with each other. Both Picasso 96 and CyberGraphX require at least 4 MB RAM and a 68020 CPU to operate.

## EGS and other early graphics card drivers

Commodore planned to introduce retargetable graphics in future version of AmigaOS (4.0), but the company was not able to deliver such solution before its demise. Third-party graphics card manufacturers were thus forced to create their own software layers on top of AmigaOS, incompatible with each other. Most of these early Amiga graphics card drivers shared common limitations: compatibility with current applications was maintained by opening Workbench (or also other application screens, also known as "Workbench emulation") on the graphics card—usually in 16 (under AmigaOS 2.x) or 256 colours (under AmigaOS 3.x); full graphics card features like high-colour (15- or 16-bit) and true-colour (24- or 32-bit) display could be used only by applications directly programmed for such driver software. Earliest of these solutions like Grafexa and SAGE libraries were able to display only their own applications on the graphics card without any support for "Workbench emulation". Examples of other drivers are EGS, Merlin/Domino, Omnibus, Retina (which should be able even to display Workbench in 24 bit colour), Graffity, Picasso, and ProBench. Of these, Picasso offered good compatibility with older applications, because most OS-compliant programs could be promoted to graphics card display, and relatively strong software support. ProBench (by ProDev) was released as a new "Workbench emulator" for the old Merlin graphics card in 1994, and version 3 (1996) introduced 16 bit colour depth and compatibility with CyberGraphX.
Enhanced Graphics System (EGS) was developed by Viona Development using the Cluster language (a Modula-2 derivative) for Piccolo and Spectrum graphics boards, supporting screen depths up to 24 bits. It requires a minimum of 2 MB RAM and 4–5 MB of hard disk space. EGS was first presented with the EGS 110/24 card (GVP) at the World of Commodore/Amiga show in New York in April 1992. It supported a broader range of graphics cards than other drivers and was seen by some Amiga magazines as the next RTG standard for Amiga, but its compatibility with most Amiga applications was limited.
| Graphic card | Expansion type | Graphic chip |
| EGS 110/24 | GVP LocalBus | INMOS G364 framebuffer |
| EGS 28/24 | Zorro II / III | Cirrus Logic GD5426 |
| Retina | Zorro II | NCR 77C22E+ |
| Visiona | Zorro II | IMS G300C |
| Piccolo | Zorro II / III | Cirrus Logic GD5426 |
| Piccolo SD64 | Zorro II / III | Cirrus Logic GD5434 |
| Rainbow | Zorro II | |
| Rainbow II | Zorro II | Analog Devices ADV7120 |
| Rainbow III | Zorro III | Inmos G365 |

## CyberGraphX

CyberGraphX (pronounced "cybergraphics" and often abbreviated as "CGX"), is a retargetable graphics API for the Amiga and compatible computer systems developed by Thomas Sontowski and Frank Mariak and later adopted by Phase5 for use with their graphics cards. Many other graphics card manufacturers that offered hardware for Amiga and compatible systems also used it.
Introduced in 1995 with the CyberVision64 graphics card (Phase5), CyberGraphX was the first RTG software to allow full true-colour screens for Workbench and applications—older solutions supported only 256 colours (e.g. Picasso) or a four-colour Workbench with some 24-bit windows (Retina). CyberGraphX quickly eclipsed all older graphics card drivers and by 1995 was acclaimed as the best solution for displaying Workbench and other applications. Being available free of charge for users of supported cards, it became the de facto RTG standard for Amiga. CyberGraphX V4 was the last release for AmigaOS; MorphOS uses CyberGraphX V5.

### Supported graphic cards

These graphic cards are supported by CyberGraphX:
| Graphic card | Expansion type | Graphic chip |
| 3DFX Voodoo3 2000 | PCI | Avenger |
| 3DFX Voodoo3 3000 | | Avenger |
| 3DFX Voodoo3 3500 | | Avenger |
| 3DFX Voodoo4 4500 | | Napalm |
| 3DFX Voodoo5 5500 | | Napalm |
| A2410 | | Texas Instruments TMS34010 |
| Amiga AGA | Internal PCB | Lisa |
| ATI Radeon 7000VE | | RV100 |
| ATI Radeon 7200 | | R100 |
| ATI Radeon 7500 | | RV200 |
| ATI Radeon 8500 LE | | R200 |
| ATI Radeon 9000 | | RV250 |
| ATI Radeon 9000 Pro | | RV250 |
| ATI Radeon 9100 | | R200 |
| ATI Radeon 9100 LE | | R200 |
| ATI Radeon 9200 SE | | RV280 |
| ATI Radeon 9200 | | RV280 |
| ATI Radeon 9200 Pro | | RV280 |
| ATI Radeon 9250 | | RV280 |
| ATI Radeon 9600 Pro | | RV350 |
| ATI Radeon 9600 XT | | RV360 |
| ATI Radeon 9700 Pro | | R300 |
| ATI Radeon 9800 | | R350 |
| ATI Rage 128 Pro | | |
| BlizzardVisionPPC | | Permedia 2 |
| CyberVision64/3D | Zorro II/Zorro III | S3 ViRGE |
| CyberVision64 | Zorro III | S3 Trio64 |
| CyberVisionPPC | | Permedia 2 |
| DraCo Altais | DracoBus | Symbios Logic 77C32BLT |
| DraCo Altais Plus | DracoBus | S3 Trio 64 V+ |
| Domino | | |
| PicassoII | Zorro II | Cirrus Logic GD5426 |
| PicassoII+ | | Cirrus Logic GD5428 |
| PicassoIV | Zorro II/Zorro III | Cirrus Logic GD5446 |
| Piccolo | | |
| Piccolo SD64 | | Cirrus Logic GD5434 |
| Pixel64 | | |
| Retina BLT Z3 | Zorro III | Symbios Logic 77C32BLT |
| Spectrum | | |
| XGI Volari V3XT | | |
| XGI Volari V5 | | |
| XGI Volari V5XT | | |
| XGI Volari V8 | | |
| SiS 300 / 305 | | |
| SiS 315 | | |
| SiS 6326 | | |

## Picasso96

Picasso96 is the RTG device driver library set used by the Picasso IV and other graphics boards. Its development was started in 1996 by Village Tronic, and it is compatible with CyberGraphX. Although the first releases were ridden with bugs and stability problems, by version 1.17 most issues with Picasso96 were corrected. Compatibility with CyberGraphX was also improved.
Picasso96 was selected as the RTG standard for AmigaOS 4, at first released as a 68k binary in AmigaOS 4.0 pre-release, with a full PowerPC port following later in 2004 in the next OS update. AmigaOS 4.1 Final Edition (2014) integrated RTG functions directly into graphics.library.

### Supported graphic cards

These graphic cards are supported by the Picasso96 system available for 68K based Amiga systems:
| Graphic card | Expansion type | Graphic chip |
| CyberVisionPPC | Custom/PCI bridge | Permedia2 |
| Cybervision64/3D | Zorro II/Zorro III | S3 Virge |
| Cybervision64 | Zorro III | S3 86C764 Trio64 |
| Domino | Zorro II | Tseng Labs ET4000 |
| Merlin | Zorro II/III | Tseng Labs ET4000W32 |
| oMniBus | Zorro II+ISA | Tseng Labs ET4000AX |
| PicassoII | Zorro II | Cirrus Logic GD5426 |
| PicassoII+ | Zorro II | Cirrus Logic GD5428 |
| PicassoIV | Zorro II/Zorro III | Cirrus Logic GD5446 |
| Piccolo | Zorro II/III | Cirrus Logic GD5426 |
| Piccolo SD64 | Zorro II/III | Cirrus Logic GD5434 |
| Pixel64 | Custom/AteoBus | Cirrus Logic GD5434 |
| GBA PII++ | Zorro II | Cirrus Logic GD5434 |
| Altais | Custom/DracoBus | NCR77C32BLT |
| Retina Z2 | Zorro II | NCR77C22E |
| Retina BLT Z3 | Zorro II | NCR77C32BLT |
| Visiona | Zorro II | INMOS G300 |
| GVP EGS 110 | Custom/GVP Combo CPU bus | INMOS G364 |
| EGS 28/24 Spectrum | Zorro II/III | Cirrus Logic GD5426 |
| A2410 | Zorro II/III | TMS34010 |
| RainbowII | Zorro II | ADV7120 |
| FrameMaster | Zorro II | ADV7120 |
| UAEgfx | Host OS | Emulated |
| VA2000 | ZorroII | Custom/FPGA |
| ZZ9000 | Zorro II/Zorro III | Custom/FPGA |
| Voodoo Banshee | PCI | 3dfx Voodoo Banshee |
| Voodoo 3 | PCI | 3dfx Voodoo 3 |
| Voodoo 4/5 | PCI | 3dfx Voodoo 4/5 |
| IndiVision ECSv4 | Denise socket | Custom/FPGA |

### Supported graphic cards on PPC systems

Picasso96 as used by AmigaOS 4 supports also Voodoo 3, Voodoo 4/5, and Radeon R100, R200, R300, R520 (X1000 series), R700 (HD 4000 series), HD 5000 (Evergreen) series, HD 6000 (Northern Islands) series, and HD 7000 (Southern Islands) series. The RadeonHD AmigaOS 4 driver is created and maintained by Hans de Ruiter. Ongoing development of the driver for the AmigaOS platform being exclusively funded and owned by A-EON Technology Ltd.
In 2017, rights on the Picasso96 system for classic 68K Amiga Systems were bought by Individual Computers (iComp). iComp added features such as screen dragging in version 3.0.0 and multi-monitor support in version 3.1.0 (Amiga OCS/ECS/AGA screen and RTG screen active at the same time).

## RTG Master

The higher level API was created by Steffen Haeuser for developing 2D and 3D games requiring chunky graphics. RTG Master supports both graphics cards (with CyberGraphX, Picasso II, Picasso96 or EGS compatible drivers) and the Amiga chipset (ECS or AGA). An example of game using RTG Master is Genetic Species.