diff --git a/kernel/drivers/module-fglrx/actions.py b/kernel/drivers/module-fglrx/actions.py index ffa5251339..d9c8d1a167 100644 --- a/kernel/drivers/module-fglrx/actions.py +++ b/kernel/drivers/module-fglrx/actions.py @@ -23,7 +23,6 @@ else: XDir = "xpic" + ("_64a" if Target == "x86_64" else "") - def setup(): shelltools.makedirs("%s/common" % get.workDIR()) shelltools.move("lib", "%s/common/" % get.workDIR()) @@ -50,15 +49,17 @@ def setup(): #shelltools.system("patch -p1 < lano1106_fglrx_intel_iommu.patch") #shelltools.system("patch -p1 < lano1106_kcl_agp_13_4.patch") shelltools.system("patch -p1 < makefile_compat.patch") + #shelltools.system("patch -p1 < 4.4-manjaro-xstate.patch") def build(): + shelltools.export("SHELL", "/bin/sh") if get.buildTYPE() == "emul32": return shelltools.cd(BuildDir) - shelltools.system("sh make.sh") + shelltools.system("sh ./make.sh") def install(): # Controlcenter binaries diff --git a/kernel/drivers/module-fglrx/files/4.4-manjaro-xstate.patch b/kernel/drivers/module-fglrx/files/4.4-manjaro-xstate.patch new file mode 100644 index 0000000000..15a00d547a --- /dev/null +++ b/kernel/drivers/module-fglrx/files/4.4-manjaro-xstate.patch @@ -0,0 +1,22 @@ +--- 15.12/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-12-18 19:47:41.000000000 +0100 ++++ b/firegl_public.c 2015-12-19 20:48:13.223261632 +0100 +@@ -6450,12 +6450,15 @@ + struct fpu *fpu = &tsk->thread.fpu; + + if(static_cpu_has(X86_FEATURE_XSAVE)) { +-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) +- fpu_xsave(fpu); +- if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP)) +-#else ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0) ++ copy_xregs_to_kernel(&fpu->state.xsave); ++ if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP)) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0) + copy_xregs_to_kernel(&fpu->state.xsave); + if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP)) ++#else ++ fpu_xsave(fpu); ++ if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP)) + #endif + return 1; + } else if (static_cpu_has(X86_FEATURE_FXSR)) { diff --git a/kernel/drivers/module-fglrx/pspec.xml b/kernel/drivers/module-fglrx/pspec.xml index 25fb33591f..bcc34bb48b 100644 --- a/kernel/drivers/module-fglrx/pspec.xml +++ b/kernel/drivers/module-fglrx/pspec.xml @@ -11,7 +11,7 @@ ATI ATI display drivers. Fglrx is a driver written by AMD(ATI) for ATI graphics cards.Radeons HD 2 3 4 X series are not supported - http://archive.ubuntu.com/ubuntu/pool/restricted/f/fglrx-installer/fglrx-installer_15.200.orig.tar.gz + http://archive.ubuntu.com/ubuntu/pool/restricted/f/fglrx-installer/fglrx-installer_15.201.orig.tar.gz desktop-files.patch makefile_compat.patch @@ -20,9 +20,11 @@ lano1106_fglrx_intel_iommu.patch lano1106_kcl_agp_13_4.patch LICENSE.TXT + 4.4-manjaro-xstate.patch kernel-module-headers + kernel @@ -140,7 +142,7 @@ 2016-02-04 - 15.20 + 15.201 Rebuild for kernel-4.4.1 Ertuğrul Erata ertugrulerata@gmail.com