Diede
(usa Debian)
Enviado em 18/04/2009 - 18:18h
Qual versão do Catalyst você está usando?
Seu kernel é o 2.6.29.1?
Se for a 9.3, ela não compila direito no kernel 2.6.29.x
Eu tentei compilar no dia em que o Kernel 2.6.29 saiu, e achei um patch para fazer funcionar.
(http://www.phoronix.com/forums/showthread.php?t=16173)
Não sei irá funcionar no seu kernel, que aparentemente é o 2.6.29.1
mas, segue o patch na íntegra:
diff -Nparu a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c 2009-01-23 20:00:26.000000000 -0200
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c 2009-02-13 15:25:00.000000000 -0200
@@ -1460,7 +1460,11 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(vo
*/
KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void)
{
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
+ return current->cred->euid;
+#else
return current->euid;
+#endif
}
/** /brief Delay execution for the specified number of microseconds
@@ -1832,15 +1836,30 @@ int ATI_API_CALL KCL_PosixSecurityCapChe
*/
void ATI_API_CALL KCL_PosixSecurityCapSetIPCLock(unsigned int lock)
{
+
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
+ struct cred *new = prepare_creds();
+ if (!new) {
+ printk(KERN_ERR "fglrx: could not allocate memory\n");
+ return;
+ }
+#else
+#define new current
+#endif
if (lock == 0 )
{
- cap_lower(current->cap_effective, CAP_IPC_LOCK);
+ cap_lower(new->cap_effective, CAP_IPC_LOCK);
}
else
{
- cap_raise(current->cap_effective, CAP_IPC_LOCK);
+ cap_raise(new->cap_effective, CAP_IPC_LOCK);
}
- return;
+
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
+ commit_creds(new);
+#else
+#undef new
+#endif
}
/** \brief Get number of available RAM pages
diff -Nparu a/common/lib/modules/fglrx/build_mod/firegl_public.h b/common/lib/modules/fglrx/build_mod/firegl_public.h
--- a/common/lib/modules/fglrx/build_mod/firegl_public.h 2009-01-23 20:00:26.000000000 -0200
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.h 2009-02-16 14:02:50.000000000 -0300
@@ -18,6 +18,7 @@
#define _FIREGL_PUBLIC_H_
#include <stdarg.h>
+#include <asm/pgtable.h>
#include "kcl_pci.h"
#include "kcl_io.h"
@@ -590,6 +591,11 @@ extern unsigned long KCL_SYSINFO_
#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
#endif
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
+#undef pgprot_writecombine
+#undef pgprot_noncached
+#endif
+
#ifndef pgprot_writecombine
#define pgprot_writecombine(prot) __pgprot((pgprot_val(prot) & ~(_PAGE_PCD)) | _PAGE_PWT)
#endif
@@ -598,6 +604,7 @@ extern unsigned long KCL_SYSINFO_
#define pgprot_noncached(prot) __pgprot(pgprot_val(prot) | _PAGE_PCD | _PAGE_PWT)
#endif
+
#endif //FIREGL_USWC_SUPPORT
diff -Nparu a/common/lib/modules/fglrx/build_mod/kcl_acpi.c b/common/lib/modules/fglrx/build_mod/kcl_acpi.c
--- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2009-01-23 20:00:26.000000000 -0200
+++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2009-02-13 15:25:00.000000000 -0200
@@ -18,6 +18,12 @@
#include <linux/autoconf.h>
#include <linux/acpi.h>
+#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
+#include <acpi/acpica/acconfig.h>
+#include <acpi/acpica/aclocal.h>
+#include <acpi/acpica/acobject.h>
+#endif
+
#include "kcl_config.h"
#include "kcl_type.h"
#include "kcl_acpi.h"
#include "kcl_acpi.h"