Вот и вышла долгожданная openSUSE 11.2 и сразу появились сложности с видеоадаптерами производства ATI/AMD... Репозиторий http://www2.ati.com/suse/11.2/ не содержит пакетов с нужными драйверами.Остаётся "запасной" вариант - ati-driver-installer-9-10-x86.x86_64.run, скачанный с сайта AMD.
Однако и здесь есть некоторые сложности - данный инсталлер не может собрать RPM-пакет, а установка вручную (у меня) приводит к неработоспособности графической подсистемы.
При изучении механизма сборки пакетов, выяснилось, что проблема вызвана манипуляциями с RPM_BUILD_ROOT. После правки скриптов/спеков и сборки пакета, так же выяснилось, что пакет для x86_64 не содержит библиотек для поддержки ускорения видео через VA-API, хотя в ati-driver-installer они присутствуют.
В итоге был создан патч для "лечения" механизма сборки RPM-пакетов для openSUSE 11.2, последовательность применения которого следующая:
chmod a+x ati-driver-installer-9-10-x86.x86_64.run
ati-driver-installer-9-10-x86.x86_64.run --extract <куда-нибудь>
cd <куда-нибудь>
patch -p1 < путь/к/патчу
/packages/SuSE/ati-packager.sh --buildpkg SUSE112-AMD64
или, соответсвенно,
/packages/SuSE/ati-packager.sh --buildpkg SUSE112-IA32
rpm -i ../fglrx*.rpm
Собственно, патч:
[]
diff -Nuar ati.orig/packages/SuSE/ati-packager.sh ati/packages/SuSE/ati-packager.sh
--- ati.orig/packages/SuSE/ati-packager.sh 2009-10-06 00:23:48.000000000 +0400
+++ ati/packages/SuSE/ati-packager.sh 2009-11-17 12:12:31.274354947 +0300
@@ -91,7 +91,7 @@
END_SED_SCRIPT
#Build the package
- rpmbuild -bb --root ${TmpDrvFilesDir} --target ${ARCH} ${TmpPkgSpec} > ${TmpPkgBuildOut} 2>&1
+ rpmbuild -bb --target ${ARCH} ${TmpPkgSpec} > ${TmpPkgBuildOut} 2>&1
#Retrieve the absolute path to the built package
if [ $? -eq 0 ]; then
diff -Nuar ati.orig/packages/SuSE/x740_64a.SUSE112-AMD64.spec ati/packages/SuSE/x740_64a.SUSE112-AMD64.spec
--- ati.orig/packages/SuSE/x740_64a.SUSE112-AMD64.spec 2009-10-06 00:23:48.000000000 +0400
+++ ati/packages/SuSE/x740_64a.SUSE112-AMD64.spec 2009-11-17 12:12:31.274354947 +0300
@@ -36,10 +36,9 @@
%ATI_DRIVER_DESCRIPTION
%install
-export RPM_BUILD_ROOT=%ATI_DRIVER_BUILD_ROOT
tmpdir=$(mktemp -d /tmp/fglrx.XXXXXX)
mkdir $tmpdir/fglrx
-mv $RPM_BUILD_ROOT/* $tmpdir/fglrx
+mv %ATI_DRIVER_BUILD_ROOT/* $tmpdir/fglrx
export RPM_SOURCE_DIR=$(mktemp -d /tmp/fglrx.XXXXXX)
mv $tmpdir/fglrx/suse/* $RPM_SOURCE_DIR
#
@@ -190,9 +189,7 @@
install -m 644 amdcccle.desktop $RPM_BUILD_ROOT/usr/share/applications
install -m 644 amdccclesu.desktop $RPM_BUILD_ROOT/usr/share/applications
install -m 755 libatiadlxx.so $RPM_BUILD_ROOT/usr/%{_lib}
-%ifarch %ix86
install -m 755 libAMDXvBA.cap libAMDXvBA.so.1.0 libXvBAW.so.1.0 $RPM_BUILD_ROOT/usr/%{_lib}
-%endif
install -m 755 libaticaldd.so libaticalrt.so libaticalcl.so $RPM_BUILD_ROOT/usr/%{_lib}
install -m 755 libdri.so $RPM_BUILD_ROOT%{MODULES_DIR}/updates/extensions
test -f libglx.so && \
@@ -392,11 +389,9 @@
/usr/X11R6/lib/libGL.so.1.2
%endif
/usr/%{_lib}/libatiadlxx.so
-%ifarch %ix86
/usr/%{_lib}/libAMDXvBA.cap
/usr/%{_lib}/libAMDXvBA.so.1.0
/usr/%{_lib}/libXvBAW.so.1.0
-%endif
/usr/%{_lib}/libaticaldd.so
/usr/%{_lib}/libaticalrt.so
/usr/%{_lib}/libaticalcl.so
diff -Nuar ati.orig/packages/SuSE/x740.SUSE112-IA32.spec ati/packages/SuSE/x740.SUSE112-IA32.spec
--- ati.orig/packages/SuSE/x740.SUSE112-IA32.spec 2009-10-06 00:23:48.000000000 +0400
+++ ati/packages/SuSE/x740.SUSE112-IA32.spec 2009-11-17 12:13:54.819085923 +0300
@@ -36,10 +36,9 @@
%ATI_DRIVER_DESCRIPTION
%install
-export RPM_BUILD_ROOT=%ATI_DRIVER_BUILD_ROOT
tmpdir=$(mktemp -d /tmp/fglrx.XXXXXX)
mkdir $tmpdir/fglrx
-mv $RPM_BUILD_ROOT/* $tmpdir/fglrx
+mv %ATI_DRIVER_BUILD_ROOT/* $tmpdir/fglrx
export RPM_SOURCE_DIR=$(mktemp -d /tmp/fglrx.XXXXXX)
mv $tmpdir/fglrx/suse/* $RPM_SOURCE_DIR
#
[]
URL:
Обсуждается: http://www.opennet.dev/tips/info/2232.shtml