# wine und 32 bit spiele

## Linubie

Moin,

ich habe eine Zeit lang Mass Effect 2 unter wine gespielt, bis auf ein paar Kleinigkeiten lief es ganz gut.

Nun habe ich vor einiger Zeit in der package.use den Eintrag */* abi_x86_32 eingefügt, so wie in der gentoo mail vom 28.03.2015 angemerkt

Danach mussten natürlich einige Pakete neu kompiliert werden.

Nun habe ich das Problem das der Sound unter Mass Effect 2 nicht mehr richtig funktioniert, es klinkt abhackt und so als ob sich mehrere Töne überlagern.

Ich hab eben ME2 nochmal komplett neu installiert in einem neuen prefix: 

```
(WINEARCH=win32 WINEPREFIX=~/wine_games/.wine_me2 wine ...)
```

Wenn ich den Sound in winecfg teste funktioniert er ohne Probleme

```
WINEARCH=win32 WINEPREFIX=~/wine_games/.wine_me2 winecfg
```

Ich nutze wine-1.7.39 aus dem wine overlay (git://github.com/NP-Hardass/wine-overlay.git )

```

[ebuild   R   ~] app-emulation/wine-1.7.39::wine-overlay  USE="X alsa fontconfig gecko gphoto2 jpeg lcms mono mp3 ncurses nls openal opengl oss perl png prelink pulseaudio realtime run-exes scanner ssl threads truetype udisks v4l xcomposite xinerama xml -capi -cups -custom-cflags -dos -gsm -gstreamer -ldap -netapi -odbc -opencl -osmesa -pcap -pipelight -s3tc -samba (-selinux) -staging {-test} -vaapi" ABI_X86="32 64 (-x32)" LINGUAS="de -ar -bg -ca -cs -da -el -en -en_US -eo -es -fa -fi -fr -he -hi -hr -hu -it -ja -ko -lt -ml -nb_NO -nl -or -pa -pl -pt_BR -pt_PT -rm -ro -ru -sk -sl -sr_RS@cyrillic -sr_RS@latin -sv -te -th -tr -uk -wa -zh_CN -zh_TW"
```

Für mich scheint es so als hänge das mit den 32 bit libs zusammen, vielleicht hab ich das ein oder andere paktet zuviel in 32 bit.

Welche pakete in 32 bit werden benötigt damit ich 32bit Windows Programme starten kann?

Danke

----------

## ChrisJumper

Also wie das genau mit den Spielen zuammenhängt weiß ich nicht. Es kann halt auch sein das Wine, bei der Installation von Disk schaut welche Versionen von DirectX und andren Library-Dateien installiert sind. Eventuell hast du auch mehrere Spiele im Wine-Verzeichnis und ein neueres hat dir die Version mit nem Update... zerwühlt oder so etwas.

Du kannst ja mit equery d app-emulation/wine sehen welche Pakete wine in gentoo noch benötigt.

Mittels ldd kann man sich die dynamischen Bibliotheken anzeigen lassen die ein ausführbares Programm braucht.

Wie hier am Beispiel von cp:

```
$ ldd /bin/cp

   linux-gate.so.1 (0xb773d000)

   librt.so.1 => /lib/librt.so.1 (0xb76ff000)

   libacl.so.1 => /lib/libacl.so.1 (0xb76f5000)

   libc.so.6 => /lib/libc.so.6 (0xb755d000)

   libpthread.so.0 => /lib/libpthread.so.0 (0xb7543000)

   libattr.so.1 => /lib/libattr.so.1 (0xb753c000)

   /lib/ld-linux.so.2 (0xb773e000)

```

Vielleicht kommst du damit ein wenig weiter. Aber mir kommt das Problem bekannt vor mit dem Sound auch wenn mir die Lösung jetzt nicht einfällt. Notfalls noch mal nach den Symptomen suchen...

----------

## Linubie

Hi danke für die Antwort,

Die DirextX Version die von der DVD installiert werden sollte hab ich nicht installiert, ich habe über winetricks d3dx9_36 physx installiert, in ein frisches wine prefix.

```
equery d app-emulation/wine

 * These packages depend on app-emulation/wine:

app-emulation/winetricks-99999999 (app-emulation/wine)
```

```

 ldd /usr//bin/wine

        linux-gate.so.1 (0xf772a000)

        libwine.so.1 => /usr/bin/../lib32/libwine.so.1 (0xf7570000)

        libpthread.so.0 => /lib32/libpthread.so.0 (0xf750f000)

        libdl.so.2 => /lib32/libdl.so.2 (0xf750a000)

        libc.so.6 => /lib32/libc.so.6 (0xf736a000)

        /lib/ld-linux.so.2 (0xf772b000)

```

Also für mich sieht es so aus, als ob nur wine abi_x86_32 benötigt, richtig?

Gibt es eine Möglichkeit den genannten file z.B. libdl.so.2 einem Pakete zuzuordnen, lt. meiner Recherche konnte ich noch glibc ausfinding machen.

Danke

----------

## Yamakuzure

 *Linubie wrote:*   

> Nun habe ich vor einiger Zeit in der package.use den Eintrag */* abi_x86_32 eingefügt, so wie in der gentoo mail vom 28.03.2015 angemerkt

 Wie bitte? Das heißt doch, dass dein gesamtes System doppelt gebaut wird. Ob benötigt oder nicht. Also das kann doch nicht gewollt sein?

Hier mal eine Auflistung, warum das nicht wirklich der Weg sein kann:

```
 ~ $ eix -c -I | tail -n 1

1718 Treffer.

 ~ $ eix -c -I -U abi_x86_32 | tail -n 1

382 Treffer.

 ~ $ grep abi_x86_32 /etc/portage/package.use/gentoo.use | wc -l

284
```

Das mag sich nach "nicht sooo dramatisch" anhören, aber ich fände es schon blöd, wenn die 98 Pakete, die ich nicht in 32bit brauche, zwangsweise auch doppelt gebaut würden. Schnelle Maschine mit viel RAM hin oder her.

----------

## Linubie

Ok das sehe ich ja ein, bleibt jedoch noch die Frage offen weclhe Pakete ich für 32 bit Programme unter wine benötige.

Lt. dem was ich bereits schrieb scheint es nur wine zu sein.

Aber ich denke wenn ich nur wine mit abi_x86_32 kompiliert habe, habe ich bei nativen Programmen (meistens Spiele bei mir) wieder das Problem das mir einige 32 bit libs fehlen.

Ich würde halt gern wissen was ich minimalst benötige.

----------

## Klaus Meier

Das sagt die emerge von ganz alleine. Du entfernst dein Eintag "*/* abi_x86_32" und machst daraufhin ein emerge -uDNva world. Dann sagt dir emerge, welche Pakete dieses Flag brauchen und die trägst du dann in die package.use ein. Danach noch mal ein emerge -uDN world und aus allen Paketen, die dies nicht benötigen, wird die 32bit Unterstützung entfernt.

----------

