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&mdash;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.

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&mdash;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:

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:

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.