You are not logged in.
Hi, i've been testing the 32bit libs with wine and cedega, but it seems there is no hardware acceleration with it.
glxinfo shows that i have direct rendering, and is using the fglrx module apparently without problems. fgl_glxgears and glxgears seem correct also.
But if i try to use bin32-wine, or cedega 6, it seems as if there were no acceleration. In fact, the 2 video-related tests that cedega runs fails (shame there is not much debug info )
Looking at the lib32 package there are several things which i found a bit strange, several libraries where missing:
usr/lib/xorg/modules/extensions/libGLcore.so
usr/lib/xorg/modules/drivers/fglrx_drv.so
usr/lib/xorg/modules/extensions/libglx.so
usr/lib/xorg/modules/linux/libfglrxdrm.so
usr/lib/xorg/modules/dri/fglrx_dri.so
Also, there were some simlinks that where pointing incorrectly.
I fixed both, the libs with a new packagebuild, and the simlinks manually,
I read at cedega that i was missing some info in the LIBGL_DRIVERS_PATH, which i updated for the session i was running. Still no luck.
Is there any other people having the same problems? Any success stories?
P.S.: I updated the lib32-ati-fglrx-utils packagebuild to get the same version as the 64 bit module, and to include the missing libraries. If anyone want to try it or comment about it, please, do so
# $Id: PKGBUILD,v 1.5 2007/03/17 21:14:49 Pierre Exp $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
_pkgsourcename=ati-fglrx-utils
pkgname=lib32-$_pkgsourcename
pkgver=8.35.5
pkgrel=1
pkgdesc="ATI proprietary binary drivers for >= r300 chipsets. Userspace tools and libraries"
url="http://www.ati.com"
arch=(x86_64)
groups=('lib32')
depends=('lib32-libxext' 'lib32-libdrm')
conflicts=('lib32-libgl' 'lib32-nvidia-utils')
provides=('lib32-libgl')
source=(ftp://ftp.archlinux.org/extra/os/i686/$_pkgsourcename-$pkgver-$pkgrel.pkg.tar.gz)
md5sums=('eca1fcc84bc23db1676d3a21692c8552')
build() {
cd $startdir/src
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/dri
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/drivers
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/extensions
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/linux
cp -dp usr/lib/*.so* $startdir/pkg/opt/lib32/usr/lib
cp -dp usr/lib/xorg/modules/dri/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/dri
cp -dp usr/lib/xorg/modules/drivers/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/drivers
cp -dp usr/lib/xorg/modules/extensions/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/extensions
cp -dp usr/lib/xorg/modules/linux/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/linux
}
I see connected people - The seventh sense
Offline
An update to this.
I have created a bin32-mesa package, so i can have glxgears and glxinfo for a better debugging. It installs both executables in "/opt/mesa/usr/bin/" so they don't mess with the rest of the distribution.
Running glxinfo shows:
direct rendering: No
client glx vendor string: ATI
which confirms what i suspected about not having 3D acceleration.
Running the following command gathers interesting output:
[driadan@Willy64 ~]$ LIBGL_DEBUG=verbose linux32 /opt/mesa/usr/bin/glxinfo > /dev/null
libGL: XF86DRIGetClientDriverName: 8.35.5 fglrx (screen 0)
libGL: OpenDriver: trying /opt/lib32/usr/lib/xorg/modules/dri/fglrx_dri.so
libGL error: dlopen /opt/lib32/usr/lib/xorg/modules/dri/fglrx_dri.so failed (libstdc++.so.5: wrong ELF class: ELFCLASS64)
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed (/usr/lib/xorg/modules/dri//fglrx_dri.so: wrong ELF class: ELFCLASS64)
libGL error: unable to find driver: fglrx_dri.so
libGL: XF86DRIGetClientDriverName: 8.35.5 fglrx (screen 0)
libGL: OpenDriver: trying /opt/lib32/usr/lib/xorg/modules/dri/fglrx_dri.so
libGL error: dlopen /opt/lib32/usr/lib/xorg/modules/dri/fglrx_dri.so failed (libstdc++.so.5: wrong ELF class: ELFCLASS64)
libGL: OpenDriver: trying /usr/lib/xorg/modules/dri//fglrx_dri.so
libGL error: dlopen /usr/lib/xorg/modules/dri//fglrx_dri.so failed (/usr/lib/xorg/modules/dri//fglrx_dri.so: wrong ELF class: ELFCLASS64)
libGL error: unable to find driver: fglrx_dri.so
So it seems that i can get it to find the proper fglrx_dri.so, but it tries to open it with a 64bit library (I only have libstdc++.so.5 as a 64bit library). I do have a libstdc++.so lib in 32bit though not a .5, but a .8
Any ideas of how can I make it use the 32bit libstdc++ library?
I see connected people - The seventh sense
Offline
Well I have packaged the ati-driver the same way as I did for the nvidia one. I have no ATI-card to test this out. For some reason the right libaries are not loaded. Perhaps there are some dirs missing in ld.conf?
Btw: there is a 32bit libstdc++.so.5:
[pierre@athlon64 ~]$ locate libstdc++.so.5
/usr/lib/libstdc++.so.5.0.7
/usr/lib/libstdc++.so.5
/opt/lib32/usr/lib/libstdc++.so.5.0.7
/opt/lib32/usr/lib/libstdc++.so.5
/opt/chroot/arch64/usr/lib/libstdc++.so.5.0.7
/opt/chroot/arch64/usr/lib/libstdc++.so.5
Offline
Thanks a lot! I didn't have lib32-libstdc++5 installed
Anyway, there are still a couple of things needed in order to make it work.
It needs (at least) the following library:
/opt/lib32/usr/lib/xorg/modules/dri/fglrx_dri.so
and it needs to be in the LIBGL_DRIVERS_PATH enviroment variable.
The package I provided in previous posts does install the library, but does not accomplish the enviroment variable part.
Could you please also upgrade the package in comunity to 8.35?
P.S.: if you ever need someone to test an ati package, don't hesitate to contact me at driadan(at)willinux(dot)net
I see connected people - The seventh sense
Offline
Well, I think setting this variable will brake 64bit apps, wont it?
Offline
not if you have both versions in the variable (64bits and 32bits), anyway, the environment variable is not as important if people know they need it
to run properly.
or they can add it to their profile.
I see connected people - The seventh sense
Offline
Does it work without the variable if you add the path to ld.conf? (and run ldconfig after adding it)
Offline
I can add LIBGL_DRIVERS_PATH variable to wine script if it helps. it only fixes wine. Just bumping bin32-wine to 0.9.35 for now.
I got nvidia myself and 3d accel works like charm.
Flying is Trying is Dying
Offline
It does not work by just adding it to /etc/lc.so.conf, it has to be in LIBGL_DRIVERS_PATH.
Having it in bin32-wine would be great, but I'm not sure it'll work if using nvidia or intel based cards, so I don't thinks it's a good idea to have it in wine.
Anyway, adding the path to the variable before calling wine should suffice.
I see connected people - The seventh sense
Offline
Hello,
I had the same problem, trying to get 3d acceleration with 32bit wine, google earth and so on on a 64bit Arch with fglrx.
Now that it seems to be solved, can someone please write a small howto and/or post an updated package that fixes that?
Offline
The problem is that the current package won't work, since it doesnt have the required library. I thought about posting a wiki page, but since I don't know what pierre have decided to do, i'm waiting.
For now, you would have to get the pkgbuild i posted above and compile it. That would get you the following library:
/opt/lib32/usr/lib/xorg/modules/dri/fglrx_dri.so
in case you don't have it, install the lib32-libstdc++5 package, because right now it's not a dependency of any package.
After that, you will have to add "/opt/lib32/usr/lib/xorg/modules/dri" to the LIBGL_DRIVERS_PATH enviroment variable.
export LIBGL_DRIVERS_PATH=$LIBGL_DRIVERS_PATH:/opt/lib32/usr/lib/xorg/modules/dri
After that, you should be able to run programs with 32bit 3D acceleration.
hope it helps
I see connected people - The seventh sense
Offline
$ googleearth
ERROR: version mismatch - 2D module [8.36.5] incompatible with OGL client module [8.35.5].
libGL error: InitDriver failed
It'll probably work again when someone updates the lib32-fglrx package to the same version as the fgrlx module (8.36.5).
EDIT:
this should work fine:
# $Id: PKGBUILD,v 1.5 2007/03/17 21:14:49 Pierre Exp $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
_pkgsourcename=fglrx-utils
pkgname=lib32-$_pkgsourcename
pkgver=8.36.5
pkgrel=1
pkgdesc="ATI proprietary binary drivers for >= r300 chipsets. Userspace tools and libraries"
url="http://www.ati.com"
arch=(x86_64)
groups=('lib32')
depends=('lib32-libxext' 'lib32-libdrm')
conflicts=('lib32-libgl' 'lib32-nvidia-utils')
provides=('lib32-libgl')
source=(ftp://ftp.archlinux.org/extra/os/i686/$_pkgsourcename-$pkgver-$pkgrel.pkg.tar.gz)
md5sums=('5e65c48599d987bfe975cd90ea6c0b9d')
build() {
cd $startdir/src
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/dri
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/drivers
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/extensions
mkdir -p $startdir/pkg/opt/lib32/usr/lib/xorg/modules/linux
cp -dp usr/lib/*.so* $startdir/pkg/opt/lib32/usr/lib
cp -dp usr/lib/xorg/modules/dri/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/dri
cp -dp usr/lib/xorg/modules/drivers/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/drivers
cp -dp usr/lib/xorg/modules/extensions/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/extensions
cp -dp usr/lib/xorg/modules/linux/*.so* $startdir/pkg/opt/lib32/usr/lib/xorg/modules/linux
}
Last edited by comfortably_numb (2007-04-25 22:05:12)
Offline
Sorry for the delay. I made a package which includes fglrx_dri.so and sets the environment variable. (you have to logout and login again). Please test and let me know if it works or not: [link removed]
Last edited by Pierre (2007-04-27 15:40:42)
Offline
Quake III Arena and bin32-wine work, Google Earth doesn't (it hangs at the "Initializing" stage, ran from a terminal it doesn't give any output).
The only problem with your package is that now pacman (ldconfig, actually) keeps repeating that "/sbin/ldconfig: libraries libfglrx_pp.so.1 and libfglrx_pp.so.1.0 in directory /opt/lib32/usr/lib have same soname but different type.".
Offline
The ldconfig warning shouldn`t be a real problem. I think it`s caues by some absolute path links included in the arch32-package. I`ll see how to remove those "broken" links.
Perhaps a "strace google-earth" gives you a hint where the problem is. But in genereal 3d acceleration does work with this package, doesn`t it?
Offline
The only problem with your package is that now pacman (ldconfig, actually) keeps repeating that "/sbin/ldconfig: libraries libfglrx_pp.so.1 and libfglrx_pp.so.1.0 in directory /opt/lib32/usr/lib have same soname but different type.".
That problem is caused by the parts copied from the arch32 package. you can just delete the simlinks and make them again against the real libraries. If you do a ls -l /opt/lib32/usr/lib/libfglrx_pp.so.1* you'll see one of them is pointing to /usr/lib/libfglrx_pp.so.* which either is nonexistant or is a 64bit version.
I don't have my box right now, so lets suppose that /opt/lib32/usr/lib/libfglrx_pp.so.1 is pointing to /usr/lib/libfglrx_pp.so.1.0, if it is libfglrx_pp.so.1.0, change them
rm /opt/lib32/usr/lib/libfglrx_pp.so.1
ln -s /opt/lib32/usr/lib/libfglrx_pp.so.1.0 /opt/lib32/usr/lib/libfglrx_pp.so.1
ldconfig
After that, no more warnings should be issued (a logout-login might be needed)
Google Earth doesn't (it hangs at the "Initializing" stage, ran from a terminal it doesn't give any output).
I'll give it a try at home.
I'll also try the new package at home.
I see connected people - The seventh sense
Offline
Yup, the package is working fine thanks a lot!!!
I see connected people - The seventh sense
Offline
OK, I have fixed the wrong links and uploaded the package to [community]. Thanks for testing, Driadan!
Offline
no problem! As I said, any other time you need testing it, just drop me a line at my e-mail (see post above), since I can't be sure I'll read it in the forums.
Edit: I forgot to mention I uploaded a bin32-mesa package to AUR, mainly for testing purposes.
Last edited by Driadan (2007-04-28 11:09:07)
I see connected people - The seventh sense
Offline