iMac G4 driver nv per Ubuntu 12.04

Installazione dei driver nv per Ubuntu 12.04 LTS su iMacG4 700MHz
(questa procedura ha funzionato soltanto con ubuntu 12.04, non con 14.04)
Aggiornamento al 13 Luglio 2014

    • Scaricare e masterizzare la ISO di “Ubuntu 12.04 alternate desktop” per powerpc
      La distribuzione ideale sarebbe Lubuntu alternate, ma ha una ISO da 702Mb, non entra su un CD da 700Mb e purtroppo l’iMac non legge i CD da 800Mb
    • Installare (circa un’ora di tempo).
    • A fine installazione la scheda video non funzionerà. Bisogna scrivere all’avvio “Linux nomodeset” e dare invio per poter almeno avere la riga di comando. Si avvierà un ambiente grafico con colori distorti e testo quasi illegibile. Premere CTRL+ALT+F1 per aprire un accesso a riga di comando.
    • Dopo il primo avvio con “Linux nomodeset” installare il server ssh per poter spegnere o riavviare da remoto l’iMac in caso di blocchi.
      sudo apt-get install openssh-server
    • Mettere nella blacklist il driver grafico nouveau.
      Basta aggiungere la riga “blacklist nouveau” in fondo al file /etc/modprobe.d/blacklist.local.conf editandolo con sudo nano /etc/modprobe.d/blacklist.local.conf
    • mettere in /etc/X11 il seguente file xorg.conf per una impostazione minima del monitor
      (tutte le righe che iniziano con # possono essere omesse, sono solo un promemoria per tutte le opzioni del driver nv)
      Section "ServerLayout"
      Identifier "X.org Configured"
      Screen 0 "Screen0" 0 0
      EndSection

      Section "Device"
      ### Available Driver options are:-
      ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
      ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
      ### <percent>: "<f>%"
      ### [arg]: arg optional
      #Option "SWcursor" # [<bool>]
      #Option "HWcursor" # [<bool>]
      #Option "NoAccel" "True" # [<bool>]
      #Option "ShadowFB" # [<bool>]
      #Option "VideoKey" # <i>
      #Option "WrappedFB" # [<bool>]
      #Option "GLXVBlank" # [<bool>]
      #Option "ZaphodHeads" # <str>
      #Option "PageFlip" # [<bool>]
      Identifier "Card0"
      Driver "nv"
      BusID "PCI:0:16:0"
      EndSection

      Section "Monitor"
      Identifier "Monitor0"
      EndSection

      Section "Screen"
      Identifier "Screen0"
      Device "Card0"
      Monitor "Monitor0"
      EndSection

    • La parte più lunga consiste nel compilare i driver nv a partire dai sorgenti. per farlo sono necessari i seguenti file scaricabili dal sito debian https://packages.debian.org/source/sid/xserver-xorg-video-nv

      xserver-xorg-video-nv_2.1.20-2.dsc 1.6 kB
      xserver-xorg-video-nv_2.1.20.orig.tar.gz 471.8 kB
      xserver-xorg-video-nv_2.1.20-2.diff.gz 16.9 kB

      e poi seguire l’ottima guida pubblicata da rsavage sul forum Ubuntu
      http://ubuntuforums.org/showthread.php?t=2203756&p=12922410#post12922410

      riporto di seguito i passaggi

      sudo apt-get update

      sudo apt-get install build-essential fakeroot dpkg-dev

      dpkg-source -x *.dsc


      L’ultimo comando creerà una nuova directory chiamata xserver-xorg-video-nv-2.1.20

      Spostarsi in questa directory e modificare il file debian/control

      cambiando la riga

      Architecture: kfreebsd-any hurd-any

      in

      Architecture: any
      e salvare il file. Aprire una finestra di terminale e spostarsi nella directory xserver-xorg-video-nv-2.1.20 eseguire i seguenti comandi:

      Il primo installa una serie di pacchetti necessari
      (tutto su una singola riga senza andate a capo) sudo apt-get install debhelper pkg-config xserver-xorg-dev
      x11proto-video-dev x11proto-core-dev x11proto-fonts-dev
      x11proto-randr-dev x11proto-render-dev x11proto-xext-dev dpkg-dev
      automake libtool xutils-dev libdrm-dev x11proto-xf86dri-dev quilt

      Il secondo lancia la compilazione del pacchetto:
      dpkg-buildpackage -rfakeroot -b -uc

      Infine per installare il driver
      cd ..
      sudo dpkg -i *.deb

    • A questo punto si può lanciare l’ambiente grafico con
      sudo start lightdm
      ed iniziare ad usare l’ambiente grafico

Infine ho provato ad utilizzare il driver già compilato sull'iMacG4
su un PowerBook G4 12 pollici, anche lui dotato di scheda video nVidia.
Ha funzionato subito e mi sono risparmiato un bel po' di tempo e tutti i
passaggi che ho descritto. Quindi per chi volesse provare la strada più
facile metto a disposizione il driver compilato, se lo installate su iMacG4 prima serie con schermo da 15 pollici non ci sono problemi perché è lo stesso modello che ho usato io. Se lo installate su PowerBook 12 pollici prima serie
stessa cosa: l'ho provato e funziona. Per tutti gli altri Mac dotati di
scheda nVidia non posso garantire perché non ho modo di fare la prova.
In bocca al lupo. Il driver da scaricare è questo: xserver-xorg-video-nv_2.1.20-2_powerpc.deb

  • Il desktop gnome è troppo pesante per l’hardware dell’iMacG4, quindi conviene installare LXDE e utilizzare quest’ultimo
    Pensavo che bastasse installare con apt-get install LXDE che in effetti funziona, ma per avere un ambiente grafico più completo e migliore esteticamente conviene installare lubuntu-desktop
    sudo apt-get install lubuntu-desktop

Infine:
Se si utilizza una tastiera non Apple, si può assegnare l’eject del cassetto del DVD alla combinazione di tasti Windows(command)+ALT+e
Per farlo bisogna aggiungere le seguenti righe al file “.config/openbox/lubuntu-rc.xml” aggiungendo

<keybind key="W-A-e">
<action name="Execute">
<command>eject</command>
</action>
</keybind>

le righe vanno aggiunte all’interno della sezione che inizia con il tag <keyboard> e finisce con </keyboard>
La combinazione di tasti funzionerà dal successivo log-in, oppure si può forzare la rilettura del file di configurazione con openbox –reconfigure
Per usare anche la combinazione Windows(command)+ALT+r per chiudere il cassetto si può aggiungere quanto segue:

<keybind key="W-A-r">
<action name="Execute">
<command>eject -t</command>
</action>
</keybind>

Lubuntu appena installato non riconosce la pressione del tasto di spegnimento dell’iMac. Aggiungendo il supporto acpi sarà possibile, premendo il tasto, lanciare la schermata di log-out, dalla quale si può scegliere se terminare la sessione, spegnere, riavviare o sospendere.
sudo apt-get install acipd