LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Graphics drivers on kernel 2.6/2.5 (https://www.linuxquestions.org/questions/linux-hardware-18/graphics-drivers-on-kernel-2-6-2-5-a-76967/)

malcidragon 07-29-2003 11:47 AM

Graphics drivers on kernel 2.6/2.5
 
I have made the jump to 2.6, I would like to try and get my ATI Radeon 9000 working with the ati drivers.
I have seen a post about compiling the nvidia driver under 2.5
and getting the same issues I'm getting....
mach_apicdef.h: No such file or directory
modversions.h: No such file or directory
conflicting types for `mp_irqs'

seem to be the main issues here...
Can anyone here lend a helping hand (or anyone done it!)

Cheers

Malc,:confused:

ascl 08-26-2003 12:35 AM

patches for ATI drivers for 2.6
 
I haven't tried these yet (will as soon as I get home),
but it looks like these patches will do the trick.
http://ftp.csie.chu.edu.tw/Linux/Gen...drivers/files/

Good luck! :-)

ascl 09-01-2003 07:34 PM

Anyone had success?
 
I tried the gentoo patches, and after some tweaking, got
it to compile. However, the kernel is not accepting it
as a module.
"No module found in object" or something along these lines.

malcidragon 10-02-2003 12:01 PM

damned ATI
 
tried that url but it appears to be down :cry:
The drivers from ATI appear to have a 2.6.x directory, but
on 2.6.0-test6-mm1 the ATI drivers don't compile....
Oh well 2.6.0-test6-mm2 is out, gives me something to do....

/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `firegl_stub_open':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:421: called object is not a function
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_inode_rdev_minor':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:847: warning: implicit declaration of function `minor'
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_geteuid':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:893: structure has no member named `euid'
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_get_vm_phys_addr':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1506: warning: implicit declaration of function `VMALLOC_VMADDR'
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
make[1]: *** [/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.0-test6-mm1'
make: *** [kmod_build] Error 2

malcidragon 10-03-2003 02:48 AM

bugger indeed
 
Managed to get the patches from...
http://download.tw.kde.org/pub/gento...drivers/files/

[root@malclin 2.6.x]# insmod fglrx.o Error inserting 'fglrx.o': -1 Unknown symbol in module

Looks like I'm getting the same as you here....

malcidragon 10-03-2003 03:07 AM

mmmm
 
http://ftp.lug.udel.edu/pub/linux/di...13-2.6.tar.bz2

Still no luck with them either (Less I can't even get them to compile)

malcidragon 10-05-2003 01:05 PM

I am using 2.6.0-test6-mm4, so you might need to apply the mm patch.
I applied all of the patches, although I had to experiment with
patch -p1 /p2 etc.etc. seems the patches expect the source code
not in the current working directory.
I'm sure this was done to taunt me!
:cry:
I wish there was somewhere that people could post modules for
the latest mm kernel for the fglrx module!
Oh well, the really weird thing is that glxgears is faster using
indirect than dri opengl!
But the latest ATI drivers are supposed to be a lot slower

malcidragon 10-05-2003 01:07 PM

On the off chance anyone else is having this prob.... and has solved it.
# make
make -C /usr/src/linux SUBDIRS=/lib/modules/ati/fglrx modules
make[1]: Entering directory `/usr/src/linux-2.6.0-test6-mm4'
*** Warning: Overriding SUBDIRS on the command line can cause
*** inconsistencies
make[2]: `arch/i386/kernel/asm-offsets.s' is up to date.
CC [M] /lib/modules/ati/fglrx/firegl_public.o
/lib/modules/ati/fglrx/firegl_public.c: In function `__ke_geteuid':
/lib/modules/ati/fglrx/firegl_public.c:893: warning: implicit declaration of function `tsk_euid'
/lib/modules/ati/fglrx/firegl_public.c: In function `__ke_get_vm_phys_addr':
/lib/modules/ati/fglrx/firegl_public.c:1506: warning: implicit declaration of function `VMALLOC_VMADDR'
/lib/modules/ati/fglrx/firegl_public.c: At top level:
/lib/modules/ati/fglrx/firegl_public.c:3097: warning: `have_cpuid_p' defined but not used
CC [M] /lib/modules/ati/fglrx/agpgart_be.o
CC [M] /lib/modules/ati/fglrx/agp3.o
CC [M] /lib/modules/ati/fglrx/i7505-agp.o
LD [M] /lib/modules/ati/fglrx/fglrx.o
Building modules, stage 2.
MODPOST
*** Warning: "VMALLOC_VMADDR" [/lib/modules/ati/fglrx/fglrx.ko] undefined!
*** Warning: "tsk_euid" [/lib/modules/ati/fglrx/fglrx.ko] undefined!
CC /lib/modules/ati/fglrx/fglrx.mod.o
LD [M] /lib/modules/ati/fglrx/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-2.6.0-test6-mm4'
[root@malclin fglrx]# insmod ./fglrx.o
Error inserting './fglrx.o': -1 Unknown symbol in module

malcidragon 10-09-2003 09:09 AM

Have to try this out... (from www.linuxgames.com)
New ATI Radeon drivers released - Wednesday Oct 08 21:07:41 2003 - [posted by Marv]
Several people have written letting us know of a new set of ATI Radeon drivers have been released. This driver supports from 8500 to the 9800 series of the card. Changes in this release of the driver include:
Driver now builds against Linux kernel 2.6.0-test6
Fixes for Via KT400 systems
Fixes for Athlon K7 systems with 2.4.19 and 2.4.20
Added support for the following graphics cards:
RADEON 9200SE
RADEON 9600SE
RADEON 9800LE
RADEON 9800SE
RADEON 9800XT

Improved GLX 1.3 features (pBuffers)
AGP updates for the following AGP chipsets:
intel i865, SiS648/651/746
VIA PLE133/KL266/KM266/P4M266
Added glxATI.h to driver package for Developer Use
Moved ATI source tarballs to /usr/src/ATI

malcidragon 10-09-2003 12:31 PM

AHHHHHHHHHH!
 
OK! for starters it doesn't compile.
Need to alter line in firegl_public.h from...
extern unsigned long __ke_HZ;
to...
extern const unsigned long __ke_HZ;
and then we are back to square one...
[root@malclin 2.6.x]# make
make -C /lib/modules/2.6.0-test6/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.0-test6'
*** Warning: Overriding SUBDIRS on the command line can cause
*** inconsistencies
make[2]: `arch/i386/kernel/asm-offsets.s' is up to date.
Building modules, stage 2.
MODPOST
*** Warning: "tsk_euid" [/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!
make[1]: Leaving directory `/usr/src/linux-2.6.0-test6'
[root@malclin 2.6.x]# insmod ./fglrx.o
Error inserting './fglrx.o': -1 Unknown symbol in module

COME ON ATI!:cry:

malcidragon 10-09-2003 12:53 PM

OOOPS!
 
OK so i looked at dmesg....(embarassed,very embarassed)
I'd made my kernel with the radeon dri in it!
recompiled and rebooted and voila!

More of a come on, engage brain before doing this!

azar92 11-26-2003 03:13 PM

Re: OOOPS!
 
Quote:

Originally posted by malcidragon
OK so i looked at dmesg....(embarassed,very embarassed)
I'd made my kernel with the radeon dri in it!
recompiled and rebooted and voila!

More of a come on, engage brain before doing this!

What did dmesg tell you?

I've been trying to get the ATI 3D drivers for my 8500 to compile against test9 and test10. I'm getting the same error messages you were getting. Here's all my output:

root@fezzik:/lib/modules/fglrx/build_mod# ./make.sh
ATI module generator V 2.0
==========================
initializing...
probing for VMA API version...
cleaning...
patching 'highmem.h'...
skipping patch for 'drmP.h', not needed
skipping patch for 'drm_os_linux.h', not needed
doing Makefile based build for kernel 2.6.x and higher
ln -s ../libfglrx_ip.a.GCC3
echo agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
ln -s ../agp3.c
echo agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
ln -s ../nvidia-agp.c
echo agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
ln -s ../agpgart_be.c
echo agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
ln -s ../i7505-agp.c
echo agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
agp3.c nvidia-agp.c agpgart_be.c i7505-agp.c firegl_public.c
ln -s ../firegl_public.c
ln -s ../agp_backend.h
ln -s ../agp.h
ln -s ../firegl_public.h
make -C /lib/modules/2.6.0-test10/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.0-test10'
*** Warning: Overriding SUBDIRS on the command line can cause
*** inconsistencies

make[2]: `arch/i386/kernel/asm-offsets.s' is up to date.
CC [M] /lib/modules/fglrx/build_mod/2.6.x/agp3.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/nvidia-agp.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/agpgart_be.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/i7505-agp.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_get_vm_phys_addr':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1511: warning: implicit declaration of function `VMALLOC_VMADDR'
LD [M] /lib/modules/fglrx/build_mod/2.6.x/fglrx.o
Building modules, stage 2.
MODPOST
*** Warning: "VMALLOC_VMADDR" [/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko] undefined!

CC /lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o
LD [M] /lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-2.6.0-test10'
build succeeded with return value 0
duplicating results into driver repository...
done.
==============================
You must change your working directory to /lib/modules/fglrx
and then call ./make_install.sh in order to install the built module.
==============================
root@fezzik:/lib/modules/fglrx/build_mod# cd ..
root@fezzik:/lib/modules/fglrx# ./make_install.sh
- creating symlink
- recreating module dependency list
- trying a sample load of the kernel module
FATAL: Error inserting fglrx (/lib/modules/2.6.0-test10/kernel/drivers/char/drm/fglrx.ko): Unknown symbol in module, or unknown parameter (see dmesg)
failed.


dmesg gives the output
fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
fglrx: Unknown symbol VMALLOC_VMADDR


Do you know what I need to do?

TIA

malcidragon 12-04-2003 03:06 PM

This only works for test-6 I had the same problem with later test versions:mad:

UnTamed 12-05-2003 11:40 AM

Here's a diff of the firegl_public.c file I used to get it to work on > test9.
It includes the VMALLOC patch that's been around for earlier 2.6-test.

Code:

--- build_mod.orig/firegl_public.c      2003-09-21 22:43:30.000000000 -0400
+++ build_mod/firegl_public.c  2003-12-02 18:53:02.000000000 -0500
@@ -129,7 +129,9 @@
        #define pte_offset  pte_offset_map
    #endif
 #endif
-
+#ifndef VMALLOC_VMADDR
+#define VMALLOC_VMADDR(x)  ((unsigned long)(x))
+#endif
 // ============================================================
 #ifndef TRUE
 #define TRUE 1
@@ -3106,43 +3108,6 @@

 int __ke_amd_adv_spec_cache_feature(void)
 {
-#if ( (PAGE_ATTR_FIX == 1) || (LINUX_VERSION_CODE == KERNEL_VERSION(2,4,19)) )
-/* the kernel already does provide a fix for the AMD Athlon
-  big page attribute / cache flush data consistency system bug on its own.
-  (AMD claimed that CPU cache behaviour for such pages is not specified.)
-  - kernel 2.4.19 has the early fix which just removes some page attributes.
-  - later kernels do have implementeed the full big page split code fix.
-*/
-#else /* PAGE_ATTR_FIX */
-/* the kernel does not provide any fix for the AMD problem. */
-        char vendor_id[16];
-        int ident;
-        int family, model;
-
-        /* Must have CPUID */
-        if(!have_cpuid_p())
-                goto donthave;
-        if(cpuid_eax(0)<1)
-                goto donthave;
-
-        /* Must be x86 architecture */
-        cpuid(0, &ident,
-                (int *)&vendor_id[0],
-                (int *)&vendor_id[8],
-                (int *)&vendor_id[4]);
-
-        if (memcmp(vendor_id, "AuthenticAMD", 12))
-              goto donthave;
-
-        ident = cpuid_eax(1);
-        family = (ident >> 8) & 0xf;
-        model  = (ident >> 4) & 0xf;
-        if (((family == 6)  && (model >= 6)) || (family == 15)) {
-                return 1;
-        }
-
-donthave:
-#endif /* PAGE_ATTR_FIX */
        return 0;
 }

Copy/paste and save as <whatever>.patch ...replace <whatever> by ...whatever :D
place it into /lib/modules/fglrx
go into build_mod/ and apply,
cd /lib/modules/fglrx/build_mod
patch -p1 < ../<whatever>.patch


Re-run the make.sh and make_install.sh scripts and see if it works for you.

HTH


All times are GMT -5. The time now is 08:22 PM.