Pagina 1 di 4

Script ati installer

Inviato: mar 13 apr 2010, 10:46
da odiusseus
Salve ragazzi sto cercando di creare uno script per installare i drivers ati beta (quelli che la ati ha rialsciato per ubuntu) sulla base dello script di archLinux Attraverso questi driver le schede ati nuove possono funzionare anche con kernel 2.6.33-X. Purtroppo non conosco bene la sintassi degli script bash e per questo chiedo aiuto. Lo script originale si trova qui
http://aur.archlinux.org/packages/catal ... t/PKGBUILD
quello che ho "modificato" io è

Codice: Seleziona tutto

_kernver=`uname -r`
pkgname=catalyst-test
pkgver=10.4
pkgrel=666
pkgdesc="AMD/ATI drivers for Radeon brand cards (based on ubuntu's fglrx with xserver 1.7 support). Stock kernel"
arch=('i686' 'x86_64')
url="http://www.ati.amd.com"
license=('custom')

srcdir=/home/antonio/Scaricati/ati/
tar zxvf fglrx-installer_8.723.1.orig.tar.gz
cd fglrx-installer-8.723.1
mkdir common
mv  etc usr lib common
cp common/usr/share/doc/fglrx/ATI_LICENSE.TXT .
cd ..


##Build kernel modules

if [ "${CARCH}" = "x86_64" ]; then
BUILDARCH=x86_64
_archdir=x86_64
fi
if [ "${CARCH}" = "i686" ]; then
BUILDARCH=i386
_archdir=x86
fi

##patching for kernel 2.6.33 or 2.6.34 support
if [ `uname -r |grep -c "2.6.33"` != 0 ] || [ `uname -r |grep -c "2.6.34"` != 0 ]; then
cd "./fglrx-installer-8.723.1/"
patch -Np1 -i ../fglrx-2.6.33.patch || return 1
fi


cd "${srcdir}/fglrx-installer-8.723.1/common/lib/modules/fglrx/build_mod"
cp "${srcdir}/fglrx-installer-8.723.1/arch/x86/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC4" . || return 1
cp 2.6.x/Makefile . || return 1

make -C /lib/modules/${_kernver}/build SUBDIRS="`pwd`" ARCH=x86 modules || return 1

install -m755 -d "${pkgdir}/lib/modules/${_kernver}/video/"
install -m644 fglrx.ko "${pkgdir}/lib/modules/${_kernver}/video/" || return 1
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"

sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install

##Install catalyst utilities

# Create directories
install -m755 -d "${pkgdir}/etc/ati"
install -m755 -d "${pkgdir}/etc/rc.d"
install -m755 -d "${pkgdir}/etc/profile.d"
install -m755 -d "${pkgdir}/etc/acpi/events"

install -m755 -d "${pkgdir}/usr/lib/xorg/modules/dri"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/drivers"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/linux"

install -m755 -d "${pkgdir}/usr/bin"
install -m755 -d "${pkgdir}/usr/sbin"

install -m755 -d "${pkgdir}/usr/include/X11/extensions"
install -m755 -d "${pkgdir}/usr/include/GL"

install -m755 -d "${pkgdir}/usr/share/applications"
install -m755 -d "${pkgdir}/usr/share/ati/amdcccle"
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m755 -d "${pkgdir}/usr/share/man/man8"
install -m755 -d "${pkgdir}/usr/share/pixmaps"

# X driver installation
if [ "${CARCH}" = "i686" ]; then
cd "./fglrx-installer-8.723.1/x750/usr/X11R6/lib/modules" || return 1
elif [ "${CARCH}" = "x86_64" ]; then
cd "./fglrx-installer-8.723.1/x750_64a/usr/X11R6/lib64/modules" || return 1
fi

#install -m644 *.a "${pkgdir}/usr/lib/xorg/modules/" || return 1
install -m755 *.so "${pkgdir}/usr/lib/xorg/modules/" || return 1
install -m755 drivers/*.so "${pkgdir}/usr/lib/xorg/modules/drivers/" || return 1
install -m755 linux/*.so "${pkgdir}/usr/lib/xorg/modules/linux/" || return 1
install -m755 extensions/libglx.so "${pkgdir}/usr/lib/xorg/modules/extensions/" || return 1
#install -m755 extensions/libdri.so "${pkgdir}/usr/lib/xorg/modules/extensions/libdri.ati" || return 1

# Controlcenter / library installation
if [ "${CARCH}" = "i686" ]; then
cd "./fglrx-installer-8.723.1/arch/x86/usr" || return 1
_lib=lib
elif [ "${CARCH}" = "x86_64" ]; then
cd "./fglrx-installer-8.723.1/arch/x86_64/usr" || return 1
_lib=lib64
fi

install -m755 X11R6/bin/* "${pkgdir}/usr/bin/" || return 1
install -m755 sbin/* "${pkgdir}/usr/sbin/" || return 1
install -m755 X11R6/${_lib}/*.so* "${pkgdir}/usr/lib/" || return 1
install -m644 X11R6/${_lib}/*.a "${pkgdir}/usr/lib/" || return 1 # really needed?
install -m644 X11R6/${_lib}/*.cap "${pkgdir}/usr/lib/" || return 1
install -m755 X11R6/${_lib}/modules/dri/*.so "${pkgdir}/usr/lib/xorg/modules/dri/" || return 1
install -m755 ${_lib}/*.so* "${pkgdir}/usr/lib/" || return 1

ln -sf /usr/lib/xorg/modules/dri ${pkgdir}/usr/lib/dri
ln -sf libfglrx_dm.so.1.0 "${pkgdir}/usr/lib/libfglrx_dm.so.1"
ln -sf libfglrx_pp.so.1.0 "${pkgdir}/usr/lib/libfglrx_pp.so.1"
ln -sf libfglrx_tvout.so.1.0 "${pkgdir}/usr/lib/libfglrx_tvout.so.1"
ln -sf libfglrx_gamma.so.1.0 "${pkgdir}/usr/lib/libfglrx_gamma.so.1"
ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so.1"
ln -sf libGL.so.1.2 "${pkgdir}/usr/lib/libGL.so"

cd "."/fglrx-installer-8.723.1/common
install -m644 etc/ati/* "${pkgdir}/etc/ati/" || return 1
chmod 755 "${pkgdir}/etc/ati/authatieventsd.sh" || return 1

install -m644 usr/X11R6/include/X11/extensions/*.h "${pkgdir}/usr/include/X11/extensions/" || return 1
install -m644 usr/X11R6/bin/amdupdaterandrconfig "${pkgdir}/usr/bin/" || return 1
install -m644 usr/include/GL/*.h "${pkgdir}/usr/include/GL/" || return 1
install -m755 usr/sbin/*.sh "${pkgdir}/usr/sbin/" || return 1
install -m644 usr/share/ati/amdcccle/* "${pkgdir}/usr/share/ati/amdcccle/" || return 1 # ? what are 
these files for?
# install -m644 usr/share/gnome/apps/amdcccle.desktop "${pkgdir}/usr/share/applications/" || return 1
install -m644 usr/share/icons/*.xpm "${pkgdir}/usr/share/pixmaps/" || return 1
install -m644 usr/share/man/man8/*.8 "${pkgdir}/usr/share/man/man8/" || return 1
install -m644 "./amdcccle.desktop" "${pkgdir}/usr/share/applications/" || return 1

# ACPI example files
install -m755 usr/share/doc/fglrx/examples/etc/acpi/*.sh "${pkgdir}/etc/acpi/" || return 1
sed -i -e 's/usr\/X11R6/usr/g' "${pkgdir}/etc/acpi/ati-powermode.sh" || return 1
install -m644 usr/share/doc/fglrx/examples/etc/acpi/events/* "${pkgdir}/etc/acpi/events/" || return 1

# Add ATI Events Daemon launcher
install -m755 "./atieventsd.sh" "${pkgdir}/etc/rc.d/atieventsd" || return 1

# thanks to cerebral, we dont need that damned symlink
install -m755 "./catalyst.sh" "${pkgdir}/etc/profile.d/" || return 1

# License
install -m644 "./fglrx-installer-8.723.1/ATI_LICENSE.TXT" 
"${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}

purtroppo mi restitusce un errore a

Codice: Seleziona tutto

sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" $startdir/*.install
e quindi lo script non funziona...qualcuno sa darmi una mano?..penso che sia utile a tanti...grazie

Re: Script ati installer

Inviato: mar 13 apr 2010, 10:53
da targzeta
Dove si trovano questi driver beta?

Emanuele

Re: Script ati installer

Inviato: mar 13 apr 2010, 11:44
da targzeta
Se mi dici la versione dei driver ATI adatti alla tua scheda video posso vedere di farti una patch e ti dico cosa fare per usare lo slackbuild interno per patchare i driver. In questi giorni, proprio in merito ad un altra discussione sul forum:
viewtopic.php?f=1&t=31708
ho scritto un piccola patch che praticamente è identica a quella che hai linkato solo che la mia è più generica, ovvero se applicata funziona anche se si compila il modulo per i kerne più vecchi.
Nella patch linkata invece ho trovato la soluzione ad un problema di compilazione che ho descritto qui:
viewtopic.php?f=1&t=31708#p276690
Unendo le due penso di aver risolto tutto, ora sto scaricando i driver beta per fare delle prove, ma penso che non ci debbano essere problemi,
Emanuele

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:17
da odiusseus
ciao..allora tutto quello che ho scaricato si trova qui
http://aur.archlinux.org/packages.php?ID=34773
speriamo che tu riesca a risolvere il problema...saresti un grande...effettivamente stare con i drivers vesa è una tragedia non ti puoi vedere nemmeno un filmato in full screen.
grazie

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:18
da targzeta
La patch funziona con i Catalist 10.3, tu che versione devi usare? Inoltre, usi la Current o la Slackware 13.0 pura?

Emanuele

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:21
da odiusseus
non posso usare i catalist 10.3 perchè non supportano la mia scheda video (mobility 5650) però i drivers che ti ho linkato la supportano (catalist 10.4-666) (che razza di nome) (almeno pare dalle discussioni sul forum di archlinux)http://bbs.archlinux.org/viewtopic.php?id=93555 e dal forum di ubuntu. Il mio kernel momentaneamente è un 2.6.33.2

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:26
da targzeta
Ti allego la patch da applicare ai driver ATI. Se non hai la Slackware current dovrebbe funzionare senza problemi, altrimenti ti devo dare anche un aggiornamento allo Slackbuild interno che quelli della ATI non hanno inserito nella release 10.3 (nonostante l'avessi mandata un mese prima forse).

Ti spiego cosa fare. Seguendo la guida:
http://wiki.cchtml.com/index.php/ATI-Wi ... e_i_driver
devi semplicemente fare quanto segue per i Catalist 10.3. Supponendo che tu abbia salvato la patch allegata e il .run nella directory temporanea:

Codice: Seleziona tutto

#> mkdir -p /etc/ati/patch/
#> cd /etc/ati/patch/
#> mv /tmp/fglrx_with_2.6.33.diff.txt patch-8.712-$(uname -r)
#> cd /tmp
#> sh ati-driver-installer-10-3-x86.x86_64.run --buildpkg
Dovrebbe essere tutto, se tutto va bene ti crea i due pacchetti da installare,
Emanuele

P.S. Una volta installati i pacchetti puoi anche rimuovere la directory delle patch con:

Codice: Seleziona tutto

#> rm -rf /etc/ati/patch/
la directory /etc/ati invece viene usata e quindi la dovresti lasciare (dovrebbero esserci anche altri file all'interno)

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:27
da targzeta
Ho letto il tuo post solo che ormai l'avevo scritto e quindi non ho voluto modificarlo. Dimmi la versione dei Catalist che devi usare tu.

Emanuele

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:30
da odiusseus
non so se un driver catalyst ma quello che ho è fglrx-installer_8.723.1.orig quindi penso che sia una versione 8.723.1(?) non saprei...comunque deve essere una versione successiva ai 10.3

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:34
da odiusseus
quando vado a lanciare lo script di compilazione mi restituisce un errore al primo sed relativo a

Codice: Seleziona tutto

sed: can't read /*.install: No such file or directory 
che non so cosa significa

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:39
da targzeta
Ma hai provato i catalist 10.3? Sono gli ultimi ufficiali e la patch funziona. Altrimenti io non posso aiutarti, io ho i link a tutti i beta driver perchè sono un beta tester però non possono essere pubblicati ed infatti mi sembra strano che ci sia in giro quel link che hai postato tu.

Emanuele

P.S. Tu prova a fare quello che ti ho suggerito io nel mio post con i 10.3. Intanto vedo cosa posso fare per il tuo problema.

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:43
da odiusseus
no non è strano è semplicemente che (pare e ripeto pare) ati abbia rilasciato in anteprima questi driver per ubuntu 10.X e quindi non so come nè perchè questi driver sono finiti nel sito di archlinux. Comunque i driver 10.3 non funzionano perchè mi restituiscono un errore del tipo:Hardware non supportato. Capisco la tua posizione il mio post è stato fatto solo per capire cosa voglia dire quel sed...comunque grazie mille per l'impegno

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:48
da targzeta
Se trovi il link ai driver rilasciati dalla ATI è tanto di quadagnato, quello script che linki non è molto carino e non crea pacchetti ma semplicemente installa i driver direttamente nel tuo filesytem. I driver .run invece hanno nel loro interno tutti gli script necessari per creare i pacchetti Slackware o per altre distro.

Emanuele

P.S. ora vedo per il tuo errore

Re: Script ati installer

Inviato: mar 13 apr 2010, 12:54
da odiusseus
grazie mille Emanuele ma non riesco a trovare nulla che sia .run ma solo quello. Lo so che è brutto ma pare che questa sia l'unica soluzione per la mia scheda video

Re: Script ati installer

Inviato: mar 13 apr 2010, 13:06
da targzeta
Sto lavorando per te. In realtà dopo una prima occhiata sembra che possiamo usare lo script anche come utente normale. Ora vedo

Emanuele