ati-drivers-8.12.10 will not compile the DRM module showing the following errors: >>> Source unpacked. * Building the DRM module... make: Entering directory `/usr/src/linux-2.6.12-rc2' CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agp3.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/nvidia-agp.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `agp_find_supported_device': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7150: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7170: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7175: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7201: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7221: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7241: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7246: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_init': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7627: warning: `pm_register' is deprecated (declared at include/linux/pm.h:106) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_cleanup': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7637: warning: `pm_unregister_all' is deprecated (declared at include/linux/pm.h:116) make[1]: *** [/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o] Error 1 make: *** [_module_/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod] Error 2 make: Leaving directory `/usr/src/linux-2.6.12-rc2' * DRM module not built
For those with vanilla sources try the patches posted in bug #84834 and report. I'll try to see if I can fix the drivers for gentoo-sources too. Please post the error messages here for both kernels.
What I will try later today is to test whether the patches that are found in bug #84834 can be applied to the latest version of ati-drivers. If they do, then the ebuild has to be modified to apply these patches.
To comment #1 : gentoo-sources are already fixed, nothing to do in here, as they are still in 2.6.11
In my home directory, I applied the patches in the 8.12.10 version of the ati-drivers and when I run make.sh I got the following error ATI module generator V 2.0 ========================== initializing... cleaning... patching 'highmem.h'... assuming new VMA API since we do have kernel 2.6.x... doing Makefile based build for kernel 2.6.x and higher make -C /lib/modules/2.6.11.6/build SUBDIRS=/home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x modules make[1]: Entering directory `/usr/src/linux-2.6.11.6' CC [M] /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agp3.o CC [M] /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/nvidia-agp.o CC [M] /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.o /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c: In function `agp_find_supported_device': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c:6526: warning: unused variable `cap_ptr' /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c: In function `__fgl_agp_init': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c:7611: warning: `pm_register' is deprecated (declared at include/linux/pm.h:106) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c: In function `__fgl_agp_cleanup': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c:7621: warning: `pm_unregister_all' is deprecated (declared at include/linux/pm.h:116) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c: At top level: /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c:6507: warning: 'agp_check_supported_device' defined but not used CC [M] /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/i7505-agp.o CC [M] /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `firegl_stub_putminor': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:508: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:510: warning: `inter_module_unregister' is deprecated (declared at include/linux/module.h:574) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `firegl_stub_register': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:530: warning: `inter_module_register' is deprecated (declared at include/linux/module.h:573) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:561: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_get_vm_phys_addr': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1672: warning: passing arg 1 of `pmd_offset' from incompatible pointer type /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `do_vm_shm_nopage': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2202: warning: passing arg 1 of `pmd_offset' from incompatible pointer type /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_vm_phys_addr_str': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2572: warning: passing arg 1 of `pmd_offset' from incompatible pointer type /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level: /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2660: warning: initialization from incompatible pointer type /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_vm_map': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2721: warning: implicit declaration of function `remap_page_range' /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level: /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2875: error: parse error before '*' token /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2875: warning: type defaults to `int' in declaration of `drm_agp_module_stub' /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2875: warning: data definition has no type or storage class /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agpgart_available': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3017: error: `drm_agp_t' undeclared (first use in this function) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3017: error: (Each undeclared identifier is reported only once /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3017: error: for each function it appears in.) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3017: error: parse error before ')' token /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3038: error: request for member `free_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3040: error: request for member `free_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3043: error: request for member `allocate_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3045: error: request for member `allocate_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3048: error: request for member `bind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3050: error: request for member `bind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3053: error: request for member `unbind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3055: error: request for member `unbind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3058: error: request for member `enable' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3060: error: request for member `enable' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3063: error: request for member `acquire' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3065: error: request for member `acquire' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3068: error: request for member `release' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3070: error: request for member `release' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3073: error: request for member `copy_info' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3075: error: request for member `copy_info' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_uninit': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3157: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578) /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_free_memory': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3190: error: request for member `free_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3191: error: request for member `free_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_allocate_memory': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3200: error: request for member `allocate_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3201: error: request for member `allocate_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_bind_memory': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3211: error: request for member `bind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3212: error: request for member `bind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_unbind_memory': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3222: error: request for member `unbind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223: error: request for member `unbind_memory' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_enable': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3233: error: request for member `enable' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3235: error: request for member `enable' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_acquire': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3281: error: request for member `acquire' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3282: error: request for member `acquire' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_release': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3292: error: request for member `release' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3293: error: request for member `release' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_copy_info': /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3306: error: request for member `copy_info' in something not a structure or union /home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3313: error: request for member `copy_info' in something not a structure or union make[2]: *** [/home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1 make[1]: *** [_module_/home/vasilis/temp/lib/modules/fglrx/build_mod/2.6.x] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.11.6' make: *** [kmod_build] Error 2 build failed with return value 2 So, ATI has to make new patches for the new version of ati-drivers
MasterX, I created those patches found in bug #84834 and they are for the vanilla-sources 2.6.12rc1 and the previous version of the ati-drivers. I'm trying to figure out now why I'm getting a black screen with the new drivers although they seem to compile just fine even for vanilla-sources-2.6.12rc2. To comment #3. I didn't notice that... :-P
Theofilos Intzoglou, let me see if I got this right. The new version of ati-drivers compile fine with 2.6.12-rc2 kernel. Is this what you wrote? Because, I tried to compiled them yesterday and they did not!
I found two patches at http://ati.cchtml.com/show_bug.cgi?id=110 that fix the problem with compiling ati-drivers (it does not say version) against 2.6.11 kernel. These patches are different than the ones found in bug #84834
Created attachment 56052 [details, diff] fixes the problem with 2.6.12-rc2 kernel I think I have an ebuild that compiles for 2.6.12-rc2 kernel. You need to download and save in the files folder the two patches found in the above site and the patches in the bug #84834. You will see several warning messages, but in the end you will have the fglrx.ko module.
Those patches caused hangup issues w/ 2.6.12-rc1 in some cases.
Joshua Baergen, what do you mean. I was using my computer for an hour now and I did not experience any problem.
MasterX, if you look carefully at the bug report you mention, you'll see that those patches and the ebuild were attatched by myself. I didn't just attach them though... I wrote those patches and they seem to be far from perfect! Yes it works for me too with 2.6.12-rc1 but with rc2 I get a black screen because the driver crashes. I wouldn't be surprised if it didn't work for others with the rc1 though. The patch that I think causes the crash is the fglrx-2.6.12-inter_module_get.patch that replaces inter_module_get(x) with inter_module_get_request(x,y).
Theofilos Intzoglou, I used the patches that you wrote in the other bug report, but I also used the patches that I found at ATI bugzilla. In this new ebuild I do not use the fglrx-2.6-pagetable.patch, and I have to use the fglrx-2.6.12-inter_module_get.patch because else I get unresolved symbols regarding inter. I also use the p1 and p2 patches. I tested this new ebuild and it works. I got the same FPS that I was getting with the 8.12.10 ebuild and 2.6.11.6 kernel and dmesg gives the same output. I do not know why the driver crashes, but if you did not use this new ebuild, I strongly suggest you to do so. It is not the same with the others! Finally, if I offended anybody by not giving credit for writting the ebuild or the patches I apologize. That was certainly not my intention. One last thing, this ebuild is for the ati-driver 8.12.10, not the 8.10.19!!
MasterX, First of all I must make clear that by mentioning that I wrote those patches, I'm not asking for credit. I used some info from here and there and I came up with those patches. What I was trying to say is that I'm no expert so those patches are most probably a nasty hack just to make the module compile with no warnings :-) The amazing thing is that it actually seems to work in some mysterious way for some people and some kernels. As for the two patches you used for your new ebuild I must inform you that if those are the two patches I also found at the forums of rage3d, then the p2.patch is actually the fglrx-2.6-pagetable.patch :-) Anyway! I'm mostly concerned about why it doesn't really work as expected and as I said in my previous comment it must be my fault about misusing the inter_module_get_request(x,y) function. Unfortunately I'm ill and don't have the strength to look for that right now. If anyone else manages to fix it I would be glad hearing news from him!
Theofilos Intzoglou, did you test the new ebuild? Actually the p2.patch and the fglrx-2.6-pagetable.patch are not exactly the same. Both patches add the same lines but in different lines. Maybe this is why it works or maybe it works because I added p1.patch. With the 8.12.10 ebuild, I was not able to compile the fglrx module. With the new ebuild it compiles and it works. I do not know why it works, but it does. So, lets test it...
I just tried the patches to ati-drivers-8.12.10 with kernel 2.6.12-rc2-mm3. I also get a black screen. Without the patches the module fail to compile
8.12.10 won't compile for 2.6.12-rc3 either. If enough of us submit enough customer care tickets on support.ati.com maybe ATI will get off their a$$ and do something.
Guys, I really do not know what to assume. The ebuild that I uploaded compiled for 2.6.12-rc2. Maybe, I am the lucky one. And, yes, we definitely need to persuave ATI to make new releases/patches more frequently.
Ok I've got news. I managed to build the driver for 2.6.12rc4 but I think it should work on rc2 and rc3 with the patch I have created. The 8.12.10 version of the driver didn't build the appropriate internal agpgart so it usually had to use the external one. However, probably due to deprecated functions used in the driver, the driver crashed when it used the external agpgart. With the patch attached below you'll be able to build the internal agpgart correctly and use it. The most appropriate thing would be to disable /dev/agpgart support from kernel and dri support as well. If you have any of these enabled (even as a module) it could still bring you that black screen of death.
Created attachment 58638 [details, diff] Makefile.patch Just use this patch along with the ones from Bug #84834. I also attach the appropriate ebuild.
Created attachment 58639 [details] ati-drivers-8.12.10-r01.ebuild
Created attachment 58640 [details] ati-drivers-8.12.10-r01.ebuild Sorry forgot to apply the p1 patch.
Theofilos Intzoglou, what is the problem with the external agpgart? I am using the external agpgart and I do not get the black screen. The only problem that I have is that X hangs when I resume from suspend...
MasterX, could you share with us how to make kernel 2.6.12-rcX work with the fglrx drivers using the external (kernel's) agpgart? I.e., special kernel options, kernel/fglrx patches, etc. Thanks.
I must add that I don't know what the p1 and p2 patches that keep being mentioned here are. I see that the ebuild thing refers to them, so I guess they should be important. By the way, I'm not a gentoo user, so please don't tell me to run some gentoo-specific commands :)
Javier Kohen, You can get the p1 and p2 patches from http://ati.cchtml.com/show_bug.cgi?id=110 (comment #7). Regarding the kernel, the only thing that I have are: <M> /dev/agpgart (AGP Support) <M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support in Device Drivers->Character Devices section and I load the following modules intel-agp (you need this module!) agpgart fglrx The "fixes the problem with 2.6.12-rc2 kernel" ebuild is the one I used with 2.6.12-rc2, and fglrx compiled with a few warnings and it loads fine. In that ebuild I applied four different patches. Are you getting a black screen? Does X crashes? I have two problems with the fglrx driver. The first one is that X crashes when I resume from suspend. The second one is that dmesg gives this error message: mtrr: base(0xd0000000) is not aligned on a size(0x7ff0000) boundary [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22) This message will go away if I set #option "mttr" to "on"
MasterX, till now you are the only one in this bug report that sais that the driver work just fine. I don't know for sure what would be the reason for that (could be the intel agp chipset). I would like to know from people that the driver didn't work and they got the black screen: first of all if the small Makefile.patch works and when they are sure that it does work, to mention what agp chipset module they use. I was using the via_agp module and the agpgart module and with those loaded fglrx crashes. Now that I use the internal agpgart the driver doesn't crash. So the login assumption is that there much be something wrong with the external agpgart. It is just that the problem doesn't seem to appear to everyone.
The p2.patch is the same as the fglrx-2.6-pagetable.patch that was used for some time now with ati-drivers ebuilds. The small line offset (15 lines) that appears in the p2.patch will not give a different result as patch is clever enough to know where to apply the changes so both patches will apply the changes to the same lines.
Theofilos Intzoglou, I am sorry for not being very helpfull and not giving a usefull feedback, but this is what I did and it works. I know .. it is frustrating. This weekend I will compile 2.6.12-rc4 and I will test your ebuild. BTW, for me fglrx does not crash if I use the internal agpgart, but I do not use it because I do not think it is better than the external one.
Master X, don't be hard on yourself :-) Try this please. Try to disable the /dev/agpgart and the dri in your new kernel and then build the ati-driver. Actually it will appear to be built but you will notice some new warings about undefined symbols in the module. This happens because some functions that should be compiled in the module are being ommited. When you compile the kernel's agpgart module those functions exist in the module, so when the ati-driver module is built the system can find those functions already compiled and usuable (that's why you don't get those warnings). Now if you try to use the ati-driver you just built it won't work. You won't be able to insmod or modprobe it because it can't resolve some symbols that exist in the module. Here is where my last patch comes in to the rescue :-) It simple removes one line from the Makefile (one -D to be precise) forcing the module to be build using its own definitions of those functions that seem to be missing and thus compiling the module without warnings and making it useable. On the other hand, I really don't know if using this patch while you are going to use the external agpgart is safe. I cannot test it because the driver crashes whenever I try that. That's why I ask for the feedback of other people. You are also being quite helpful by saying the it works as it is on your system because it allows us to spot possible modules or parts of code that don't work well. I would like to see feedback from the other people that had the same problem as me about the agp chipset they have and if the ebuild works for them too.
Theofilos, Both your ebuild and my ebuild compiled just fine with 2.6.12-rc4. I am using the external agpgart and I do not get a black screen
When I try running ebuild digest ati-drivers-8.12.10-r01.ebuild I get the following error: media-video/ati-drivers# ebuild digest ati-drivers-8.12.10-r01.ebuild !!! Name error in : missing a version or name part. !!! Error: PF is null ''; exiting. I guess I can do it manually but is there anything that can be fixed so I can actually use the ebuild?
Hi t35t0r t35t0r, it most probably have to do with the name of the ebuild (especially if you have a rather old version of portage). Try changing the r01 part to r1 (name it ati-drivers-8.12.10-r1.ebuild or something). I haven't changed anything else inside the ebuild except for three new lines with epatch.
changing it to -r1 didn't help. I still get the same error. I'm using portage-2.0.51.19. I'll just patch the source manually, make the drm module, and copy it into the correct directory.
Can anyone update the status of this bug? Isn't it solved yet??
some issues got fixed, currently the ati-drivers will work just using the internal agpgart...
We can mark this fixed, can't we?
No the driver is still buggy and far from fixed (ebuild 8.14.13-r1). I have a laptop (ecs-g736) with a sis-agp bus. This is what happens in these scenarios: 1) base scenario: don't use fglrx internal agp, load sis_agp driver module, using vanilla-sources-2.6.11.11 Accleration works. When I have gdm loaded I can login and then logout and I don't *usually* get a blank screen. Everything works as it should. 2) using fglrx internal agp, don't load kernel's sis_agp driver module, using vanilla-sources 2.6.11.11 I get a blank screen on startup. I can ctrl+alt+f2 to console. Then I try to startx and I still get a blank screen. dmesg shows: [fglrx:_r6x_CheckAGPCommand] *ERROR* query for AGP device capabilities failed [fglrx:firegl_unlock] *ERROR* Process 9912 using kernel context 0 Then if i modprobe sis_agp, I can startx. 3) using fglrx internal agp, don't load kernel's sis_agp driver module, using vanilla-sources-2.6.12.2. I get a blank screen on startup. I can't ctrl+alt+f2 into the console. I don't know what dmesg shows because I can't get into the console 4) don't use fglrx internal agp, load kernel's sis_agp driver module, using vanilla-sources-2.6.12.2 acceleration does not work (mesa is automatically used rather than fglrx opengl). dmesg shows: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size. [fglrx:firegl_unlock] *ERROR* Process 8968 using kernel context 0. The moral of this story is that for my agp bridge (possibly for others as well) the kernel drivers are necessary because the fglrx internal agp is broken. In 2.6.12 fglrx and the kernel agp bridge drivers don't get along and acceleration is broken (2.6.11 works as promised by ATI).
Re: comment #37 Try the patches from http://ati.cchtml.com/show_bug.cgi?id=136 . The last partial patch modifies the ATI driver to work with AGPGART from kernel 2.6.12. Don't use the integrated patch that is supposed to obsolete all the rest, because it's supposed to be bad. See one of my latest comments to see what combination worked for me on x85_64 (and probably also works for other chipsets not supported by the internal AGPGART).
yeah i originated the bug on ati.cchtml.com, the site's been dead since this morning for me (mysql problem), hopefully it'll come back up soon.
I can confirm fglrx-8.14.13-alt-2.6.12-agp.patch from the ati page is necessary and works with 2.6.12. Luca, (can you/do you mind if I) add it to the ebuild please? Adding it immediately after the inter_module patch is sufficient.
could you please point me the patch location? I should be at home at least till the morning so I should be able to test it a bit.
Re: comment #41 Read comment #38, please. I can also make an integrated patch that covers the following issues (verified first hand by me, but the patches were written by others): * It works with the kernel's AGPGART. * It compiles with GCC 4.0. * It works on AMD64. It would comprise the patches I mention in http://ati.cchtml.com/show_bug.cgi?id=136#c35 plus a trimmed down version of http://ati.cchtml.com/attachment.cgi?id=123 (as the latter contains some overlapping fixes).
Please attach it so I can review it. The static workarounds looks problematic, btw. (at least for errno #include <errno.h> looks better). Chris if I don't commit anything within today feel free to update the ebuild, I won't be available till the next week probably
Javier, you report we need these patches: fglrx-2.6.12-inter_module_get.patch ioctl32.patch fglrx-2.6-agpgart.patch p1.patch fglrx-8.14.13-alt-2.6.12-agp.patch The ebuild already has: fglrx-2.6.12-pci_name.patch fglrx-2.6.12-inter_module_get.patch 8.8.25-via-amd64.patch 8.8.25-smp.patch 8.14.13-amd64.patch And fglrx-3.9.0-allocation.patch which is commented out. Can you confirm that all of these are necessary? I think one integrated patch that works on all systems would be easier to maintain, but obviously it must incorporate all of the above fixes that are already in the ebuild.
Hi, I can't confirm that, as I'm not a Gentoo user.
I can underline this problem. the drivers won't build with kernel 2.6.12-gentoo-r6, but they will compile fine with 2.6.11. here's the ouput when having 2.6.12: * Building the DRM module... make: Entering directory `/usr/src/linux-2.6.12-gentoo-r6' CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agp3.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/nvidia-agp.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `agp_find_supported_device': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7150: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7170: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7175: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7201: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7221: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7241: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7246: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6542: warning: unused variable `cap_ptr' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_init': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7627: warning: `pm_register' is deprecated (declared at include/linux/pm.h:106) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_cleanup': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7637: warning: `pm_unregister_all' is deprecated (declared at include/linux/pm.h:116) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: At top level: /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6523: warning: `agp_check_supported_device' defined but not used make[1]: *** [/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o] Error 1 make: *** [_module_/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod] Error 2 make: Leaving directory `/usr/src/linux-2.6.12-gentoo-r6' * DRM module not built and here's the output with 2.6.11: * Building the DRM module... make: Entering directory `/usr/src/linux-2.6.11-gentoo-r11' CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agp3.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/nvidia-agp.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `agp_find_supported_device': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6542: warning: unused variable `cap_ptr' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_init': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7627: warning: `pm_register' is deprecated (declared at include/linux/pm.h:106) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_cleanup': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7637: warning: `pm_unregister_all' is deprecated (declared at include/linux/pm.h:116) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: At top level: /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6523: warning: `agp_check_supported_device' defined but not used CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/i7505-agp.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.o /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c: In function `firegl_stub_putminor': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c:511: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c:513: warning: `inter_module_unregister' is deprecated (declared at include/linux/module.h:574) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c: In function `firegl_stub_register': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c:533: warning: `inter_module_register' is deprecated (declared at include/linux/module.h:573) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c:564: warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c: At top level: /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/firegl_public.c:2688: warning: initialization from incompatible pointer type LD [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/fglrx.o Building modules, stage 2. MODPOST CC /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/fglrx.mod.o LD [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/fglrx.ko make: Leaving directory `/usr/src/linux-2.6.11-gentoo-r11' I guess I'm reverting to 2.6.11 for the time being...
-r2 ebuild added. Remove 8.14.13-amd64.patch. Add fglrx-8.14.13-alt-2.6.12-agp.patch, ioctl32.patch, p1.patch. Some of the other patches from ati-bugzilla overlap what the ebuild already has. ATI bugzilla rollup patch is missing some patches that the ebuild already has (eg. via-amd64). Please test and report. It works fine for me here (ati firefl chipset, x64-32). I am unable to test on x86-64, so someone else please test this and report!
*** Bug 97093 has been marked as a duplicate of this bug. ***
Hi all Using a ATI Radeon 250R (FireGL 9000) I can confirm that the ati-drivers won't compile the DRM module here either, I get: * Found sources for kernel version: * 2.6.13-rc3-mm1 * Checking for MTRR support enabled ... [ ok ] * Checking for AGP support enabled ... [ ok ] * Checking for DRM support disabled ... [ ok ] * X11 implementation is xorg-x11. >>> Unpacking source... >>> Unpacking fglrx_6_8_0-8.12.10-1.i386.rpm * Applying fglrx-2.6-pagetable.patch ... [ ok ] * Applying 8.8.25-via-amd64.patch ... [ ok ] * Applying 8.8.25-smp.patch ... [ ok ] >>> Source unpacked. * Building the DRM module... make: Entering directory `/usr/src/linux-2.6.13-rc3-mm1' CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agp3.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/nvidia-agp.o CC [M] /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `agp_find_supported_device': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7150: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7170: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7175: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7201: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7221: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7241: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7246: error: structure has no member named `slot_name' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6542: warning: unused variable `cap_ptr' /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_init': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7627: warning: `pm_register' is deprecated (declared at include/linux/pm.h:107) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: In function `__fgl_agp_cleanup': /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:7637: warning: `pm_unregister_all' is deprecated (declared at include/linux/pm.h:117) /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c: At top level: /var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.c:6523: warning: 'agp_check_supported_device' defined but not used make[1]: *** [/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod/agpgart_be.o] Error 1 make: *** [_module_/var/tmp/portage/ati-drivers-8.12.10/work/lib/modules/fglrx/build_mod] Error 2 make: Leaving directory `/usr/src/linux-2.6.13-rc3-mm1' * DRM module not built >>> Test phase [not enabled]: media-video/ati-drivers-8.12.10 emerge info: # emerge info Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.13-rc3-mm1 i686) ================================================================= System uname: 2.6.13-rc3-mm1 i686 Intel(R) Pentium(R) M processor 1600MHz Gentoo Base System version 1.6.13 ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium-m -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LINGUAS="de en" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="x86 X a52 acpi alsa apache2 apm arts avi berkdb bitmap-fonts bluetooth cdr crypt cups curl divx4linux dv dvd dvdread eds emboss encode fam fame flac foomaticdb fortran gd gdbm gif gphoto2 gstreamer hal imagemagick imlib java jpeg kde libg++ libwww mad mikmod mmx motif mozilla mp3 mpeg mysql ncurses nls nptl ogg oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl spell sse sse2 ssl tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts vorbis xine xml2 xmms xv zlib linguas_de linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS I use gentoo and I followed this howto: http://gentoo-wiki.com/HOWTO_ATI_Drivers which seems a bit outdated but still the kernel settings should be still the same. Any hints appreciated unfortunately I can't test with a stable gentoo kernel because I use the reiser4 filesystem on my root partition which is still not yet included in the stable release of the gentoo sources...
to be more specific: my X doesn't crash after opengl-update ati and the fglrxconfig(which generates the xorg.conf) / restart X But eg. glxgears shows me around 600.000 FPS which is horribly low. and # fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: Mesa project: www.mesa3d.org OpenGL renderer string: Mesa GLX Indirect OpenGL version string: 1.2 (1.5 Mesa 6.2.1) This should say ati, but it doesn't, I assume this is related to the not succeding building of ati-drivers when emerging it. best regards
I'd like to point out that you're using an experimental (mm) version of an old release candidate version of 2.6.13, while this bug refers to 2.6.12. This is a different battle entirely. Please try 2.6.13-rc6 vanilla (the latest at this time) and post a bug if you wish, but this is really an ATI problem and not a Gentoo problem.
The latest driver works with .12 kernel anything related to reiserfs4 isn't yet supported by me. Please check the latest driver (that I'll mark stable soon)