NeXTSTEP sur Virtual PC

Voici comment installer et configurer NeXTSTEP 3.3 sur Virtual PC 5 sur un Macintosh tournant sous Mac OS X 10.1.

Système requis

Le Macintosh que j'ai utilisé est un Power Mac bi-G4 à 800 MHz tournant sous Mac OS X 10.1.2 et utilisant le logiciel Virtual PC 5.0 de Connectix racheté par Microsoft (et depuis lors enterré).

NeXTSTEP ne s'installe pas sur Virtual PC 6 ou sur Virtual PC 7. Mais si NeXTSTEP est installé sur VPC 5, il est possible de le faire tourner sur VPC 6 ou 7. Le réseau Ethernet ne marche pas sur ces versions de VPC.

Pour effectuer l'installation de NeXTSTEP, il faut avoir :

  • Une image disque du CD-ROM de NeXTSTEP 3.3 pour Intel (achetable sur des sites comme eBay).
  • Les images disque des disquettes de boot de NeXTSTEP 3.3 que l'on peut trouver sur le site Apple.
  • Virtual PC 5.0
  • Mac OS X 10.1 (ou 10.2 ou 10.3)
  • Un macintosh avec un G3 ou un G4 (ne marche pas avec un G5)

Configuration de Virtual PC 5

Il faut créer sous Virtual PC 5 un nouveau système de type "Autre", donc ni Windows, ni Linux.

La taille mémoire peut être portée à 256 Mo maximum. En fait on peut configurer la RAM jusqu'à 512 Mo, mais au dessus de 256 Mo NeXTSTEP a des problèmes au boot rendant par exemple le réseau ethernet inutilisable.

Il faut demander à Virtual PC de créer une nouvelle image disque d'une taille max de 2 Go (c'est la taille limite du système de fichiers UFS de NeXTSTEP).

Dans les paramètres du système sous Virtual PC, il ne faut pas cocher "Configuration IDE standard".

Pour la configuration réseau, il faut cocher "Activer réseau" avec "Commutation virtuelle". En effet le mode "Mise en réseau partagée" nécessite d'installer le package DHCP (de Peak par exemple), mais celui-ci, bien qu'arrivant à parler au serveur DHCP pour configurer la pile TCP/IP n'arrive pas à marcher correctement par la suite. Il faut donc utiliser une configuration manuelle de la pile TCP/IP (ce qui est par la même plus simple à configurer avec les outils standards de NeXTSTEP). Cette configuration en adresse fixe d'IP me permet quand même d'accéder à Internet car j'utilise un routeur externe pour cela.

J'ai aussi désactivé les port COM 1 et 2 ainsi que l'USB.

Installation

L'installation de NeXTSTEP sous Virtual PC se fait de la même manière que l'installation sur un véritable PC utilisant des disques IDE. Ce n'est pas simple, mais il suffit de suivre les instructions d'installation de NeXT.

Pour "monter" une disquette ou le CD-ROM, il suffit de glisser son image disque sur l'icône voulu dans la fenêtre de Virtual PC. Ceci est expliqué dans la documentation de l'émulateur.

L'installation se passe normalement avec un écran du type VGA en 640 x 480 en 4 niveaux de gris.

Drivers

Une fois l'installation de NeXTSTEP de base effectuée, il faut installer des drivers plus adaptés (disponibles sur le site Apple) :

  • Moniteur : Il faut utiliser le driver S3 Generic PCI. Ce driver marche avec une profondeur de 8 ou 32 bits, mais pas en 16 bits. Certaines résolutions ne sont pas supportées par Virtual PC, comme par exemple le 1152 x 864, mais les résolutions "standard" marchent bien : 1024 x 768, 1280 x 1024...
  • Pointage : Il faut configurer une souris de type "PS/2".
  • Réseau : Il faut utiliser le driver DEC Generic 21X4X.
  • SCSI : On ne configure rien, car on est en IDE.
  • Audio : Il faut utiliser le driver Sound Blaster 16.
  • Autre : Il faut utiliser tous les drivers standards NeXTSTEP pour x86 : "Support pour le bus PCI", "Clavier de type PS/2", "Lecteur de disquettes", "EIDE and ATAPI Device Controller", "Support pour le bus ISA/EISA".

Configuration de NeXTSTEP

Une fois NeXTSTEP installé, il faut encore configurer le clavier et la souris. En effet le clavier AZERTY d'un Macintosh n'est pas exactement le même que le clavier AZERTY d'un PC. Pour faire l'adaptation, il suffit d'utiliser le programme Keyboard pour créer un nouveau type de clavier avec toutes les touches là où il faut.

Pour la souris, il faut adapter sa vitesse de déplacement en jouant sur le paramètre disponible dans Configure ainsi que sur le paramètre de Preferences.

Pour avoir un système NeXTSTEP pleinement utilisable, il faut installer le "patch 3" apportant la compatibilité Y2K.

Résultat

Voici une capture d'écran de NeXTSTEP 3.3 sous Virtual PC montrant le programme OmniWeb version 2.

En ce qui concerne la vitesse de NeXTSTEP, elle est plus rapide qu'une NeXTstation ou qu'un NeXTcube, mais bien moins rapide qu'une installation sur un véritable PC x86 moderne. De plus certaines actions sont assez saccadées comme les déplacements de fenêtres. Mais en règle générale NeXTSTEP sur Virtual PC est utilisable, du moins sur un Macintosh rapide G4 (VPC 6.1 ne marche pas sur les G5, et VPC 7.0.1 marche mal sur un G5).

Voici par exemple le résultat de NXBench qui est le programme standard de bench sous NeXTSTEP :

PC x86 à 500 MHz Virtual PC 6.1 sur Mac OS X 10.3.1 sur un G4 bi-800 MHz Virtual PC 6.1 sur Mac OS X 10.3.1 sur un G4 à 1 GHz Virtual PC 7.0.1 sur Mac OS X 10.3.6 sur un G5 bi-2,5 GHz

Le résultat ci-dessus est trompeur car on a l'impression que NeXTSTEP sur un G4 à 1 GHz est beaucoup plus rapide que sur un x86 à 500 MHz. Il n'en est rien, c'est même l'inverse, le PC en utilisation "normale" semble 2 à 3 fois plus rapide que le Mac.

La souris a, sur VPC 6, un comportement quelque peu erratique, et les déplacements des fenêtres ne sont pas du tout fluides. Sur VPC 7, la souris voit sont comportement s'aggraver, et elle peut se mettre à cliquer ou à bouger sans aucun contrôle possible : l'utilisation de NeXTSTEP devient donc très risquée. En fait ce comportement semble lié à la vitesse du CPU : plus il est rapide, plus la souris a des problèmes.

Virtual PC n'utilise qu'un CPU même sur une machine en possédant plusieurs.

Utilisation

Les accès réseau marchent bien (sur VPC 5), et il est donc possible d'accéder à un réseau local ou à Internet.

Les accès à un lecteur de disquette sont possibles, soit en utilisant une image disquette, soit en utilisant un lecteur USB externe au Macintosh.

Les accès CD-ROM sont possibles, soit avec une image du CD-ROM, soit avec le lecteur du Macintosh. Il faut noter que dès que l'on insère un CD-ROM dans le lecteur du Macintosh, le CD-ROM "monte" sur Mac OS X ainsi que sur NeXTSTEP. Si le support n'est pas reconnu par Mac OS X (par exemple un CD-ROM au format UFS de NeXTSTEP, qui est différent de l'UFS de Mac OS X), le CD-ROM monte parfaitement sur NeXTSTEP, mais pas sur Mac OS X (bien ûr).

Le son marche bien, même s'il est un peu nasillard.

Les imprimantes réseau sont supportées. Par exemple mon imprimante Lexmark Optra S marche avec le protocole LasetJet intégré à NeXTSTEP. Il faut juste placer le fichier PPD au bon endroit.

Le couper/coller de texte marche dans le sens Mac OS X vers NeXTSTEP. En fait Virtual PC simule une saisie au clavier des caractères collés.

Bugs Virtual PC

Je n'ai pas réussi à installer NeXTSTEP sur Virtual PC 6 ou 7, contrairement à Virtual PC 5. Mais il est possible d'utiliser une image créée par VPC 5 sous VPC 6 ou VPC 7. Les bugs concernant la gestion du coprocesseur mathématique sous VirtualPC sont toujours là entraînant certains problèmes lors de l'affichage de Display PostScript.

Voici par exemple trois captures d'écran, la première a été faite sur un PC (x86) en natif, et la deuxième sous Virtual PC (PPC) et la troisième sous VMware (x86):

PC (x86) Virtual PC (PPC) VMware (x86)

La gestion du réseau Ethernet semble avoir changé posant de nombreux problèmes. Pour l'instant je n'ai plus de réseau sous VPC6.

Bref, pour utiliser NeXTSTEP sous Virtual PC, il faut mieux utiliser la version 5 et un gros G4. De toute façon VPC 5 est obligatoire pour faire l'installation.

Virtual PC 6.1 ne marche pas sur les Mac G5, il faut pour cela Virtual PC 7.0.1 qui marche encore moins bien que Virtual PC 6.1. En fait Virtual PC 7 est plus un Virtual Windows XP qu'un émlateur de PC : beaucoup d'OS non Microsoft ne s'installent pas ou si ils s'installent marchent mal.

Microsoft a tué VirtualPC sur Macintosh. Mais l'avenir n'est pas bouché car les nouveaux Mac sont à base de processeurs Intel et des virtualiseurs comme VMware ou Parallels permettent de faire tourner NeXTSTEP.

VMware

Il est possible d'installer NeXTSTEP et OPENSTEP sur VMware sur des Macs Intel.