Lumalab

Search entriesDeutsch English
  
User:   Password:    
Forum > Linux > Compiling Wine Multimedia on Wheezy
StartStopPage 1 of 1StopEnde
Author: EngysTopic: Compiling Wine Multimedia on WheezyLast change: 2014-08-13 17:13:49 

If you are interested to get a nice native Pulseaudio integration in Wine on Debian Wheezy then this thread is for you!

But if you are only looking for a quick way to get latest Wine on Wheezy you better try the following link:

Latest Wine on Debian Wheezy

Until 2012-11-30 everything worked fine while compiling latest WoW Wine 32bit part on 64 bit Wheezy, but the Debian project make deep changes for multiarch so that the WoW Wine 32 bit steps on a 64 bit Wheezy will not work anymore. But you can compile a straight 32 bit Wine in schroot jail on a 64 bit Wheezy.
Sometimes it make sense to recommend 32bit Linux installations on 64 bit systems. There is nothing you have to miss on a 32 bit Wheezy. The automatic installed pae extension will give you all your system memory above 4GB and 32 bit Wine runs as fast as the 64 bit version.

For 64 Bit Systems here are a quote from the leading Wine developer Alexandre Julliard:

"You need to build the 32-bit WoW side too. A 64-bit only setup is not going to do anything useful."

Debian Wheezy is stable and they put some really nice things into it.
We got a newer version of Wine and contrib got Playonlinux.

One of the really cool things about Wine is that you can install it in an separate user account. Playonlinux will do this in a very elegant manner. But till now there is no Pulseaudio integration in Playonlinux. I did not analyse the Playonlinux Python scripts, but at some point Playonlinux constrained the system audio only to play Wine audio.

If you are a competitive player you would carry all this a step further.
You need Teamspeak or Mumble and want to hear your own music while twisting your enemies like a pretzel.

Thanx to Maarten Lankhorst's Wine patch, it is possible to use Wine with Pulseaudio. So if you are not so familiar with all the geeky Linux stuff, you better use the latest Ubuntu or Mint release with Ubuntu's PPA (Personal Package Archives) to get your Wine with Pulseaudio.

But hey I wrote install in a separate user account and Debian Wheezy.

On my system is an amd64 Debian Wheezy and I use an Nvidia GTX 560 TI graphics adapter. For Wine it was necessary to install the driver package from http://www.nvidia.com. To do this, you need at least the build essentials and your kernel headers.

Here are the steps for the NVidia card users. If your graphics adapter is already installed with 32 bit opengl libraries you can jump foreward to Wine dependencies.
If you already installed the nvidia driver from the repository

apt-get remove --purge nvidia*

will help to get rid of them.

The following steps are for a system with the default nouveau driver.
Change to terminal view (ctrl+alt+f1)
Login as root and type in:

echo -e "blacklist nouveau">>/etc/modprobe.d/blacklist.conf
reboot

Change to terminal view (ctrl+alt+f1)
Login as root and type in:

apt-get install build-essential linux-headers-$(uname -r)
/etc/init.d/gdm3 stop

In my case the latest driver from http://www.nvidia.com was NVIDIA-Linux-x86_64-304.60.run so I need to type in:

sh NVIDIA-Linux-x86_64-304.60.run

Accept entry screen.
At the "CC Version check failed" use "No" to continue installation.
If you have a 64 bit Debian System you also need to install the 32 Bit OpenGL libs.
If the installation asks you if you want to change the X configuration file use "Yes".
After installation:

reboot

Nice! Now we have the right NVidia drivers!


Open a terminal and type in su to change to your root account and copy the following:

apt-get install build-essential checkinstall flex bison xorg-dev libgl1-mesa-dev libpng12-dev libjpeg8-dev libssl-dev libpulse-dev libglu1-mesa-dev libhal-dev libtiff4-dev libncurses5-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libmpg123-dev libosmesa6-dev libv4l-dev  libxslt1-dev libopenal-dev libgnutls-dev git-core ocl-icd-opencl-dev opencl-headers libsane-dev liblcms1-dev liblcms2-dev libcapi20-dev libcups2-dev libldap2-dev libgsm1-dev oss4-dev

The following package installation was for building the 32 bit part on a 64 bit Wheezy but after the repository have changed on 2012-11-30 you can ignore them.

broken packages:
gcc-multilib gobjc-4.4-multilib ia32-libs-dev lib32asound2-dev lib32cr0 lib32bz2-dev lib32gcc1 lib32ffi5 lib32gmp3-dev lib32icu-dev lib32mudflap0 lib32ncurses5-dev lib32readline6-dev lib32v4l-dev lib32z1-dev lib32vdpau1

I really try to put the multiarch libs in place:

dpkg --add-architecture i386
apt-get update

but there are some collisions like: libfreetype6-dev:i386, libxslt1-dev:i386, libpulse-dev:i386
I hope the debian maintainer will fix this collisions with the next updates.

I also try a 32 bit schroot jail installation on Wheezy 64 but PulseAudio not working in a default desktop schroot jail on Debian Wheezy. What really works is if you compile the source in a 32 bit Debian installation under schroot jail and copy your compiled and installed wine into your main system. It is the same way you get your wine under an 64 bit Ubuntu.

Now as we have all dependencies

exit


to normal user mode and type in

cd $HOME
git clone git://repo.or.cz/wine/multimedia.git

skip the 64 bit part and delete the "--with-wine64=../wine64" configure option on 32 bit systems:
mkdir wine64
cd wine64
../multimedia/configure --enable-win64

That mean for 32bit installation:

cd multimedia
./configure

To save time I start make with -j8 to compile it on 8 cores. You need to adjust this value to your CPU capabilities.

make -j8 > make.log 2>&1

For a plane 32bit installation you can end this installation with e.g.:

FAKEROOT=/home/zock/pulsewine
make DESTDIR=$FAKEROOT install

I keep the WoW64 installation steps here for later tests:
cd ..
mkdir pulsewine
mkdir wine32
cd wine32
../multimedia/configure --with-wine64=../wine64
make -j8 > make.log 2>&1

Be carefull the order of installation is important first 32 then 64:
FAKEROOT=/home/zock/pulsewine
make DESTDIR=$FAKEROOT install
cd ../wine64
make DESTDIR=$FAKEROOT install

Awesome! Now we have a Wine with Pulseaudio support. Yeah!
What is missing are some configuration scripts to build our Wine environment.
Here is an example for Steam. You need to modify it for your own requirements:

export WPATH=/home/zock/wengines/pulsewine-1.5.28/usr/local
export WINEVERPATH=$WPATH
export PATH=$WPATH/bin:$PATH
export WINESERVER=$WPATH/bin/wineserver
export WINELOADER=$WPATH/bin/wine
export WINEDLLPATH=$WPATH/lib/wine/fakedlls
export LD_LIBRARY_PATH="$WPATH/lib:$LD_LIBRARY_PATH"
export WINEPREFIX="/home/zock/wbucket/steam"
export WINEDEBUG="fixme-all"
export WINEARCH=win32
cd "/home/zock/wbucket/steam/drive_c/Program Files/Steam/"
wine Steam.exe -no-dwrite

I also keep the WoW64 setting here for later 64 bit application tests:

export WINEARCH=win64

instead of

export WINEARCH=win32

My applications already do out of the box, but sometimes you possibly need to tweek your configuration with winetricks:

http://kegel.com/wine/winetricks

Have fun!


UpReply 
StartStopPage 1 of 1StopEnde