Using 32-bit applications on Arch64
64-Bit-Processors like Athlon 64 are able to execute 32- and 64-Bit-programs at the same time.
Currently I am working on an easy solution to solve this. It does not use a cross-compiler nor a chroot-environment. I just make use of the arch32-packages which are already there.
Note: All libs will be installed under /opt/lib32. Arch64 should not be affected by this. In the case of any problems use pacman -R lib32 to remove all libs.
Attention: Never try to install all libs with pacman -S lib32.
And do not install any arch32-package. lib32-* packages are made to run bin32-* packages
32bit packages can now be found in the [multilib]-repository. You will need to add this repository before downloading any 32bit lib.
You will always need to install lib32-glibc in order to execute 32-bit-programs. It might be necessary to fake the output of uname. Use the package linux32 for this.
Some c++-programs also need lib32-libstdc++5.
Programs using OpenGL need one of the following libs which fits to your graphicscard:
- nVidia: lib32-nvidia-utils
- ATI: lib32-catalyst-utils
- DRI: (all opensource-drivers like those for Intel-chips) lib32-libgl-dri
Programs using QT should run at once after installing lib32-qt.
Alsa & OpenAL
For Alsa and OpenAL-Support you have to install lib32-alsa-lib and lib32-openal.
- Doom3, Enemy-Territory, Unreal Tournament
- 32-bit opengl library (specific to driver), lib32-alsa-lib, [lib32-libstdc++5, lib32-openal]
- Diablo II, Warcraft III
- 32-bit opengl library (specific to driver), lib32-alsa-lib, [For Warcraft: lib32-openal]
Some useful Env Variables when running 32bit-applications without chroot:
For gtk2 input modules and such
For pango (lib32-pango includes these config files)
Iconv (conversion from 'XXXXXXX' is not supported or cannot convert from X to Y -errors)
Library paths without having them in /etc/ld.so.conf
GDK stuff (GdkPixbuf warnings errors criticals, lib32-gtk2 includes the file)