From ec328731199d44462f1e29cf21457f95dfcc46fb Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 11 May 2011 22:54:59 +0200 Subject: [PATCH] new package: add initial package 'xf86-video-fglrx' Signed-off-by: Stephan Raue --- config/options | 6 +- licenses/ATI.txt | 188 ++++++++++++++++++ packages/x11/driver/xf86-video-fglrx/build | 38 ++++ .../xf86-video-fglrx/config/xorg-fglrx.conf | 14 ++ packages/x11/driver/xf86-video-fglrx/install | 87 ++++++++ packages/x11/driver/xf86-video-fglrx/meta | 36 ++++ .../x11/driver/xf86-video-fglrx/need_unpack | 31 +++ ...-11.5-001-linux-2.6.39_no_smp_lock.h.patch | 56 ++++++ packages/x11/driver/xf86-video-fglrx/unpack | 37 ++++ 9 files changed, 492 insertions(+), 1 deletion(-) create mode 100644 licenses/ATI.txt create mode 100755 packages/x11/driver/xf86-video-fglrx/build create mode 100644 packages/x11/driver/xf86-video-fglrx/config/xorg-fglrx.conf create mode 100755 packages/x11/driver/xf86-video-fglrx/install create mode 100644 packages/x11/driver/xf86-video-fglrx/meta create mode 100755 packages/x11/driver/xf86-video-fglrx/need_unpack create mode 100644 packages/x11/driver/xf86-video-fglrx/patches.upstream/xf86-video-fglrx-11.5-001-linux-2.6.39_no_smp_lock.h.patch create mode 100755 packages/x11/driver/xf86-video-fglrx/unpack diff --git a/config/options b/config/options index 9636bb5367..8343cbe49b 100644 --- a/config/options +++ b/config/options @@ -84,7 +84,7 @@ get_graphicdrivers() { [ "$drv" = "i915" ] && MESA_DRIVERS="$MESA_DRIVERS,i915" [ "$drv" = "i965" ] && MESA_DRIVERS="$MESA_DRIVERS,i965" [ "$drv" = "r200" ] && MESA_DRIVERS="$MESA_DRIVERS,r200" - [ "$drv" = "r300" ] && MESA_DRIVERS="$MESA_DRIVERS,r300" +# [ "$drv" = "r300" ] && MESA_DRIVERS="$MESA_DRIVERS,r300" # [ "$drv" = "r600" ] && MESA_DRIVERS="$MESA_DRIVERS,r600" [ "$drv" = "radeon" ] && MESA_DRIVERS="$MESA_DRIVERS,radeon" # [ "$drv" = "nouveau" ] && MESA_DRIVERS="$MESA_DRIVERS,nouveau" @@ -107,6 +107,10 @@ get_graphicdrivers() { XINERAMA_SUPPORT="yes" fi + if [ "$drv" = "fglrx" ]; then + XORG_DRIVERS="$XORG_DRIVERS fglrx" + fi + if [ "$drv" = "omapfb" ]; then XORG_DRIVERS="$XORG_DRIVERS ompafb" fi diff --git a/licenses/ATI.txt b/licenses/ATI.txt new file mode 100644 index 0000000000..c1ab25ebf0 --- /dev/null +++ b/licenses/ATI.txt @@ -0,0 +1,188 @@ + +AMD Software End User License Agreement + +PLEASE READ THIS LICENSE CAREFULLY BEFORE USING THE SOFTWARE. BY +DOWNLOADING, INSTALLING, COPYING OR USING THE SOFTWARE, YOU ARE AGREEING TO +BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU ARE ACCESSING THE SOFTWARE +ELECTRONICALLY, SIGNIFY YOUR AGREEMENT BY CLICKING THE "AGREE/ACCEPT" +BUTTON. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, PROMPTLY RETURN +THE SOFTWARE TO THE PLACE WHERE YOU OBTAINED IT AND (IF APPLICABLE) YOUR +MONEY WILL BE REFUNDED OR IF THE SOFTWARE WAS ACCESSED ELECTRONICALLY CLICK +"DISAGREE/DECLINE". + +1. License. Advanced Micro Devices, Inc., on behalf of itself, its +subsidiaries and licensors (referred collectively as "AMD") grants to you +the following non-exclusive, right to use the software accompanying +this License (hereinafter "Software") subject to the following terms and +limitations: + + +(a) Regardless of the media upon which it is distributed, the Software is +licensed to you for use solely in conjunction with AMD hardware products to +which the Software relates ("AMD Hardware"). + +(b) You own the medium on which the Software is recorded, but AMD and, if +applicable, its licensors retain title to the Software and related +documentation. + +(c) You may: + + i) use the Software solely in connection with the AMD Hardware on a + single computer; + + ii) make one copy of the Software in machine-readable form for backup + purposes only. You must reproduce on such copy AMD's copyright notice and + any other proprietary legends that were on the original copy of the + Software; + + iii) transfer all your license rights in the Software provided you must + also transfer a copy of this License, the backup copy of the Software, + the AMD Hardware and the related documentation and provided the other + party reads and agrees to accept the terms and conditions of this + License. Upon such transfer your license rights are then terminated. + +(d) In addition to the license terms above, with respect to portions of +the Software in source code or binary form designed exclusively for use +with the Linux operating system ("AMD Linux Code"), you may use, display, +modify, copy, distribute, allow others to re-distribute, package and re- +package such AMD Linux Code for commercial and non-commercial purposes, +provided that: + + i) all binary components of the AMD Linux Code are not modified in any + way; + + ii) the AMD Linux Code is only used as part of the Software and in + connection with AMD Hardware; + + iii) all copyright notices of AMD are reproduced and you refer to these + license terms; + + iv) you may not offer or impose any terms on the use of AMD Linux + Code that alter or restrict this License; and + + v) if you have modified the AMD Linux Code, such modifications will be + made publicly available and are licensed under the same terms provided + herein to AMD or any other third party without further restriction, + royalty or any other license requirement; + + vi) to the extent there is any AMD sample or control panel source + code included in the AMD Linux Code, no rights are granted to modify such + code except for portions thereof that may be subject to third party + license terms that grant such rights; + + vii) no rights are granted to distribute the binary form of the AMD Linux + Kernel Module made by linking the AMD Proprietary Kernel Library and the + AMD Kernel Compatibility Layer binary compiled using Linux kernel + headers; + + viii) AMD is not obligated to provide any maintenance or technical + support for any code resulting from AMD Linux Code. + +2. Restrictions. The Software contains copyrighted and patented material, +trade secrets and other proprietary material. In order to protect them, +and except as permitted by this license or applicable legislation, you may +not: + + a) decompile, reverse engineer, disassemble or otherwise reduce the + Software to a human-perceivable form; + + b) modify, network, rent, lend, loan, distribute or create derivative + works based upon the Software in whole or in part; or + + c) electronically transmit the Software from one computer to another or + over a network or otherwise transfer the Software except as permitted by + this License. + +3. Termination. This License is effective until terminated. You may +terminate this License at any time by destroying the Software, related +documentation and all copies thereof. This License will terminate +immediately without notice from AMD if you fail to comply with any +provision of this License. Upon termination you must destroy the Software, +related documentation and all copies thereof. + +4. Government End Users. If you are acquiring the Software on behalf of +any unit or agency of the United States Government, the following +provisions apply. The Government agrees the Software and documentation +were developed at private expense and are provided with "RESTRICTED +RIGHTS". Use, duplication, or disclosure by the Government is subject to +restrictions as set forth in DFARS 227.7202-1(a) and 227.7202-3(a) (1995), +DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a)(1995), FAR 52.227- +19, (June 1987) or FAR 52.227-14(ALT III) (June 1987),as amended from time +to time. In the event that this License, or any part thereof, is deemed +inconsistent with the minimum rights identified in the Restricted Rights +provisions, the minimum rights shall prevail. + +5. No Other License. No rights or licenses are granted by AMD under this +License, expressly or by implication, with respect to any proprietary +information or patent, copyright, trade secret or other intellectual +property right owned or controlled by AMD, except as expressly provided in +this License. + +6. Additional Licenses. DISTRIBUTION OR USE OF THE SOFTWARE WITH AN +OPERATING SYSTEM MAY REQUIRE ADDITIONAL LICENSES FROM THE OPERATING SYSTEM +VENDOR. + +7. Disclaimer of Warranty on Software. You expressly acknowledge and +agree that use of the Software is at your sole risk. The Software and +related documentation are provided "AS IS" and without warranty of any kind +and AMD EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FORA PARTICULAR PURPOSE, OF QUALITY, OF QUIET ENJOYMENT AND OF NON- +INFRINGEMENT OF THIRD PARTY RIGHTS. AMD DOES NOT WARRANT THAT THE +FUNCTIONS CONTAINED IN THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT +THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT +DEFECTS IN THE SOFTWARE WILL BE CORRECTED. THE ENTIRE RISK AS TO THE +RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU. FURTHERMORE, +AMD DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE ORTHE +RESULTS OF THE USE OF THE SOFTWARE OR RELATED DOCUMENTATION IN TERMS OF +THEIR CORRECTNESS, ACCURACY, RELIABILITY, CURRENTNESS, OR OTHERWISE. NO +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY AMD OR AMD'S AUTHORIZED +REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF +THIS WARRANTY. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU (AND NOT AMD OR +AMD'S AUTHORIZED REPRESENTATIVE) ASSUME THE ENTIRE COST OF ALL NECESSARY +SERVICING, REPAIR OR CORRECTION. THE SOFTWARE IS NOT INTENDED FOR USE IN +MEDICAL, LIFE SAVING OR LIFE SUSTAINING APPLICATIONS. SOME JURISDICTIONS +DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THE ABOVE EXCLUSION +MAY NOT APPLY TO YOU. + +8. Limitation of Liability. TO THE MAXIMUM EXTENT PERMITTED BY LAW, UNDER +NO CIRCUMSTANCES INCLUDING NEGLIGENCE, SHALL AMD, OR ITS DIRECTORS, +OFFICERS, EMPLOYEES OR AGENTS, BE LIABLE TO YOU FOR ANY INCIDENTAL, +INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF +BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, AND +THE LIKE) ARISING OUT OF THE USE, MISUSE OR INABILITY TO USE THE SOFTWARE +OR RELATED DOCUMENTATION, BREACH OR DEFAULT, INCLUDING THOSE ARISING FROM +INFRINGEMENT OR ALLEGED INFRINGEMENT OF ANY PATENT, TRADEMARK, COPYRIGHT OR +OTHER INTELLECTUAL PROPERTY RIGHT, BY AMD, EVEN IF AMD OR AMD'S AUTHORIZED +REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME +JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION +MAY NOT APPLY TO YOU. AMD will not be liable for 1) loss of, or damage to, +your records or data or 2) any damages claimed by you based on any third +party claim. In no event shall AMD's total liability to you for all +damages, losses, and causes of action (whether in contract, tort (including +negligence) or otherwise) exceed the amount paid by you for the Software. +The foregoing limitations will apply even if the above stated limitation +fails of its essential purpose. + +9. Controlling Law and Severability. This License shall be governed by +and construed under the laws of the Province of Ontario, Canada without +reference to its conflict of law principles. Any dispute related hereto +will be brought only in the courts in Toronto, Ontario, Canada and such +courts are agreed to be the convenient forum. In the event of any +conflicts between foreign law, rules, and regulations, and Canadian law, +rules, and regulations, Canadian law, rules and regulations shall prevail +and govern. The United Nations Convention on Contracts for the +International Sale of Goods shall not apply to this License. If for any +reason a court of competent jurisdiction finds any provision of this +License or portion thereof, to be unenforceable, that provision of the +License shall be enforced to the maximum extent permissible so as to effect +the intent of the parties, and the remainder of this License shall continue +in full force and effect. + +10. Complete Agreement. This License constitutes the entire agreement +between the parties with respect to the use of the Software and the related +documentation, and supersedes all prior or contemporaneous understandings +or agreements, written or oral, regarding such subject matter. No +amendment to or modification of this License will be binding unless in +writing and signed by a duly authorized representative of AMD. diff --git a/packages/x11/driver/xf86-video-fglrx/build b/packages/x11/driver/xf86-video-fglrx/build new file mode 100755 index 0000000000..e731205317 --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx/build @@ -0,0 +1,38 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 +fi + +cd $PKG_BUILD/common/lib/modules/fglrx/build_mod +# sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h +# sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h + +ln -sf $ROOT/$PKG_BUILD/arch/$ARCH/lib/modules/fglrx/build_mod/libfglrx_ip.a . + +cd 2.6.x +make CC=${CC} KDIR=$(kernel_path) diff --git a/packages/x11/driver/xf86-video-fglrx/config/xorg-fglrx.conf b/packages/x11/driver/xf86-video-fglrx/config/xorg-fglrx.conf new file mode 100644 index 0000000000..095ef08d48 --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx/config/xorg-fglrx.conf @@ -0,0 +1,14 @@ +Section "Device" + Identifier "fglrx" + Driver "fglrx" + Option "HWCursor" "false" +EndSection + +Section "Screen" + Identifier "screen" + Device "fglrx" + DefaultDepth 24 + SubSection "Display" + Depth 24 + EndSubSection +EndSection diff --git a/packages/x11/driver/xf86-video-fglrx/install b/packages/x11/driver/xf86-video-fglrx/install new file mode 100755 index 0000000000..936972d4f8 --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx/install @@ -0,0 +1,87 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +$SCRIPTS/build busybox-hosttools + +VER=`ls $BUILD/linux*/modules/lib/modules` + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 + LIBDIR=lib + BASEDIR=xpic +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 + LIBDIR=lib64 + BASEDIR=xpic_64a +fi + +# ATI kernel driver +mkdir -p $INSTALL/lib/modules/$VER/ati + cp $PKG_BUILD/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $INSTALL/lib/modules/$VER/ati + +$ROOT/$TOOLCHAIN/sbin/depmod -b $INSTALL $VER > /dev/null +for i in `ls $INSTALL/lib/modules/*/modules.* | grep -v modules.dep | grep -v modules.alias | grep -v modules.symbols`; do + rm -f $i +done + +# X.Org modules +mkdir -p $INSTALL/$XORG_PATH_MODULES + cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/*.so $INSTALL/$XORG_PATH_MODULES + +mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers + cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/drivers/*_drv.so $INSTALL/$XORG_PATH_MODULES/drivers + +mkdir -p $INSTALL/$XORG_PATH_MODULES/extensions/fglrx + cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/*.so $INSTALL/$XORG_PATH_MODULES/extensions/fglrx + +mkdir -p $INSTALL/$XORG_PATH_MODULES/linux + cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/linux/*.so $INSTALL/$XORG_PATH_MODULES/linux + +mkdir -p $INSTALL/etc/X11 + cp $PKG_DIR/config/*.conf $INSTALL/etc/X11 + +# DRI driver +mkdir -p $INSTALL/usr/lib/dri + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/modules/dri/fglrx_dri.so* $INSTALL/usr/lib/dri + +# Ati's libGL has an hardcoded location for DRI modules +mkdir -p $INSTALL/usr/X11R6/$LIBDIR/modules/ + ln -sf /usr/lib/dri $INSTALL/usr/X11R6/$LIBDIR/modules/dri + +# OpenGL libs +mkdir -p $INSTALL/usr/lib/fglrx + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/fglrx + +# System Libs +mkdir -p $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libati*.so* $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libati*.so* $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libfglrx*.so* $INSTALL/usr/lib + +if [ "$VAAPI" = yes ]; then + $SCRIPTS/install libva + + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/lib*XvBA*.so* $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.cap $INSTALL/usr/lib +fi diff --git a/packages/x11/driver/xf86-video-fglrx/meta b/packages/x11/driver/xf86-video-fglrx/meta new file mode 100644 index 0000000000..113af40387 --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="xf86-video-fglrx" +PKG_VERSION="11.5" +PKG_REV="1" +PKG_ARCH="i386 x86_64" +PKG_LICENSE="nonfree" +PKG_SITE="http://www.ati.com/" +PKG_URL="http://www2.ati.com/drivers/linux/ati-driver-installer-`echo $PKG_VERSION | sed 's/\./-/'`-x86.x86_64.run" +PKG_DEPENDS="linux" +PKG_BUILD_DEPENDS="toolchain util-macros libX11" +PKG_PRIORITY="optional" +PKG_SECTION="x11/driver" +PKG_SHORTDESC="xf86-video-fglrx: ATI binary Xorg driver" +PKG_LONGDESC="These binary drivers provide optimized hardware acceleration of OpenGL applications via a direct-rendering X Server. AGP, PCIe, SLI, TV-out and flat panel displays are also supported." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/x11/driver/xf86-video-fglrx/need_unpack b/packages/x11/driver/xf86-video-fglrx/need_unpack new file mode 100755 index 0000000000..d8cc367e63 --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx/need_unpack @@ -0,0 +1,31 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +STAMP=$STAMPS/$1/unpack + +test $PKG_DIR/config/linux.$TARGET_ARCH.conf -nt $STAMP -o \ + $PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf -nt $STAMP -o \ + $PKG_DIR/url -nt $STAMP && rm -f $STAMP + +exit 0 diff --git a/packages/x11/driver/xf86-video-fglrx/patches.upstream/xf86-video-fglrx-11.5-001-linux-2.6.39_no_smp_lock.h.patch b/packages/x11/driver/xf86-video-fglrx/patches.upstream/xf86-video-fglrx-11.5-001-linux-2.6.39_no_smp_lock.h.patch new file mode 100644 index 0000000000..8d12681b98 --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx/patches.upstream/xf86-video-fglrx-11.5-001-linux-2.6.39_no_smp_lock.h.patch @@ -0,0 +1,56 @@ +diff -Naur xf86-video-fglrx-11.5/common/lib/modules/fglrx/build_mod/drmP.h xf86-video-fglrx-11.5.patch/common/lib/modules/fglrx/build_mod/drmP.h +--- xf86-video-fglrx-11.5/common/lib/modules/fglrx/build_mod/drmP.h 2011-05-03 17:19:14.000000000 +0200 ++++ xf86-video-fglrx-11.5.patch/common/lib/modules/fglrx/build_mod/drmP.h 2011-05-11 17:39:25.549917899 +0200 +@@ -57,7 +57,9 @@ + #include + #include + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39) + #include /* For (un)lock_kernel */ ++#endif + #include + #include + #if defined(__alpha__) || defined(__powerpc__) +diff -Naur xf86-video-fglrx-11.5/common/lib/modules/fglrx/build_mod/firegl_public.c xf86-video-fglrx-11.5.patch/common/lib/modules/fglrx/build_mod/firegl_public.c +--- xf86-video-fglrx-11.5/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-05-03 17:19:14.000000000 +0200 ++++ xf86-video-fglrx-11.5.patch/common/lib/modules/fglrx/build_mod/firegl_public.c 2011-05-11 17:52:40.421297182 +0200 +@@ -114,7 +114,9 @@ + #include + #include + #include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39) + #include ++#endif + // newer SuSE kernels need this + #include + +@@ -1049,7 +1051,11 @@ + dev->pubdev.signature = FGL_DEVICE_SIGNATURE; + + for (i = 0; i < __KE_MAX_SPINLOCKS; i++) ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,39) + dev->spinlock[i] = SPIN_LOCK_UNLOCKED; ++#else ++ dev->spinlock[i] = __SPIN_LOCK_UNLOCKED(old_style_spin_init); ++#endif + + for (i=0; i < __KE_MAX_SEMAPHORES; i++) + sema_init(&dev->struct_sem[i], 1); +@@ -1900,13 +1906,17 @@ + /** \brief Grab global kernel lock */ + void ATI_API_CALL KCL_GlobalKernelLock(void) + { ++#ifdef CONFIG_KERNEL_LOCK + lock_kernel(); ++#endif + } + + /** \brief Release global kernel lock */ + void ATI_API_CALL KCL_GlobalKernelUnlock(void) + { ++#ifdef CONFIG_KERNEL_LOCK + unlock_kernel(); ++#endif + } + + /*****************************************************************************/ diff --git a/packages/x11/driver/xf86-video-fglrx/unpack b/packages/x11/driver/xf86-video-fglrx/unpack new file mode 100755 index 0000000000..56c9c69f6c --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx/unpack @@ -0,0 +1,37 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +require_eglibc $1 + +ATI_PKG="`echo $PKG_URL | sed 's%.*/\(.*\)$%\1%'`" +[ -d $PKG_BUILD ] && rm -rf $PKG_BUILD + +sh $SOURCES/$1/$ATI_PKG --extract $BUILD/$PKG_NAME-$PKG_VERSION + +echo "### Applying upstream patches ###" + +for patch in `ls $PKG_DIR/patches.upstream/*.patch`; do + cat $patch | patch -d \ + `echo $BUILD/$PKG_NAME-$PKG_VERSION | cut -f1 -d\ ` -p1 +done