debian/0000755000000000000000000000000012317543107007171 5ustar debian/fglrx-updates.install0000664000000000000000000000434512317543105013354 0ustar #Lintian overrides debian/overrides/fglrx-updates usr/share/lintian/overrides #Actual kernel modules lib/modules/fglrx/build_mod/* usr/src/fglrx-updates-13.350.1 debian/dkms/* usr/src/fglrx-updates-13.350.1 arch/x86_64/lib/modules/fglrx/build_mod/lib* usr/src/fglrx-updates-13.350.1 debian/dkms.conf usr/src/fglrx-updates-13.350.1 #DRI stuff arch/x86_64/usr/X11R6/lib64/libAMD* usr/lib/fglrx #debian integration debian/overrides/fglrx-updates usr/share/lintian/overrides debian/acpi/fglrx-*-aticonfig etc/acpi/events debian/acpi/fglrx-powermode.sh etc/acpi debian/10fglrx usr/lib/fglrx etc/ati/* usr/lib/fglrx/etc/ati debian/replacements/authatieventsd.sh usr/lib/fglrx/etc/ati arch/x86_64/etc/OpenCL/vendors/*.icd usr/lib/fglrx/etc/OpenCL/vendors arch/x86/etc/OpenCL/vendors/*.icd usr/lib/fglrx/etc/OpenCL/vendors #Blacklist some card ids from GRUB gfxpayload=keep debian/fglrx-updates.grub-gfxpayload usr/share/fglrx #binaries arch/x86_64/usr/sbin/* usr/lib/fglrx/bin arch/x86_64/usr/bin/* usr/lib/fglrx/bin arch/x86_64/usr/X11R6/bin/ati* usr/lib/fglrx/bin arch/x86_64/usr/X11R6/bin/fgl* usr/lib/fglrx/bin usr/sbin/*sh usr/share/fglrx #DRI stuff arch/x86_64/usr/X11R6/lib64/liba*.so* usr/lib/fglrx arch/x86_64/usr/X11R6/lib64/libf*.so* usr/lib/fglrx arch/x86_64/usr/X11R6/lib64/libX*.so* usr/lib/fglrx arch/x86_64/usr/X11R6/lib64/fglrx/*libGL.so* usr/lib/fglrx arch/x86_64/usr/X11R6/lib64/modules/dri usr/lib/fglrx #Xorg stuff xpic_64a/usr/X11R6/lib64/modules/*.so usr/lib/fglrx/xorg/modules xpic_64a/usr/X11R6/lib64/modules/drivers usr/lib/fglrx/xorg/modules xpic_64a/usr/X11R6/lib64/modules/linux usr/lib/fglrx/xorg/modules xpic_64a/usr/X11R6/lib64/modules/extensions usr/lib/fglrx/xorg/modules #CAL stuff arch/x86_64/usr/lib64/*.so* usr/lib/fglrx #PXpress stuff debian/pxpress/* usr/lib/fglrx debian/copyright_stub_00000664000000000000000000000064711706245010012402 0ustar This package was debianized by Mario Limonciello on Tue, 27 May 2008 10:22:21 -0600. The latest Linux graphics driver was downloaded from the AMD website (www.amd.com), and then this package was generated using: sh $VERSION.run --buildpkg Ubuntu/source ---------------------------------------------------------------------------- Driver License: Copyright (c) 2011 Advanced Micro Devices, Inc. debian/dkms.conf.in0000664000000000000000000000162112317543002011377 0ustar PACKAGE_NAME="#DRIVERNAME" PACKAGE_VERSION="#CVERSION#" #Prevent builds with kernels newer than the ones we ship CLEAN="rm -f *.*o" BUILT_MODULE_NAME[0]="fglrx" DEST_MODULE_NAME[0]="#MODULENAME#" MAKE[0]="cd ${dkms_tree}/fglrx/#CVERSION#/build; sh make.sh --nohints --uname_r=$kernelver --norootcheck" DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm" AUTOINSTALL="yes" PATCH[0]="buildfix_kernel_3.14.patch" #PATCH_MATCH[0]="^3.1[0-2]" #PATCH[0]="buildfix_kernel_3.12.patch" #PATCH[1]="replace_acpi_table_handler.patch" #PATCH[2]="buildfix_kernel_3.13.patch" #PATCH[1]="replace-archdata.acpi_handle-with-acpi_node.handle.patch" #PATCH[1]="replace-do_mmap-and-do_munmap-with-vm_mmap-and-vm_mu.patch" #PATCH[2]="replace-for_each_cpu_mask-with-for_each_possible_cpu.patch" #PATCH[0]="rt_preempt_28.patch" #PATCH_MATCH[0]="^2.6.28\-[0-9]*\-rt$" #PATCH[0]="rt_preempt_28.patch" #PATCH_MATCH[0]="^2.6.28\-[0-9]*\-rt$" debian/fglrx-updates-dev.install0000664000000000000000000000026512317543105014125 0ustar debian/overrides/fglrx-updates-dev usr/share/lintian/overrides usr/include/* usr/include arch/x86_64/usr/X11R6/lib64/*.a usr/lib debian/fglrx-updates.dirs0000664000000000000000000000053212317543105012641 0ustar usr/lib/fglrx usr/lib/pxpress usr/lib/pxpress/xorg/modules usr/lib/pxpress/lib usr/share/fglrx lib/fglrx usr/lib/fglrx/etc/ati usr/lib/fglrx/etc/OpenCL/vendors usr/share/ati usr/share/grub-gfxpayload-lists/blacklist usr/lib/dri usr/lib/xorg/modules/drivers/ etc/OpenCL/vendors /usr/share/applications/ usr/lib/x86_64-linux-gnu/xorg/extra-modules debian/fglrx-updates.install.in0000664000000000000000000000445312317542653013770 0ustar #Lintian overrides debian/overrides/#DRIVERNAME# #DATADIR#/lintian/overrides #Actual kernel modules lib/modules/fglrx/build_mod/* usr/src/#DRIVERNAME#-#CVERSION# debian/dkms/* usr/src/#DRIVERNAME#-#CVERSION# arch/#SRCARCH#/lib/modules/fglrx/build_mod/lib* usr/src/#DRIVERNAME#-#CVERSION# debian/dkms.conf usr/src/#DRIVERNAME#-#CVERSION# #DRI stuff arch/#SRCARCH#/usr/X11R6/#SRCLIBDIR#/libAMD* #PKGLIBDIR# #debian integration debian/overrides/#DRIVERNAME# #DATADIR#/lintian/overrides debian/acpi/fglrx-*-aticonfig #SYSCONFDIR#/acpi/events debian/acpi/fglrx-powermode.sh #SYSCONFDIR#/acpi debian/10fglrx #PKGLIBDIR# etc/ati/* #PKGLIBDIR#/#SYSCONFDIR#/ati debian/replacements/authatieventsd.sh #PKGLIBDIR#/#SYSCONFDIR#/ati arch/#SRCARCH#/etc/OpenCL/vendors/*.icd #PKGLIBDIR#/#SYSCONFDIR#/OpenCL/vendors arch/#SRCOTHERARCH#/etc/OpenCL/vendors/*.icd #PKGLIBDIR#/#SYSCONFDIR#/OpenCL/vendors #Blacklist some card ids from GRUB gfxpayload=keep debian/fglrx-updates.grub-gfxpayload #PKGDATADIR# #binaries arch/#SRCARCH#/usr/sbin/* #PKGBINDIR# arch/#SRCARCH#/usr/bin/* #PKGBINDIR# arch/#SRCARCH#/usr/X11R6/bin/ati* #PKGBINDIR# arch/#SRCARCH#/usr/X11R6/bin/fgl* #PKGBINDIR# usr/sbin/*sh #PKGDATADIR# #DRI stuff arch/#SRCARCH#/usr/X11R6/#SRCLIBDIR#/liba*.so* #PKGLIBDIR# arch/#SRCARCH#/usr/X11R6/#SRCLIBDIR#/libf*.so* #PKGLIBDIR# arch/#SRCARCH#/usr/X11R6/#SRCLIBDIR#/libX*.so* #PKGLIBDIR# arch/#SRCARCH#/usr/X11R6/#SRCLIBDIR#/fglrx/*libGL.so* #PKGLIBDIR# arch/#SRCARCH#/usr/X11R6/#SRCLIBDIR#/modules/dri #PKGLIBDIR# #Xorg stuff #SRCXARCH#/usr/X11R6/#SRCLIBDIR#/modules/*.so #PKGXMODDIR# #SRCXARCH#/usr/X11R6/#SRCLIBDIR#/modules/drivers #PKGXMODDIR# #SRCXARCH#/usr/X11R6/#SRCLIBDIR#/modules/linux #PKGXMODDIR# #SRCXARCH#/usr/X11R6/#SRCLIBDIR#/modules/extensions #PKGXMODDIR# #CAL stuff arch/#SRCARCH#/usr/#SRCLIBDIR#/*.so* #PKGLIBDIR# #PXpress stuff debian/pxpress/* usr/lib/fglrx debian/modaliases/0000755000000000000000000000000011706245010011303 5ustar debian/modaliases/fglrx_supported0000664000000000000000000000077211706245010014465 0ustar #!/bin/sh set -e print_usage_and_exit() { echo "USAGE: $0 path/to/fglrxko_pci_ids.h fglrx_module fglrx_package" >&2 exit 1 } [ -n "$3" ] || { print_usage_and_exit } filename="$1" modname="$2" pkgname="$3" [ -e "$filename" ] || { print_usage_and_exit } echo "# Listing generated by $pkgname. Do not edit manually." grep "0x" "$filename" | \ sed -n "s/FGL_ASIC_ID(0x\([0-9A-F]\{4\}\)),$/alias pci:v00001002d0000\1sv*sd*bc03sc*i* $modname $pkgname/p" | \ sort | uniq | sed -e 's/^[ \t]*//' debian/rules0000775000000000000000000003511712317542653010267 0ustar #!/usr/bin/make -f # Copyright (C) 2002-2005 Flavio Stanchina # Copyright (C) 2005-2006 Aric Cyr # Copyright (C) 2007-2010 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. # Figure out some magic versioning CVERSION := $(shell dpkg-parsechangelog | grep '^Version:' | cut -d' ' -f2 | cut -d- -f1 | cut -d\: -f2) DVERSION := $(shell dpkg-parsechangelog | grep '^Version:' | cut -d' ' -f2 | cut -d\: -f2) DISTRO := $(shell dpkg-parsechangelog | grep '^Distribution:' | cut -d' ' -f2 | cut -d\: -f2) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) # If the host is i386 set OTHER_ARCH to x86_64 and vice versa OTHER_ARCH := $(shell (echo "$(DEB_HOST_MULTIARCH)" | grep i386 >/dev/null) && \ echo "$(DEB_HOST_MULTIARCH)" | sed s/i386/x86_64/ || \ echo "$(DEB_HOST_MULTIARCH)" | sed s/x86_64/i386/) # Hack for pbuild which would otherwise fail to call execstack PATH := $(PATH):/usr/sbin # Package names PKG_flavour := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p' | sed 's/fglrx\-installer\-//g') PKG_driver := fglrx-$(PKG_flavour) PKG_driver_dev := $(PKG_driver)-dev PKG_control := fglrx-amdcccle-$(PKG_flavour) PKG_source := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p') PKG_module := $(shell echo "$(PKG_driver)" | sed s/\-/_/g) # Priority of the alternatives alt_priority := 1001 PX_alt_priority := 901 #Directory naming schemes PKG_dirname := fglrx bindir := usr/bin datadir := usr/share PKG_datadir := $(datadir)/$(PKG_dirname) libdir := usr/lib libdir32 := usr/lib32 includedir := usr/include sysconfdir := etc PKG_libdir := $(libdir)/$(PKG_dirname) PKG_libdir32 := $(libdir32)/$(PKG_dirname) xorg_libdir := $(libdir)/xorg xorg_extra_modules := $(libdir)/$(DEB_HOST_MULTIARCH)/xorg/extra-modules xorg_extensionsdir := $(xorg_libdir)/modules/extensions PKG_driversdir := $(PKG_libdir)/xorg PKG_extensionsdir := $(PKG_driversdir) PKG_bindir := $(PKG_libdir)/bin PKG_deskdir := $(PKG_datadir) PKG_configdir := $(PKG_libdir) ld_so_conf_dir := $(PKG_configdir) ld_so_conf_file := ld.so.conf alt_ld_so_conf_file := alt_ld.so.conf ld_so_conf_path := $(ld_so_conf_dir)/$(ld_so_conf_file) alt_ld_so_conf_path := $(ld_so_conf_dir)/$(alt_ld_so_conf_file) mandir := usr/share/man/man1 PKG_bugdir := usr/share/bug/$(PKG_dirname) autostartdir := etc/xdg/autostart PKG_autostartdir := $(PKG_configdir) grub_blacklistdir := usr/share/grub-gfxpayload-lists/blacklist PKG_xmoddir := $(PKG_libdir)/xorg/modules PX_dirname := pxpress PX_dir := $(libdir)/$(PX_dirname) PX_dir32 := $(libdir32)/$(PX_dirname) PX_xmoddir := $(PX_dir)/xorg/modules PX_libdir := $(PX_dir)/lib PX_libdir32 := $(PX_dir32)/lib PX_ld_so_conf := $(PX_dir)/$(ld_so_conf_file) PX_ld_so_conf_alt := $(PX_dir)/$(alt_ld_so_conf_file) # This is a hack to make sure that # the blacklist file is available # early in the boot process when # /usr is on a separate partition. # See LP: #538071. PKG_libconfdir := lib/$(PKG_dirname) # Paths to the dirs from the installer SRC_libdir := lib SRC_arch := x86 SRC_other_arch := x86_64 SRC_xarch := xpic ifeq ($(DEB_HOST_ARCH),amd64) SRC_libdir := lib64 SRC_arch := x86_64 SRC_other_arch := x86 SRC_xarch := $(SRC_xarch)_64a endif #These "define" bits are needed for the blacklist file define newline endef define blacklist_file # This file was installed by $(PKG_driver) # Do not edit this file manually blacklist radeon alias fglrx $(PKG_module) alias radeon off alias lbm-radeon off endef # DEB_DH_SHLIBDEPS_ARGS_ALL="-Xlib32" refresh_copyright: # refresh copyright file cat debian/copyright_stub_0 > debian/copyright cat usr/share/doc/fglrx/LICENSE.TXT >> debian/copyright cat debian/copyright_stub_1 >> debian/copyright clean: refresh_copyright regen-from-templates # remove any file generated from a template for file in *.in; do \ # strip only the last .in from the name \ filename=`echo $$file | sed -e "s|.in|$1|"` \ rm -f $(filename); \ done rm -f debian/$(PKG_driver).substvars dh clean .PHONY: regen-from-templates regen-from-templates: #Create important strings for i in 10fglrx \ control \ dkms.conf \ $(PKG_driver).install \ $(PKG_driver_dev).install \ $(PKG_driver_dev).links \ $(PKG_control).install \ $(PKG_driver).grub-gfxpayload \ $(PKG_driver).dirs \ $(PKG_driver).links \ $(PKG_driver).postinst \ $(PKG_driver).postrm \ $(PKG_driver).preinst \ $(PKG_driver).prerm \ overrides/$(PKG_driver); do \ sed -e "s|#PKGXMODDIR#|$(PKG_xmoddir)|g" \ -e "s|#LIBDIR#|$(libdir)|g" \ -e "s|#LIBDIR32#|$(libdir32)|g" \ -e "s|#BINDIR#|$(bindir)|g" \ -e "s|#SYSCONFDIR#|$(sysconfdir)|g" \ -e "s|#MANDIR#|$(mandir)|g" \ -e "s|#LDSOCONF#|$(ld_so_conf_path)|g" \ -e "s|#ALTLDSOCONF#|$(alt_ld_so_conf_path)|g" \ -e "s|#ALTPRIORITY#|$(alt_priority)|g" \ -e "s|#PXALTPRIORITY#|$(PX_alt_priority)|g" \ -e "s|#AUTOSTARTDIR#|$(autostartdir)|g" \ -e "s|#DATADIR#|$(datadir)|g" \ -e "s|#PKGDESKDIR#|$(PKG_deskdir)|g" \ -e "s|#PKGDATADIR#|$(PKG_datadir)|g" \ -e "s|#PKGCONFIGDIR#|$(PKG_configdir)|g" \ -e "s|#PKGBINDIR#|$(PKG_bindir)|g" \ -e "s|#PKGLIBDIR#|$(PKG_libdir)|g" \ -e "s|#PKGLIBDIR32#|$(PKG_libdir32)|g" \ -e "s|#PKGDRIVERSDIR#|$(PKG_driversdir)|g" \ -e "s|#XORGEXTRA#|$(xorg_extra_modules)|g" \ -e "s|#PKGEXTENSIONDIR#|$(PKG_extensionsdir)|g" \ -e "s|#XORGEXTENSIONSDIR#|$(xorg_extensionsdir)|g" \ -e "s|#DRIVERNAME#|$(PKG_driver)|g" \ -e "s|#MODULENAME#|$(PKG_module)|g" \ -e "s|#DRIVERDIRNAME#|$(PKG_dirname)|g" \ -e "s|#DRIVERDEVNAME#|$(PKG_driver_dev)|g" \ -e "s|#DRIVERSRCNAME#|$(PKG_source)|g" \ -e "s|#FLAVOUR#|$(PKG_flavour)|g" \ -e "s|#DRIVERCTRLNAME#|$(PKG_control)|g" \ -e "s|#INCLUDEDIR#|$(includedir)|g" \ -e "s|#PKGLIBCONFDIR#|$(PKG_libconfdir)|g" \ -e "s|#GRUBBLKLISTDIR#|$(grub_blacklistdir)|g" \ -e "s|#PKGXMODDIR#|$(PKG_xmoddir)|g" \ -e "s|#PXDIR#|$(PX_dir)|g" \ -e "s|#PXDIR32#|$(PX_dir32)|g" \ -e "s|#PXXMODDIR#|$(PX_xmoddir)|g" \ -e "s|#PXDIRNAME#|$(PX_dirname)|g" \ -e "s|#PXLIBDIR#|$(PX_libdir)|g" \ -e "s|#PXLIBDIR32#|$(PX_libdir32)|g" \ -e "s|#PXLDSOCONF#|$(PX_ld_so_conf)|g" \ -e "s|#ALTPXLDSOCONF#|$(PX_ld_so_conf_alt)|g" \ -e "s|#CVERSION#|$(CVERSION)|g" \ -e "s|#SRCXARCH#|$(SRC_xarch)|g" \ -e "s|#SRCARCH#|$(SRC_arch)|g" \ -e "s|#SRCOTHERARCH#|$(SRC_other_arch)|g" \ -e "s|#SRCLIBDIR#|$(SRC_libdir)|g" \ -e "s|#DEB_HOST_MULTIARCH#|$(DEB_HOST_MULTIARCH)|g" \ -e "s|#OTHER_ARCH#|$(OTHER_ARCH)|g" \ debian/$$i.in > debian/$$i; \ done build: build-arch build-arch: regen-from-templates # remove exec bit on everything find arch \ etc \ lib \ module \ usr \ $(SRC_xarch) -type f | xargs chmod -x # set executable on user apps find arch/$(SRC_arch)/usr/sbin \ arch/$(SRC_arch)/usr/X11R6/bin \ usr/sbin/ -type f | xargs chmod a+x # set exec bit on scripts find lib etc debian -name "*.sh" -type f | xargs chmod +x # set the permissions on the pxpress scripts chmod 744 debian/pxpress/switch* dh build .PHONY: gen-abi-substvars gen-abi-substvars: # Generate the xserver ABI dependencies cat debian/substvars >> debian/$(PKG_driver).substvars binary-arch: refresh_copyright gen-abi-substvars #Steps that we can't easily represent in debhelper files or .in files yet # Remove any libraries that may be caught by shell expansion find . -name libGLE* | xargs rm -f find . -name libEGL* | xargs rm -f ifeq ($(DEB_HOST_ARCH),amd64) dh_install -p$(PKG_driver) "arch/x86/usr/X11R6/lib/libAMD*.so*" "$(PKG_libdir32)" dh_install -p$(PKG_driver) "arch/x86/usr/X11R6/lib/*.*" "$(PKG_libdir32)" dh_install -p$(PKG_driver) "arch/x86/usr/X11R6/lib/fglrx/*.so*" "$(PKG_libdir32)" dh_installdirs -p$(PKG_driver) "$(PKG_libdir32)" dh_install -p$(PKG_driver) "arch/x86/usr/X11R6/lib/modules/dri" "$(PKG_libdir32)" dh_install -p$(PKG_driver) "arch/x86/usr/lib/*.so*" "$(PKG_libdir32)" # Install the QT libraries dh_install -p$(PKG_driver) "arch/x86_64/usr/share/ati/lib64" "$(datadir)/ati" for i in \ debian/$(PKG_driver)/$(PKG_libdir32)/dri/fglrx_dri.so \ debian/$(PKG_driver)/$(PKG_libdir32)/*libGL.so.* \ ; do execstack -q $$i; execstack -c $$i; done #they don't provide the symlink for us (starting at 8.699) dh_link -p$(PKG_driver) $(PKG_libdir32)/libatiuki.so.1.0 $(PKG_libdir32)/libatiuki.so.1 else dh_installdirs -p$(PKG_driver) # Install the QT libraries dh_install -p$(PKG_driver) "arch/x86/usr/share/ati/lib" "$(datadir)/ati" endif dh_installdirs -p$(PKG_driver_dev) dh_installdocs -p$(PKG_driver) usr/share/doc/fglrx/* --exclude LICENSE.TXT dh_installdocs -p$(PKG_driver) debian/AUTHORS dh_installdocs -p$(PKG_driver) debian/copyright dh_installinit -p$(PKG_driver) -n --name="atieventsd" --no-start --update-rcd-params="defaults 31" #remove executable bits from stack dh_install -p$(PKG_control) execstack -c debian/$(PKG_control)/$(PKG_libdir)/bin/amdcccle dh_install -p$(PKG_driver) for i in \ debian/$(PKG_driver)/$(PKG_libdir)/bin/clinfo \ debian/$(PKG_driver)/$(PKG_libdir)/bin/atiode \ debian/$(PKG_driver)/$(PKG_libdir)/bin/amdnotifyui \ debian/$(PKG_driver)/$(PKG_libdir)/dri/fglrx_dri.so \ debian/$(PKG_driver)/$(PKG_libdir)/*libGL.so.*.* \ debian/$(PKG_driver)/$(PKG_libdir)/*libOpenCL.so.* \ ; do execstack -q $$i; execstack -c $$i; done # Make some additional scripts executable find debian/$(PKG_control)/$(PKG_libdir)/bin/ \ -type f | xargs chmod a+x # Make sure that every binary in bin is executable find debian/$(PKG_driver)/$(PKG_libdir)/bin/ \ -type f | xargs chmod a+x # Rename libraries which are supposed to have fglrx-libGL as a prefix for lib in `find debian/$(PKG_driver)/ -name 'fglrx-libGL*'`; \ do \ file_name=`echo $$lib | awk -F/ '{print $$NF}'`; \ path=`echo $$lib | sed -e "s|\/$$file_name|\/|"`; \ # Remove fglrx prefix \ new_name=`echo $$file_name | sed -e "s|fglrx\-||"`; \ full_path=`echo "$$path$$new_name"`; \ mv -f $$lib $$full_path; \ done # Rename libraries which are supposed to have fglrx-libglx as a prefix for lib in `find debian/$(PKG_driver)/ -name 'fglrx-libglx*'`; \ do \ file_name=`echo $$lib | awk -F/ '{print $$NF}'`; \ path=`echo $$lib | sed -e "s|\/$$file_name|\/|"`; \ new_path=`echo $$path | sed -e 's/fglrx\/$$//'`; \ # Remove fglrx prefix \ new_name=`echo $$file_name | sed -e "s|fglrx\-||"`; \ full_path=`echo "$$new_path$$new_name"`; \ mv -f $$lib $$full_path; \ done # Create links for PowerXpress X modules (except for extensions) for i in \ debian/$(PKG_driver)/$(PKG_xmoddir)/* \ ; do \ orig_name=`echo $$i | sed -e "s|debian/$(PKG_driver)/||"`; \ if [ `echo $$orig_name | sed -e "s|$(PKG_xmoddir)/||"` != "extensions" ]; then \ link_name=$$orig_name ; \ link_name=`echo $$orig_name | sed -e "s|$(PKG_xmoddir)|$(PX_xmoddir)|"`; \ dh_link -p$(PKG_driver) $$orig_name $$link_name ; \ fi \ done # Create links for PowerXpress libs (except for libGL) for i in \ debian/$(PKG_driver)/$(PKG_libdir)/* \ ; do \ orig_name=`echo $$i | sed -e "s|debian/$(PKG_driver)/||"`; \ # Copy each file except for libGL* \ if [ -f $$i ]; then \ if [ ! `echo $$orig_name | grep libGL` ]; then \ link_name=$$orig_name ; \ link_name=`echo $$orig_name | sed -e "s|$(PKG_libdir)|$(PX_libdir)|"`; \ dh_link -p$(PKG_driver) $$orig_name $$link_name ; \ fi \ else \ # Here we only accept the dri directory \ dir_name=`echo $$orig_name | awk -F/ '{print $$NF}'`; \ if [ "$$dir_name" = "dri" ]; then \ link_name=$$orig_name ; \ link_name=`echo $$orig_name | sed -e "s|$(PKG_libdir)|$(PX_libdir)|"`; \ dh_link -p$(PKG_driver) $$orig_name $$link_name ; \ fi \ fi \ done ifeq ($(DEB_HOST_ARCH),amd64) # Create links for PowerXpress 32bit libs (except for libGL) for i in \ debian/$(PKG_driver)/$(PKG_libdir32)/* \ ; do \ orig_name=`echo $$i | sed -e "s|debian/$(PKG_driver)/||"`; \ # Copy each file except for libGL* \ if [ -f $$i ]; then \ if [ ! `echo $$orig_name | grep libGL` ]; then \ link_name=$$orig_name ; \ link_name=`echo $$orig_name | sed -e "s|$(PKG_libdir32)|$(PX_libdir32)|"`; \ dh_link -p$(PKG_driver) $$orig_name $$link_name ; \ fi \ else \ # Here we only accept the dri directory \ dir_name=`echo $$orig_name | awk -F/ '{print $$NF}'`; \ if [ "$$dir_name" = "dri" ]; then \ link_name=$$orig_name ; \ link_name=`echo $$orig_name | sed -e "s|$(PKG_libdir32)|$(PX_libdir32)|"`; \ dh_link -p$(PKG_driver) $$orig_name $$link_name ; \ fi \ fi \ done endif # Blacklist any other driver that udev may want to load instead of fglrx # and create an alias for the module so that it can be used as fglrx printf '$(subst $(newline),\n,${blacklist_file})' > $(CURDIR)/debian/$(PKG_driver)/$(PKG_libconfdir)/modprobe.conf #ld.so.conf echo "/$(PKG_libdir)" > "$(CURDIR)/debian/$(PKG_driver)/$(ld_so_conf_path)" ifeq ($(DEB_HOST_ARCH),amd64) echo "/$(PKG_libdir32)" >> "$(CURDIR)/debian/$(PKG_driver)/$(ld_so_conf_path)" endif # ld.so.conf for PowerXpress echo "/usr/lib/$(DEB_HOST_MULTIARCH)/mesa" > "$(CURDIR)/debian/$(PKG_driver)/$(PX_ld_so_conf)" echo "/$(PX_libdir)" >> "$(CURDIR)/debian/$(PKG_driver)/$(PX_ld_so_conf)" ifeq ($(DEB_HOST_ARCH),amd64) echo "/usr/lib/$(OTHER_ARCH)/mesa" >> "$(CURDIR)/debian/$(PKG_driver)/$(PX_ld_so_conf)" echo "/$(PX_libdir32)" >> "$(CURDIR)/debian/$(PKG_driver)/$(PX_ld_so_conf)" endif # empty ld.so.conf for the fake multi-arch alternative echo "" > "$(CURDIR)/debian/$(PKG_driver)/$(alt_ld_so_conf_path)" # empty ld.so.conf for the fake multi-arch alternative for PXpress echo "" > "$(CURDIR)/debian/$(PKG_driver)/$(PX_ld_so_conf_alt)" # Generate modaliases sh -e debian/modaliases/fglrx_supported \ lib/modules/fglrx/build_mod/fglrxko_pci_ids.h $(PKG_module) $(PKG_driver) > \ debian/$(PKG_driver).modaliases dh_modaliases rm debian/$(PKG_driver).modaliases #Run the normal stuff dh binary-arch binary: binary-arch binary-indep gen-abi-substvars ; #Run the normal stuff dh binary override_dh_shlibdeps: ifeq ($(DEB_HOST_ARCH),amd64) dh_shlibdeps -l$(CURDIR)/debian/$(PKG_driver)/$(PKG_libdir):$(CURDIR)/debian/$(PKG_driver)/$(PKG_libdir)/bin:$(CURDIR)/debian/$(PKG_driver)/$(PKG_libdir)/sbin:$(CURDIR)/debian/$(PKG_driver)/$(PKG_libdir32) -Xlib32 else dh_shlibdeps -l$(CURDIR)/debian/$(PKG_driver)/$(PKG_libdir):$(CURDIR)/debian/$(PKG_driver)/$(PKG_libdir)/bin:$(CURDIR)/debian/$(PKG_driver)/$(PKG_libdir)/sbin endif %: dh $@ debian/substvars0000664000000000000000000000024612274151375011160 0ustar xviddriver:Depends=xorg-video-abi-11|xorg-video-abi-12|xorg-video-abi-13|xorg-video-abi-14|xorg-video-abi-15, xserver-xorg-core xviddriver:Provides=xorg-driver-video debian/compat0000644000000000000000000000000211503661754010374 0ustar 7 debian/overrides/0000775000000000000000000000000012317542653011202 5ustar debian/overrides/fglrx-updates0000664000000000000000000000237212317543105013707 0ustar #We are in restricted, whether lintian has ever heard of it or not fglrx: unknown-section restricted #These unfortunately are needed if we really want to be able to link? fglrx: arch-independent-package-contains-binary-or-object ./usr/src/fglrx-13.350.1/libfglrx_ip.a.GCC3 fglrx: unstripped-binary-or-object ./usr/src/fglrx-13.350.1/libfglrx_ip.a.GCC3 fglrx: arch-independent-package-contains-binary-or-object ./usr/src/fglrx-13.350.1/libfglrx_ip.a.GCC4 fglrx: unstripped-binary-or-object ./usr/src/fglrx-13.350.1/libfglrx_ip.a.GCC4 #AMD doesn't appear to document these binaries fglrx: binary-without-manpage usr/bin/aticonfig fglrx: binary-without-manpage usr/bin/atiodcli fglrx: binary-without-manpage usr/bin/atiode fglrx: binary-without-manpage usr/bin/fgl_glxgears fglrx: binary-without-manpage usr/bin/fglrxinfo fglrx: binary-without-manpage usr/sbin/atieventsd fglrx: binary-without-manpage usr/sbin/amdnotifyui #We have NO control of AMD's build process fglrx: sharedobject-in-library-directory-missing-soname usr/lib/libatiadlxx.so fglrx: shlib-with-non-pic-code usr/lib/libGL.so.1.2 #It's awfully silly to break these out as they are only ever installed with fglrx fglrx: package-name-doesnt-match-sonames libGL1 libfglrx-dm1.0 libfglrx-pp1.0 libfglrx-tvout1 debian/overrides/fglrx-updates-dev0000664000000000000000000000016612317542653014471 0ustar #We are in restricted, whether lintian has ever heard of it or not xorg-driver-fglrx-dev: unknown-section restricted debian/overrides/fglrx-amdcccle-updates0000664000000000000000000000032612317542653015444 0ustar #We are in restricted, whether lintian has ever heard of it or not fglrx-amdcccle: unknown-section restricted #AMD doesn't appear to document these binaries fglrx-amdcccle: binary-without-manpage usr/bin/amdcccle debian/overrides/fglrx-updates.in0000664000000000000000000000240212317542653014315 0ustar #We are in restricted, whether lintian has ever heard of it or not fglrx: unknown-section restricted #These unfortunately are needed if we really want to be able to link? fglrx: arch-independent-package-contains-binary-or-object ./usr/src/fglrx-#CVERSION#/libfglrx_ip.a.GCC3 fglrx: unstripped-binary-or-object ./usr/src/fglrx-#CVERSION#/libfglrx_ip.a.GCC3 fglrx: arch-independent-package-contains-binary-or-object ./usr/src/fglrx-#CVERSION#/libfglrx_ip.a.GCC4 fglrx: unstripped-binary-or-object ./usr/src/fglrx-#CVERSION#/libfglrx_ip.a.GCC4 #AMD doesn't appear to document these binaries fglrx: binary-without-manpage usr/bin/aticonfig fglrx: binary-without-manpage usr/bin/atiodcli fglrx: binary-without-manpage usr/bin/atiode fglrx: binary-without-manpage usr/bin/fgl_glxgears fglrx: binary-without-manpage usr/bin/fglrxinfo fglrx: binary-without-manpage usr/sbin/atieventsd fglrx: binary-without-manpage usr/sbin/amdnotifyui #We have NO control of AMD's build process fglrx: sharedobject-in-library-directory-missing-soname usr/lib/libatiadlxx.so fglrx: shlib-with-non-pic-code usr/lib/libGL.so.1.2 #It's awfully silly to break these out as they are only ever installed with fglrx fglrx: package-name-doesnt-match-sonames libGL1 libfglrx-dm1.0 libfglrx-pp1.0 libfglrx-tvout1 debian/fglrx-updates.prerm.in0000664000000000000000000000212612317542653013442 0ustar #!/bin/sh # prerm script for fglrx # # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. PACKAGE_NAME=#DRIVERNAME# CVERSION=`dpkg-query -W -f='${Version}' $PACKAGE_NAME | awk -F "-" '{print $1}' | cut -d\: -f2` remove_dkms_module() { echo "Removing all DKMS Modules" dkms remove -m $PACKAGE_NAME -v $CVERSION --all > /dev/null echo "Done." } case "$1" in upgrade) remove_dkms_module ;; remove) remove_dkms_module update-alternatives --remove #DEB_HOST_MULTIARCH#_gl_conf /#LDSOCONF# update-alternatives --remove #OTHER_ARCH#_gl_conf /#ALTLDSOCONF# # Remove PXpress alternatives update-alternatives --remove #DEB_HOST_MULTIARCH#_gl_conf /#PXLDSOCONF# update-alternatives --remove #OTHER_ARCH#_gl_conf /#ALTPXLDSOCONF# # Trigger gmenu so as to update the gnome menu dpkg-trigger --by-package=$PACKAGE_NAME gmenucache || true # explicit ldconfig due to alternatives LDCONFIG_NOTRIGGER=y ldconfig # Update the grub gfxpayload blacklist if which update-grub-gfxpayload >/dev/null 2>&1; then update-grub-gfxpayload fi ;; esac #DEBHELPER# debian/pxpress/0000775000000000000000000000000012274137255010704 5ustar debian/pxpress/switchlibglx0000744000000000000000000002221712274137255013335 0ustar #!/usr/bin/python # # switchlibglx # # Copyright 2011 Canonical Ltd. # Author: Alberto Milone # # Script to switch between AMD and Intel graphics driver libraries. # # Usage: # switchlibglx amd|intel|query # amd: switches to AMD's version of libglx.so # intel: switches to the open-source version of libglx.so # query: checks which version is currently active and writes # "amd", "intel" or "unknown" to the standard output # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without # restriction, including without limitation the rights to use, # copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following # conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. import optparse import os import sys import re import subprocess from subprocess import Popen, PIPE, CalledProcessError class Alternatives: def __init__(self, master_link): self._open_drivers_alternative = 'mesa/ld.so.conf' self._command = 'update-alternatives' self._master_link = master_link # Make sure that the PATH environment variable is set if not os.environ.get('PATH'): os.environ['PATH'] = '/sbin:/usr/sbin:/bin:/usr/bin' def list_alternatives(self): '''Get the list of alternatives for the master link''' dev_null = open('/dev/null', 'w') alternatives = [] p1 = Popen([self._command, '--list', self._master_link], stdout=PIPE, stderr=dev_null) p = p1.communicate()[0] dev_null.close() c = p.split('\n') for line in c: line.strip() and alternatives.append(line.strip()) return alternatives def get_current_alternative(self): '''Get the alternative in use''' dev_null = open('/dev/null', 'w') current_alternative = None p1 = Popen([self._command, '--query', self._master_link], stdout=PIPE, stderr=dev_null) p = p1.communicate()[0] dev_null.close() c = p.split('\n') for line in c: if line.strip().startswith('Value:'): return line.replace('Value:', '').strip() return None def get_alternative_by_name(self, name): '''Get the alternative link by providing the driver name''' alternatives = self.list_alternatives() for alternative in alternatives: if alternative.__contains__(name): return alternative return None def get_open_drivers_alternative(self): '''Get the alternative link for open drivers''' return self.get_alternative_by_name(self._open_drivers_alternative) def update_gmenu(self): '''Trigger gmenu so that the icons will show up in the menu''' try: subprocess.check_call(['dpkg-trigger', '--by-package=fakepackage', 'gmenucache'], stdout=open(os.devnull, 'w')) subprocess.check_call(['dpkg', '--configure', '-a'], stdout=open(os.devnull, 'w')) except (OSError, CalledProcessError): pass def set_alternative(self, path): '''Tries to set an alternative and returns the boolean exit status''' try: subprocess.check_call([self._command, '--set', self._master_link, path], stdout=open(os.devnull, 'w')) self.ldconfig() except CalledProcessError: return False self.update_gmenu() return True def ldconfig(self): '''Call ldconfig''' try: subprocess.check_call(['ldconfig'], stdout=open(os.devnull, 'w')) except CalledProcessError: return False return True class Switcher(object): def __init__(self): self._supported_architectures = {'i386': 'i386', 'amd64': 'x86_64'} main_arch = self._get_architecture() other_arch = self._supported_architectures.values()[ int(not self._supported_architectures .values().index(main_arch))] main_alternative_name = self._get_alternative_name_from_arch(main_arch) other_alternative_name = self._get_alternative_name_from_arch(other_arch) # We have 2 alternatives, one for each architecture self._gl_switcher = Alternatives(main_alternative_name) self._gl_switcher_other = Alternatives(other_alternative_name) def _get_architecture(self): dev_null = open('/dev/null', 'w') p1 = Popen(['dpkg', '--print-architecture'], stdout=PIPE, stderr=dev_null) p = p1.communicate()[0] dev_null.close() architecture = p.strip() return self._supported_architectures.get(architecture) def _get_alternative_name_from_arch(self, architecture): alternative = '%s-linux-gnu_gl_conf' % architecture return alternative def _simplify_x_alternative_name(self, alternative): return alternative.split('/')[-1] def _simplify_gl_alternative_name(self, alternative): return alternative.split('/')[-2] def _get_gl_alternatives_list(self): raw_alternatives = self._gl_switcher.list_alternatives() return [ self._simplify_gl_alternative_name(x) for x in raw_alternatives ] def _update_initramfs(self): subprocess.call(['update-initramfs', '-u']) # This may not be necessary subprocess.call(['update-initramfs', '-u', '-k', os.uname()[2]]) def _get_current_alternative(self): # This is a list as the 2nd item could be another alternative # we might be looking for e.g. an xorg.conf alternative alternatives = [None, None] raw_gl_alternative = self._gl_switcher.get_current_alternative() raw_gl_alternative_other = self._gl_switcher_other.get_current_alternative() if (raw_gl_alternative != None): alternatives[0] = self._simplify_gl_alternative_name(raw_gl_alternative) if (raw_gl_alternative_other != None): alternatives[1] = self._simplify_gl_alternative_name(raw_gl_alternative_other) return alternatives def enable_alternative(self, alternative): # Make sure that the alternative exists gl_alternative = self._gl_switcher.get_alternative_by_name(alternative) gl_alternative_other = self._gl_switcher_other.get_alternative_by_name(alternative) # See if they are null # Abort if gl_alternative is null if gl_alternative and gl_alternative_other: success = (self._gl_switcher.set_alternative(gl_alternative) and self._gl_switcher_other.set_alternative(gl_alternative_other)) return success else: sys.stderr.write("Error: no alternative can be found for %s\n" % alternative) return False def print_current_alternative(self): alternatives = self._get_current_alternative() try: alternative = str(alternatives[0]) alternative_other = str(alternatives[1]) except IndexError: # No alternative exists return False if alternative == alternative_other == 'fglrx': print 'amd' elif alternative == alternative_other == 'pxpress': print 'intel' else: print 'unknown' return True def check_root(): if not os.geteuid() == 0: sys.stderr.write("This operation requires root privileges\n") exit(1) def handle_alternatives_error(mode): sys.stderr.write('Error: %s mode can\'t be enabled\n' % mode) exit(1) def handle_query_error(): sys.stderr.write("Error: no alternative can be found\n") exit(1) def usage(): sys.stderr.write("Usage: %s amd|intel|query\n" % (sys.argv[0])) if __name__ == '__main__': try: arg = sys.argv[1] except IndexError: arg = None check_root() if len(sys.argv[1:]) != 1: usage() exit(1) switcher = Switcher() if arg == "amd": if not switcher.enable_alternative('fglrx'): handle_alternatives_error(arg) elif arg == "intel": if not switcher.enable_alternative('pxpress'): handle_alternatives_error(arg) elif arg == "query": if not switcher.print_current_alternative(): handle_query_error() else: usage() sys.exit(1) exit(0) debian/pxpress/switchlibGL0000744000000000000000000002221312274137255013041 0ustar #!/usr/bin/python # # switchlibGL # # Copyright 2011 Canonical Ltd. # Author: Alberto Milone # # Script to switch between AMD and Intel graphics driver libraries. # # Usage: # switchlibGL amd|intel|query # amd: switches to AMD's version of libGL.so # intel: switches to the open-source version of libGL.so # query: checks which version is currently active and writes # "amd", "intel" or "unknown" to the standard output # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation # files (the "Software"), to deal in the Software without # restriction, including without limitation the rights to use, # copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following # conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES # OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. import optparse import os import sys import re import subprocess from subprocess import Popen, PIPE, CalledProcessError class Alternatives: def __init__(self, master_link): self._open_drivers_alternative = 'mesa/ld.so.conf' self._command = 'update-alternatives' self._master_link = master_link # Make sure that the PATH environment variable is set if not os.environ.get('PATH'): os.environ['PATH'] = '/sbin:/usr/sbin:/bin:/usr/bin' def list_alternatives(self): '''Get the list of alternatives for the master link''' dev_null = open('/dev/null', 'w') alternatives = [] p1 = Popen([self._command, '--list', self._master_link], stdout=PIPE, stderr=dev_null) p = p1.communicate()[0] dev_null.close() c = p.split('\n') for line in c: line.strip() and alternatives.append(line.strip()) return alternatives def get_current_alternative(self): '''Get the alternative in use''' dev_null = open('/dev/null', 'w') current_alternative = None p1 = Popen([self._command, '--query', self._master_link], stdout=PIPE, stderr=dev_null) p = p1.communicate()[0] dev_null.close() c = p.split('\n') for line in c: if line.strip().startswith('Value:'): return line.replace('Value:', '').strip() return None def get_alternative_by_name(self, name): '''Get the alternative link by providing the driver name''' alternatives = self.list_alternatives() for alternative in alternatives: if alternative.__contains__(name): return alternative return None def get_open_drivers_alternative(self): '''Get the alternative link for open drivers''' return self.get_alternative_by_name(self._open_drivers_alternative) def update_gmenu(self): '''Trigger gmenu so that the icons will show up in the menu''' try: subprocess.check_call(['dpkg-trigger', '--by-package=fakepackage', 'gmenucache'], stdout=open(os.devnull, 'w')) subprocess.check_call(['dpkg', '--configure', '-a'], stdout=open(os.devnull, 'w')) except (OSError, CalledProcessError): pass def set_alternative(self, path): '''Tries to set an alternative and returns the boolean exit status''' try: subprocess.check_call([self._command, '--set', self._master_link, path], stdout=open(os.devnull, 'w')) self.ldconfig() except CalledProcessError: return False self.update_gmenu() return True def ldconfig(self): '''Call ldconfig''' try: subprocess.check_call(['ldconfig'], stdout=open(os.devnull, 'w')) except CalledProcessError: return False return True class Switcher(object): def __init__(self): self._supported_architectures = {'i386': 'i386', 'amd64': 'x86_64'} main_arch = self._get_architecture() other_arch = self._supported_architectures.values()[ int(not self._supported_architectures .values().index(main_arch))] main_alternative_name = self._get_alternative_name_from_arch(main_arch) other_alternative_name = self._get_alternative_name_from_arch(other_arch) # We have 2 alternatives, one for each architecture self._gl_switcher = Alternatives(main_alternative_name) self._gl_switcher_other = Alternatives(other_alternative_name) def _get_architecture(self): dev_null = open('/dev/null', 'w') p1 = Popen(['dpkg', '--print-architecture'], stdout=PIPE, stderr=dev_null) p = p1.communicate()[0] dev_null.close() architecture = p.strip() return self._supported_architectures.get(architecture) def _get_alternative_name_from_arch(self, architecture): alternative = '%s-linux-gnu_gl_conf' % architecture return alternative def _simplify_x_alternative_name(self, alternative): return alternative.split('/')[-1] def _simplify_gl_alternative_name(self, alternative): return alternative.split('/')[-2] def _get_gl_alternatives_list(self): raw_alternatives = self._gl_switcher.list_alternatives() return [ self._simplify_gl_alternative_name(x) for x in raw_alternatives ] def _update_initramfs(self): subprocess.call(['update-initramfs', '-u']) # This may not be necessary subprocess.call(['update-initramfs', '-u', '-k', os.uname()[2]]) def _get_current_alternative(self): # This is a list as the 2nd item could be another alternative # we might be looking for e.g. an xorg.conf alternative alternatives = [None, None] raw_gl_alternative = self._gl_switcher.get_current_alternative() raw_gl_alternative_other = self._gl_switcher_other.get_current_alternative() if (raw_gl_alternative != None): alternatives[0] = self._simplify_gl_alternative_name(raw_gl_alternative) if (raw_gl_alternative_other != None): alternatives[1] = self._simplify_gl_alternative_name(raw_gl_alternative_other) return alternatives def enable_alternative(self, alternative): # Make sure that the alternative exists gl_alternative = self._gl_switcher.get_alternative_by_name(alternative) gl_alternative_other = self._gl_switcher_other.get_alternative_by_name(alternative) # See if they are null # Abort if gl_alternative is null if gl_alternative and gl_alternative_other: success = (self._gl_switcher.set_alternative(gl_alternative) and self._gl_switcher_other.set_alternative(gl_alternative_other)) return success else: sys.stderr.write("Error: no alternative can be found for %s\n" % alternative) return False def print_current_alternative(self): alternatives = self._get_current_alternative() try: alternative = str(alternatives[0]) alternative_other = str(alternatives[1]) except IndexError: # No alternative exists return False if alternative == alternative_other == 'fglrx': print 'amd' elif alternative == alternative_other == 'pxpress': print 'intel' else: print 'unknown' return True def check_root(): if not os.geteuid() == 0: sys.stderr.write("This operation requires root privileges\n") exit(1) def handle_alternatives_error(mode): sys.stderr.write('Error: %s mode can\'t be enabled\n' % mode) exit(1) def handle_query_error(): sys.stderr.write("Error: no alternative can be found\n") exit(1) def usage(): sys.stderr.write("Usage: %s amd|intel|query\n" % (sys.argv[0])) if __name__ == '__main__': try: arg = sys.argv[1] except IndexError: arg = None check_root() if len(sys.argv[1:]) != 1: usage() exit(1) switcher = Switcher() if arg == "amd": if not switcher.enable_alternative('fglrx'): handle_alternatives_error(arg) elif arg == "intel": if not switcher.enable_alternative('pxpress'): handle_alternatives_error(arg) elif arg == "query": if not switcher.print_current_alternative(): handle_query_error() else: usage() sys.exit(1) exit(0) debian/copyright0000664000000000000000000003032512317543105011127 0ustar This package was debianized by Mario Limonciello on Tue, 27 May 2008 10:22:21 -0600. The latest Linux graphics driver was downloaded from the AMD website (www.amd.com), and then this package was generated using: sh $VERSION.run --buildpkg Ubuntu/source ---------------------------------------------------------------------------- Driver License: Copyright (c) 2011 Advanced Micro Devices, Inc. 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. ---------------------------------------------------------------------------- Packaging scripts: Copyright (C) 2002-2005 Flavio Stanchina Copyright (C) 2005-2006 Aric Cyr Copyright (C) 2007-2009 Mario Limonciello Copyright (C) 2009-2011 Canonical Ltd. The packaging scripts are copyrighted under the MIT license. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. debian/fglrx-updates.manpages0000664000000000000000000000004012317542653013474 0ustar usr/share/man/man8/atieventsd.8 debian/fglrx-updates.atieventsd.init0000664000000000000000000000220112317542653015012 0ustar #!/bin/sh ### BEGIN INIT INFO # Provides: atieventsd # Required-Start: $syslog # Required-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO # Original design: # Copyright (c) 2006, ATI Technologies Inc. All rights reserved. PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMONPATH=/usr/sbin/atieventsd DAEMONNAME=atieventsd DAEMONOPTS="" [ -f $DAEMONPATH ] || exit 0 . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting $DAEMONNAME" start-stop-daemon --start --quiet --oknodo --exec $DAEMONPATH -- $DAEMONOPTS log_end_msg $? ;; stop) log_daemon_msg "Stopping $DAEMONNAME" start-stop-daemon --stop --quiet --exec $DAEMONPATH --oknodo log_end_msg $? ;; restart) $0 stop sleep 1 $0 start ;; reload|force-reload) log_daemon_msg "Reloading isn't supported by $DAEMONNAME" log_end_msg 0 ;; *) echo "$0 {start|stop|restart}" exit 1 ;; esac exit 0 debian/README.Debian0000664000000000000000000000705211706245010011231 0ustar AMD video drivers for Ubuntu ============================ Further information can be found at http://support.amd.com/ -- look for the "Download Drivers" area and follow links to the Linux drivers. This package is generated automatically via the official AMD driver installer that is available from the above homepage. DKMS ------------------------- Ubuntu includes support to build modules using a utility developed by Dell, called DKMS. It will automatically build your kernel module for you when you first boot into the kernel (or as necessary). See the DKMS man page for more information. Note: the OBSOLETE_BY line in dkms.conf may specify a kernel version which obsoletes the necessity for this particular DKMS module. For example, OBSOLETE_BY=2.6.39 will prevent DKMS from building modules for kernels >= 2.6.39. Source building ------------------------- Starting with Intrepid, an extra target has been added to allow --buildpkg Ubuntu/source. This target should be adequate for sending up to the Ubuntu archive. By keeping the same source package in both places, there should be fewer conflicts for people. On a semiregular basis, the debian/changelog should be merged into this package, but people adding to the Ubuntu archive should be sure to update these sorts of things otherewise. Kernel patches ------------------------- If you need to provide a kernel patch (say for a kernel not formally supported yet by AMD), you can add this patch in the debian/patches directory. It will only be used for the current development release, as indicated in debian/rules. When upgrading from current development release to next development release, this codename in debian/rules should be bumped too. Copyright file ------------------------- The copyright file is automatically generated in debian/rules by concatenating debian/copyright_stub0, AMD's EULA and debian/ copyright_stub1. This allows us to always ship the latest EULA from AMD. In order to update the copyright file manually it's sufficient to use the "debclean" command. Update procedure ------------------------- When a new -fglrx is available, do the following to update fglrx-installer: 0. On your build system, make sure you have the prerequisites installed: $ sudo apt-get build-dep fglrx-installer 1. Download the archive file and unpack it to get the .run file 2. Do a --buildpkg Ubuntu/source, which will build a diff.gz, orig.tar.gz and an unsigned dsc. For example: $ bash ./ati-driver-installer-*.run --buildpkg Ubuntu/source This might prompt for your password for sudo privs. It may install things to your system it needs for constructing the source packages, such as cdbs, libstdc++, etc. (As of 8.600 it seems to no longer do this for source pkgs.) 3. dpkg-source -x that dsc to unpack it into a directory, then cd into the resultant directory. 4. dch -e to update the new changelog entry. Make sure to mark out any bugs that get closed with it. Also doublecheck that it includes debian/ changes up to the current Ubuntu version; if not, some merging may be required. 5. debuild -S to produce a new .dsc 6. Verify the new .dsc produces valid .debs by running it through pbuilder, sbuild, etc. as usual. 7. Install and test the .debs, and then dput the .changes file If any changes to files in debian/ are needed, make sure to let the maintainer (Alberto aka tseliot) know, so he can sync them into the git tree AMD pulls from. -- Alberto Milone Thu, 21 Apr 2011 21:53:14 +0200 debian/fglrx-updates.links0000664000000000000000000000061612317543105013023 0ustar usr/lib/fglrx/libfglrx_dm.so.1.0 usr/lib/fglrx/libfglrx_dm.so.1 usr/lib/fglrx/libatiuki.so.1.0 usr/lib/fglrx/libatiuki.so.1 usr/lib/fglrx/libGL.so.1.2 usr/lib/fglrx/libGL.so.1 usr/lib/fglrx/libGL.so.1 usr/lib/fglrx/libGL.so usr/lib/fglrx/libOpenCL.so.1 usr/lib/fglrx/libOpenCL.so usr/lib/fglrx/libAMDXvBA.so.1.0 usr/lib/fglrx/libAMDXvBA.so.1 usr/lib/fglrx/bin/aticonfig usr/lib/fglrx/bin/amdconfig debian/fglrx-updates.links.in0000664000000000000000000000056212317542653013437 0ustar #PKGLIBDIR#/libfglrx_dm.so.1.0 #PKGLIBDIR#/libfglrx_dm.so.1 #PKGLIBDIR#/libatiuki.so.1.0 #PKGLIBDIR#/libatiuki.so.1 #PKGLIBDIR#/libGL.so.1.2 #PKGLIBDIR#/libGL.so.1 #PKGLIBDIR#/libGL.so.1 #PKGLIBDIR#/libGL.so #PKGLIBDIR#/libOpenCL.so.1 #PKGLIBDIR#/libOpenCL.so #PKGLIBDIR#/libAMDXvBA.so.1.0 #PKGLIBDIR#/libAMDXvBA.so.1 #PKGLIBDIR#/bin/aticonfig #PKGLIBDIR#/bin/amdconfig debian/dkms/0000775000000000000000000000000011706245010010122 5ustar debian/dkms/patches/0000775000000000000000000000000012317542667011572 5ustar debian/dkms/patches/buildfix_kernel_3.14.patch0000664000000000000000000000133212317542667016425 0ustar From 5f35de9aa010050f229b0ea1cbd6cfe18cc9a3c6 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Thu, 3 Apr 2014 15:38:52 +0200 Subject: [PATCH 1/1] Add support for Linux 3.14 --- firegl_public.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firegl_public.c b/firegl_public.c index 5eb2506..353cc0a 100755 --- a/firegl_public.c +++ b/firegl_public.c @@ -1756,7 +1756,7 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void) */ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void) { -#ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS +#if defined(CONFIG_UIDGID_STRICT_TYPE_CHECKS) || LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0) return __kuid_val(current_euid()); #else -- 1.9.1 debian/dkms/patches/replace-archdata.acpi_handle-with-acpi_node.handle.patch0000664000000000000000000000204612270437233024333 0ustar From d6bdc94978c0bca14d8be4bdf1e50c433a9448e0 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Tue, 8 Jan 2013 15:55:26 +0100 Subject: [PATCH 1/1] Replace archdata.acpi_handle with acpi_node.handle This is required for Linux >= 3.8. --- kcl_acpi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kcl_acpi.c b/kcl_acpi.c index 5f1c195..2b38a92 100755 --- a/kcl_acpi.c +++ b/kcl_acpi.c @@ -775,7 +775,9 @@ static unsigned int KCL_ACPI_SearchHandles(KCL_ACPI_DevHandle handle, unsigned i unsigned int ATI_API_CALL KCL_ACPI_GetHandles(kcl_match_info_t *pInfo) { #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12) - #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19) + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0) + pInfo->video_handle = pInfo->pcidev->dev.acpi_node.handle; + #elif LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19) pInfo->video_handle = pInfo->pcidev->dev.archdata.acpi_handle; #else pInfo->video_handle = pInfo->pcidev->dev.firmware_data; -- 1.7.9.5 debian/dkms/patches/replace-do_mmap-and-do_munmap-with-vm_mmap-and-vm_mu.patch0000664000000000000000000000324412006262714024627 0ustar From e7fd110cc0af89b0e0e92bd75b46def496e1caf1 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Fri, 15 Jun 2012 18:24:35 +0200 Subject: [PATCH 1/1] Replace do_mmap() and do_munmap() with vm_mmap() and vm_munmap() --- firegl_public.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/firegl_public.c b/firegl_public.c index 1612722..4871746 100755 --- a/firegl_public.c +++ b/firegl_public.c @@ -2146,7 +2146,11 @@ unsigned long ATI_API_CALL KCL_MEM_AllocLinearAddrInterval( prot = PROT_READ|PROT_WRITE; down_write(¤t->mm->mmap_sem); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) + vaddr = (void *) vm_mmap(file, 0, len, prot, flags, pgoff); +#else vaddr = (void *) do_mmap(file, 0, len, prot, flags, pgoff); +#endif up_write(¤t->mm->mmap_sem); if (IS_ERR(vaddr)) return 0; @@ -2159,6 +2163,17 @@ int ATI_API_CALL KCL_MEM_ReleaseLinearAddrInterval(unsigned long addr, unsigned int retcode = 0; down_write(¤t->mm->mmap_sem); + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) +#ifdef FGL_LINUX_RHEL_MUNMAP_API + retcode = vm_munmap(addr, + len, + 1); +#else + retcode = vm_munmap(addr, + len); +#endif +#else #ifdef FGL_LINUX_RHEL_MUNMAP_API retcode = do_munmap(current->mm, addr, @@ -2169,6 +2184,7 @@ int ATI_API_CALL KCL_MEM_ReleaseLinearAddrInterval(unsigned long addr, unsigned addr, len); #endif +#endif up_write(¤t->mm->mmap_sem); return retcode; } -- 1.7.9.5 debian/dkms/patches/replace-global-lock-with-a-driver-specific-mutex.patch0000664000000000000000000000400211706245010023770 0ustar From 33585d73b1ce3c9480d2cb928a75fb409ebd8717 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Tue, 14 Jun 2011 19:47:56 +0200 Subject: [PATCH 1/1] replace global lock with a driver specific mutex --- drmP.h | 2 +- firegl_public.c | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drmP.h b/drmP.h index b18e7e8..a8e9cae 100644 --- a/drmP.h +++ b/drmP.h @@ -57,7 +57,7 @@ #include #include #include -#include /* For (un)lock_kernel */ +#include #include #include #if defined(__alpha__) || defined(__powerpc__) diff --git a/firegl_public.c b/firegl_public.c index 66ae0c6..d9b19a2 100644 --- a/firegl_public.c +++ b/firegl_public.c @@ -114,7 +114,7 @@ #include #include #include -#include +#include // newer SuSE kernels need this #include @@ -289,6 +289,8 @@ typedef enum KCL_MEM_PAT_ENABLED_KERNEL } kcl_mem_pat_status_t; +static DEFINE_MUTEX(ati_mutex); + static kcl_mem_pat_status_t kcl_mem_pat_status = KCL_MEM_PAT_DISABLED; static u64 kcl_mem_pat_orig_val; @@ -1048,9 +1050,6 @@ static int __init firegl_init_module(void) dev->pubdev.signature = FGL_DEVICE_SIGNATURE; - for (i = 0; i < __KE_MAX_SPINLOCKS; i++) - dev->spinlock[i] = SPIN_LOCK_UNLOCKED; - for (i=0; i < __KE_MAX_SEMAPHORES; i++) sema_init(&dev->struct_sem[i], 1); @@ -1900,13 +1899,13 @@ void ATI_API_CALL KCL_spin_unlock(void *lock) /** \brief Grab global kernel lock */ void ATI_API_CALL KCL_GlobalKernelLock(void) { - lock_kernel(); + mutex_lock(&ati_mutex); } /** \brief Release global kernel lock */ void ATI_API_CALL KCL_GlobalKernelUnlock(void) { - unlock_kernel(); + mutex_unlock(&ati_mutex); } /*****************************************************************************/ -- 1.7.4.1 debian/dkms/patches/replace-for_each_cpu_mask-with-for_each_possible_cpu.patch0000664000000000000000000000251712006262714025130 0ustar From a0548e00677143d06b009027c4f1af41a91be684 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Fri, 15 Jun 2012 19:07:29 +0200 Subject: [PATCH 2/2] Replace for_each_cpu_mask() with for_each_possible_cpu(p) --- firegl_public.c | 4 ++++ kcl_ioctl.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/firegl_public.c b/firegl_public.c index eb32037..5c61a09 100755 --- a/firegl_public.c +++ b/firegl_public.c @@ -4199,7 +4199,11 @@ static int kasInitExecutionLevels(unsigned long level_init) { unsigned int p; KCL_DEBUG5(FN_FIREGL_KAS, "%d\n", level_init); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0) + for_each_possible_cpu(p) +#else for_each_cpu_mask(p, cpu_possible_map) +#endif { KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d\n", p); preempt_disable(); diff --git a/kcl_ioctl.c b/kcl_ioctl.c index 4bf409f..f5b190a 100755 --- a/kcl_ioctl.c +++ b/kcl_ioctl.c @@ -213,6 +213,10 @@ void ATI_API_CALL KCL_IOCTL_UnregisterConversion32(unsigned int cmd) #endif } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0) +DEFINE_PER_CPU(unsigned long, old_rsp); +#endif + /** \brief Allocate user space for 32-bit app making 64-bit IOCTL * \param size [in] Number of bytes to allocate * \return Pointer to allocated memory -- 1.7.9.5 debian/dkms/patches/fix-build-issue-on-i386-where-TS_USEDFPU-is-no-longe.patch0000664000000000000000000000225712006262714023672 0ustar From a679eb9e1e691eb04b4e266caab20f19be704de7 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Fri, 29 Jun 2012 18:46:12 +0200 Subject: [PATCH 1/1] Fix build issue on i386 where TS_USEDFPU is no longer available Signed-off-by: Alberto Milone --- firegl_public.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/firegl_public.c b/firegl_public.c index 1612722..5a446be 100755 --- a/firegl_public.c +++ b/firegl_public.c @@ -187,6 +187,9 @@ #include #include #include "asm/i387.h" +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0) +#include +#endif #include "firegl_public.h" #include "kcl_osconfig.h" @@ -5834,10 +5837,16 @@ void ATI_API_CALL KCL_fpu_begin(void) #ifdef CONFIG_X86_64 kernel_fpu_begin(); #else +#ifndef TS_USEDFPU + preempt_disable(); + if (__thread_has_fpu(current)) + __save_init_fpu(current); +#else struct thread_info *cur_task = current_thread_info(); preempt_disable(); if (cur_task->status & TS_USEDFPU) __save_init_fpu(cur_task->task); +#endif else clts(); #endif -- 1.7.9.5 debian/dkms/patches/buildfix_kernel_3.13.patch0000664000000000000000000000206212270442113016404 0ustar From 6ea087272c0774fc86693a6fc379a2226e10b323 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Wed, 8 Jan 2014 16:09:58 +0100 Subject: [PATCH 1/1] Add support for Linux 3.13 Do not use the ACPI handle which was removed from struct acpi_dev_node in Linux 3.13. Use the ACPI companion device instead. --- kcl_acpi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kcl_acpi.c b/kcl_acpi.c index 5eb9fb1..96b6113 100755 --- a/kcl_acpi.c +++ b/kcl_acpi.c @@ -793,7 +793,11 @@ unsigned int ATI_API_CALL KCL_ACPI_GetHandles(kcl_match_info_t *pInfo) { #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12) #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0) + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0) + pInfo->video_handle = pInfo->pcidev->dev.acpi_node.companion; + #else pInfo->video_handle = pInfo->pcidev->dev.acpi_node.handle; + #endif #elif LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19) pInfo->video_handle = pInfo->pcidev->dev.archdata.acpi_handle; #else -- 1.7.9.5 debian/dkms/patches/replace_old_procfs_calls.patch0000664000000000000000000002730612254350670017615 0ustar From 455d3759e6d732a4e382dbdeca35afaedaf3f52e Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Thu, 20 Jun 2013 16:02:12 +0200 Subject: [PATCH 1/1] Add support for Linux 3.10 source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-drivers/ati-drivers/files/ati-drivers-13.6-linux-3.10-proc.diff --- drmP.h | 4 - drm_proc.h | 55 ------------ firegl_public.c | 252 +++++++++++++++++++++++++++++++++++++++++++------------ 3 files changed, 197 insertions(+), 114 deletions(-) diff --git a/drmP.h b/drmP.h index 81546b2..4e74526 100755 --- a/drmP.h +++ b/drmP.h @@ -901,10 +901,6 @@ int DRM(stub_register)(const char *name, int DRM(stub_unregister)(int minor); /* Proc support (drm_proc.h) */ -extern struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, - int minor, - struct proc_dir_entry *root, - struct proc_dir_entry **dev_root); extern int DRM(proc_cleanup)(int minor, struct proc_dir_entry *root, struct proc_dir_entry *dev_root); diff --git a/drm_proc.h b/drm_proc.h index 1e3ab4a..c52ad7e 100755 --- a/drm_proc.h +++ b/drm_proc.h @@ -75,61 +75,6 @@ struct drm_proc_list { #define DRM_PROC_ENTRIES (sizeof(DRM(proc_list))/sizeof(DRM(proc_list)[0])) /** - * Initialize the DRI proc filesystem for a device. - * - * \param dev DRM device. - * \param minor device minor number. - * \param root DRI proc dir entry. - * \param dev_root resulting DRI device proc dir entry. - * \return root entry pointer on success, or NULL on failure. - * - * Create the DRI proc root entry "/proc/ati", the device proc root entry - * "/proc/ati/%minor%/", and each entry in proc_list as - * "/proc/ati/%minor%/%name%". - */ -struct proc_dir_entry *DRM(proc_init)(drm_device_t *dev, int minor, - struct proc_dir_entry *root, - struct proc_dir_entry **dev_root) -{ - struct proc_dir_entry *ent; - int i, j; - char name[64]; - - if (!minor) root = create_proc_entry("dri", S_IFDIR, NULL); - if (!root) { - DRM_ERROR("Cannot create /proc/ati\n"); - return NULL; - } - - sprintf(name, "%d", minor); - *dev_root = create_proc_entry(name, S_IFDIR, root); - if (!*dev_root) { - DRM_ERROR("Cannot create /proc/ati/%s\n", name); - return NULL; - } - - for (i = 0; i < DRM_PROC_ENTRIES; i++) { - ent = create_proc_entry(DRM(proc_list)[i].name, - S_IFREG|S_IRUGO, *dev_root); - if (!ent) { - DRM_ERROR("Cannot create /proc/ati/%s/%s\n", - name, DRM(proc_list)[i].name); - for (j = 0; j < i; j++) - remove_proc_entry(DRM(proc_list)[i].name, - *dev_root); - remove_proc_entry(name, root); - if (!minor) remove_proc_entry("dri", NULL); - return NULL; - } - ent->read_proc = DRM(proc_list)[i].f; - ent->data = dev; - } - - return root; -} - - -/** * Cleanup the proc filesystem resources. * * \param minor device minor number. diff --git a/firegl_public.c b/firegl_public.c index d3ad3ce..890a0aa 100755 --- a/firegl_public.c +++ b/firegl_public.c @@ -583,6 +583,202 @@ kcl_proc_list_t KCL_PROC_FileList[] = { "NULL", NULL, NULL} // Terminate List!!! }; + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) +typedef int (read_proc_t)(char *page, char **start, off_t off, int count, int *eof, void *data); +typedef int (write_proc_t)(struct file *file, const char __user *buffer, unsigned long count, void *data); +#else +#define PDE_DATA(inode) (PDE((inode))->data) +#endif + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) +typedef struct { + read_proc_t *read_func; + write_proc_t *write_func; + void *data; +} gentoo_proc_wrapper_t; + +#define GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC 939750305 + +static ssize_t gentoo_proc_wrapper_read (struct file *myfile, char __user *buffer, size_t count, loff_t *offset) { + int is_eof=0, retval; + char *start, *usebuffer=NULL; + gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); + if (PAGE_SIZE<*offset) { + printk(KERN_ERR "Trying to read beyond 4k on proc\n"); + return -EIO; + } + //printk(KERN_NOTICE " call with: dev %p, func %p\n", wrapper_data->data, wrapper_data->read_func); + + usebuffer=kmalloc(2*PAGE_SIZE, GFP_KERNEL); + if (!usebuffer) + return -ENOMEM; + ((u32*)usebuffer)[1024]=GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC; + + retval=wrapper_data->read_func(usebuffer, &start, *offset, count, &is_eof, wrapper_data->data); + + BUG_ON(GENTOO_PROC_WRAPPER_OVERFLOW_MAGIC != ((u32*)usebuffer)[1024]); + + if (0 > retval) + { + printk(KERN_ERR "Proc read failed with %d", retval); + goto out; + } + + if (copy_to_user(buffer, start, retval)) { + printk(KERN_NOTICE "copy to user failed in amd drivers proc code\n"); + retval=-EFAULT; + goto out; + } + *offset+=retval; + +out: + if (usebuffer) + kfree(usebuffer); + return retval; +} +static ssize_t gentoo_proc_wrapper_write (struct file *myfile, const char __user *buffer, size_t count, loff_t *offset) { + gentoo_proc_wrapper_t* wrapper_data=(gentoo_proc_wrapper_t*)(myfile->private_data); + int retval=0; + void *usebuffer=NULL; + + BUG_ON(*offset); + if (!wrapper_data->write_func) + return -EPERM; + + usebuffer=kmalloc(count, GFP_KERNEL); + if (!usebuffer) + return -ENOMEM; + if (copy_from_user(usebuffer, buffer, count)) { + printk(KERN_NOTICE "copy from user failed in amd drivers proc code\n"); + retval=-EFAULT; + goto out; + } + + retval=wrapper_data->write_func(myfile, buffer, count, wrapper_data->data); + *offset+=retval; +out: + if (usebuffer) + kfree(usebuffer); + return retval; +} +static int gentoo_proc_wrapper_open(struct inode *myinode, struct file *myfile) { + myfile->private_data=PDE_DATA(myinode); + return generic_file_open(myinode, myfile); +} +struct file_operations gentoo_proc_fops = { + .read=gentoo_proc_wrapper_read, + .write=gentoo_proc_wrapper_write, + .open=gentoo_proc_wrapper_open, +}; + +static void *gentoo_proc_wrapper_data(read_proc_t *reader, write_proc_t *writer, void *mydata) { + gentoo_proc_wrapper_t *retval=kmalloc(sizeof(gentoo_proc_wrapper_t), GFP_KERNEL); + if (!retval) + return retval; + retval->read_func=reader; + retval->write_func=writer; + retval->data=mydata; + return retval; +} + +static struct proc_dir_entry *firegl_proc_init( device_t *dev, + int minor, + struct proc_dir_entry *root, + struct proc_dir_entry **dev_root, + kcl_proc_list_t *proc_list ) // proc_list must be terminated! +{ + struct proc_dir_entry *ent; + char name[64]; + kcl_proc_list_t *list = proc_list; + void *tempdata; + KCL_DEBUG1(FN_FIREGL_PROC, "minor %d, proc_list 0x%08lx\n", minor, (unsigned long)proc_list); + if (!minor) + { + root = proc_mkdir("ati", NULL); + } + + if (!root) + { + KCL_DEBUG_ERROR("Cannot create /proc/ati\n"); + return NULL; + } + + if (minor == 0) + { + // Global major debice number entry + tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_major_proc_read, NULL, NULL); + if (!tempdata) + return NULL; + ent = proc_create_data("major", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); + if (!ent) + { + remove_proc_entry("ati", NULL); + KCL_DEBUG_ERROR("Cannot create /proc/ati/major\n"); + return NULL; + } + } + + sprintf(name, "%d", minor); + *dev_root = proc_mkdir(name, root); + if (!*dev_root) { + remove_proc_entry("major", root); + remove_proc_entry("ati", NULL); + KCL_DEBUG_ERROR("Cannot create /proc/ati/%s\n", name); + return NULL; + } + + while (list->f || list->fops) + { + struct file_operations *my_fops = &gentoo_proc_fops; + if (list->fops) + { + my_fops = (struct file_operations*)list->fops; + tempdata=(dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev); + } + else { + BUG_ON(!list->f); + tempdata=gentoo_proc_wrapper_data((read_proc_t*)list->f, NULL, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev) ); + if (!tempdata) + return NULL; + } + //printk(KERN_NOTICE "name %s, dev %p, func %p, data %p\n", list->name, (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev), list->f, tempdata); + ent = proc_create_data(list->name, S_IFREG|S_IRUGO, *dev_root, my_fops, tempdata); + + if (!ent) + { + KCL_DEBUG_ERROR("Cannot create /proc/ati/%s/%s\n", name, list->name); + while (proc_list != list) + { + remove_proc_entry(proc_list->name, *dev_root); + proc_list++; + } + remove_proc_entry(name, root); + if (!minor) + { + remove_proc_entry("major", root); + remove_proc_entry("ati", NULL); + } + return NULL; + } + + list++; + } + + if (minor == 0) + { + // Global debug entry, only create it once + tempdata=gentoo_proc_wrapper_data((read_proc_t*)firegl_debug_proc_read_wrap, (write_proc_t*)firegl_debug_proc_write_wrap, dev); + if (!tempdata) + return NULL; + ent=proc_create_data("debug", S_IFREG|S_IRUGO, root, &gentoo_proc_fops, tempdata); + if (!ent) + return NULL; + } + + return root; +} +#else static struct proc_dir_entry *firegl_proc_init( device_t *dev, int minor, struct proc_dir_entry *root, @@ -677,6 +873,7 @@ static struct proc_dir_entry *firegl_proc_init( device_t *dev, return root; } +#endif static int firegl_proc_cleanup( int minor, struct proc_dir_entry *root, @@ -6135,59 +6332,4 @@ void ATI_API_CALL KCL_fpu_end(void) kernel_fpu_end(); } -/** Create new directory entry under "/proc/ati/...." - * Where - * root_dir - Root directory. If NULL then we should use "/proc/ati" root. - * name - Pointer to the name of directory - * access - Access attribute. We could use it to disable access to the directory for everybody accept owner. - * By default owner is root. - * Return NULL if failure. Pointer to proc_dir_entry otherwise - */ -void * KCL_create_proc_dir(void *root_dir, const char *name, unsigned int access) -{ - struct proc_dir_entry *dir = NULL; - - if (root_dir == NULL) - dir = create_proc_entry(name, S_IFDIR | access, firegl_stub_root); - else - dir = create_proc_entry(name, S_IFDIR | access, (struct proc_dir_entry *)root_dir); - - return dir; -} - -/* Remove proc directory entry - * root - Pointer to directory proc entry or NULL if for "/proc/ati" - * name - Name to delete - */ -void KCL_remove_proc_dir_entry(void *root, const char *name) -{ - if (root == NULL) - remove_proc_entry(name, firegl_stub_root); - else - remove_proc_entry(name, (struct proc_dir_entry *)root); -} - - -/* Create proc_entry under "root_dir" - * read_fn - Function which will be called on read request - * write_fn - Function which will be called on write request - * private_data - Pointer to private data which will be passed - */ -void KCL_create_proc_entry(void *root_dir, const char *name, unsigned int access_mode, void *read_fn, void *write_fn, void *private_data) -{ - struct proc_dir_entry *ent = NULL; - - if (root_dir == NULL || name == NULL) - return; - - ent = create_proc_entry(name, access_mode, (struct proc_dir_entry *)root_dir); - - if (ent) - { - ent->read_proc = (read_proc_t *)read_fn; - ent->write_proc = (write_proc_t *)write_fn; - ent->data = private_data; - } -} - #endif /* __KERNEL__ */ -- 1.7.9.5 debian/dkms/patches/replace-VM_RESERVED-with-VM_DONTEXPAND-and-VM_DONTDU.patch0000664000000000000000000001431412254350670023211 0ustar From cc1a99215c6b3440ed42cf4fa187950a4ec68117 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Wed, 7 Nov 2012 15:45:44 +0100 Subject: [PATCH 1/1] Replace VM_RESERVED with VM_DONTEXPAND and VM_DONTDUMP --- firegl_public.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ make.sh | 4 ++-- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/firegl_public.c b/firegl_public.c index 7b028e5..834955a 100755 --- a/firegl_public.c +++ b/firegl_public.c @@ -3892,7 +3892,11 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n"); return -EAGAIN; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif vma->vm_ops = &vm_ops; break; @@ -3922,14 +3926,22 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, KCL_DEBUG_ERROR(REMAP_PAGE_RANGE_STR " failed\n"); return -EAGAIN; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif vma->vm_ops = &vm_ops; } break; #endif case __KE_SHM: +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif vma->vm_ops = &vm_shm_ops; break; @@ -3937,7 +3949,11 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; +#else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif //vma->vm_flags |= VM_SHM | VM_LOCKED; /* DDDDDDDDDDon't swap */ //vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */ @@ -3946,14 +3962,22 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, case __KE_CTX: pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */ vma->vm_ops = &vm_ctx_ops; break; case __KE_PCI_BQS: pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_LOCKED | VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_LOCKED | VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif vma->vm_mm->locked_vm += pages; /* Kernel tracks aqmount of locked pages */ vma->vm_ops = &vm_pci_bq_ops; break; @@ -3984,9 +4008,17 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, return -EAGAIN; } #ifdef __x86_64__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; #else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif +#else +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif #endif vma->vm_ops = &vm_ops; } @@ -4015,9 +4047,17 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, return -EAGAIN; } #ifdef __x86_64__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; #else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif +#else +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */ +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; /* Don't swap */ +#endif #endif vma->vm_ops = &vm_agp_bq_ops; } @@ -4025,7 +4065,11 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, #endif /* __AGP__BUILTIN__ */ case __KE_KMAP: +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_SHM | VM_RESERVED; +#else + vma->vm_flags |= VM_SHM | VM_DONTEXPAND | VM_DONTDUMP; +#endif vma->vm_ops = &vm_kmap_ops; if (readonly && (vma->vm_flags & VM_WRITE)) { @@ -4046,7 +4090,11 @@ int ATI_API_CALL KCL_MEM_VM_MapRegion(KCL_IO_FILE_Handle filp, #endif // fall through case __KE_GART_CACHEABLE: +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) vma->vm_flags |= VM_RESERVED; +#else + vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; +#endif vma->vm_ops = &vm_gart_ops; break; default: diff --git a/make.sh b/make.sh index a1cb241..bbb2675 100755 --- a/make.sh +++ b/make.sh @@ -202,7 +202,7 @@ cd $current_wd # verify match with respective line in linux/version.h # sample: #define UTS_RELEASE "2.4.0-test7" -src_file=$linuxincludes/linux/version.h +src_file=$linuxincludes/generated/uapi/linux/version.h if [ ! -e $src_file ]; then echo "kernel includes at $linuxincludes not found or incomplete" | tee -a $logfile @@ -218,7 +218,7 @@ OsRelease=${uname_r} # Some old distributions used to define UTS-defines in external # version-*.h files, e.g. linux-2.2.14-5.0-RedHat. Is this kludge still needed? for src_file in \ - "$linuxincludes/linux/version.h" \ + "$linuxincludes/generated/uapi/linux/version.h" \ "$linuxincludes/linux/utsrelease.h" \ "$linuxincludes/generated/utsrelease.h" \ "$linuxincludes/linux/version-*.h"; -- 1.7.9.5 debian/dkms/patches/buildfix_kernel_3.12.patch0000664000000000000000000000151412270441775016421 0ustar From 9d55b26a7ab60556141300cac68b3205d1f732c5 Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Mon, 4 Nov 2013 20:21:09 +0100 Subject: [PATCH 1/1] Add support for Linux 3.12 The uid_t that we need is now a struct member of the kuid_t that current_euid() returns. --- firegl_public.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/firegl_public.c b/firegl_public.c index 890a0aa..f1fa72c 100755 --- a/firegl_public.c +++ b/firegl_public.c @@ -1740,7 +1740,12 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void) KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void) { #ifdef current_euid +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0) + kuid_t tmp_kuid = current_euid(); + return tmp_kuid.val; +#else return current_euid(); +#endif #else return current->euid; #endif -- 1.7.9.5 debian/dkms/patches/replace_acpi_table_handler.patch0000664000000000000000000000145312317542653020064 0ustar From 848e235831aba4579644993816381f97f30a034c Mon Sep 17 00:00:00 2001 From: Alberto Milone Date: Thu, 19 Dec 2013 12:42:48 +0100 Subject: [PATCH 1/1] kcl_acpi.c: use acpi_tbl_table_handler instead of acpi_table_handler with Linux >= 3.9.1 --- kcl_acpi.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kcl_acpi.c b/kcl_acpi.c index d875bf9..8c1653a 100755 --- a/kcl_acpi.c +++ b/kcl_acpi.c @@ -995,7 +995,11 @@ int ATI_API_CALL KCL_ACPI_ParseTable(char *id, KCL_ACPI_IntCallbackHandle handle #endif { return KCL_ACPI_ERROR; - } + } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1) + ((acpi_tbl_table_handler)handler)(hdr); +#else ((acpi_table_handler)handler)(hdr); +#endif return KCL_ACPI_OK; } -- 1.7.9.5 debian/fglrx-updates.postrm.in0000664000000000000000000000365112317542653013645 0ustar #! /bin/sh # postrm script fglrx # # see: dh_installdeb(1) # # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' overwrit>r> # for details, see /usr/share/doc/packaging-manual/ PKGNAME=#DRIVERNAME# BLACKLIST_FILE=/etc/modprobe.d/blacklist-fglrx.conf COMMON_FILE=/usr/lib/fglrx/dri/fglrx_dri.so case "$1" in remove) # NOTE: Only remove the blacklist if no other fglrx package #is installed. if [ ! -e $COMMON_FILE ]; then # Remove blacklist file rm -f $BLACKLIST_FILE fi # This will preserve the etc directory rm -f /#PKGLIBDIR#/* 2>/dev/null || true rm -Rf /#PKGLIBDIR32# rm -Rf /#PXDIR# rm -Rf /#PXDIR32# # Update initramfs, in case we were loaded into it /usr/sbin/update-initramfs -u ;; purge) # NOTE: Only purge if no other fglrx package is installed. if [ ! -e $COMMON_FILE ]; then rm -Rf /#PKGLIBDIR# # NOTE: Usually generated by dh_installinit, but because two # packages are providing the same initscript, this needs some # manual handling. update-rc.d atieventsd remove >/dev/null fi ;; upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 0 esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# debian/changelog0000664000000000000000000004267712317543075011071 0ustar fglrx-installer-updates (2:13.350.1-0ubuntu2) trusty; urgency=medium * debian/dkms.conf.in, debian/dkms/patches/buildfix_kernel_3.14.patch: - Add support for Linux 3.14. -- Alberto Milone Fri, 04 Apr 2014 16:48:10 +0200 fglrx-installer-updates (2:13.350.1-0ubuntu1) trusty; urgency=medium * New upstream release (14.3): - [394848] - Xorg crashed 160 playing AVI video file in VLC player or Parole player (LP: #1279412). - [394705] - "Nexuiz - Demo3" Ubuntu performance lower than Redhat. -- Alberto Milone Wed, 19 Mar 2014 11:22:53 +0100 fglrx-installer-updates (2:13.350-0ubuntu1) trusty; urgency=low * debian/dkms.conf.in: - Drop all the patches. * debian/substvars: - Add support for X ABI 15. * New upstream release (14.1): - [386897]: System hang on resume from S4 with OpenGL screen saver running. - [387678]: Backtrace occurs when kill X. - [387664]: Failed to start X without kernel module loaded. - [378620]: OpenCL test failure in CrossFire Mode. - [386945]: piglit test "spec/ARB_copy_buffer/overlap" failed. - [386710]: piglit test "spec/ARB_draw_buffers_blend" failed. - [386818]: piglit test "spec/OpenGL 2.0/depth-tex-modes-glsl" failed. - [386941]: piglit test "spec/ARB_blend_func_extended" failed. - [386903]: piglit test "spec/OpenGL 3.0/gl-3.0-required-sized- texture-formats" failed. - [386840]: Viewport goes blank when mouse cursor leaves when run Houdini on Ubuntu. - [387596]: piglit test "spec/ARB_framebuffer_object (fbo- scissor-blit)" failed. - [389174]: Failed to get fan speed on Bonaire card. - [388110]: Intermittent flashing problem when running at 2560x1600. - [372656]: Crash when resizing Konsole. - [388325]: Brightness cannot be adjusted on Ubuntu 12.04 LTS. - [388330]: piglit test "spec/ARB_framebuffer_object (fbo-blit- stretch)" failed. - [385457]: Blue/white screen after using Google-chrome to run fishietank. - [388500]: piglit test "spec/EXT_texture_integer" failed. - [388802]: piglit test "spec/ARB_map_buffer_alignment" failed. - [386396]: piglit test "spec/ARB_depth_buffer_float/fbo- depthstencil-drawpixels" failed. - [389431]: Screens are distorted when connecting an external monitor on some Haswell platforms. - [389530]: Blank screen/crash observed while running unigine heaven benchmark in windowed mode. - [387124]: OpenCL performance drop observed on Hawaii compared to Tahiti XT. - [386940]: piglit test "spec/EXT_texture_sRGB" failed. - [392137]: [SteamOS] Failed to return to desktop from steam. - [392015]: [SteamOS] Screen is locked when changing user. - [392014]: [SteamOS] Failed to login Steam sometimes. -- Alberto Milone Tue, 04 Feb 2014 12:50:28 +0100 fglrx-installer-updates (2:13.125-0ubuntu2) trusty; urgency=low * debian/dkms.conf.in, debian/dkms/patches/buildfix_kernel_3.13.patch: - Add support for Linux 3.13. -- Alberto Milone Wed, 08 Jan 2014 17:12:22 +0100 fglrx-installer-updates (2:13.125-0ubuntu1) trusty; urgency=low * New upstream release: - [384861] Ultra slow dota2 fps. - [383176] System hang when startx after enable Eyefinity. - [383109] System hang when run Unigine Heaven 4.0. - [382494] Screen corruption when run C4Engine with GL_ARB_texture_array enabled. - [384193] Fix the procfs permission issue on kernel 3.10 and later. - [373812] System hang when run some OpenGL stress test. - [383430] Glxtest failed with force AA. - [383372] Fail to launch cairo-dock. - [384509] glClientWaitSync is waiting even when timeout is 0. - [383573] AC/DC switching is broken. - [384194] Tear-Free Desktop sets V-Sync to 30Hz instead of 60Hz. - [385123] CrossFire aspect observed in CCCLE where it should not. - [385414] Steam crashes and games hang on a black screen when Force AA is on. - [387027] Glxtest failed on SLED11 SP3. - [382079] MARI crash with weird stack. - [387797] X crash when kill X with Xserver 1.13 and 1.14. - [389431] Screens are distorted when connecting an external monitor on some PowerXpress platform with Intel Haswell. - [389728] Segfault after disabling display on re-launch of CCCLE. - [387573] Soft hang and error observed on BasicDebug sample for OpenCL when run on x86. - [385704] Black window when run glxgears with TWM. - [376115] Display corruption when using rotation. * debian/dkms.conf.in: - Drop procfs patch. * debian/dkms/patches/replace_acpi_table_handler.patch: - Fix build issues with Linux >= 3.9.1 (only required by driver 13.125). * debian/fglrx-updates.dirs.in: - Add path to xorg modules. - Add /usr/share/applications. -- Alberto Milone Thu, 19 Dec 2013 17:08:28 +0100 fglrx-installer-updates (2:13.101-0ubuntu4) trusty; urgency=low * debian/dkms.conf.in, debian/dkms/patches/buildfix_kernel_3.12.patch: - Add support for Linux 3.12. -- Alberto Milone Mon, 04 Nov 2013 22:28:52 +0100 fglrx-installer-updates (2:13.101-0ubuntu3) saucy; urgency=low * debian/dkms.conf.in: - Add support for Linux 3.11. -- Alberto Milone Tue, 06 Aug 2013 14:11:09 +0200 fglrx-installer-updates (2:13.101-0ubuntu2) saucy; urgency=low * debian/fglrx.dirs.in: - Do not install the xorg modules directory. -- Alberto Milone Thu, 27 Jun 2013 14:41:56 +0200 fglrx-installer-updates (2:13.101-0ubuntu1) saucy; urgency=low * New upstream release: - Add support for AMD A10, A8, A6, and A4 Series APUs. - Add GLX_EXT_buffer_age extension support. - Add Xserver 1.14 Support. - [371937] Fix black screen while entering Team Fortress 2 under cinnamon desktop environment. - [366812] Fix tearing for some OpenGL applications with VSYNC on or off. - [373575] Fix taskbar missing after UVD playback on Ubuntu 12.04. - [370955] Fix corruption in Team Fortress 2 when running Dustbowl map. - [377199] Fix the error for APL initialization failure. - [378086] Fix screen corruption when kill X on Ubuntu 13.04. - [374657] Fix some WebGL conformance test failures. - [377379] Fix the regression of performance drop with XBMC for UVD playback. * debian/dkms.conf.in, debian/dkms/patches/replace_old_procfs_calls.patch: - Add support for Linux 3.10. * debian/substvars: - Add support for X ABI 14. * debian/rules: - Sign the driver to remove the watermark. -- Alberto Milone Fri, 21 Jun 2013 12:58:45 +0200 fglrx-installer-updates (2:9.012-0ubuntu2) saucy; urgency=low * debian/dkms.conf.in: - Add support for Linux 3.9 (LP: #1185285). -- Alberto Milone Fri, 14 Jun 2013 17:11:35 +0200 fglrx-installer-updates (2:9.012-0ubuntu1) raring; urgency=low * debian/control{.in}: - Conflict/replace/provide xorg-driver-binary instead of trying to conflict with or to replace any other driver. * New upstream release (Catalyst 13.1): - Fixed issues: + Driver release version is added to GL_VERSION. + Blank VGA display after resume from suspend. + X crash for AMD PowerXpressâ„¢ A+I High- Performance mode on Ubuntu 12.10. + Performance of Valve Linux games. + Segmentation fault when exit QtOpenGL applications such as AMD CodeXL. + VariBright not working when change AMD PowerPlayâ„¢ settings in AMD Catalust Control Center:LE. + VariBright doesn't work after resume from suspend on "Trinity" platform. + Flickering cursor when run some full-screen OpenGL games with CrossFire enabled. + OpenGL performance on "Southern Islands" ASICs + 16 re-frames doesn't work for H.264 @Level 5.1. + Corruption when resizing the Konsole window. + One display goes black after changing from multi- display desktop from single independent. -- Alberto Milone Mon, 15 Apr 2013 15:36:07 +0200 fglrx-installer-updates (2:9.010-0ubuntu5) raring; urgency=low * debian/rules: - Make sure that build calls build-arch (as it used to do). - Separate regen-from-templates from build. -- Alberto Milone Tue, 22 Jan 2013 16:18:23 +0100 fglrx-installer-updates (2:9.010-0ubuntu4) raring; urgency=low * debian/rules: - Revert change to separate regen-from-templates from the build target. This fixes a FTBFS. -- Alberto Milone Mon, 21 Jan 2013 16:49:43 +0100 fglrx-installer-updates (2:9.010-0ubuntu3) raring; urgency=low * debian/control{.in}: - Restore the previous conflict/replace/provide dropped by mistake. -- Alberto Milone Thu, 17 Jan 2013 18:02:13 +0100 fglrx-installer-updates (2:9.010-0ubuntu2) raring; urgency=low * debian/control{.in}: - Remove whitespace. - Conflict/replace/provide other flavours. - Drop all the dependencies on the linux-headers. * debian/rules: - Separate regen-from-templates from build. - Automate debian/control generation. -- Alberto Milone Thu, 17 Jan 2013 17:09:35 +0100 fglrx-installer-updates (2:9.010-0ubuntu1) raring; urgency=low * New upstream release. * debian/dkms.conf.in, replace-archdata.acpi_handle-with-acpi_node.handle.patch: - Add support for Linux 3.8 (LP: #1095755). Thanks to Robert Hooker for the patch. * debian/substvars: - Remove versioned dependency on xserver-xorg-core. * debian/10fglrx.in, debian/rules: - Fix paths which prevented OpenGL operations on hybrid systems on amd64 (LP: #1068661). Thanks to Nick Andrik for the patch. -- Alberto Milone Tue, 08 Jan 2013 16:20:31 +0100 fglrx-installer-updates (2:9.000-0ubuntu5) raring; urgency=low * debian/control: - Conflict/replace/provide new nvidia flavours. - Depend on other flavours of kernel headers. * debian/10fglrx.in: - Fix path for powerxpress (LP: #1068661). Thanks to Nick Andrik and Lu Xingzhe for suggesting the fix. [ Benjamin Kerensa ] * debian/control: - Add ${misc:Depends} depends as needed. -- Alberto Milone Fri, 07 Dec 2012 15:55:20 +0100 fglrx-installer-updates (2:9.000-0ubuntu4) raring; urgency=low * debian/dkms.conf.in, replace-VM_RESERVED-with-VM_DONTEXPAND-and-VM_DONTDU.patch: - Add support for Linux 3.7 (LP: #1075937). -- Alberto Milone Wed, 07 Nov 2012 16:28:50 +0100 fglrx-installer-updates (2:9.000-0ubuntu3) quantal; urgency=low * debian/rules: - Correct the path to Qt libraries on i386. -- Alberto Milone Sat, 29 Sep 2012 20:45:08 +0200 fglrx-installer-updates (2:9.000-0ubuntu2) quantal; urgency=low * debian/rules: - Make sure that all binaries in /usr/bin are executable. * Switch to dpkg-source 3.0 (quilt) format. -- Alberto Milone Thu, 27 Sep 2012 15:36:59 +0200 fglrx-installer-updates (2:9.000-0ubuntu1) quantal; urgency=low * New upstream release (LP: #1032672). * debian/dkms.conf.in: - Do not apply any kernel patch * debian/rules: - Make it possible to set the xserver ABIs in debian/substvars. * Merge fixes from the upstream installer: - Fix openCL issues running x86 binaries on x86_64. - Make sure that dh_shlibdeps doesn't complain about missing qt libraries. -- Alberto Milone Wed, 26 Sep 2012 16:49:27 +0200 fglrx-installer-updates (2:8.982-0ubuntu1) quantal; urgency=low * New upstream release (LP: #1039397). * debian/control: - Conflict with/replace/provide nvidia and fglrx. This will make sure that other binary drivers cannot be installed at the same time. This is required by the new restricted drivers UI. * debian/rules: - Make sure to call the "serverabi" phony target. - Hardcode the X ABI to 11. -- Alberto Milone Mon, 10 Sep 2012 11:03:55 +0200 fglrx-installer-updates (2:8.960-0ubuntu6) quantal; urgency=low [ Stéphane Graber ] * Only purge the package if nothing else provides fglrx (LP: #949641). -- Alberto Milone Wed, 01 Aug 2012 12:08:18 +0200 fglrx-installer-updates (2:8.960-0ubuntu5) quantal; urgency=low * debian/control: - Make sure that ${xviddriver:Depends} is actually replaced with its value. * debian/rules: - Make sure to call the serverabi target. -- Alberto Milone Tue, 03 Jul 2012 18:07:45 +0200 fglrx-installer-updates (2:8.960-0ubuntu4) quantal; urgency=low * Rename build to build-arch and make build depend on build-arch. -- Adam Conrad Mon, 02 Jul 2012 17:33:10 -0600 fglrx-installer-updates (2:8.960-0ubuntu3) quantal; urgency=low * fix-build-issue-on-i386-where-TS_USEDFPU-is-no-longe.patch: - Update patch so as to make sure to include asm/fpu-internal.h (LP: #1017822). -- Alberto Milone Sat, 30 Jun 2012 11:37:33 +0200 fglrx-installer-updates (2:8.960-0ubuntu2) quantal; urgency=low * replace-do_mmap-and-do_munmap-with-vm_mmap-and-vm_mu.patch, replace-for_each_cpu_mask-with-for_each_possible_cpu.patch: - Add support for Linux 3.5. -- Alberto Milone Sun, 17 Jun 2012 17:23:42 +0200 fglrx-installer-updates (2:8.960-0ubuntu1) precise; urgency=low * New upstream release: - Fix issue with XVideo in the new xserver (LP: #921384). -- Alberto Milone Thu, 22 Mar 2012 17:29:41 +0100 fglrx-installer-updates (2:8.911-0ubuntu1) precise; urgency=low * New upstream release (11-11). * debian/fglrx-updates.install.in, debian/fglrx-updates.dirs.in, debian/fglrx-updates.links.in, debian/fglrx-updates.postinst.in, debian/rules: - Install OpenCL libraries. - Make sure to use the multiarch path to the Mesa libraries. This (partially) solves an issue with PXpress which couldn't find the Mesa libraries (LP: #813809). -- Alberto Milone Fri, 25 Nov 2011 15:12:22 +0100 fglrx-installer-updates (2:8.881-0ubuntu7) precise; urgency=low * debian/fglrx-updates.prerm.in: - Make sure to remove the correct alternatives on package removal (LP: #855943). - Call ldconfig with the NOTRIGGER environment variable as in the postinst. -- Alberto Milone Tue, 25 Oct 2011 17:51:23 +0200 fglrx-installer-updates (2:8.881-0ubuntu6) oneiric; urgency=low * Re-enable grub fb and drop the initramfs hook in favour of "alias nouveau/lbm_nouveau off" (LP: #864149). -- Alberto Milone Mon, 10 Oct 2011 18:51:26 +0200 fglrx-installer-updates (2:8.881-0ubuntu5) oneiric; urgency=low * debian/rules, debian/modaliases/fglrx_supported: - Make sure that the module alias is always correct and uses underscores instead of hyphens (LP: #855396). - Make the grub-gfxpayload file a template and blacklist all AMD cards so that Grub doesn't set a framebuffer which prevents recovery mode from working (LP: #854967). -- Alberto Milone Fri, 30 Sep 2011 15:36:28 +0200 fglrx-installer-updates (2:8.881-0ubuntu4) oneiric; urgency=low * debian/rules: - Make sure to install the correct modaliases file so that the driver can be detected by Jockey (LP: #855396). -- Alberto Milone Fri, 23 Sep 2011 13:28:49 +0200 fglrx-installer-updates (2:8.881-0ubuntu3) oneiric; urgency=low * debian/rules: - Add an initramfs hook to make sure that nothing else loads open graphics drivers in the initramfs (LP: #839524). -- Alberto Milone Thu, 08 Sep 2011 18:11:28 +0200 fglrx-installer-updates (2:8.881-0ubuntu2) oneiric; urgency=low * debian/dkms.conf.in: - Disable replace-global-lock-with-a-driver-specific-mutex.patch now that the problem is fixed in the upstream driver (LP: #827652). Thanks to Daniel van Vugt for suggesting the fix. -- Alberto Milone Fri, 02 Sep 2011 17:03:49 +0200 fglrx-installer-updates (2:8.881-0ubuntu1) oneiric; urgency=low * New upstream release 8.881 (11-8). * debian/rules: - Make sure to use LICENSE instead of ATI_LICENSE, as it has been renamed by AMD. - Add a hack for pbuild which would otherwise fail to call execstack when trying to build. - Rename the grub_fb_blacklist link, so that it has a name shared with all the other proprietary drivers. -- Alberto Milone Mon, 29 Aug 2011 16:17:33 +0200 fglrx-installer-updates (2:8.872-0ubuntu2) oneiric; urgency=low * debian/fglrx-updates.prerm.in: - Remove trailing whitespace. - Make sure to remove the alternatives for PXpress on uninstallation (LP:# 827046). -- Alberto Milone Tue, 16 Aug 2011 16:41:04 +0200 fglrx-installer-updates (2:8.872-0ubuntu1) oneiric; urgency=low * First release. -- Alberto Milone Thu, 11 Aug 2011 16:11:25 +0200 debian/fglrx-updates.grub-gfxpayload0000664000000000000000000000031512317543105014772 0ustar # Warning: This file was autogenerated by fglrx-updates. # All changes to this file will be lost. # # Blacklist cards here # # Example: blacklist all AMD graphics cards # v1002d.*sv.*sd.*bc03sc.* debian/control.in0000664000000000000000000000432612317542653011215 0ustar Source: #DRIVERSRCNAME# Section: restricted/misc Priority: extra Maintainer: Ubuntu Core Developers Uploaders: Mario Limonciello , Alberto Milone Build-Depends: debhelper (>= 7), dh-modaliases, libxext6, libxrandr2, libice6, libsm6, libfontconfig1, libxi6, libxcursor1, fakeroot, libdrm2, libgl1-mesa-glx, libxinerama1, libqtgui4, xserver-xorg-dev (>= 2:1.10.0), execstack Standards-Version: 3.8.3 Homepage: http://support.amd.com Package: #DRIVERNAME# Architecture: amd64 i386 Recommends: fglrx-amdcccle-#FLAVOUR# Depends: ${shlibs:Depends}, lib32gcc1 [amd64], libc6-i386 [amd64], dkms, make, linux-libc-dev, ${xviddriver:Depends}, ${misc:Depends} Provides: fglrx-driver, xorg-driver-binary, ${xviddriver:Provides} Conflicts: fglrx-driver, xorg-driver-binary Replaces: fglrx-driver, xorg-driver-binary XB-Modaliases: ${modaliases} Description: Video driver for the AMD graphics accelerators Video driver for the AMD Radeon and FireGL graphics accelerators. . This package provides 2D display drivers and hardware accelerated OpenGL. Package: #DRIVERDEVNAME# Architecture: amd64 i386 Depends: #DRIVERNAME#, ${misc:Depends} Conflicts: fglrx-driver-dev, xfree86-driver-fglrx-dev Replaces: fglrx-driver-dev, xfree86-driver-fglrx-dev, xorg-driver-fglrx-dev, fglrx-dev Provides: fglrx-driver-dev Description: Video driver for the AMD graphics accelerators (devel files) Video driver for the AMD Radeon and FireGL graphics accelerators. . This package provides definitions for the GL and GLX extensions. Package: fglrx-amdcccle-#FLAVOUR# Architecture: amd64 i386 Depends: #DRIVERNAME#, ${shlibs:Depends}, ${misc:Depends} Conflicts: fglrx-control-qt2, fglrx-control Replaces: fglrx-control, fglrx-amdcccle Provides: fglrx-control Description: Catalyst Control Center for the AMD graphics accelerators Catalyst Control Center for the AMD Radeon and FireGL graphics accelerators. . This package provides the Catalyst Control Center, Linux Edition debian/clean0000644000000000000000000000026211503661754010203 0ustar debian/10fglrx debian/dkms.conf debian/fglrx.install debian/fglrx-dev.install debian/fglrx-amdcccle.install debian/overrides/fglrx debian/modaliases/fglrx-modules.alias.override debian/acpi/0000755000000000000000000000000012317542311010101 5ustar debian/acpi/fglrx-ac-aticonfig0000644000000000000000000000022411503661754013477 0ustar # /etc/acpi/events/fglrx-ac-aticonfig # Called when the user connects/disconnects ac power # event=ac_adapter action=/etc/acpi/fglrx-powermode.sh debian/acpi/fglrx-powermode.sh0000664000000000000000000000320512317542311013560 0ustar #!/bin/bash . /etc/default/xorg-driver-fglrx if [ x$FGLRX_ACPI_SWITCH_POWERSTATES != xtrue ]; then exit; fi getXuser() { user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'` if [ x"$user" = x"" ]; then user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'` fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi } grep -q closed /proc/acpi/button/lid/*/state if [ $? = 0 ]; then lid_closed=1 else lid_closed=0 fi grep -q off-line /proc/acpi/ac_adapter/*/state if [ $? = 0 ]; then on_dc=1 else on_dc=0 fi if [ ${lid_closed} -eq 1 -o ${on_dc} -eq 1 ]; then echo "fglrx: setting low power" for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" powermode=`/usr/bin/aticonfig --lsp | grep -m1 low | cut -b 3-3` if [ x"$powermode" != x"" ]; then su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" &>/dev/null fi fi done else echo "fglrx: setting default powermode" for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" powermode=`/usr/bin/aticonfig --lsp | grep -m1 default | cut -b 3-3` if [ x"$powermode" != x"" ]; then su $user -c "/usr/bin/aticonfig --set-powerstate=$powermode --effective=now" &>/dev/null fi fi done fi debian/acpi/fglrx-lid-aticonfig0000644000000000000000000000023111503661754013662 0ustar # /etc/acpi/events/fglrx-lid-aticonfig # Called when the user opens or closes the laptop lid # event=button[ /]lid action=/etc/acpi/fglrx-powermode.sh debian/changelog.in0000644000000000000000000003763011503661754011466 0ustar fglrx-installer (2:8.660-0ubuntu4) karmic; urgency=low * Force fglrx-rt-compat.patch applied only on 2.6.28 * Added new patch for rt kernel flavour (rt_preempt_31.patch) (LP: #159941) -- Alessio Igor Bogani Mon, 12 Oct 2009 22:31:02 +0200 fglrx-installer (2:8.660-0ubuntu3) karmic; urgency=low [ Alberto Milone] * debian/control: - Change the section of the -modaliases package to "admin" as the package is not "restricted" (LP: #429153). [ Kees Cook ] * debian/control: - Add build dependency on execstack. * debian/rules: - Drop executable stack markings from precompiled binaries (LP: #409440). -- Alberto Milone Fri, 25 Sep 2009 18:36:42 +0200 fglrx-installer (2:8.660-0ubuntu2) karmic; urgency=low * The XVBA libraries have silently removed the dependency on libstdc++5 in driver version 8.63. Remove the dependency of the libamdxvba1 package on libstdc++5. LP: #432021. -- Matthias Klose Sat, 19 Sep 2009 17:24:58 +0200 fglrx-installer (2:8.660-0ubuntu1) karmic; urgency=low * New upstream release. + Fix freeze on boot with purple and green ubuntu logos (LP: #423711) + Fix boot failure due to DKMS change. Sometimes X crashes as result. (LP: #417617, #413751) + Make fglrx compile with dkms on 2.6.30 and 2.6.31 for amd64 (LP: #410062) + Fix "Desktop effects could not be enabled" on HD 4850 and HD 4870 (LP: #417500, #408633) + Provide support for 2.6.31 kernel (LP: #413791) + Use Catalyst Control Center for display configuration (LP: #410512) + Catalyst Control Center shows up in Apps > Accessories, should be in System > Administration > Display (LP: #423670) -- Bryce Harrington Fri, 04 Sep 2009 15:05:07 -0700 fglrx-installer (2:8.620-0ubuntu3) karmic; urgency=low * debian/dkms/patches/missing-flush_tlb.patch (LP: #394176) - Borrow this patch from debian to fix missing symbol. * debian/dkms.conf.in: - Apply patches on 2.6.30 and 2.6.31. -- Mario Limonciello Thu, 02 Jul 2009 12:05:20 -0500 fglrx-installer (2:8.620-0ubuntu2) karmic; urgency=low * Issues resolved since 9.4 (No package changes; Mario just beat me to the upload): + With desktop effects enabled, transparent desktop no longer causes desktop icons and application windows to disappear + Video playback no longer exhibits corruption when desktop effects are enabled and Composite is not explicitly disabled + [Ubuntu 8.10] System now functions properly when starting X on surround view systems + Resizing DVD playback window on Mplayer no longer causes blank video + System instability no longer occurring when switching to full screen DVD playback with Totem Player + Terminal window no longer displays error message when launching Catalyst Control Center in MultiView + [Ubuntu 9.04] Xserver now starts properly with ATI Radeon HD 4870 GPU configurations + [Ubuntu 9.04] When xrandr --prop is evoked, Xserver failure no longer occurs under various system configurations + The engine clock and memory clock values are now reported properly by ATI CAL + Catalyst Control Center, the primary display is now identified when using the Identify Displays button + Error message no longer occurs while setting the TV geometry + Game corruption does not happen in full screen when 2 monitors are connected and RandR 1.2 is enabled + TV screen corruption is no longer visible while starting the X-server on some ASICs + Executing the following command : aticonfig --initial -f does not cause the following message "No supported adapters detected" on some display adapters + Detecting second display using amdccle "Detect Display" button no longer results in error and will require a relaunch to detect both displays properly (LP: #348400) + Mplayer does not fail to render video when resizing DVD playback window + Fixed: Some system may become unresponsive after starting and killing X-server (LP: #355821) + System no longer fail to respond when executing multiple server generations + Memory leak on RV630 (LP: #368271) + dpms switches off backlight on laptop screen properly (LP: #363059) + Display Preferences no longer causes 100% CPU usage and failure (LP: #366757) -- Bryce Harrington Fri, 26 Jun 2009 22:07:19 -0700 fglrx-installer (2:8.620-0ubuntu1) karmic; urgency=low * New upstream release (9-6) * Add a series of patches to get this compiling on 2.6.30. (LP: #387773) - Note: these are NOT in the upstream package, so be cognizant when upgrading to a new version of the package in Ubuntu. - config_x86_32-gentoo.patch: From Gentoo bug tracker - fglrx-2.6.29-debian.patch: From Debian SVN - fglrx-2.6.30-irqreturn_t.patch: From Gentoo bug tracker - fglrx-missing-pci_enable_msi.patch: From Gentoo bug tracker -- Mario Limonciello Wed, 24 Jun 2009 12:26:42 -0500 fglrx-installer (2:8.600-0ubuntu2) jaunty; urgency=low * Update fglrx-rt-compat.patch. Thanks Alessio Igor Bogani (LP: #328856) * Update location of fglrx-rt-compat.patch from debian/dkms/patches/patches to debian/dkms/patches -- Mario Limonciello Tue, 31 Mar 2009 12:12:37 -0500 fglrx-installer (2:8.600-0ubuntu1) jaunty; urgency=low * New upstream release. (Closes LP: #313027, #314600) - Fixes LP: #253988, #179042, #241176, #284408, #287229, #296497, #288620, #289628 * README.Debian: Update the update procedure a bit -- Bryce Harrington Tue, 17 Mar 2009 15:40:42 -0700 fglrx-installer (2:8.573-0ubuntu4) jaunty; urgency=low * debian/xorg-driver-fglrx.postinst: - Transition start of atieventsd with priority 31. It needs to start after GDM and oem-config to ensure there aren't any lockups. (LP: #330188) * debian/rules: - Start atieventsd at 31. -- Mario Limonciello Mon, 16 Feb 2009 16:52:25 -0600 fglrx-installer (2:8.573-0ubuntu3) jaunty; urgency=low * debian/10fglrx.in: - Check if LD_LIBRARY_PATH is empty when we append to it. (LP: #323327) -- Mario Limonciello Mon, 09 Feb 2009 18:50:46 -0600 fglrx-installer (2:8.573-0ubuntu2) jaunty; urgency=low * debian/control: - Add libxinerama1 to build depends. * debian/xorg-driver-fglrx.preinst: - Move user modifications out of the way for files that are stored in /etc/ati when upgrading package. Unfortunately, although these files are stored in /etc, AMD has indicated that they should not be treated as conf files. (LP: 307643) * debian/fglrx-kernel-source.prerm: - Add in a check for old versions of fglrx that might have DKMS directories sitting around. If any are found, they are removed so as to prevent possible conflicts. (LP: #303148) -- Mario Limonciello Mon, 02 Feb 2009 14:31:34 -0600 fglrx-installer (2:8.573-0ubuntu1) jaunty; urgency=low * New upstream release. (9-1). - This release still does *not* meet the Xorg server 1.6 ABI. It is being uploaded to ensure that there are no other integration related issues that come up. -- Mario Limonciello Thu, 29 Jan 2009 20:37:38 -0600 fglrx-installer (2:8.552-0ubuntu1) jaunty; urgency=low * New upstream release. * debian/control: - Don't list the graphics cards supported, this is a moving target that is difficult to keep up with. (LP: #292436) * Move replacements for kernel source into debian/dkms * Add patch for RT support to debian/dkms (LP: #286961) * debian/dkms.conf.in: - Use RT patch. -- Mario Limonciello Thu, 13 Nov 2008 10:30:20 -0600 fglrx-installer (2:8.543-0ubuntu4) intrepid; urgency=low [ Mario Limonciello ] * debian/rules: - Don't copy the libAMDXvBA.so* into multiple packages on AMD64 (LP: #287159) * debian/control: - xorg-driver-fglrx: Drop libamdxvba1 to suggests so that fglrx can be put onto DVDs. * Replace authatieventsd.sh with our own variation that works with KDM. (LP: #38915) [ Matthias Klose ] * debian/control: - xorg-driver-fglrx: Drop dependency on ia32-libs [amd64], add dependencies on lib32gcc1 [amd64], libc6-i386 [amd64]. - libamdxvba1: Add dependency on ia32-libs [amd64]. -- Mario Limonciello Wed, 22 Oct 2008 11:55:59 -0500 fglrx-installer (2:8.543-0ubuntu3) intrepid; urgency=low * debian/control: - Drop build-depends on libstdc++5. (LP: #271794) - Drop build-depends on ia32-libs - Install libAMDXvBA.so* into it's own package. * debian/rules: - Work around missing libstdc++5 at build-depends time. * Add the following files to support this new binary package: - debian/libamdxvba.postinst - debian/libamdxvba.install.in -- Mario Limonciello Thu, 16 Oct 2008 15:04:46 -0500 fglrx-installer (2:8.543-0ubuntu2) intrepid; urgency=low * debian/control: - Depends on linux-headers-generic | linux-headers to help cover more of the 90 percent case that people are using the generic kernel (LP: #284091) -- Mario Limonciello Thu, 16 Oct 2008 08:52:34 -0500 fglrx-installer (2:8.543-0ubuntu1) intrepid; urgency=low * New upstream release. (Closes lp: #247376) * control: Re-enabled provides of xserver-xorg-video-2 since this upload works with the current xserver. * README.Debian: Itemize update procedure -- Bryce Harrington Tue, 14 Oct 2008 14:12:06 -0700 fglrx-installer (2:8.532-0ubuntu5) intrepid; urgency=low * control: xorg-driver-fglrx Provides: xserver-xorg-video-2. The driver doesn't work with the current xserver, so no reason to pretend that it would. This prevents breaking upgrades from hardy where the driver would be updated and on reboot X would fail. -- Timo Aaltonen Thu, 25 Sep 2008 11:46:28 +0300 fglrx-installer (2:8.532-0ubuntu4) intrepid; urgency=low * Update 2.6.27 patch again. (LP: #266956) -- Mario Limonciello Sun, 21 Sep 2008 15:32:19 -0500 fglrx-installer (2:8.532-0ubuntu3) intrepid; urgency=low [ Alberto Milone (tseliot) ] * debian/modaliases/fglrx_supported: - Add "xorg-driver-fglrx" to the strings printed to fglrx-modules.alias.override so that Jockey can detect the name of the package to install (LP: #258641) [ Mario Limonciello ] * debian/kernel-source-patches/fglrx_8.9_2.6.27.patch: - Update to compile on x86_64 for 2.6.27 (LP: #266956) -- Mario Limonciello Sun, 21 Sep 2008 12:29:18 -0500 fglrx-installer (2:8.532-0ubuntu2) intrepid; urgency=low * debian/fglrx-kernel-source.patches: - Install to DKMS patches directory (LP: #266956) -- Mario Limonciello Fri, 19 Sep 2008 08:49:21 -0500 fglrx-installer (2:8.532-0ubuntu1) intrepid; urgency=low * Add debian/kernel-source-patches/fglrx_8.9_2.6.27.patch to allow compiling against 2.6.27. (LP: #266956) * debian/dkms.conf.in: - Use 2.6.27 patch when building against 2.6.27 * debian/fglrx-kernel-source.install.in: - Install patches in kernel-source-patches. -- Mario Limonciello Thu, 18 Sep 2008 12:08:46 -0500 fglrx-installer (2:8.522-0ubuntu4) intrepid; urgency=low * Rebuild against the new xserver-xorg-dev. -- Bryce Harrington Fri, 12 Sep 2008 00:54:13 +0000 fglrx-installer (2:8.522-0ubuntu3) intrepid; urgency=low "3rd time's a charm" * Don't divert extensions either. Causes big breakage when starting X. -- Mario Limonciello Wed, 20 Aug 2008 12:47:26 -0500 fglrx-installer (2:8.522-0ubuntu2) intrepid; urgency=low * Don't install extensions directory as no additional extensions are included in this version. -- Mario Limonciello Wed, 20 Aug 2008 12:38:10 -0500 fglrx-installer (2:8.522-0ubuntu1) intrepid; urgency=low * New upstream release. * Drop 02_2.6.26_support.dpatch as 2.6.26 support is available now. * debian/control: - Conflict w/ pentium-builder (LP: #180831) - Update nvidia conflicts (LP: #254969) * Correct LIBGL_DRIVERS_PATH (LP: #250944) * Cleanup diversion prerm scripts (LP: #257003) -- Mario Limonciello Wed, 20 Aug 2008 12:34:16 -0500 fglrx-installer (2:8.512-0ubuntu1) intrepid; urgency=low * New upstream release. * Update 02_2.6.26_support.dpatch for changes in firegl_public.c. * debian/control: - Depend upon libstdc++5. * debian/xorg-driver-fglrx.postrm: - Clean up AMD64 diversions properly. -- Mario Limonciello Mon, 21 Jul 2008 13:58:26 -0500 fglrx-installer (2:8.501-0ubuntu3) intrepid; urgency=low * drop debian/patches/01_2.6.25.patch: - Causes regressions on RadeonHD 3670 hardware. -- Mario Limonciello Mon, 07 Jul 2008 14:37:55 -0500 fglrx-installer (2:8.501-0ubuntu2) intrepid; urgency=low [ Mario Limonciello ] * debian/fglrx-modaliases.install: - Install to /usr/share/jockey/modaliases instead * debian/control: - Bump standards version to 3.8.0. - Add fglrx-amdcccle to xorg-driver-fglrx Recommends * debian/rules: - Don't start atieventsd on package install as it steals X permissions until the next reboot. - Add support to apply patches to the development release. This is determined by querying distro target in the changelog. -- Don't use packages not intended for your distro! -- * debian/README.Debian: - Add a small blurb explaining kernel patches. [ Žilvinas Valinskas ] * debian/patches/01_2.6.25.patch: - Adds 2.6.25 support (valid for AMD's 8-5 release), at least until AMD formally adds it. * debian/patches/02_2.6.26.patch: - Adds 2.6.26 support (valid for AMD's 8-6 release), at least until AMD formally adds it. (LP: #239967) -- Mario Limonciello Mon, 07 Jul 2008 12:06:05 -0500 fglrx-installer (2:8.501-0ubuntu1) intrepid; urgency=low * New upstream release. -- Mario Limonciello Thu, 19 Jun 2008 01:46:54 -0500 fglrx-installer (2:8.493.1-0ubuntu5) intrepid; urgency=low * debian/replacements/* - Include Makefile and make.sh that support passing kernel version as a parameter until upstream resolves issues. * debian/dkms.conf.in: - Explicitly use kernel version as parameter to make scripts. * debian/fglrx-kernel-source.in: - Include our variants of make scripts since upstream hasn't fixed there's yet. -- Mario Limonciello Thu, 12 Jun 2008 15:34:14 -0500 fglrx-installer (2:8.493.1-0ubuntu4) intrepid; urgency=low * debian/control: - Force the Section to be restricted/misc instead of just restricted. -- Mario Limonciello Tue, 27 May 2008 15:26:38 -0500 fglrx-installer (2:8.493.1-0ubuntu3) intrepid; urgency=low * debian/control: - Explicitly only indicate i386 and amd64 for ALL binary packages. We don't want sparc, hppa, or lpia showing up. -- Mario Limonciello Tue, 27 May 2008 14:34:13 -0500 fglrx-installer (2:8.493.1-0ubuntu2) intrepid; urgency=low * debian/rules: - Specify $(LIBDIR) for calculating modaliases. Fixes transient failure on AMD64 boxes. -- Mario Limonciello Tue, 27 May 2008 14:23:21 -0500 fglrx-installer (2:8.493.1-0ubuntu1) intrepid; urgency=low * Initial release. - This package was directly generated from the upstream AMD driver's built-in scripts. By generating this way, the driver will always be in sync without integration problems. -- Mario Limonciello Tue, 27 May 2008 10:50:16 -0500 debian/fglrx-updates-dev.links.in0000664000000000000000000000006212317542653014206 0ustar #LIBDIR#/libfglrx_dm.so.1 #LIBDIR#/libfglrx_dm.so debian/fglrx-updates.postrm0000664000000000000000000000370012317543105013224 0ustar #! /bin/sh # postrm script fglrx # # see: dh_installdeb(1) # # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' overwrit>r> # for details, see /usr/share/doc/packaging-manual/ PKGNAME=fglrx-updates BLACKLIST_FILE=/etc/modprobe.d/blacklist-fglrx.conf COMMON_FILE=/usr/lib/fglrx/dri/fglrx_dri.so case "$1" in remove) # NOTE: Only remove the blacklist if no other fglrx package #is installed. if [ ! -e $COMMON_FILE ]; then # Remove blacklist file rm -f $BLACKLIST_FILE fi # This will preserve the etc directory rm -f /usr/lib/fglrx/* 2>/dev/null || true rm -Rf /usr/lib32/fglrx rm -Rf /usr/lib/pxpress rm -Rf /usr/lib32/pxpress # Update initramfs, in case we were loaded into it /usr/sbin/update-initramfs -u ;; purge) # NOTE: Only purge if no other fglrx package is installed. if [ ! -e $COMMON_FILE ]; then rm -Rf /usr/lib/fglrx # NOTE: Usually generated by dh_installinit, but because two # packages are providing the same initscript, this needs some # manual handling. update-rc.d atieventsd remove >/dev/null fi ;; upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 0 esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# debian/fglrx-updates.preinst.in0000664000000000000000000000623112317542653014002 0ustar #! /bin/sh # preinst script for fglrx # # see: dh_installdeb(1) # # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # # For details see /usr/share/doc/packaging-manual/ PKGNAME=#DRIVERNAME# OLDPKGNAME=xorg-driver-fglrx if [ `dpkg --print-architecture` = "amd64" ]; then HAS_LIB32="yes" fi fix_diversions() { # Remove very old style diversions if [ -d /usr/share/fglrx/diversions ]; then if [ -n "$HAS_LIB32" ]; then dpkg-divert --remove --package $OLDPKGNAME \ --divert /usr/share/fglrx/diversions/libGL.so.1.2_32bit \ --rename /usr/lib32/libGL.so.1.2 fi dpkg-divert --remove --package $OLDPKGNAME \ --divert /usr/share/fglrx/diversions/libGL.so.1.2 \ --rename /usr/lib/libGL.so.1.2 rmdir /usr/share/fglrx/diversions || true fi #remove old and unnecessary libGL.so.1 symlinks if [ -L /usr/lib/fglrx/libGL.so.1.xlibmesa ]; then rm /usr/lib/fglrx/libGL.so.1.xlibmesa fi if [ -L /usr/lib32/fglrx/libGL.so.1.xlibmesa ]; then rm /usr/lib32/fglrx/libGL.so.1.xlibmesa fi #remove unnecessary X11R6 symlinks that may not have #been cleaned up in earlier releases for i in /usr/lib/libGL.so.1 \ /usr/lib32/libGL.so.1 \ /usr/lib/libGL.so.1.2 \ /usr/lib32/libGL.so.1.2 \ /usr/X11R6/lib/libGL.so.1 \ /usr/X11R6/lib/libGL.so.1.2 \ /usr/X11R6/lib32/libGL.so.1 \ /usr/X11R6/lib32/libGL.so.1.2 ; do \ dpkg-divert --remove --package $OLDPKGNAME $i > /dev/null; \ done #before 8.699 we had to divert libdri if dpkg-divert --list $OLDPKGNAME | \ grep /usr/lib/xorg/modules/extensions/libdri.so > /dev/null ; then rm -f /usr/lib/xorg/modules/extensions/libdri.so > /dev/null dpkg-divert --remove --rename --package $OLDPKGNAME \ --divert /usr/lib/fglrx/libdri.so.xlibmesa \ /usr/lib/xorg/modules/extensions/libdri.so > /dev/null fi } case "$1" in install|upgrade) ### remove old fglrx diversions ### fix_diversions # Remove the file if it's not a symlink (see LP: #552903) if [ ! -L /etc/X11/Xsession.d/10fglrx ]; then rm -f /etc/X11/Xsession.d/10fglrx fi ## Just in case they installed without debs before, finish a proper uninstall routine ## ## This will error out on any failure (which should be cleaned up anyway before installing debs) ## [ -x /usr/share/ati/fglrx-uninstall.sh ] && /usr/share/ati/fglrx-uninstall.sh # Remove the directory if it's not a symlink (as it should be # a slave link now) if [ ! -L /etc/ati ]; then rm -Rf /etc/ati fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 0 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/fglrx-updates.postinst0000664000000000000000000003052312317543105013566 0ustar #!/bin/sh # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. set -e PACKAGE_NAME=fglrx-updates CVERSION=`dpkg-query -W -f='${Version}' $PACKAGE_NAME | awk -F "-" '{print $1}' | cut -d\: -f2` ARCH=`dpkg --print-architecture` INIT_SCRIPT="/etc/init/build-$PACKAGE_NAME.conf" TMP_FILE="/tmp/do_not_build_dkms_module" # Check the existence of a kernel named as $1 _is_kernel_name_correct() { CORRECT="no" KERNEL_NAME=$1 for kernel in /boot/config-*; do KERNEL=${kernel#*-} if [ "${KERNEL}" = "${KERNEL_NAME}" ]; then CORRECT="yes" break fi done echo $CORRECT } # Get the most recent kernel on Debian based systems. This keeps # into account both the version and the ABI. If the current kernel # is the most recent kernel then the function will print a null string. _get_newest_kernel_debian() { NEWEST_KERNEL= NEWEST_VERSION= NEWEST_ABI= for kernel in /boot/config-*; do KERNEL=${kernel#*-} KERNEL_VERSION=${KERNEL%%-*} ABI=${KERNEL#*-} ABI=${ABI%%-*} if [ -z "$NEWEST_KERNEL" ]; then # The 1st time get a version which is bigger than $1 COMPARE_TO=$1 else # Get the biggest version COMPARE_TO="$NEWEST_VERSION-$NEWEST_ABI" fi # if $kernel is greater than $COMPARE_TO if [ `dpkg --compare-versions "$KERNEL_VERSION-$ABI" gt "$COMPARE_TO" && echo "yes" || \ echo "no"` = "yes" ]; then NEWEST_KERNEL=$KERNEL NEWEST_VERSION=$KERNEL_VERSION NEWEST_ABI=$ABI fi done echo "$NEWEST_KERNEL" } get_newest_kernel() { NEWEST_KERNEL= # Try Debian first as rpm can be installed in Debian based distros if [ -e /usr/bin/dpkg ]; then # If DEB based CURRENT_KERNEL=$1 CURRENT_VERSION=${CURRENT_KERNEL%%-*} CURRENT_ABI=${CURRENT_KERNEL#*-} CURRENT_FLAVOUR=${CURRENT_ABI#*-} CURRENT_ABI=${CURRENT_ABI%%-*} NEWEST_KERNEL=$(_get_newest_kernel_debian "$CURRENT_VERSION-$CURRENT_ABI") elif [ `which rpm &>/dev/null` ]; then # If RPM based NEWEST_KERNEL=$(_get_newest_kernel_rhel) fi # Make sure that kernel name that we extracted corresponds to an installed # kernel if [ -n "$NEWEST_KERNEL" ] && [ `_is_kernel_name_correct $NEWEST_KERNEL` = "no" ]; then NEWEST_KERNEL= fi echo $NEWEST_KERNEL } if [ "$1" = "configure" ]; then #check whether libglx.so got installed. some releases earlier than x740 #will not actually have this libglx.so if [ ! -f /usr/lib/xorg/modules/extensions/libglx.so ]; then dpkg-divert --remove --rename --package xorg-driver-fglrx --divert /usr/lib/fglrx/libglx.so.xlibmesa /usr/lib/xorg/modules/extensions/libglx.so > /dev/null fi # Clean up any previous non-multi-arch alternatives if [ -n "$(update-alternatives --list gl_conf 2>/dev/null)" ]; then set -a $(update-alternatives --list gl_conf 2>/dev/null) while [ $# -ge 1 ] && [ "$#" != "configure" ]; do ALTERNATIVE=${1} update-alternatives --remove gl_conf $ALTERNATIVE shift done fi update-alternatives --force \ --install /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf x86_64-linux-gnu_gl_conf /usr/lib/fglrx/ld.so.conf 1001 \ --slave /usr/bin/aticonfig x86_64-linux-gnu_aticonfig /usr/lib/fglrx/bin/aticonfig \ --slave /usr/bin/amdconfig x86_64-linux-gnu_amdconfig /usr/lib/fglrx/bin/amdconfig \ --slave /usr/bin/atiode x86_64-linux-gnu_atiode /usr/lib/fglrx/bin/atiode \ --slave /usr/bin/amdnotifyui x86_64-linux-gnu_amdnotifyui /usr/lib/fglrx/bin/amdnotifyui \ --slave /usr/bin/amdcccle x86_64-linux-gnu_amdcccle /usr/lib/fglrx/bin/amdcccle \ --slave /usr/bin/amdxdg-su x86_64-linux-gnu_amdxdg_su /usr/lib/fglrx/bin/amdxdg-su \ --slave /usr/bin/amdupdaterandrconfig x86_64-linux-gnu_amdupdaterandrconfig /usr/lib/fglrx/bin/amdupdaterandrconfig \ --slave /usr/share/applications/ubuntu-amdcccle.desktop x86_64-linux-gnu_amdcccle_desktop /usr/share/fglrx/amdcccle.desktop \ --slave /usr/share/applications/ubuntu-amdccclesu.desktop x86_64-linux-gnu_amdccclesu_desktop /usr/share/fglrx/amdccclesu.desktop \ --slave /usr/bin/fgl_glxgears x86_64-linux-gnu_fgl_glxgears /usr/lib/fglrx/bin/fgl_glxgears \ --slave /usr/bin/fglrxinfo x86_64-linux-gnu_fglrxinfo /usr/lib/fglrx/bin/fglrxinfo \ --slave /usr/bin/atiodcli x86_64-linux-gnu_atiodcli /usr/lib/fglrx/bin/atiodcli \ --slave /usr/bin/clinfo x86_64-linux-gnu_clinfo /usr/lib/fglrx/bin/clinfo \ --slave /usr/bin/atieventsd x86_64-linux-gnu_atieventsd /usr/lib/fglrx/bin/atieventsd \ --slave /usr/lib/xorg/modules/drivers/fglrx_drv.so x86_64-linux-gnu_fglrx_drv /usr/lib/fglrx/xorg/modules/drivers/fglrx_drv.so \ --slave /usr/lib/dri/fglrx_dri.so x86_64-linux-gnu_fglrx_dri /usr/lib/fglrx/dri/fglrx_dri.so \ --slave /usr/lib/libAMDXvBA.cap x86_64-linux-gnu_libAMDXvBA_cap /usr/lib/fglrx/libAMDXvBA.cap \ --slave /etc/modprobe.d/fglrx.conf x86_64-linux-gnu_fglrx_modconf /lib/fglrx/modprobe.conf \ --slave /etc/X11/Xsession.d/10fglrx x86_64-linux-gnu_10fglrx /usr/lib/fglrx/10fglrx \ --slave /etc/ati x86_64-linux-gnu_ati_conf /usr/lib/fglrx/etc/ati \ --slave /etc/OpenCL/vendors/amdocl32.icd x86_64-linux-gnu_amdocl32.icd /usr/lib/fglrx/etc/OpenCL/vendors/amdocl32.icd \ --slave /etc/OpenCL/vendors/amdocl64.icd x86_64-linux-gnu_amdocl64.icd /usr/lib/fglrx/etc/OpenCL/vendors/amdocl64.icd \ --slave /usr/lib/libOpenCL.so x86_64-linux-gnu_libOpenCL.so /usr/lib/fglrx/libOpenCL.so \ --slave /usr/lib/x86_64-linux-gnu/xorg/extra-modules x86_64-linux-gnu_xorg_extra_modules /usr/lib/fglrx/xorg \ --slave /usr/lib/libaticalcl.so x86_64-linux-gnu_libaticalcl.so /usr/lib/fglrx/libaticalcl.so \ --slave /usr/lib32/libaticalcl.so x86_64-linux-gnu_libaticalcl.so_lib32 /usr/lib32/fglrx/libaticalcl.so \ --slave /usr/lib/libaticalrt.so x86_64-linux-gnu_libaticalrt.so /usr/lib/fglrx/libaticalrt.so \ --slave /usr/lib32/libaticalrt.so x86_64-linux-gnu_libaticalrt.so_lib32 /usr/lib32/fglrx/libaticalrt.so \ --slave /usr/share/grub-gfxpayload-lists/blacklist/10_proprietary-graphics-drivers x86_64-linux-gnu_grub_fb_blacklist /usr/share/fglrx/fglrx-updates.grub-gfxpayload # This is for switchable graphics # Note: the radeon kernel module is still blacklisted update-alternatives --force \ --install /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf x86_64-linux-gnu_gl_conf /usr/lib/pxpress/ld.so.conf 901 \ --slave /usr/bin/aticonfig x86_64-linux-gnu_aticonfig /usr/lib/fglrx/bin/aticonfig \ --slave /usr/bin/amdconfig x86_64-linux-gnu_amdconfig /usr/lib/fglrx/bin/amdconfig \ --slave /usr/bin/atiode x86_64-linux-gnu_atiode /usr/lib/fglrx/bin/atiode \ --slave /usr/bin/amdnotifyui x86_64-linux-gnu_amdnotifyui /usr/lib/fglrx/bin/amdnotifyui \ --slave /usr/bin/amdcccle x86_64-linux-gnu_amdcccle /usr/lib/fglrx/bin/amdcccle \ --slave /usr/bin/amdxdg-su x86_64-linux-gnu_amdxdg_su /usr/lib/fglrx/bin/amdxdg-su \ --slave /usr/bin/amdupdaterandrconfig x86_64-linux-gnu_amdupdaterandrconfig /usr/lib/fglrx/bin/amdupdaterandrconfig \ --slave /usr/share/applications/ubuntu-amdcccle.desktop x86_64-linux-gnu_amdcccle_desktop /usr/share/fglrx/amdcccle.desktop \ --slave /usr/share/applications/ubuntu-amdccclesu.desktop x86_64-linux-gnu_amdccclesu_desktop /usr/share/fglrx/amdccclesu.desktop \ --slave /usr/bin/fgl_glxgears x86_64-linux-gnu_fgl_glxgears /usr/lib/fglrx/bin/fgl_glxgears \ --slave /usr/bin/fglrxinfo x86_64-linux-gnu_fglrxinfo /usr/lib/fglrx/bin/fglrxinfo \ --slave /usr/bin/atiodcli x86_64-linux-gnu_atiodcli /usr/lib/fglrx/bin/atiodcli \ --slave /usr/bin/clinfo x86_64-linux-gnu_clinfo /usr/lib/fglrx/bin/clinfo \ --slave /usr/bin/atieventsd x86_64-linux-gnu_atieventsd /usr/lib/fglrx/bin/atieventsd \ --slave /usr/lib/xorg/modules/drivers/fglrx_drv.so x86_64-linux-gnu_fglrx_drv /usr/lib/fglrx/xorg/modules/drivers/fglrx_drv.so \ --slave /usr/lib/dri/fglrx_dri.so x86_64-linux-gnu_fglrx_dri /usr/lib/fglrx/dri/fglrx_dri.so \ --slave /usr/lib/libAMDXvBA.cap x86_64-linux-gnu_libAMDXvBA_cap /usr/lib/fglrx/libAMDXvBA.cap \ --slave /etc/modprobe.d/fglrx.conf x86_64-linux-gnu_fglrx_modconf /lib/fglrx/modprobe.conf \ --slave /etc/X11/Xsession.d/10fglrx x86_64-linux-gnu_10fglrx /usr/lib/fglrx/10fglrx \ --slave /etc/ati x86_64-linux-gnu_ati_conf /usr/lib/fglrx/etc/ati \ --slave /etc/OpenCL/vendors/amdocl32.icd x86_64-linux-gnu_amdocl32.icd /usr/lib/fglrx/etc/OpenCL/vendors/amdocl32.icd \ --slave /etc/OpenCL/vendors/amdocl64.icd x86_64-linux-gnu_amdocl64.icd /usr/lib/fglrx/etc/OpenCL/vendors/amdocl64.icd \ --slave /usr/lib/libOpenCL.so x86_64-linux-gnu_libOpenCL.so /usr/lib/fglrx/libOpenCL.so \ --slave /usr/lib/x86_64-linux-gnu/xorg/extra-modules x86_64-linux-gnu_xorg_extra_modules /usr/lib/pxpress/xorg \ --slave /usr/lib/libaticalcl.so x86_64-linux-gnu_libaticalcl.so /usr/lib/fglrx/libaticalcl.so \ --slave /usr/lib32/libaticalcl.so x86_64-linux-gnu_libaticalcl.so_lib32 /usr/lib32/fglrx/libaticalcl.so \ --slave /usr/lib/libaticalrt.so x86_64-linux-gnu_libaticalrt.so /usr/lib/fglrx/libaticalrt.so \ --slave /usr/lib32/libaticalrt.so x86_64-linux-gnu_libaticalrt.so_lib32 /usr/lib32/fglrx/libaticalrt.so \ --slave /usr/share/grub-gfxpayload-lists/blacklist/10_proprietary-graphics-drivers x86_64-linux-gnu_grub_fb_blacklist /usr/share/fglrx/fglrx-updates.grub-gfxpayload # Install just the ld.so.conf.d alternatives for the secondary architecture. # We need only to ensure that any mesa ld.so.conf.d alternative isn't active. update-alternatives --force \ --install /etc/ld.so.conf.d/i386-linux-gnu_GL.conf i386-linux-gnu_gl_conf /usr/lib/fglrx/alt_ld.so.conf 1001 update-alternatives --force \ --install /etc/ld.so.conf.d/i386-linux-gnu_GL.conf i386-linux-gnu_gl_conf /usr/lib/pxpress/alt_ld.so.conf 901 # ldconfig needs to be run immediately as we're changing /etc/ld.so.conf.d/ with # alternatives. LDCONFIG_NOTRIGGER=y ldconfig # Trigger gmenu so that the icons will show up in the menu dpkg-trigger --by-package=$PACKAGE_NAME gmenucache || true CURRENT_KERNEL=$(uname -r) NEWEST_KERNEL=$(get_newest_kernel "$KERNELS") ALTERNATIVE=$(readlink /etc/alternatives/x86_64-linux-gnu_gl_conf) if [ "$ALTERNATIVE" = "/usr/lib/fglrx/ld.so.conf" ]; then # Update initramfs so that the blacklist ends up in the initramfs update-initramfs -u if [ -n "$NEWEST_KERNEL" ] && [ ${CURRENT_KERNEL} != ${NEWEST_KERNEL} ]; then # This can fail when dealing with a chroot see LP: #556653 update-initramfs -u -k $CURRENT_KERNEL || true fi fi # If the delayed module build feature is enabled # i.e. if $DONT_BUILD_MODULE is set to 1 # or if $TMP_FILE exists if [ "${DONT_BUILD_MODULE}1" -eq "11" ] || [ -e $TMP_FILE ]; then # Do not build the module and create # the Upstart script which will # build the module on next boot cat > $INIT_SCRIPT </dev/null 2>&1; then update-grub-gfxpayload fi fi # NOTE: Usually generated by dh_installinit, but because two packages are # providing the same initscript, this needs some manual handling. if [ -x "/etc/init.d/atieventsd" ]; then update-rc.d atieventsd defaults 31 >/dev/null || exit $? fi #DEBHELPER# debian/fglrx-updates.grub-gfxpayload.in0000664000000000000000000000031412317542653015405 0ustar # Warning: This file was autogenerated by #DRIVERNAME#. # All changes to this file will be lost. # # Blacklist cards here # # Example: blacklist all AMD graphics cards # v1002d.*sv.*sd.*bc03sc.* debian/fglrx-updates.postinst.in0000664000000000000000000003075012317542653014204 0ustar #!/bin/sh # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. set -e PACKAGE_NAME=#DRIVERNAME# CVERSION=`dpkg-query -W -f='${Version}' $PACKAGE_NAME | awk -F "-" '{print $1}' | cut -d\: -f2` ARCH=`dpkg --print-architecture` INIT_SCRIPT="/etc/init/build-$PACKAGE_NAME.conf" TMP_FILE="/tmp/do_not_build_dkms_module" # Check the existence of a kernel named as $1 _is_kernel_name_correct() { CORRECT="no" KERNEL_NAME=$1 for kernel in /boot/config-*; do KERNEL=${kernel#*-} if [ "${KERNEL}" = "${KERNEL_NAME}" ]; then CORRECT="yes" break fi done echo $CORRECT } # Get the most recent kernel on Debian based systems. This keeps # into account both the version and the ABI. If the current kernel # is the most recent kernel then the function will print a null string. _get_newest_kernel_debian() { NEWEST_KERNEL= NEWEST_VERSION= NEWEST_ABI= for kernel in /boot/config-*; do KERNEL=${kernel#*-} KERNEL_VERSION=${KERNEL%%-*} ABI=${KERNEL#*-} ABI=${ABI%%-*} if [ -z "$NEWEST_KERNEL" ]; then # The 1st time get a version which is bigger than $1 COMPARE_TO=$1 else # Get the biggest version COMPARE_TO="$NEWEST_VERSION-$NEWEST_ABI" fi # if $kernel is greater than $COMPARE_TO if [ `dpkg --compare-versions "$KERNEL_VERSION-$ABI" gt "$COMPARE_TO" && echo "yes" || \ echo "no"` = "yes" ]; then NEWEST_KERNEL=$KERNEL NEWEST_VERSION=$KERNEL_VERSION NEWEST_ABI=$ABI fi done echo "$NEWEST_KERNEL" } get_newest_kernel() { NEWEST_KERNEL= # Try Debian first as rpm can be installed in Debian based distros if [ -e /usr/bin/dpkg ]; then # If DEB based CURRENT_KERNEL=$1 CURRENT_VERSION=${CURRENT_KERNEL%%-*} CURRENT_ABI=${CURRENT_KERNEL#*-} CURRENT_FLAVOUR=${CURRENT_ABI#*-} CURRENT_ABI=${CURRENT_ABI%%-*} NEWEST_KERNEL=$(_get_newest_kernel_debian "$CURRENT_VERSION-$CURRENT_ABI") elif [ `which rpm &>/dev/null` ]; then # If RPM based NEWEST_KERNEL=$(_get_newest_kernel_rhel) fi # Make sure that kernel name that we extracted corresponds to an installed # kernel if [ -n "$NEWEST_KERNEL" ] && [ `_is_kernel_name_correct $NEWEST_KERNEL` = "no" ]; then NEWEST_KERNEL= fi echo $NEWEST_KERNEL } if [ "$1" = "configure" ]; then #check whether libglx.so got installed. some releases earlier than x740 #will not actually have this libglx.so if [ ! -f /usr/lib/xorg/modules/extensions/libglx.so ]; then dpkg-divert --remove --rename --package xorg-driver-fglrx --divert /usr/lib/fglrx/libglx.so.xlibmesa /usr/lib/xorg/modules/extensions/libglx.so > /dev/null fi # Clean up any previous non-multi-arch alternatives if [ -n "$(update-alternatives --list gl_conf 2>/dev/null)" ]; then set -a $(update-alternatives --list gl_conf 2>/dev/null) while [ $# -ge 1 ] && [ "$#" != "configure" ]; do ALTERNATIVE=${1} update-alternatives --remove gl_conf $ALTERNATIVE shift done fi update-alternatives --force \ --install /#SYSCONFDIR#/ld.so.conf.d/#DEB_HOST_MULTIARCH#_GL.conf #DEB_HOST_MULTIARCH#_gl_conf /#LDSOCONF# #ALTPRIORITY# \ --slave /#BINDIR#/aticonfig #DEB_HOST_MULTIARCH#_aticonfig /#PKGBINDIR#/aticonfig \ --slave /#BINDIR#/amdconfig #DEB_HOST_MULTIARCH#_amdconfig /#PKGBINDIR#/amdconfig \ --slave /#BINDIR#/atiode #DEB_HOST_MULTIARCH#_atiode /#PKGBINDIR#/atiode \ --slave /#BINDIR#/amdnotifyui #DEB_HOST_MULTIARCH#_amdnotifyui /#PKGBINDIR#/amdnotifyui \ --slave /#BINDIR#/amdcccle #DEB_HOST_MULTIARCH#_amdcccle /#PKGBINDIR#/amdcccle \ --slave /#BINDIR#/amdxdg-su #DEB_HOST_MULTIARCH#_amdxdg_su /#PKGBINDIR#/amdxdg-su \ --slave /#BINDIR#/amdupdaterandrconfig #DEB_HOST_MULTIARCH#_amdupdaterandrconfig /#PKGBINDIR#/amdupdaterandrconfig \ --slave /#DATADIR#/applications/ubuntu-amdcccle.desktop #DEB_HOST_MULTIARCH#_amdcccle_desktop /#PKGDATADIR#/amdcccle.desktop \ --slave /#DATADIR#/applications/ubuntu-amdccclesu.desktop #DEB_HOST_MULTIARCH#_amdccclesu_desktop /#PKGDATADIR#/amdccclesu.desktop \ --slave /#BINDIR#/fgl_glxgears #DEB_HOST_MULTIARCH#_fgl_glxgears /#PKGBINDIR#/fgl_glxgears \ --slave /#BINDIR#/fglrxinfo #DEB_HOST_MULTIARCH#_fglrxinfo /#PKGBINDIR#/fglrxinfo \ --slave /#BINDIR#/atiodcli #DEB_HOST_MULTIARCH#_atiodcli /#PKGBINDIR#/atiodcli \ --slave /#BINDIR#/clinfo #DEB_HOST_MULTIARCH#_clinfo /#PKGBINDIR#/clinfo \ --slave /#BINDIR#/atieventsd #DEB_HOST_MULTIARCH#_atieventsd /#PKGBINDIR#/atieventsd \ --slave /#LIBDIR#/xorg/modules/drivers/fglrx_drv.so #DEB_HOST_MULTIARCH#_fglrx_drv /#PKGLIBDIR#/xorg/modules/drivers/fglrx_drv.so \ --slave /#LIBDIR#/dri/fglrx_dri.so #DEB_HOST_MULTIARCH#_fglrx_dri /#PKGLIBDIR#/dri/fglrx_dri.so \ --slave /#LIBDIR#/libAMDXvBA.cap #DEB_HOST_MULTIARCH#_libAMDXvBA_cap /#PKGLIBDIR#/libAMDXvBA.cap \ --slave /#SYSCONFDIR#/modprobe.d/fglrx.conf #DEB_HOST_MULTIARCH#_fglrx_modconf /lib/fglrx/modprobe.conf \ --slave /#SYSCONFDIR#/X11/Xsession.d/10fglrx #DEB_HOST_MULTIARCH#_10fglrx /#PKGLIBDIR#/10fglrx \ --slave /#SYSCONFDIR#/ati #DEB_HOST_MULTIARCH#_ati_conf /#PKGLIBDIR#/#SYSCONFDIR#/ati \ --slave /#SYSCONFDIR#/OpenCL/vendors/amdocl32.icd #DEB_HOST_MULTIARCH#_amdocl32.icd /#PKGLIBDIR#/#SYSCONFDIR#/OpenCL/vendors/amdocl32.icd \ --slave /#SYSCONFDIR#/OpenCL/vendors/amdocl64.icd #DEB_HOST_MULTIARCH#_amdocl64.icd /#PKGLIBDIR#/#SYSCONFDIR#/OpenCL/vendors/amdocl64.icd \ --slave /#LIBDIR#/libOpenCL.so #DEB_HOST_MULTIARCH#_libOpenCL.so /#PKGLIBDIR#/libOpenCL.so \ --slave /#XORGEXTRA# #DEB_HOST_MULTIARCH#_xorg_extra_modules /#PKGLIBDIR#/xorg \ --slave /#LIBDIR#/libaticalcl.so #DEB_HOST_MULTIARCH#_libaticalcl.so /#PKGLIBDIR#/libaticalcl.so \ --slave /#LIBDIR32#/libaticalcl.so #DEB_HOST_MULTIARCH#_libaticalcl.so_lib32 /#PKGLIBDIR32#/libaticalcl.so \ --slave /#LIBDIR#/libaticalrt.so #DEB_HOST_MULTIARCH#_libaticalrt.so /#PKGLIBDIR#/libaticalrt.so \ --slave /#LIBDIR32#/libaticalrt.so #DEB_HOST_MULTIARCH#_libaticalrt.so_lib32 /#PKGLIBDIR32#/libaticalrt.so \ --slave /#DATADIR#/grub-gfxpayload-lists/blacklist/10_proprietary-graphics-drivers #DEB_HOST_MULTIARCH#_grub_fb_blacklist /#PKGDATADIR#/fglrx-updates.grub-gfxpayload # This is for switchable graphics # Note: the radeon kernel module is still blacklisted update-alternatives --force \ --install /#SYSCONFDIR#/ld.so.conf.d/#DEB_HOST_MULTIARCH#_GL.conf #DEB_HOST_MULTIARCH#_gl_conf /#PXLDSOCONF# #PXALTPRIORITY# \ --slave /#BINDIR#/aticonfig #DEB_HOST_MULTIARCH#_aticonfig /#PKGBINDIR#/aticonfig \ --slave /#BINDIR#/amdconfig #DEB_HOST_MULTIARCH#_amdconfig /#PKGBINDIR#/amdconfig \ --slave /#BINDIR#/atiode #DEB_HOST_MULTIARCH#_atiode /#PKGBINDIR#/atiode \ --slave /#BINDIR#/amdnotifyui #DEB_HOST_MULTIARCH#_amdnotifyui /#PKGBINDIR#/amdnotifyui \ --slave /#BINDIR#/amdcccle #DEB_HOST_MULTIARCH#_amdcccle /#PKGBINDIR#/amdcccle \ --slave /#BINDIR#/amdxdg-su #DEB_HOST_MULTIARCH#_amdxdg_su /#PKGBINDIR#/amdxdg-su \ --slave /#BINDIR#/amdupdaterandrconfig #DEB_HOST_MULTIARCH#_amdupdaterandrconfig /#PKGBINDIR#/amdupdaterandrconfig \ --slave /#DATADIR#/applications/ubuntu-amdcccle.desktop #DEB_HOST_MULTIARCH#_amdcccle_desktop /#PKGDATADIR#/amdcccle.desktop \ --slave /#DATADIR#/applications/ubuntu-amdccclesu.desktop #DEB_HOST_MULTIARCH#_amdccclesu_desktop /#PKGDATADIR#/amdccclesu.desktop \ --slave /#BINDIR#/fgl_glxgears #DEB_HOST_MULTIARCH#_fgl_glxgears /#PKGBINDIR#/fgl_glxgears \ --slave /#BINDIR#/fglrxinfo #DEB_HOST_MULTIARCH#_fglrxinfo /#PKGBINDIR#/fglrxinfo \ --slave /#BINDIR#/atiodcli #DEB_HOST_MULTIARCH#_atiodcli /#PKGBINDIR#/atiodcli \ --slave /#BINDIR#/clinfo #DEB_HOST_MULTIARCH#_clinfo /#PKGBINDIR#/clinfo \ --slave /#BINDIR#/atieventsd #DEB_HOST_MULTIARCH#_atieventsd /#PKGBINDIR#/atieventsd \ --slave /#LIBDIR#/xorg/modules/drivers/fglrx_drv.so #DEB_HOST_MULTIARCH#_fglrx_drv /#PKGLIBDIR#/xorg/modules/drivers/fglrx_drv.so \ --slave /#LIBDIR#/dri/fglrx_dri.so #DEB_HOST_MULTIARCH#_fglrx_dri /#PKGLIBDIR#/dri/fglrx_dri.so \ --slave /#LIBDIR#/libAMDXvBA.cap #DEB_HOST_MULTIARCH#_libAMDXvBA_cap /#PKGLIBDIR#/libAMDXvBA.cap \ --slave /#SYSCONFDIR#/modprobe.d/fglrx.conf #DEB_HOST_MULTIARCH#_fglrx_modconf /lib/fglrx/modprobe.conf \ --slave /#SYSCONFDIR#/X11/Xsession.d/10fglrx #DEB_HOST_MULTIARCH#_10fglrx /#PKGLIBDIR#/10fglrx \ --slave /#SYSCONFDIR#/ati #DEB_HOST_MULTIARCH#_ati_conf /#PKGLIBDIR#/#SYSCONFDIR#/ati \ --slave /#SYSCONFDIR#/OpenCL/vendors/amdocl32.icd #DEB_HOST_MULTIARCH#_amdocl32.icd /#PKGLIBDIR#/#SYSCONFDIR#/OpenCL/vendors/amdocl32.icd \ --slave /#SYSCONFDIR#/OpenCL/vendors/amdocl64.icd #DEB_HOST_MULTIARCH#_amdocl64.icd /#PKGLIBDIR#/#SYSCONFDIR#/OpenCL/vendors/amdocl64.icd \ --slave /#LIBDIR#/libOpenCL.so #DEB_HOST_MULTIARCH#_libOpenCL.so /#PKGLIBDIR#/libOpenCL.so \ --slave /#XORGEXTRA# #DEB_HOST_MULTIARCH#_xorg_extra_modules /#PXDIR#/xorg \ --slave /#LIBDIR#/libaticalcl.so #DEB_HOST_MULTIARCH#_libaticalcl.so /#PKGLIBDIR#/libaticalcl.so \ --slave /#LIBDIR32#/libaticalcl.so #DEB_HOST_MULTIARCH#_libaticalcl.so_lib32 /#PKGLIBDIR32#/libaticalcl.so \ --slave /#LIBDIR#/libaticalrt.so #DEB_HOST_MULTIARCH#_libaticalrt.so /#PKGLIBDIR#/libaticalrt.so \ --slave /#LIBDIR32#/libaticalrt.so #DEB_HOST_MULTIARCH#_libaticalrt.so_lib32 /#PKGLIBDIR32#/libaticalrt.so \ --slave /#DATADIR#/grub-gfxpayload-lists/blacklist/10_proprietary-graphics-drivers #DEB_HOST_MULTIARCH#_grub_fb_blacklist /#PKGDATADIR#/fglrx-updates.grub-gfxpayload # Install just the ld.so.conf.d alternatives for the secondary architecture. # We need only to ensure that any mesa ld.so.conf.d alternative isn't active. update-alternatives --force \ --install /#SYSCONFDIR#/ld.so.conf.d/#OTHER_ARCH#_GL.conf #OTHER_ARCH#_gl_conf /#ALTLDSOCONF# #ALTPRIORITY# update-alternatives --force \ --install /#SYSCONFDIR#/ld.so.conf.d/#OTHER_ARCH#_GL.conf #OTHER_ARCH#_gl_conf /#ALTPXLDSOCONF# #PXALTPRIORITY# # ldconfig needs to be run immediately as we're changing /etc/ld.so.conf.d/ with # alternatives. LDCONFIG_NOTRIGGER=y ldconfig # Trigger gmenu so that the icons will show up in the menu dpkg-trigger --by-package=$PACKAGE_NAME gmenucache || true CURRENT_KERNEL=$(uname -r) NEWEST_KERNEL=$(get_newest_kernel "$KERNELS") ALTERNATIVE=$(readlink /etc/alternatives/#DEB_HOST_MULTIARCH#_gl_conf) if [ "$ALTERNATIVE" = "/#LDSOCONF#" ]; then # Update initramfs so that the blacklist ends up in the initramfs update-initramfs -u if [ -n "$NEWEST_KERNEL" ] && [ ${CURRENT_KERNEL} != ${NEWEST_KERNEL} ]; then # This can fail when dealing with a chroot see LP: #556653 update-initramfs -u -k $CURRENT_KERNEL || true fi fi # If the delayed module build feature is enabled # i.e. if $DONT_BUILD_MODULE is set to 1 # or if $TMP_FILE exists if [ "${DONT_BUILD_MODULE}1" -eq "11" ] || [ -e $TMP_FILE ]; then # Do not build the module and create # the Upstart script which will # build the module on next boot cat > $INIT_SCRIPT </dev/null 2>&1; then update-grub-gfxpayload fi fi # NOTE: Usually generated by dh_installinit, but because two packages are # providing the same initscript, this needs some manual handling. if [ -x "/etc/init.d/atieventsd" ]; then update-rc.d atieventsd defaults 31 >/dev/null || exit $? fi #DEBHELPER# debian/fglrx-updates-dev.links0000664000000000000000000000006012317543105013570 0ustar usr/lib/libfglrx_dm.so.1 usr/lib/libfglrx_dm.so debian/fglrx-amdcccle-updates.install.in0000775000000000000000000000040512317542653015515 0ustar debian/overrides/#DRIVERCTRLNAME# usr/share/lintian/overrides usr/share/icons/*.xpm usr/share/pixmaps usr/share/ati usr/share usr/share/applications/*.desktop usr/share/fglrx usr/X11R6/bin/* #PKGLIBDIR#/bin arch/#SRCARCH#/usr/X11R6/bin/amdcccle #PKGLIBDIR#/bin debian/control0000664000000000000000000000433712317543105010603 0ustar Source: fglrx-installer-updates Section: restricted/misc Priority: extra Maintainer: Ubuntu Core Developers Uploaders: Mario Limonciello , Alberto Milone Build-Depends: debhelper (>= 7), dh-modaliases, libxext6, libxrandr2, libice6, libsm6, libfontconfig1, libxi6, libxcursor1, fakeroot, libdrm2, libgl1-mesa-glx, libxinerama1, libqtgui4, xserver-xorg-dev (>= 2:1.10.0), execstack Standards-Version: 3.8.3 Homepage: http://support.amd.com Package: fglrx-updates Architecture: amd64 i386 Recommends: fglrx-amdcccle-updates Depends: ${shlibs:Depends}, lib32gcc1 [amd64], libc6-i386 [amd64], dkms, make, linux-libc-dev, ${xviddriver:Depends}, ${misc:Depends} Provides: fglrx-driver, xorg-driver-binary, ${xviddriver:Provides} Conflicts: fglrx-driver, xorg-driver-binary Replaces: fglrx-driver, xorg-driver-binary XB-Modaliases: ${modaliases} Description: Video driver for the AMD graphics accelerators Video driver for the AMD Radeon and FireGL graphics accelerators. . This package provides 2D display drivers and hardware accelerated OpenGL. Package: fglrx-updates-dev Architecture: amd64 i386 Depends: fglrx-updates, ${misc:Depends} Conflicts: fglrx-driver-dev, xfree86-driver-fglrx-dev Replaces: fglrx-driver-dev, xfree86-driver-fglrx-dev, xorg-driver-fglrx-dev, fglrx-dev Provides: fglrx-driver-dev Description: Video driver for the AMD graphics accelerators (devel files) Video driver for the AMD Radeon and FireGL graphics accelerators. . This package provides definitions for the GL and GLX extensions. Package: fglrx-amdcccle-updates Architecture: amd64 i386 Depends: fglrx-updates, ${shlibs:Depends}, ${misc:Depends} Conflicts: fglrx-control-qt2, fglrx-control Replaces: fglrx-control, fglrx-amdcccle Provides: fglrx-control Description: Catalyst Control Center for the AMD graphics accelerators Catalyst Control Center for the AMD Radeon and FireGL graphics accelerators. . This package provides the Catalyst Control Center, Linux Edition debian/copyright_stub_10000664000000000000000000000250211706245010012373 0ustar ---------------------------------------------------------------------------- Packaging scripts: Copyright (C) 2002-2005 Flavio Stanchina Copyright (C) 2005-2006 Aric Cyr Copyright (C) 2007-2009 Mario Limonciello Copyright (C) 2009-2011 Canonical Ltd. The packaging scripts are copyrighted under the MIT license. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. debian/fglrx-updates.preinst0000664000000000000000000000623212317543105013367 0ustar #! /bin/sh # preinst script for fglrx # # see: dh_installdeb(1) # # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # # For details see /usr/share/doc/packaging-manual/ PKGNAME=fglrx-updates OLDPKGNAME=xorg-driver-fglrx if [ `dpkg --print-architecture` = "amd64" ]; then HAS_LIB32="yes" fi fix_diversions() { # Remove very old style diversions if [ -d /usr/share/fglrx/diversions ]; then if [ -n "$HAS_LIB32" ]; then dpkg-divert --remove --package $OLDPKGNAME \ --divert /usr/share/fglrx/diversions/libGL.so.1.2_32bit \ --rename /usr/lib32/libGL.so.1.2 fi dpkg-divert --remove --package $OLDPKGNAME \ --divert /usr/share/fglrx/diversions/libGL.so.1.2 \ --rename /usr/lib/libGL.so.1.2 rmdir /usr/share/fglrx/diversions || true fi #remove old and unnecessary libGL.so.1 symlinks if [ -L /usr/lib/fglrx/libGL.so.1.xlibmesa ]; then rm /usr/lib/fglrx/libGL.so.1.xlibmesa fi if [ -L /usr/lib32/fglrx/libGL.so.1.xlibmesa ]; then rm /usr/lib32/fglrx/libGL.so.1.xlibmesa fi #remove unnecessary X11R6 symlinks that may not have #been cleaned up in earlier releases for i in /usr/lib/libGL.so.1 \ /usr/lib32/libGL.so.1 \ /usr/lib/libGL.so.1.2 \ /usr/lib32/libGL.so.1.2 \ /usr/X11R6/lib/libGL.so.1 \ /usr/X11R6/lib/libGL.so.1.2 \ /usr/X11R6/lib32/libGL.so.1 \ /usr/X11R6/lib32/libGL.so.1.2 ; do \ dpkg-divert --remove --package $OLDPKGNAME $i > /dev/null; \ done #before 8.699 we had to divert libdri if dpkg-divert --list $OLDPKGNAME | \ grep /usr/lib/xorg/modules/extensions/libdri.so > /dev/null ; then rm -f /usr/lib/xorg/modules/extensions/libdri.so > /dev/null dpkg-divert --remove --rename --package $OLDPKGNAME \ --divert /usr/lib/fglrx/libdri.so.xlibmesa \ /usr/lib/xorg/modules/extensions/libdri.so > /dev/null fi } case "$1" in install|upgrade) ### remove old fglrx diversions ### fix_diversions # Remove the file if it's not a symlink (see LP: #552903) if [ ! -L /etc/X11/Xsession.d/10fglrx ]; then rm -f /etc/X11/Xsession.d/10fglrx fi ## Just in case they installed without debs before, finish a proper uninstall routine ## ## This will error out on any failure (which should be cleaned up anyway before installing debs) ## [ -x /usr/share/ati/fglrx-uninstall.sh ] && /usr/share/ati/fglrx-uninstall.sh # Remove the directory if it's not a symlink (as it should be # a slave link now) if [ ! -L /etc/ati ]; then rm -Rf /etc/ati fi ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 0 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/fglrx-amdcccle-updates.install0000664000000000000000000000041412317543105015076 0ustar debian/overrides/fglrx-amdcccle-updates usr/share/lintian/overrides usr/share/icons/*.xpm usr/share/pixmaps usr/share/ati usr/share usr/share/applications/*.desktop usr/share/fglrx usr/X11R6/bin/* usr/lib/fglrx/bin arch/x86_64/usr/X11R6/bin/amdcccle usr/lib/fglrx/bin debian/replacements/0000755000000000000000000000000012317542311011647 5ustar debian/replacements/authatieventsd.sh0000664000000000000000000000575112317542311015245 0ustar #!/bin/sh # # Control script grant/revoke access to X for the ATI External Events Daemon # # Distro maintainers may modify this reference script as necessary to conform # to their distribution policies. # # Copyright (c) 2006, ATI Technologies Inc. All rights reserved. # # # Parameters: # $1 is a keyword, either "grant" or "revoke" # $2 is the display name # $3 is the X authorization file to be authorized # # Returns: # 0 if authorization was successfully granted/revoked # nonzero on failure # # Note: # The third parameter only makes sense if xauth is being used. If another # mechanism such as xhost is being used it can be ignored. For setups that # do not do any form of authentication(!) this script can be trimmed down # to just "exit 0" and the daemon will assume that it is always authorized. # GetServerAuthFile() { # Determine where the authorization key may be hiding. The location will # vary depending upon whether X was started via xdm/kdm, gdm or startx, so # check each one in turn. # Check xdm XDM_AUTH_MASK=/var/lib/xdm/authdir/authfiles/A$1* XDM_AUTH_FILE=`ls -t $XDM_AUTH_MASK 2>/dev/null | head -n 1` # Choose the newest file if [ -n "$XDM_AUTH_FILE" ]; then SERVER_AUTH_FILE=$XDM_AUTH_FILE DISP_SEARCH_STRING="#ffff#" return 0 fi # Check kdm KDM_AUTH_MASK=/var/run/xauth/A$1* KDM_AUTH_FILE=`ls -t $KDM_AUTH_MASK 2>/dev/null | head -n 1` # Choose the newest file if [ -n "$KDM_AUTH_FILE" ]; then SERVER_AUTH_FILE=$KDM_AUTH_FILE DISP_SEARCH_STRING="#ffff#" return 0 fi # Check gdm GDM_AUTH_FILE=/var/lib/gdm/$1.Xauth if [ -e $GDM_AUTH_FILE ]; then SERVER_AUTH_FILE=$GDM_AUTH_FILE DISP_SEARCH_STRING="$1" return 0 fi # Finally, check for startx for XPID in `pidof X`; do TRIAL_XAUTH_FILE=`tr '\0' '\n' < /proc/$XPID/environ | grep -e "^XAUTHORITY=" | cut -d= -f2` TRIAL_XAUTH_KEY=`xauth -f $TRIAL_XAUTH_FILE list | grep "unix$1"` if [ -n "$TRIAL_XAUTH_KEY" ]; then SERVER_AUTH_FILE=$TRIAL_XAUTH_FILE DISP_SEARCH_STRING="unix$1" return 0 fi done # Couldn't find the key return -1 } # Main part of script # # Since the daemon is usually started during init time before X comes up, # $PATH may not yet contain the paths to the X binaries, particularly xauth. # Add the usual location for where xauth may live and fail out if we still # can't find it. # PATH=$PATH:/usr/bin:/usr/X11R6/bin which xauth > /dev/null || exit -1 case "$1" in grant) GetServerAuthFile $2 || exit -1 DISP_AUTH_KEY=`xauth -f $SERVER_AUTH_FILE list | grep $DISP_SEARCH_STRING | awk '{ print $3 }'` if [ -n "$DISP_AUTH_KEY" ]; then xauth -f $3 add $2 . $DISP_AUTH_KEY || exit -1 else exit -1 fi ;; revoke) xauth -f $3 remove $2 || exit -1 ;; *) exit -1 ;; esac exit 0 debian/10fglrx.in0000664000000000000000000000066412270437233011014 0ustar LIBGL_DRIVERS_PATH=/#PKGLIBDIR#/dri:/usr/lib/#DEB_HOST_MULTIARCH#/dri:/usr/lib/dri if [ `uname -m` = 'x86_64' ]; then if [ -d /#PKGLIBDIR32#/dri ]; then LIBGL_DRIVERS_PATH=${LIBGL_DRIVERS_PATH}:/#PKGLIBDIR32#/dri:/usr/lib/#OTHER_ARCH#/dri if [ ! -z $LD_LIBRARY_PATH ]; then LD_LIBRARY_PATH=$LD_LIBRARY_PATH: fi LD_LIBRARY_PATH=${LD_LIBRARY_PATH}/usr/lib32 export LD_LIBRARY_PATH fi fi export LIBGL_DRIVERS_PATH debian/fglrx-updates.dirs.in0000664000000000000000000000046212317542653013257 0ustar #PKGLIBDIR# #PXDIR# #PXXMODDIR# #PXLIBDIR# #PKGDATADIR# #PKGLIBCONFDIR# #PKGLIBDIR#/#SYSCONFDIR#/ati #PKGLIBDIR#/#SYSCONFDIR#/OpenCL/vendors #DATADIR#/ati #DATADIR#/grub-gfxpayload-lists/blacklist #LIBDIR#/dri #LIBDIR#/xorg/modules/drivers/ #SYSCONFDIR#/OpenCL/vendors /usr/share/applications/ #XORGEXTRA# debian/fglrx-updates.prerm0000664000000000000000000000221512317543105013025 0ustar #!/bin/sh # prerm script for fglrx # # Copyright (C) 2007 Mario Limonciello # Copyright (C) 2009-2011 Canonical Ltd. PACKAGE_NAME=fglrx-updates CVERSION=`dpkg-query -W -f='${Version}' $PACKAGE_NAME | awk -F "-" '{print $1}' | cut -d\: -f2` remove_dkms_module() { echo "Removing all DKMS Modules" dkms remove -m $PACKAGE_NAME -v $CVERSION --all > /dev/null echo "Done." } case "$1" in upgrade) remove_dkms_module ;; remove) remove_dkms_module update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/fglrx/ld.so.conf update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/fglrx/alt_ld.so.conf # Remove PXpress alternatives update-alternatives --remove x86_64-linux-gnu_gl_conf /usr/lib/pxpress/ld.so.conf update-alternatives --remove i386-linux-gnu_gl_conf /usr/lib/pxpress/alt_ld.so.conf # Trigger gmenu so as to update the gnome menu dpkg-trigger --by-package=$PACKAGE_NAME gmenucache || true # explicit ldconfig due to alternatives LDCONFIG_NOTRIGGER=y ldconfig # Update the grub gfxpayload blacklist if which update-grub-gfxpayload >/dev/null 2>&1; then update-grub-gfxpayload fi ;; esac #DEBHELPER# debian/fglrx-updates.default0000664000000000000000000000016612317542653013336 0ustar # Powerstate switching on ACPI events for # lid open/close and AC adapter on/off FGLRX_ACPI_SWITCH_POWERSTATES=false debian/AUTHORS0000664000000000000000000000105411706245010010234 0ustar Authors and contributors (packaging scripts): ------------------------- Alberto Milone -- current maintainer, alternatives system support, kernel detection logic, PowerXpress support Mario Limonciello -- former maintainer and initial packager, DKMS support, automatic source generation code, port to debhelper 7 Aric Cyr -- former maintainer of the Debian packages Flavio Stanchina -- former maintainer of the Debian packages debian/source/0000775000000000000000000000000012254350670010474 5ustar debian/source/format0000664000000000000000000000001412254350670011702 0ustar 3.0 (quilt) debian/fglrx-updates-dev.install.in0000664000000000000000000000027412317542653014541 0ustar debian/overrides/#DRIVERDEVNAME# usr/share/lintian/overrides usr/include/* usr/include arch/#SRCARCH#/usr/X11R6/#SRCLIBDIR#/*.a usr/lib