[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