From 320034a15c15b2cdd10637221aa9625ef7b89c26 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Mon, 9 Jul 2012 19:44:32 +0200 Subject: [PATCH] new package: add package 'xf86-video-fglrx-legacy' Signed-off-by: Stephan Raue --- config/graphic | 6 + .../x11/driver/xf86-video-fglrx-legacy/build | 127 +++ .../xf86-video-fglrx-legacy/config/amdpcsdb | 24 + .../xf86-video-fglrx-legacy/config/control | Bin 0 -> 31856 bytes .../config/xorg-fglrx-legacy.conf | 27 + .../driver/xf86-video-fglrx-legacy/install | 38 + .../x11/driver/xf86-video-fglrx-legacy/meta | 36 + .../xf86-video-fglrx-legacy/need_unpack | 31 + ...o-fglrx-legacy-12.6-rename_to_legacy.patch | 12 + .../xf86-video-fglrx-legacy/source/amdxvba.h | 831 ++++++++++++++++++ .../x11/driver/xf86-video-fglrx-legacy/unpack | 37 + .../xserver/xorg-server/scripts/xorg_start | 5 + .../xserver/xorg-server/udev.d/97-xorg.rules | 17 +- 13 files changed, 1183 insertions(+), 8 deletions(-) create mode 100755 packages/x11/driver/xf86-video-fglrx-legacy/build create mode 100644 packages/x11/driver/xf86-video-fglrx-legacy/config/amdpcsdb create mode 100644 packages/x11/driver/xf86-video-fglrx-legacy/config/control create mode 100644 packages/x11/driver/xf86-video-fglrx-legacy/config/xorg-fglrx-legacy.conf create mode 100755 packages/x11/driver/xf86-video-fglrx-legacy/install create mode 100644 packages/x11/driver/xf86-video-fglrx-legacy/meta create mode 100755 packages/x11/driver/xf86-video-fglrx-legacy/need_unpack create mode 100644 packages/x11/driver/xf86-video-fglrx-legacy/patches.upstream/xf86-video-fglrx-legacy-12.6-rename_to_legacy.patch create mode 100644 packages/x11/driver/xf86-video-fglrx-legacy/source/amdxvba.h create mode 100755 packages/x11/driver/xf86-video-fglrx-legacy/unpack diff --git a/config/graphic b/config/graphic index df82cbe05d..82ee471d9f 100644 --- a/config/graphic +++ b/config/graphic @@ -44,6 +44,12 @@ get_graphicdrivers() { XINERAMA_SUPPORT="yes" fi + if [ "$drv" = "fglrx-legacy" ]; then + XORG_DRIVERS="$XORG_DRIVERS fglrx-legacy" + COMPOSITE_SUPPORT="yes" + XINERAMA_SUPPORT="yes" + fi + if [ "$drv" = "i915" ]; then DRI_DRIVERS="$DRI_DRIVERS,i915" # GALLIUM_DRIVERS="$GALLIUM_DRIVERS,i915" diff --git a/packages/x11/driver/xf86-video-fglrx-legacy/build b/packages/x11/driver/xf86-video-fglrx-legacy/build new file mode 100755 index 0000000000..f9569c976d --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx-legacy/build @@ -0,0 +1,127 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 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, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +if [ "$TARGET_ARCH" = i386 ]; then + FGLRX_ARCH=x86 + LIBDIR=lib + BASEDIR=xpic +elif [ "$TARGET_ARCH" = x86_64 ]; then + FGLRX_ARCH=x86_64 + LIBDIR=lib64 + BASEDIR=xpic_64a +fi + +INSTALL_DIR=".install/usr/lib/fglrx-legacy/" + +cd $PKG_BUILD/common/lib/modules/fglrx/build_mod + ln -sf $ROOT/$PKG_BUILD/arch/$FGLRX_ARCH/lib/modules/fglrx/build_mod/libfglrx_ip.a . + + cd 2.6.x + sed -i -e 's/ -DPAGE_ATTR_FIX=/-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space -DPAGE_ATTR_FIX=/' Makefile + make CC=${CC} KDIR=$(kernel_path) + +cd $ROOT/$PKG_BUILD + +# config files + mkdir -p $INSTALL_DIR/etc/ati + cp common/etc/ati/amdpcsdb.default $INSTALL_DIR/etc/ati + cp common/etc/ati/control $INSTALL_DIR/etc/ati + cp common/etc/ati/signature $INSTALL_DIR/etc/ati + ln -sf /storage/.config/fglrx-legacy.conf $INSTALL_DIR/etc/ati/amdpcsdb + + # hack around a broken driver + cp $ROOT/$PKG_DIR/config/control $INSTALL_DIR/etc/ati + +( + cd $INSTALL_DIR/ + for etc in `find etc -type f`; do + mkdir -p $ROOT/$PKG_BUILD/.install/`dirname $etc` + ln -sf /var/run/fglrx/$etc $ROOT/$PKG_BUILD/.install/$etc + done + ln -sf /var/run/fglrx/etc/ati/amdpcsdb $ROOT/$PKG_BUILD/.install/etc/ati/amdpcsdb +) + +# ATI config + mkdir -p $INSTALL_DIR/bin + cp -P arch/$FGLRX_ARCH/usr/X11R6/bin/aticonfig $INSTALL_DIR/bin + +( + cd $INSTALL_DIR/ + for bin in `find bin -type f`; do + mkdir -p $ROOT/$PKG_BUILD/.install/usr/`dirname $bin` + ln -sf /var/run/fglrx/$bin $ROOT/$PKG_BUILD/.install/usr/$bin + done +) + +# OpenGL libs + mkdir -p $INSTALL_DIR/lib + # rename to not conflicting with Mesa libGL.so + cp -P arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL_DIR/lib/libGL_fglrx.so.1 + +# System Libs + mkdir -p $INSTALL_DIR/lib + cp arch/$FGLRX_ARCH/usr/$LIBDIR/libati*.so $INSTALL_DIR/lib + cp arch/$FGLRX_ARCH/usr/$LIBDIR/libatiuki.so* $INSTALL_DIR/lib/libatiuki.so.1 + cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libati*.so* $INSTALL_DIR/lib + cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libfglrx*.so* $INSTALL_DIR/lib + +# DRI driver + mkdir -p $INSTALL_DIR/lib/dri + cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/modules/dri/fglrx_dri.so* $INSTALL_DIR/lib/dri + +# X.Org modules + mkdir -p $INSTALL_DIR/lib/xorg/modules + cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/*.so $INSTALL_DIR/lib/xorg/modules + + mkdir -p $INSTALL_DIR/lib/xorg/modules/drivers + cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/drivers/*_drv.so $INSTALL_DIR/lib/xorg/modules/drivers + + mkdir -p $INSTALL_DIR/lib/xorg/modules/extensions + cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/fglrx-libglx.so $INSTALL_DIR/lib/xorg/modules/extensions/libglx_fglrx.so + + mkdir -p $INSTALL_DIR/lib/xorg/modules/linux + cp -P $BASEDIR/usr/X11R6/$LIBDIR/modules/linux/*.so $INSTALL_DIR/lib/xorg/modules/linux + +if [ "$XVBA" = yes ]; then + cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.cap $INSTALL_DIR/lib + cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.so* $INSTALL_DIR/lib/libAMDXvBA.so.1 + cp arch/$FGLRX_ARCH/usr/X11R6/$LIBDIR/libXvBAW.so* $INSTALL_DIR/lib/libXvBAW.so.1 + +# install needed files for toolchain + mkdir -p $SYSROOT_PREFIX/usr/include/amd + cp $ROOT/$PKG_DIR/source/amdxvba.h $SYSROOT_PREFIX/usr/include/amd + + mkdir -p $SYSROOT_PREFIX/usr/lib + cp arch/$FGLRX_ARCH/usr/X11R6/*/libXvBAW.so* $SYSROOT_PREFIX/usr/lib + ln -sf libXvBAW.so.1.0 $SYSROOT_PREFIX/usr/lib/libXvBAW.so.1 + ln -sf libXvBAW.so.1 $SYSROOT_PREFIX/usr/lib/libXvBAW.so +fi + +( + cd $INSTALL_DIR/ + for lib in `find lib -type f`; do + mkdir -p $ROOT/$PKG_BUILD/.install/usr/`dirname $lib` + ln -sf /var/run/fglrx/$lib $ROOT/$PKG_BUILD/.install/usr/$lib + done +) diff --git a/packages/x11/driver/xf86-video-fglrx-legacy/config/amdpcsdb b/packages/x11/driver/xf86-video-fglrx-legacy/config/amdpcsdb new file mode 100644 index 0000000000..e7d409d279 --- /dev/null +++ b/packages/x11/driver/xf86-video-fglrx-legacy/config/amdpcsdb @@ -0,0 +1,24 @@ +AMDPCSDBV1 +[AMDPCSROOT/SYSTEM/MCIL] +DigitalHDTVDefaultUnderscan=V0 +UvdEnabled=V1 +HWUVD_H264Level51Support=V1 + +[AMDPCSROOT/SYSTEM/DDX] +EnableTearFreeDesktop=V1 + +DAL2_DATA__2_0\DisplayPath_1\default=R64 +DAL2_DATA__2_0\DisplayPath_1\Adjustment\default=R64 +DAL2_DATA__2_0\DisplayPath_1\Adjustment\All_nodes=R00 +DAL2_DATA__2_0\DisplayPath_1\Adjustment\RangeRgbLimited=R0100000000000000 +DAL2_DATA__2_0\DisplayPath_1\Option\default=R64 +DAL2_DATA__2_0\DisplayPath_1\Option\All_nodes=R42657374566965774F7074696F6E5F48646D6900 +DAL2_DATA__2_0\DisplayPath_1\Option\BestViewOption_Hdmi=R0000000000000000030000000100000008000000 + +DAL2_DATA__2_0\DisplayPath_2\default=R64 +DAL2_DATA__2_0\DisplayPath_2\Adjustment\default=R64 +DAL2_DATA__2_0\DisplayPath_2\Adjustment\All_nodes=R00 +DAL2_DATA__2_0\DisplayPath_2\Adjustment\RangeRgbLimited=R0100000000000000 +DAL2_DATA__2_0\DisplayPath_2\Option\default=R64 +DAL2_DATA__2_0\DisplayPath_2\Option\All_nodes=R42657374566965774F7074696F6E5F48646D6900 +DAL2_DATA__2_0\DisplayPath_2\Option\BestViewOption_Hdmi=R0000000000000000030000000100000008000000 diff --git a/packages/x11/driver/xf86-video-fglrx-legacy/config/control b/packages/x11/driver/xf86-video-fglrx-legacy/config/control new file mode 100644 index 0000000000000000000000000000000000000000..394dc1ba2466980738f7ce7e56880da02dafa65a GIT binary patch literal 31856 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 xv2AjtzUp+d5?l`i7uySS<