PDA

View Full Version : fglrx errors after ati catalyst 8.12 install


localizer
12-13-2008, 09:30 AM
after install ati catalyst 8.12 on
Linux deep 2.6.27.7-53.fc9.x86_64 #1 SMP Thu Nov 27 02:05:02 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
i found these errors
cat /var/log/Xorg.0.log |grep EE
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(II) Loading extension MIT-SCREEN-SAVER
(EE) AIGLX error: dlopen of /usr/lib/dri/fglrx_dri.so failed (/usr/lib/dri/fglrx_dri.so: wrong ELF class: ELFCLASS32)
(EE) AIGLX: reverting to software rendering

cat /var/log/Xorg.0.log |grep WW
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) fglrx: Force AIGLX enabled
(WW) Falling back to old probe method for fglrx
(WW) This ATI Proprietary Linux Driver does not guarantee support of video driver ABI higher than 2.0
(WW) Video driver ABI version of the X server is 4.1
(WW) fglrx: No matching Device section for instance (BusID PCI:0@7:0:1) found
(WW) fglrx: No matching Device section for instance (BusID PCI:0@7:0:1) found
(WW) fglrx(0): board is an unknown third party board, chipset is supported
(WW) fglrx(0): Only one display is connnected,so single mode is enabled
(WW) <default pointer>: No Device specified, looking for one...


cat /usr/share/ati/fglrx-install.log
[Message] Kernel Module : Trying to install a precompiled kernel module.
[Message] Kernel Module : Precompiled kernel module version mismatched.
[Message] Kernel Module : Found kernel module build environment, generating kernel module now.
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.27.7-53.fc9.x86_64/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/kernels/2.6.27.7-53.fc9.x86_64'
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 ‘KCL_MEM_VM_GetRegionPhysAddrStr’:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3221: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3222: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223: warning: return makes pointer from integer without a cast
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3225: warning: return makes pointer from integer without a cast
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_str.o
CC [M] /lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o
LD [M] /lib/modules/fglrx/build_mod/2.6.x/fglrx.o
Building modules, stage 2.
MODPOST 1 modules
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/kernels/2.6.27.7-53.fc9.x86_64'
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.
- recreating module dependency list
- trying a sample load of the kernel modules
done.

how can i fix this install ?

spiritofreason
01-05-2009, 12:26 PM
(EE) AIGLX error: dlopen of /usr/lib/dri/fglrx_dri.so failed (/usr/lib/dri/fglrx_dri.so: wrong ELF class: ELFCLASS32)
(EE) AIGLX: reverting to software rendering


The library loading for fglrx seems to be bugged (it doesn't work on 64-bit openSUSE either). Essentially, it's loading the 32-bit library where it should be loading the 64-bit library.

Are your 64-bit libraries in /usr/lib64 ? As a temporary workaround, you can move /usr/lib/dri/fglrx_dri.so and create a symlink to /usr/lib64/dri/fglrx_dri.so in /usr/lib/dri. This will nix DRI for 32-bit apps, though (like stuff run via WINE).

I wonder if someone hardcoded a path that only works for Debian-based distros... Hopefully this gets attention from someone...

localizer
01-07-2009, 03:24 PM
The library loading for fglrx seems to be bugged (it doesn't work on 64-bit openSUSE either). Essentially, it's loading the 32-bit library where it should be loading the 64-bit library.

Are your 64-bit libraries in /usr/lib64 ? As a temporary workaround, you can move /usr/lib/dri/fglrx_dri.so and create a symlink to /usr/lib64/dri/fglrx_dri.so in /usr/lib/dri. This will nix DRI for 32-bit apps, though (like stuff run via WINE).

I wonder if someone hardcoded a path that only works for Debian-based distros... Hopefully this gets attention from someone...


thanks for your reply , but i've made this symlink earlier and didn't work , any how i've migrated from fedora to ubuntu due to this issue where the driver worked there .
thanks

eakum
01-14-2009, 07:54 AM
I've solved the problem, but it's a rather brute method:
- open the file /usr/lib64/xorg/modules/updates/extensions/libglx.so in a binary capable editor (I used emacs)
- search the string "/usr/lib/dri"
- replace
"/usr/lib/dri^@DRI^@" by
"/usr/lib64/dri^@D^@"
(where "^@" are zero-bytes)
Now, the path is correct. The string "DRI" is damaged now but that seems to be unimportant. (It is crucial not to change the file size!)
After that, fglrx worked fine on my system.

nicola
01-25-2009, 01:10 PM
That indeed was the problem. But rather than editing the file, I solved it with a symbolic link:
First move out of the way the existing .so file, then create a sym link:

mv /usr/lib/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so.32bit
ln -s /usr/lib64/dri/fglrx_dri.so /usr/lib/dri/fglrx_dri.so

This fixes all the glxinfo errors, such as:
Minor opcode of failed request: 19 (X_GLXQueryServerString)