http://wiki.cchtml.com/api.php?action=feedcontributions&user=216.153.19.142&feedformat=atomcchtml.com - User contributions [en]2024-03-29T10:19:12ZUser contributionsMediaWiki 1.39.4http://wiki.cchtml.com/index.php?title=Category:OEMs&diff=7613Category:OEMs2011-11-08T18:23:44Z<p>216.153.19.142: Undo revision 2956 by Mooninite (talk)</p>
<hr />
<div>A million thknas for posting this information.</div>216.153.19.142http://wiki.cchtml.com/index.php?title=Slackware:_ATI_SlackBuild_(ITA)&diff=7416Slackware: ATI SlackBuild (ITA)2011-10-05T06:06:43Z<p>216.153.19.142: /* Configurazione minimale del server X.Org */</p>
<hr />
<div><!-- Per http://wiki.cchtml.com/index.php/Slackware:_ATI_SlackBuild_(ITA) --><br />
<br />
= Introduzione =<br />
Questo wiki spiega come installare i driver propritari ATI con la distribuzione linux Slackware, creando, grazie ad uno SlackBuild, dei pacchetti che possono essere installati tramite il comando '''installpkg'''.<br />
<br />
Il wiki NON spiega come migliorare le prestazioni. In particolare fornisce solo una descrizione minimale di come impostare il server X.Org con l'unico scopo di far funzionare i driver proprietari (una descrizione su come configurare il server X.Org per ottenere prestazioni pi&ugrave; elevate la potete trovare [http://www.slacky.eu/wikislack/index.php?title=Installazione_driver_ATI_su_Slackware_GNU/Linux qui]).<br />
<br />
Tutti i comandi che iniziano con un '#>' devono essere eseguiti con i diritti dell'utente root, mentre quello che iniziano con '$>' possono essere eseguiti anche da un utente senza tali diritti.<br />
<br />
= ATI Proprietary Driver e ATI Catalyst =<br />
A partire dal 21 Novembre 2007 i driver ATI hanno cambiato nome e numero di versione. I nuovi driver, che prima venivano indicati solo come '''ATI Proprietary Driver''', ora si chiamano '''ATI Catalyst'''. Non solo, il numero di versione &egrave; passato da '''8.XX.X''' a '''7.XX'''.<br />
<br />
Quando in questo articolo si parler&agrave; dei driver ''versione < 8.37.6'', ci si riferir&agrave; implicitamente ai vecchi driver, ovvero agli ATI Proprietary Driver, i nuovi ATI Catalyst sono da considerarsi ''versione >= 8.37.6'', anche se, ad esempio, hanno come numero di release 7.11.<br />
<br />
= Come ottenere tutto il software necessario =<br />
L'installer pu&ograve; essere scaricato direttamente dal [http://support.amd.com/us/gpudownload/Pages/index.aspx sito ufficiale].<br />
{{Warning|Attenzione|Se la versione dei driver che si &egrave; scaricata &egrave; minore della 8.37.6 allora dovete sapere fin d'ora che non funzioneranno con il server X.Org 7.2 (o 1.3) o successivi.}}<br />
{{Helpful Hint|Nota|I driver per le architetture x86 e x86_64 sono equivalenti. L'installer infatti contiene i file per entrambe le architetture, sar&agrave; poi il processo di compilazione e creazione dei pacchetti che sceglier&agrave; i file adeguati.<br />
Questo vuol dire che lo SlackBuild andr&agrave; bene sia per la Slackware sia la Slackware64, sia per le varie versioni porting a 64 bit (Slamd64, Bluewhite64, etc...).}}<br />
<br />
Dato che i driver contengono anche un modulo del kernel che verr&agrave; compilato direttamente sul vostro sistema, &egrave; necessario avere anche i sorgenti del kernel attualmente in uso.<br />
<br />
= Come creare i pacchetti per la Slackware =<br />
== ATI Proprietary Driver o ATI Catalyst < 11.3 ==<br />
Per questi driver lo SlackBuild produce due pacchetti (vedere [[#Cosa contengono i pacchetti creati?]]).<br />
=== Versione dei driver < 8.37.6 (SlackBuild esterno) ===<br />
Per questi tipi di driver ho creato uno '''SlackBuild esterno''' per la Slackware di cui ho fatto [http://www.slacky.eu/~spina/fglrx/ati-slack-packager-1.1.9-noarch-1.tgz questo pacchetto].<br />
<br />
Per creare i pacchetti Slackware basta eseguire:<br />
#> installpkg ati-slack-packager-1.1.9-noarch-1.tgz<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg custom-package/Slackware<br />
<br />
=== Versione dei driver >= 8.37.6 o nuovi ATI Catalyst (SlackBuild interno) ===<br />
Per questi driver lo SlackBuild l'ho inviato direttamente alla ATI che ha provveduto ad inserirlo all'interno dell'installer, quindi basta eseguire:<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg Slackware/All<br />
o, se i driver sono abbastanza recenti, basta un semplice:<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg<br />
Oppure, per creare ed installare direttamente i pacchetti, si pu&ograve; usare (sempre con versioni recenti dei driver):<br />
#> sh intaller.run --buildandinstallpkg<br />
<br />
=== Cosa contengono i pacchetti creati? ===<br />
I due pacchetti creati dallo SlackBuild, che chiameremo ''fglrx-module'' e ''fglrx-x'', contengono, rispettivamente, il modulo per il kernel attualmente installato sul sistema, e i driver per la versione del server X.Org installata. In questo modo, se si aggiorna il kernel oppure il server X.Org si pu&ograve; creare solo il relativo pacchetto.<br />
<br />
==== Creare solo il pacchetto fglrx-module ====<br />
Per creare solo il pacchetto contenente il modulo per il kernel attualmente installato, basta lanciare l'installer con l'opzione ''Only_Module ''.<br />
<br />
Quindi, con lo '''SlackBuild esterno''':<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg custom-package/Only_Module<br />
Con lo '''SlackBuild interno''':<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg Slackware/Only_Module<br />
<br />
==== Creare solo il pacchetto fglrx-x ====<br />
Per creare solo il pacchetto contenente i driver per il server X.Org attualmente installato sul sistema, basta lanciare l'installer con l'opzione ''Only_X''.<br />
<br />
Con lo '''SlackBuild esterno''':<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg custom-package/Only_X<br />
Con lo '''SlackBuild interno''':<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg Slackware/Only_X<br />
<br />
== ATI Catalyst >= 11.3 ==<br />
A partire da questi driver lo '''SlackBuild interno''' produce un solo pacchetto, chiamato ''fglrx-<versione>-<architettura>-<release>.tgz'', che pu&ograve; essere creato con:<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildpkg<br />
Si pu&ograve; anche creare ed installare direttamente il pacchetto con:<br />
#> sh ati-driver-installer-<versione>-x86.x86_64.run --buildandinstallpkg<br />
<br />
None can doubt the vrecaity of this article.<br />
<br />
= Verifica =<br />
Per verificare se i driver proprietari ATI sono stati correttamente installati si pu&ograve; eseguire il comando:<br />
$> fglrxinfo<br />
Sulla mia macchina l'output &egrave;:<br />
display: :0.0 screen: 0<br />
OpenGL vendor string: ATI Technologies Inc.<br />
OpenGL renderer string: ATI Mobility Radeon X1400<br />
OpenGL version string: 2.0.6650 (8.39.4)<br />
<br />
= Rimuovere i pacchetti installati =<br />
== ATI Proprietary Driver o ATI Catalyst < 11.3 ==<br />
Per rimuovere i pacchetti installati si pu&ograve; tranquillamente usare l'utility '''removepkg'''. Ci sono per&ograve; aspetti che vanno considerati:<br />
* La rimozione dei pacchetti non elimina i file di configurazione del driver fglrx, questi file sono situati nella directory ''/etc/ati''<br />
{{Be Careful|Occhio|La directory ''/etc/ati/custom-package'' se esiste, contiene lo '''SlackBuild esterno''' e quindi non va cancellata.}}<br />
*Il pacchetto ''fglrx-x'' contiene le librerie OpenGL della ATI, e queste librerie sono posizionate nella stessa directory di quelle Mesa, indi per cui quando si installa il pacchetto ''fglrx-x'' vengono sovrascritte le OpenGL Mesa. Per ripristinare la situazione si deve semplicemente reinstallare il pacchetto contenente queste librerie, ovvero il pacchetto:<br />
::x11<br />
:si usa la Slackware 11, oppure:<br />
::mesa<br />
:se si usa la Slackware 12.<br />
<br />
== ATI Catalyst >= 11.3 ==<br />
Durante l'installazione del pacchetto ''fglrx-<versione>-<architettura>-<release>.tgz'' alcune librerie che sarebbero sovrascritte vengono rinominate in FGL.renamed.nome_libreria. Per disinstallare il pacchetto in maniera "pulita" si dovrebbe eseguire il comando:<br />
#> aticonfig --uninstall<br />
oppure direttamente lo script:<br />
#> /usr/share/ati/amd-uninstall.sh<br />
o, ancora, con un qualsiasi installer >= 11.3, con:<br />
#> ati-driver-installer-<versione>-x86.x86_64.run --uninstall<br />
Dopo di ci&ograve; rimarr&agrave; solo la directory ''/etc/ati'' con i file di configurazione dei driver.<br />
<br />
= Patchare i driver =<br />
I driver ATI sono noti per essere sempre in ritardo rispetto all'aggiornamento del kernel linux. Spesso occorre quindi patchare i driver in modo tale che la creazione del modulo per il kernel abbia successo. A partire dagli ATI Catalist > 8.11 ho inserito nello '''SlackBuild interno''' la possibilit&agrave; di patchare i driver ATI prima che lo SlackBuild stesso esegua la compilazione del modulo per il kernel.<br />
<br />
Per fare questo basta creare (o scaricare da internet) una patch e dargli questo path:<br />
<br />
''/etc/ati/patch/patch-ATI_DRIVER_VERSION-KERNEL_VERSION''<br />
<br />
dove:<br />
<br />
ATI_DRIVER_VERSION deve essere uguale al risultato del comando:<br />
$> sh ati-driver-installer-<versione>-x86.x86_64.run -i | head -n1 | cut -d'-' -f2<br />
KERNEL_VERSION deve essere uguale al risultato del comando:<br />
$> uname -r<br />
<br />
se la directory ''/et/ati/patch'' non esiste, va ovviamente creata.<br />
<br />
Quindi, ad esempio, se si il primo dei due comandi da come risultato '''8.56''' e il secondo '''2.6.27.6''', la patch va chiamata: ''/etc/ati/patch/patch-8.56-2.6.27.6''.<br />
<br />
Lo '''SlackBuild interno''' automaticamente noter&agrave; la patch, e, se si &egrave; in possesso del programma '''patch''', eseguir&agrave;:<br />
#> patch -p0 < /etc/ati/patch/patch-8.56-2.6.27.6<br />
<br />
== Alcune patch ==<br />
Di seguito alcune patch note e come usarle:<br />
<br />
=== ATI Catalyst 10.3, 10.4 e kernel == 2.6.33.x ===<br />
Scaricate la [http://www.slacky.eu/~spina/fglrx/patch/fglrx_10.3-4_with_2.6.33.x.diff patch] nella directory ''/tmp'', quindi:<br />
<br />
* Per i '''Catalyst 10.3''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.3-4_with_2.6.33.x.diff /etc/ati/patch/patch-8.712-$(uname -r)<br />
#> sh ati-driver-installer-10-3-x86.x86_64.run --buildpkg<br />
<br />
* Per i '''Catalyst 10.4''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.3-4_with_2.6.33.x.diff /etc/ati/patch/patch-8.723-$(uname -r)<br />
#> sh ati-driver-installer-10-4-x86.x86_64.run --buildpkg<br />
<br />
=== ATI Catalyst 10.4, 10.5 e kernel == 2.6.34 ===<br />
Scaricate la [http://www.slacky.eu/~spina/fglrx/patch/fglrx_10.4-5_with_2.6.34.diff patch] nella directory ''/tmp'', quindi:<br />
<br />
* Per i '''Catalyst 10.4''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.4-5_with_2.6.34.diff /etc/ati/patch/patch-8.723-$(uname -r)<br />
#> sh ati-driver-installer-10-4-x86.x86_64.run --buildpkg<br />
<br />
* Per i '''Catalyst 10.5''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.4-5_with_2.6.34.diff /etc/ati/patch/patch-8.732-$(uname -r)<br />
#> sh ati-driver-installer-10-4-x86.x86_64.run --buildpkg<br />
<br />
=== ATI Catalyst 10.9 e Slackware64 13.1 o current ===<br />
Scaricate la [http://www.slacky.eu/~spina/fglrx/patch/fglrx_10.9_with_Slackware64-13.1.diff patch] nella directory ''/tmp'', quindi fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.9_with_Slackware64-13.1.diff /etc/ati/patch/patch-8.771-$(uname -r)<br />
#> sh ati-driver-installer-10-9-x86.x86_64.run --buildpkg<br />
ad un certo punto l'installazione chiede:<br />
<PRE><br />
can't find file to patch at input line 4<br />
Perhaps you should have used the -p or --strip option?<br />
The text leading up to this was:<br />
--------------------------<br />
|diff -ru ./2.6.x/Makefile ../../../../../../fglrx-install.uZLF8t/common/lib/modules/fglrx/build_mod//2.6.x/Makefile<br />
|--- ./2.6.x/Makefile 2010-09-01 16:05:31.000000000 +0200<br />
|+++ ../../../../../../fglrx-install.uZLF8t/common/lib/modules/fglrx/build_mod//2.6.x/Makefile 2010-09-23 08:47:24.000000000 +0200<br />
--------------------------<br />
File to patch:<br />
</PRE><br />
quindi inserire:<br />
./2.6.x/Makefile<br />
<br />
=== ATI Catalyst 10.10, 10.11 e kernel == 2.6.36.x ===<br />
Scaricate la [http://www.slacky.eu/~spina/fglrx/patch/fglrx_10.10-11_with_2.6.36.x.diff patch] nella directory ''/tmp'', quindi:<br />
* Per i '''Catalyst 10.10''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.10-11_with_2.6.36.x.diff /etc/ati/patch/patch-8.783-$(uname -r)<br />
#> sh ati-driver-installer-10-10-x86.x86_64.run --buildpkg<br />
<br />
* Per i '''Catalyst 10.11''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.10-11_with_2.6.36.x.diff /etc/ati/patch/patch-8.791-$(uname -r)<br />
#> sh ati-driver-installer-10-11-x86.x86_64.run --buildpkg<br />
<br />
=== ATI Catalyst 10.10, 10.11 e 10.12 e kernel == 2.6.37.x ===<br />
Scaricate la [http://www.slacky.eu/~spina/fglrx/patch/fglrx_10.10-12_with_2.6.37.x.diff patch] nella directory ''/tmp'', quindi:<br />
* Per i '''Catalyst 10.10''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.10-12_with_2.6.37.x.diff /etc/ati/patch/patch-8.783-$(uname -r)<br />
#> sh ati-driver-installer-10-10-x86.x86_64.run --buildpkg<br />
<br />
* Per i '''Catalyst 10.11''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.10-12_with_2.6.37.x.diff /etc/ati/patch/patch-8.791-$(uname -r)<br />
#> sh ati-driver-installer-10-11-x86.x86_64.run --buildpkg<br />
<br />
* Per i '''Catalyst 10.12''' fate:<br />
#> mkdir -p /etc/ati/patch/<br />
#> mv /tmp/fglrx_10.10-12_with_2.6.37.x.diff /etc/ati/patch/patch-8.801-$(uname -r)<br />
#> sh ati-driver-installer-10-12-x86.x86_64.run --buildpkg<br />
<br />
= Problemi noti =<br />
== error: implicit declaration of function 'lock_kernel' and error: implicit declaration of function 'unlock_kernel' ==<br />
Dovete abilitare l'opzione '''Big Kernel Lock''' nella vostra configurazione del kernel. La voce si trova nel men&ugrave; '''Kernel hacking'''. Per controllare se questa opzione &egrave; abilitata potete fare:<br />
$> zcat /proc/config.gz | grep BKL<br />
CONFIG_BKL=y<br />
<br />
== FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'paravirt_ops' ==<br />
L'errore accade in fase di compilazione del modulo ed &egrave; dovuto al fatto che il kernel &egrave; stato compilato con l'opzione di paravirtualizzazione attiva. Questa opzione tra le altre cose, impedisce di caricare, e quindi di compilare, moduli che non hanno la licenza GPL. Visto che i driver ATI non hanno questo tipo di licenza, non vengono compilati.<br />
<br />
Per ovviare al problema si pu&ograve;:<br />
=== Disabilitare la paravirtualizzazione nel kernel ===<br />
L'opzione di paravirtualizzazione si chiama '''CONFIG_PARAVIRT''' e generalmente si trova nel sottomen&ugrave; '''Processor type and features''' del kernel.<br />
=== Patchare i driver ATI ===<br />
Questa operazione &egrave; illegale poich&egrave; si deve modificare il tipo di licenza rilasciata dalla ATI in GPL. Ho scritto la patch:<br />
<br />
[http://www.slacky.eu/~spina/fglrx/patch/ati_to_gpl.patch ati_to_gpl.patch] (md5sum: 4207f41a71035dc2eed3ea9346b881bb)<br />
<br />
di cui non mi prendo nessuna responsabilit&agrave;, io non la uso e ne sconsiglio l'uso preferendo l'alternativa di disabilitare la paravirtualizzazione del kernel.<br />
Per usare questa patch bisogna:<br />
<br />
'''SlackBuild esterno''':<br />
* Copiare la patch nella directory ''/etc/ati/custom-package/patch''<br />
<br />
'''SlackBuild interno''' (solo con ATI Catalist > 8.11):<br />
* Copiare la patch nella directory ''/etc/ati/patch'' (se non esiste, va creata)<br />
<br />
Lo SlackBuild noter&agrave; la presenza della patch e la applicher&agrave;. Per disinstallare la patch baster&agrave; quindi cancellarla.<br />
<br />
== Using GLX_SGIX_pbuffer FGLTexMgr: open of shared memory object failed (Permission denied) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! ==<br />
Questo problema &egrave; dovuto alla mancanza nel sistema del filesystem SHM (oggi chiamato tmpfs), ovvero il virtual memory filesystem. Per ovviare al problema si deve:<br />
* Aggiungere al file ''/etc/fstab'' la seguente riga:<br />
shm /dev/shm tmpfs defaults 0 0<br />
* Quindi montare il filesystem tramite:<br />
#> mount /dev/shm<br />
Ovviamente il kernel deve essero predisposto al "montaggio" di questo filesystem, in particolare l'opzione del kernel che deve essere abilitata &egrave; '''CONFIG_TMPFS''' che generalmente &egrave; sistuata nel sottomen&ugrave; del kernel '''File systems --> Pseudo filesystems'''. C'&egrave; da dire per&ograve; che tutti i kernel precompilati hanno generalmente questa opzione abilitata.<br />
<br />
== kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel ==<br />
L'errore completo &egrave; qualcosa del genere:<br />
<br />
Error:<br />
kernel includes at /lib/modules/`uname -r`/build/include do not match current kernel.<br />
they are versioned as ""<br />
instead of "`uname -r`".<br />
you might need to adjust your symlinks:<br />
- /usr/include<br />
- /usr/src/linux<br />
<br />
L'errore, se pur spiegato pu&ograve; non essere chiaro. In pratica deriva dal fatto che i link simbolici:<br />
/lib/modules/`uname -r`/source<br />
/lib/modules/`uname -r`/build<br />
non puntano alla directory in cui sono inseriti i sorgenti del kernel attuale (che generalmente &egrave; /usr/src/linux-`uname -r`). Accade a coloro che usano uno dei kernel contenuto nella Slackware, per cui cercher&ograve; di spiegarlo in termini di "pacchetti" Slackware. Questo pu&ograve; succedere:<br />
* O perch&egrave; i sorgenti del kernel effettivamente non sono stati installati. In questo caso dovrebbe bastare installare il pacchetto dei sorgenti che si trova nella directory k/ della Slackware. Non &egrave; detto per&ograve; che il problema venga risolto, si veda il secondo motivo per cui sussiste l'errore.<br />
* O perch&egrave; i sorgenti (se pur installati) non rispecchiano le impostazioni dell'attuale kernel. La nuova Slackware 12 ha al suo interno un p&ograve; di kernel precompilati (che vuol dire impostazioni differenti) mentre un solo pacchetto per i sorgenti (a meno di vedere nel ramo extra/). In particolare i sorgenti sono per un kernel SMP e quindi se si utilizza un kernel precompilato non SMP pu&ograve; accadere che si verifichi l'errore suddetto. Per ovviare basta fare quanto segue, dopo essersi assicurati che il pacchetto dei sorgenti &egrave; stato installato:<br />
#> cd /usr/src/linux<br />
#> cp /boot/config .config<br />
#> make<br />
:eseguendo il make, oltre a compilare il kernel e relativi moduli (che poi non useremo), si rigenerano alcuni file headers che rispecchiano la configurazione del kernel (per come impostata nel file .config).<br />
<br />
<<edit by 414N>>: Questo problema può presentarsi anche in caso di kernel ricompilati manualmente ai quali si è aggiunta una qualche tag in fase di configurazione.<br />
Per risolvere è sufficiente un make prepare nella directory dei sorgenti del kernel in uso, in modo da avere gli header necessari allo script (make andrebbe a compilare tutto il kernel).<br />
<br />
== Logo nei driver 8.39.4 ==<br />
Questo "bug" nei driver 8.39.4 deriva dal fatto che gli sviluppatori ATI non aggiornano i packager mantainer prima della release ufficiale. Sarebbe carino se facessero testare prima a noi le release ufficiali, in modo da certificare il corretto funzionamento degli script per creare i pacchetti. Per risolvere il problema si deve usare lo '''SlackBuild esterno''' come descritto [[#Versione dei driver < 8.37.6 (SlackBuild esterno) | qui]].<br />
<br />
== amdcccle non parte con la Slackware 12 ==<br />
Molti utenti che utilizzano la versione del server X.Org 7.2 (o 1.3) non riescono a lanciare correttamente il Catalyst. Il comando per eseguire il Catalyst &egrave;:<br />
#> amdcccle<br />
Per questo problema sembra non esserci ancora soluzione, ma stiamo lavorando per risolverlo.<br />
<br />
= Link utili =<br />
Il thread di discussione da cui &egrave; stato tratto questo articolo:<br />
http://www.slacky.eu/forum/viewtopic.php?t=18134&highlight=<br />
<br />
Un alternativa ai driver ufficiali ATI:<br />
http://www.x.org/wiki/radeon<br />
<br />
Una guida su come installare e configurare i driver (open source e proprietary) ATI:<br />
http://www.slacky.eu/wikislack/index.php?title=Installazione_driver_ATI_su_Slackware_GNU/Linux<br />
<br />
= Ringraziamenti =<br />
Ringrazio Ezio Ghibaudo e Federico Rota per aver iniziato questo wiki e per l'aiuto che mi hanno dato con lo SlackBuild. Vorrei anche ringraziare tutti gli utenti della community [http://www.slacky.eu Slacky] per i feedback e consigli.<br />
<br />
[[User:Spina|Spina]]</div>216.153.19.142