Debian sur un iMac G3
Publié le 30/12/2022, dans informatique, retro, apple
J'adore faire les vide-greniers à la recherche d'objets amusants, insolites ou de vieux ordinateurs. J'ai une petite collection d'anciens ordinateurs Apple en état de marche, je parlerai surement de chacun dans des articles séparés. Mais cette année j'ai trouvé un iMac G3 et j'ai décidé d'installer Debian dessus.
La machine
Voici la bête :
C'est un iMac G3 modèle « Kiva » de 2001, couleur « Graphite ». Il a un processeur PowerPC 750 (500 MHz), 512 MiB de ram et un disque dur Maxtor de 30 GB. Il a également une carte graphique ATI Rage 128 Pro.
Avec j'ai pu avoir un clavier et une souris Mac « Pro ».
L'installation de Debian
Il a fallu faire un choix, car toutes les distributions Linux ne supportent pas (ou plus) les architectures PowerPC. Debian met à disposition des iso des dernières versions pour l'architecture PowerPC. C'est donc une Debian que j'ai installé car ça me semblait être le choix le plus simple.
Bien que cet iMac ait un lecteur CD je ne savais pas s'il fonctionnait bien et surtout je n'ai pas de CD à graver avec moi. Mais en fouillant un peu sur le web je vois qu'il est possible de le faire boot à partir d'un support USB. Je déploie donc mon iso sur une clé USB et je la branche.
Pour afficher les options de boot, il faut démarrer la machine en gardant enfoncée la touche « Alt » à gauche du clavier (Celle avec une sorte de casserole dessinée dessus). Là si tout va bien un écran avec un curseur « montre » apparaît, tourne un moment et affiche les options de boot, dont notre clé USB.
À partir de là c'est comme n'importe quelle installation de Debian.
L'interface graphique
Une fois l'installation terminée tout fonctionne bien. Je décide donc d'installer Xorg et i3 pour voir si l'interface graphique marche et… bien sûr que non ! Le message d'erreur indique « No screens found ».
En fait comme je l'ai dit plus tôt, il y a une carte graphique ATI et il faut donc le driver qui va avec. Pour cette carte graphique il existe un driver xf86-video-r128, voilà comment l'installer :
En premier j'installe les dépendances utiles :
# apt install autoconf xutils-dev automake libtool pkg-config m4 xorg xorg-dev git make
Puis je clone le dépôt du driver :
# git clone https://gitlab.freedesktop.org/xorg/driver/xf86-video-r128
# cd xf86-video-r128/
De base le driver ne fonctionne pas avec les architectures non-compatibles x86, mais il existe un patch pour ça, donc on le récupère et on l'applique :
# wget https://raw.githubusercontent.com/void-linux/void-packages/master/srcpkgs/xf86-video-r128/patches/fix-non-x86.patch
# git apply fix-non-x86.patch
Il ne nous reste plus qu'à compiler et installer le driver :
# ./autogen.sh
# ./configure
# make
# make install
Une fois fait, le driver est installé dans /usr/local/lib/xorg/modules/drivers
. Il ne nous reste plus qu'à mettre la configuration /etc/X11/xorg.conf
qui va bien :
Section "Files"
ModulePath "/usr/lib/xorg/modules"
ModulePath "/usr/local/lib/xorg/modules"
ModulePath "/usr/local/lib/xorg/modules/drivers"
EndSection
Section "Module"
Load "i2c"
Load "ddc"
Load "dri"
Load "dri2"
Load "record"
Load "extmod"
Load "freetype"
Load "type1"
EndSection
Section "InputClass"
Identifier "Keyboard Defaults"
MatchIsKeyboard "yes"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbVariant" "mac"
Option "XkbOptions" "lv3:rwin_switch,lv3:lwin_switch,terminate:ctrl_alt_bksp,srvrkeys:none"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "iMac"
ModelName "Monitor Model"
Option "DPMS"
HorizSync 58-62
VertRefresh 75-117
EndSection
Section "Device"
Identifier "Card0"
Driver "r128"
BusID "PCI:0:16:0"
Option "NoInt10" "true"
Option "CCEusecTimeout" "100000"
Option "UseFBDev" "false"
Option "XAANoOffscreenPixmaps" "true"
Option "SWcursor" "false"
Option "DMAForXv" "true"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
Section "DRI"
Mode 0666
EndSection
Et voilà, on lance notre interface graphique… et ça marche !
J'ai installé GNUStep dessus pour tester et ça rend bien malgré quelques soucis graphiques que je tenterai peut-être de corriger.
Vous pouvez commenter en envoyant un mail via ce bouton (votre adresse ne sera pas publié).
Commenter par mail