Hallo zusammen,
es ist hinreichend bekannt und belegt, dass es für Adobe Photoshop neben IRIX/MIPS auch Portierungen auf Solaris/SPARC gegeben hat.
Selbes trifft auch für das Produkt Adobe Illustrator zu, welches mindestens in Version 5.5 auf SUN portiert wurde.
Dazu hat sich doch nach so langer Zeit endlich etwas Informationsmaterial und mehr eingestellt.
Zwei Punkte haben mich dabei vorab interessiert:
1. Welches API fand für die Portierung der nativ für MacOS geschriebenen Anwendung Verwendung
Dazu lässt sich das Dokument "Adobe Photoshop for UNIX Platforms Plug-in Development Notes" zu Version 3.0.1 etwas aus:
ZitatAlles anzeigenAdobe Photoshop for UNIX is a version of Adobe Photoshop for Macintosh that runs on UNIX
platforms. The development uses the Latitude toolkit, a compatibility library which simplifies the
porting of native Macintosh programs to UNIX platforms running under the Motif user interface. The
versions of Adobe Photoshop for UNIX are available on Sun Microsystems SPARCstations (Solaris
2.3 and 2.4) and Silicon Graphics MIPS workstations (IRIX 5.3).
(...)
Making Adobe Photoshop for UNIX platforms behave as closely as possible to its Macintosh
counterpart has been of paramount importance during the course of development. As a result, the
user interface is nearly functionally identical to that of the Macintosh version. The plug-in architecture
and external interface resemble those of the Macintosh version. Some important differences are 1)
how Photoshop for UNIX shares global data with plug-in modules, and 2) how it references elements
of the file system
(...)
Quorum Latitude refers to Macintosh resources when it creates Motif user interface objects. (...)
UNIX and the Macintosh Operating System load executable code differently. Instead of loading
executable code segments from the resource fork (as in the Mac OS), Latitude applications load
executable code from the data fork, which is a plain executable object file. Again, because of
operating system differences the concepts of loading, locking, and unloading of code segments
have no direct analog in UNIX.
(...)
6. Technical Notes
6.1. Recommended Development Environment
6.1.1. Sun
• Solaris 2.3
• Sun C/C++ compilers for Solaris 2.x.
• Source Level Debugger (dbx)
• OpenWindows 3.3 and Motif 1.2 or above for Solaris 2.x.
• 32 MB RAM and 200 MB free disk space minimum.
6.1.2. SGI
• IRIX 5.3
• SGI C/C++ compilers for IRIX 5.x
• IRIX development option (includes X11R5, Motif 1.2 and dbx)
• CaseVision for IRIX 5.x (Optional)
• 32 MB RAM and 200 MB free disk space minimum.
Aus dem Installation Guide kann man noch eine empfohlene Konfiguration entnehmen
ZitatAlles anzeigenFor optimum performance, the following configuration is recommended:
• a SPARCstation with two or more processors
• 24-bit color capability
• 96 or more megabytes of RAM
• Additional swap space
The amount of additional swap space depends on whether you run applications in 8-bit
or 24-bit mode, your personal Photoshop usage patterns, and the nature of the applications
that run at the same time as Photoshop.
2. Welche SPARC ISA und ggf. Grafik-Beschleuniger wurde tatsächlich nativ unterstützt?
Das ist für die Performance nicht unerheblich. Aus selben Installation Guide für Version 3.0.1
ZitatUPGRADING FROM ADOBE PHOTOSHOP 2.5.X
(...)
• Adobe Photoshop 3.0 no longer includes the SXCharged plug-in and thus does not
require special SX memory allocation for optimum performance. Before running Adobe
Photoshop 3.0, free any SX memory that was allocated for use with Adobe Photoshop
2.5.2 and reboot your system. The command to free SX memory is /usr/kvm/sxconfig -d.
Aus dem README zu Version 2.5.2.
ZitatAlles anzeigenIf you have a SPARCstation 10/SX or 20/SX model and if your
system is properly configured, Adobe Photoshop 2.5.2 will
automatically install the SXCharged plug-in, which takes
full advantage of the SX co-processor. Most of Photoshop
basic imaging operations are accelerated substantially
by SXCharged.
If you have a multiple-processor SPARCstation (and the
SXCharged plug-in is not active), the Adobe Photoshop 2.5.2
will automatically install the MPCharged plug-in, which
splits most of Photoshop's computational intensive tasks
across all available CPUs, resulting in a near-linear speed-up
per additional processor for these operations.
(Note: unfortunately, on a system with both an SX chip and
multiple processors, you have to choose which acceleration you
prefer. You can't have both at the same time.)
(...)
TWO VERSIONS INSTALLED
-----------------------
In order to provide the best performance, the Photoshop distribution
for the Sun platform actually contains two complete compiled versions
of Photoshop: one version for Sparc chips with the version 8 (v8)
instruction set and another for earlier versions of the chip
(labeled v7, but actually supports all earlier versions of the
Sparc chip). The install script copies both versions (V7 & V8)
on to the directory (30000k).
When launched, Photoshop automatically determines which type of
Sparc chip you have, starts up the correct version of the program,
and loads in the appropriate version of the standard Adobe plug-ins.
Also SPARC V7 (die erste offizielle SPARC ISA) und SPARC V8 (Vorlage für den IEEE Standard 1754-1994), nicht für V9 (64-Bit). Nicht verwunderlich, wenn man sich anschaut, wann und für welche Solaris-Versionen Adobe's Photoshop für Sun freigegeben sind: Solaris 2.3 und 2.4, 32-Bit Betriebssysteme. Die SPARC V9 ISA, welche der UltraSPARC einleitete wurde ab Solaris 2.5 unterstützt, selbst noch ein 32-Bit Kernel. Auch mit einer Ultra 1 und Nachfalgern von müssen so übeschaubare Performance-Zugewinne zu verzeichnen gewesen sein. Ob es noch Patches für Photoshop 3.0.1 gegeben hat, die eine Unterstützung für UltraSPARC hinsichtlich V8-Optimierungen (v8plus, v8plusa) mitbrachte, diese Information liegt mir indess nicht vor.
Auch zu erwähnen bleibt, dass ab Version 3.0.1 an Stelle des SXCharged plug-in auf die Sun eigene Grafikbibliothek und Runtime XGL gesetzt wurde, inklusive dedizierter Render Pipeline. Diese Render Pipelines (shared object Lib der XGL) gab es neben der SX (CG14) auch für viele andere Grafikbeschleuniger, u.a. die GX (CG6), ZX (Leo), P9000 und P9100 (Weitek), GS (CG12), GT.
Beispiel-Ausgabe des Kommando file für die beiden mitgelieferten Photoshop-Binaries der Version 2.5.2
$ file AdobePhotoshop2.5.2_v*
AdobePhotoshop2.5.2_v7: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses shared libs), stripped
AdobePhotoshop2.5.2_v8: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses shared libs), stripped
Die Info "stripped" am Ende der Ausgabe bedeutet nichts anderes, als das Binary enthält keinerlei Symbol-Informationen mehr, nicht ungewöhnlich für ein Release-Kompilat. Man kann generell mit dem Kommando strip alle Symbolinfos aus einem Binary entfernen. Das macht ein Debug jedoch herausfordernd, manch einer nennt es mühselig.
Mit viel Geduld und Laune probiere ich mich mal an der Installation. Bis dahin greife ich dann auf GIMP zurück.
Was!? 02:40 Uhr!?
Gute Nacht