[sisyphus] Re: Radeon 9200: не включается поддержка 3D в драйвере fglrx
Konstantin A. Lepikhov
=?iso-8859-1?q?lakostis_=CE=C1_anti-leasure=2Eru?=
Пт Авг 20 11:08:42 MSD 2004
Hi Alexander!
Friday 20, at 01:19:25 AM you wrote:
<skip>
> Пакета с таким именем, kernel-source-fglrx, я в
> ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/files/SRPMS не
> наблюдаю. Судя по всему, бардак. Воспользовался скриптом, предложенным
> для сборки fglrx в http://www.linux-os.ru/wiki/SetupVideoCardATIflgrxTV
> -- модуль собрался, но не грузится, сообщая об Unresolved symbols.
> Может имеет смысл сделать откат на версию 3.7.6, не соберётся в hasher
> новая версия модуля?
Можете и откатиться, но лучше обновиться :)
Да, там были некоторые проблемы, связанные с rpath. Прилагаю сюда spec'и
для source и kernel-module-fglrx. Для сборки вам необходима "родная" rpm
от ATI.
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis на jabber.org
aka L.A. Kostis write to ==>mailto:lakostis на pisem.net.nospam
...The information is like the bank... (c) EC8OR
----------- следующая часть -----------
%define module_name fglrx
%define module_version 3.11.1
%define module_release alt4.8.local
%define kversion 2.6.8
%define krelease alt2.1
%define flavour wks26-up
%define base_arch %(echo %_target_cpu | sed 's/i.86/i386/;s/athlon/i386/')
%define module_dir /lib/modules/%kversion-%flavour-%krelease/%module_name
Summary: ATI video card drivers
Name: kernel-modules-%module_name-%flavour
Version: 1.0.%module_version
Release: %module_release
License: Proprietary
Group: System/Kernel and hardware
Packager: Kernel Maintainer Team <kernel на packages.altlinux.org>
Patch1: fglrx-3.2.8-agp-sis.patch
#Patch2: fglrx-3.2.5-agp-i875.patch
Patch3: fglrx-3.2.8-via-agp2.patch
Patch4: fglrx-3.2.8-nvidia-nforce.patch
Patch5: fglrx-3.7.6-agp-sis-fix.patch
Patch6: fglrx-3.7.6-sis-agp3-support.patch
#Patch7: fglrx-3.7.6-page-count.patch
ExclusiveOS: Linux
URL: http://www.schneider-digital.de/html/body_download_ati.html
BuildPreReq: kernel-build-tools
BuildRequires: kernel-headers-modules-%flavour = %kversion-%krelease
BuildRequires: modutils
BuildRequires: perl
BuildRequires: rpm >= 4.0.2-75
BuildRequires: kernel-headers-%flavour = %kversion-%krelease
BuildRequires: kernel-source-%module_name-%module_version
Provides: kernel-modules-%module_name-%kversion-%flavour-%krelease = %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease < %version-%release
Conflicts: kernel-modules-%module_name-%kversion-%flavour-%krelease > %version-%release
Prereq: coreutils
Prereq: modutils
Prereq: kernel-image-%flavour = %kversion-%krelease
Requires(postun): kernel-image-%flavour = %kversion-%krelease
ExclusiveArch: %ix86
%description
Drivers for Linux Fire GL X1/Z1/E1/8800/8700/9000/9700/9800 RADEON
for XFree86 Version X4.3.0.
%prep
rm -rf kernel-source-%module_name-%module_version
tar -jxvf %kernel_src/kernel-source-%module_name-%module_version.tar.bz2
%setup -D -T -n kernel-source-%module_name-%module_version
%patch1 -p1
#%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
#%patch7 -p1
%build
. %_usrsrc/linux-%kversion-%flavour/gcc_version.inc
%if "%kversion" <= "2.6.0"
#build for 2.4 kernel
if grep -qs '#define.*CONFIG_SMP.*1' %_includedir/linux-%kversion-%flavour/include/linux/autoconf.h ; then
def_smp="-D__SMP__"
else
def_smp=""
fi
%define fglrx_gcc gcc -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wpointer-arith -O2 -D__KERNEL__ -DMODULE -DMODVERSIONS -fomit-frame-pointer -DATI_AGP_HOOK -DATI -DFGL -DFGL_CUSTOM_MODULE -D__AGP__ -DPAGE_ATTR_FIX=1 -I. -I%_includedir/linux-%kversion-%flavour/include -include %_includedir/linux-%kversion-%flavour/include/linux/modversions.h $def_smp
%fglrx_gcc -c agpgart_be.c -o agpgart_be.o
%fglrx_gcc -c nvidia-agp.c -o nvidia-agp.o
%fglrx_gcc -c agp3.c -o agp3.o
%fglrx_gcc -c i7505-agp.c -o i7505-agp.o
%fglrx_gcc -c firegl_public.c -o firegl_public.o
ld -r firegl_public.o agpgart_be.o agp3.o i7505-agp.o nvidia-agp.o \
libfglrx_ip.a.GCC%__gcc_version_major -o fglrx.o
%else
#build for 2.6 kernel
%__ln_s ./2.6.x/Makefile ./Makefile
%make_build TEMP_DIR=$PWD/ -C %_usrsrc/linux-%kversion-%flavour modules \
SUBDIRS=$PWD GCC_VER_MAJ=`echo "$GCC_VERSION" | sed 's/^\([0-9]\+\).*/\1/'`
%endif
%install
mkdir -p $RPM_BUILD_ROOT/%module_dir
%if "%kversion" <= "2.6.0"
install -p -m644 fglrx.o $RPM_BUILD_ROOT/%module_dir
%else
install -p -m644 fglrx.ko $RPM_BUILD_ROOT/%module_dir
%endif
%post
/sbin/depmod -a -F /boot/System.map-%kversion-%flavour-%krelease \
%kversion-%flavour-%krelease
%postun
[ ! -f /boot/System.map-%kversion-%flavour-%krelease ] || \
/sbin/depmod -a -F /boot/System.map-%kversion-%flavour-%krelease \
%kversion-%flavour-%krelease
%files
%defattr(644,root,root,755)
%module_dir
%changelog
* Thu May 13 2004 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.7.6-alt4. на kreleasebuild@
- Rebuild for kernel 2.4.26.
* Wed May 12 2004 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.7.6-alt3. на kreleasebuild@
- Added Patch6: fglrx-3.7.6-sis-agp3-support.patch: AGP3 support for SiS 648.
* Mon Apr 12 2004 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.7.6-alt2. на kreleasebuild@
- Added Patch5: fglrx-3.7.6-agp-sis-fix.patch: workaround for SiS 648 and 746
chips (seems that they need a delay after setting AGP rate).
* Mon Mar 22 2004 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.7.6-alt1. на kreleasebuild@
- Version 3.7.6.
* Fri Feb 27 2004 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.7.0-alt4. на kreleasebuild@
- Updated for the new compiler version selection scheme (GCC_VERSION).
* Wed Feb 18 2004 Anton Farygin <rider на altlinux.ru> 1.0.3.7.0-alt3. на kreleasebuild@
- rebuild for 2.6.3
* Mon Feb 16 2004 Anton Farygin <rider на altlinux.ru> 1.0.3.7.0-alt2. на kreleasebuild@
- build for kernel 2.6
* Sun Jan 04 2004 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.7.0-alt1. на kreleasebuild@
- Version 3.7.0.
- Fixed SMP build options (-D__SMP__ is required for SMP kernels).
- Fixed PAGE_ATTR_FIX typo in compilation options.
* Fri Nov 28 2003 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.2.8-alt3. на kreleasebuild@
- Added Provides/Conflicts to make sure that only one version of the package
can be installed for each kernel version.
* Tue Nov 18 2003 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.2.8-alt2. на kreleasebuild@
- Fixed spec file name.
- Avoid %%postun failure when this package is removed after
kernel-image-%%flavour (currently rpm cannot prevent this).
- Added Patch4: fglrx-3.2.8-nvidia-nforce.patch: fixed nForce AGP support.
* Sun Oct 12 2003 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.2.8-alt1. на kreleasebuild@
- new version (3.2.8).
- updated Patch1 (some SiS support was added in upstream, only SiS 745 remains
unknown).
- fixed compile flags.
- Patch3: fixed AGP 2.0 support for VIA KT400 and P4X333.
* Mon Sep 29 2003 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.2.5-alt16. на kreleasebuild@
- Patch2: fixed Intel 875P chipset support (it does not have integrated
graphics capability).
* Fri Sep 26 2003 Sergey Vlasov <vsu на altlinux.ru> 1.0.3.2.5-alt15. на kreleasebuild@
- replaced %%{_usrsrc}/kernel/sources with %%kernel_src
- Patch1: added new SiS host bridge IDs to the builtin AGP support (from
mainstream kernel)
* Mon Sep 08 2003 Anton Farygin <rider на altlinux.ru> 1.0.3.2.5-alt14. на kreleasebuild@
- new version (3.2.5)
* Wed Sep 03 2003 Rider <rider на altlinux.ru> 1.0.2.9.12-alt14. на kreleasebuild@
- replace /usr/include to _includedir macro
* Tue Aug 26 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt13
- rebuilt with 2.4.21rel-alt14
* Fri Aug 15 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt12
- rebuilt with 2.4.21rel-alt13
* Wed Aug 13 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt11
- rebuilt with 2.4.21rel-alt12
* Tue Aug 12 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt10
- rebuilt with 2.4.21rel-alt11
* Mon Aug 11 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt9
- rebuilt with 2.4.21rel-alt10
* Thu Aug 07 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt8
- rebuilt with 2.4.21rel-alt9
* Wed Aug 06 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt7
- rebuilt with 2.4.21rel-alt8
* Wed Jul 30 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt6
- rebuilt with 2.4.21rel-alt7
* Thu Jul 17 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt5
- rebuilt with 2.4.21rel-alt6
* Wed Jul 16 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt4
- rebuilt with 2.4.21rel-alt5
* Tue Jul 08 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt3
- added -include /usr/include/linux-%{kversion}-%{flavour}/include/linux/modversions.h
now it actually WORKS!
* Sat Jun 21 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt2
- rebuilt with 2.4.21rel kernel
* Thu Jun 05 2003 Peter Novodvorsky <nidd на altlinux.com> 1.0.2.9.12-alt1
- initial version.
----------- следующая часть -----------
%define _x11man1dir %_x11mandir/man1
%define _pixmapsdir %_datadir/pixmaps
%define drvs modules/drivers
%define dris modules/dri
%define lnxs modules/linux
Name: fglrx_glx
Version: 3.11.1
Release: alt1.local
Summary: ATI drivers for Radeon and Fire GL
Group: System/Kernel and hardware
URL: http://www.ati.com/
License: Proprietary
Provides: libGL
Source0: http://www2.ati.com/drivers/linux/fglrx-4.3.0-%version.i386.rpm
Source10: fireglcontrol.menu
Patch1: fglrx-3.7.0-tools-make.patch
Requires: XFree86-server >= 4.3.0
# Automatically added by buildreq on Mon Mar 22 2004
BuildRequires: XFree86-devel XFree86-libs cpio fontconfig freetype2 gcc-c++ libqt3-devel libstdc++-devel xpm-devel
BuildPreReq: kernel-build-tools
%description
Proprietary ATI drivers for Radeon and Fire GL cards.
%package -n fglrx-tools
Summary: Utilities for ATI Radeon and Fire GL drivers
Group: System/Configuration/Hardware
Requires: %name = %version-%release
# Temporarily removed from the %%description below (fglrx_gamma is not packaged
# because libfglrx_gamma.so.1 is broken):
#
# fglrx_gamma is a small tool to adjust gamma.
#
%description -n fglrx-tools
ATI FireGL/Radeon configuration utilities:
fireglcontrol is [intended to be] a full-blown ATI graphics card
configuration panel similar to those in Microsoft(R) Windows(TM).
fglrxinfo is an analogue for glxinfo.
fglrxconfig is a replacement for xf86config. NOTE: USE WITH CAUTION!!!
This tool will erase your current XF86Config without making a backup
copy!
%package -n kernel-source-fglrx-%version
Summary: Linux fglrx (Radeon/Fire GL video card driver) module sources
Group: Development/Kernel
%description -n kernel-source-fglrx-%version
fglrx (Radeon/Fire GL video card driver) module sources for Linux kernel.
%prep
%setup -T -c
rpm2cpio %SOURCE0 | %__cpio -idmv --no-absolute-filenames --no-preserve-owner
%setup -D -T
pushd lib/modules/fglrx/build_mod
%__rm -f make.sh
cd ..
%__mv build_mod kernel-source-fglrx-%version
%__tar -cj -f ../../../kernel-source-fglrx-%version.tar.bz2 \
kernel-source-fglrx-%version
popd
%__mkdir fglrx_panel
pushd fglrx_panel
%__tar -xz -f ../usr/src/ATI/fglrx_panel_sources.tgz
popd
%__mkdir fglrx_tools
pushd fglrx_tools
%__tar -xz -f ../usr/src/ATI/fglrx_sample_source.tgz
%patch1 -p1
popd
%setup -D -T
# remove precompiled fglrxcontrol binaries
%__rm -f usr/X11R6/bin/*.bz2
%build
pushd fglrx_panel
%make QTDIR=/usr/lib/qt3 \
LIBS="-L/usr/lib/qt3/lib -lqt -L/usr/X11R6/lib \
-lXxf86vm -lXt -lXrandr -lXcursor -laudio \
-lGLU -lGL -lXmu -lICE -lSM -ldl -lXext -lX11 -lm \
-lXinerama -lXrender -lfreetype -lXft"
popd
pushd fglrx_tools/programs/fglrx_gamma
xmkmf
%make
popd
%install
%set_strip_method executable
%set_verify_elf_method textrel=relaxed,rpath=relaxed
%__mkdir_p %buildroot%_x11bindir
%__mkdir_p %buildroot%_x11libdir/%drvs
%__mkdir_p %buildroot%_x11libdir/%dris
%__mkdir_p %buildroot%_x11libdir/%lnxs
%__mkdir_p %buildroot%_x11includedir/X11/extensions
%__mkdir_p %buildroot%_x11man1dir
%__mkdir_p %buildroot%_menudir
%__mkdir_p %buildroot%_iconsdir
%__mkdir_p %buildroot%_pixmapsdir
%__mkdir_p %kernel_srcdir
%__install -p -m644 usr/X11R6/lib/%drvs/fglrx_drv.o \
%buildroot%_x11libdir/%drvs/
%__install -p -m644 usr/X11R6/lib/%dris/fglrx_dri.so \
%buildroot%_x11libdir/%dris/
%__install -p -m644 usr/X11R6/lib/%lnxs/libfglrxdrm.a \
%buildroot%_x11libdir/%lnxs/
%__install -p -m644 usr/X11R6/lib/libGL.so.1.2 \
%buildroot%_x11libdir/libGL.so.fglrx
#%__install -p -m644 usr/X11R6/lib/*gamma* %buildroot%_x11libdir/
#%__install -p -m644 usr/X11R6/include/X11/extensions/fglrx_gamma.h \
# %buildroot%_x11includedir/X11/extensions/
%__install -p usr/X11R6/bin/fgl_glxgears %buildroot%_x11bindir/
%__install -p usr/X11R6/bin/fglrxconfig %buildroot%_x11bindir/
%__install -p usr/X11R6/bin/fglrxinfo %buildroot%_x11bindir/
%__install -p fglrx_panel/fireglcontrol %buildroot%_x11bindir/
#%__install -p fglrx_tools/programs/fglrx_gamma/fglrx_xgamma \
# %buildroot%_x11bindir/
#%__install -p -m644 fglrx_tools/programs/fglrx_gamma/fglrx_xgamma.man \
# %buildroot%_x11man1dir/fglrx_xgamma.1
%__install -p -m644 usr/share/icons/ati.xpm %buildroot%_iconsdir/
%__install -p -m644 usr/share/pixmaps/ati.xpm %buildroot%_pixmapsdir/
%__install -p -m644 %SOURCE10 %buildroot%_menudir/fireglcontrol
%__install -p -m644 kernel-source-fglrx-%version.tar.bz2 %kernel_srcdir/
%post
%post_ldconfig
%postun
%postun_ldconfig
%post -n fglrx-tools
%update_menus
%postun -n fglrx-tools
%clean_menus
%files
%_x11libdir/%drvs/*
%_x11libdir/%lnxs/*
%_x11libdir/%dris/*
%_x11libdir/libGL.so.fglrx
#%_x11libdir/*gamma*
#%attr(0644,root,root) %_x11includedir/X11/extensions/*
%files -n fglrx-tools
%_x11bindir/*
%_iconsdir/*
%_pixmapsdir/*
%_menudir/*
#%_x11man1dir/*
%files -n kernel-source-fglrx-%version
%_usrsrc/*
%changelog
* Mon Mar 22 2004 Sergey Vlasov <vsu на altlinux.ru> 3.7.6-alt1
- Version 3.7.6.
- Removed rpath cleaning (fixed upstream).
- Added rpath=strict check.
- Updated BuildRequires.
* Sat Jan 03 2004 Sergey Vlasov <vsu на altlinux.ru> 3.7.0-alt1
- Version 3.7.0.
- Use the RPM from ATI as Source instead of a repacked tarball.
- Fixed file modes.
- Relaxed TEXTREL check.
- Merged with Alexey Morozov <morozov на altlinux> changes:
- build both fglrx_glx and kernel-source-fglrx packages from the single
official ATI driver rpm package
- new driver version (3.7.0)
- fglrx_panel and fglrx_gamma is built and packaged into
fglrx-tools subpackage
- Excluded *fglrx_gamma* because of wrong soname in libfglrx_gamma.so.1.
- Added README file from the ATI site (not included in the original RPM).
- Updated BuildRequires.
* Sun Oct 12 2003 Sergey Vlasov <vsu на altlinux.ru> 3.2.8-alt1
- new version (3.2.8)
* Tue Sep 09 2003 Rider <rider на altlinux.ru> 3.2.5-alt1
- new version
* Wed Jul 16 2003 Peter Novodvorsky <nidd на altlinux.com> 2.9.12-alt1
- initial release.
Подробная информация о списке рассылки Sisyphus