call of duty 2 unter wine

Moin,
ich hoffe um diese Zeit ist hier noch wer unterwegs.

Ich versuche gerade mittels wine Call of Duty2 auf meinem Debian Etch zu installieren. Installation ist durch, er meldet mir, dass Direkt X bitte noch installiert werden soll, ich mach das und will das Spiel starten und nichts passiert. Ein blick in die Konsole verrät mir folgendes:
Code:
fixme:advapi:GetFileSecurityW (L"c:\\Programme\\InstallShield Installation Information\\{D0A05794-48C2-4424-A15A-9F20FCFDD374}\\") : returns fake SECURITY_DESCRIPTOR
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
err:module:import_dll Library d3d9.dll (which is needed by L"Z:\\home\\joachim\\.wine\\drive_c\\Call of Duty 2\\CoD2SP_s.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\joachim\\.wine\\drive_c\\Call of Duty 2\\CoD2SP_s.exe" failed, status c0000135
Ich nehme an, dass die Libary "d3d9.dll" fehlt. Nur woher bekomme ich die, bzw. binde ich das in wine ein? Oder liegt der Fehler wo ganz anderst?

//edit
Gut, ich hab selbst ein bisschen dran rumgespielt. die *.dll hab ich in das Verzeichnis von CoD2 kopiert und gut war. Jetzt "startet" zwar CoD2 aber das Startlogo blinkt nur kurz auf und das wars dann...???

Hier mal meine neue Konsolenausgabe. Hab dieses mal nichts selbst gefunden... :-(
Code:
ELF     b7fba000-b7fd1000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
0000000d (D) C:\Call of Duty 2\CoD2SP_s.exe
        0000000e    0 <==
0000000a
        0000000c    0
        0000000b    0
00000008
        00000009    0
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
fixme:process:IsWow64Process (0xffffffff 0x33f764) stub!
fixme:process:IsWow64Process (0xffffffff 0x33f714) stub!
wine: Unhandled page fault on read access to 0x00000014 at address 0x42f434 (thread 0012), starting debugger...
Unhandled exception: page fault on read access to 0x00000014 in 32-bit code (0x0042f434).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:0042f434 ESP:0033f810 EBP:0033f870 EFLAGS:00010246(   - 00      -RIZP1)
 EAX:00000000 EBX:00000000 ECX:00000000 EDX:003357b4
 ESI:0033f830 EDI:7e9ecf60
Stack dump:
0x0033f810:  10012bdf 00000000 7e9ecf60 00000000
0x0033f820:  00000000 10012ce9 7e9ecf60 7ea184d0
0x0033f830:  7ea184d0 00000000 0042651c 00200000
0x0033f840:  00000020 10020c02 00200000 00200000
0x0033f850:  100210bf 1001301f 7ea184d0 00000000
0x0033f860:  00000000 00000000 00000000 00000000
fixme:ntdll:RtlNtStatusToDosErrorNoTeb no mapping for c0000119
Backtrace:
=>1 0x0042f434 in cod2sp_s (+0x2f434) (0x0033f870)
  2 0x100131f7 in gfx_d3d_x86_s (+0x131f7) (0x00000001)
  3 0x00000000 (0x00000000)
0x0042f434: movl        0x14(%eax),%ecx
Modules:
Module  Address                 Debug info      Name (78 modules)
PE      400000-1cc1a46  Export          cod2sp_s
PE      1cd0000-1e66000 Deferred        d3d9
PE      10000000-105e0000       Export          gfx_d3d_x86_s
PE      21100000-21164000       Deferred        mss32
ELF     7b800000-7b919000       Deferred        kernel32<elf>
  \-PE  7b820000-7b919000       \               kernel32
ELF     7bc00000-7bc83000       Deferred        ntdll<elf>
  \-PE  7bc10000-7bc83000       \               ntdll
ELF     7bf00000-7bf03000       Deferred        <wine-loader>
ELF     7e1f2000-7e207000       Deferred        midimap<elf>
  \-PE  7e200000-7e207000       \               midimap
ELF     7e22d000-7e245000       Deferred        msacm32<elf>
  \-PE  7e230000-7e245000       \               msacm32
ELF     7e245000-7e281000       Deferred        wineoss<elf>
  \-PE  7e250000-7e281000       \               wineoss
ELF     7e2b3000-7e2e6000       Deferred        uxtheme<elf>
  \-PE  7e2c0000-7e2e6000       \               uxtheme
ELF     7e2e8000-7e2ed000       Deferred        libxfixes.so.3
ELF     7e2ed000-7e2f6000       Deferred        libxcursor.so.1
ELF     7e2f6000-7e312000       Deferred        imm32<elf>
  \-PE  7e300000-7e312000       \               imm32
ELF     7e312000-7e315000       Deferred        libxrandr.so.2
ELF     7e315000-7e31d000       Deferred        libxrender.so.1
ELF     7e31d000-7e320000       Deferred        libxinerama.so.1
ELF     7e320000-7e3c0000       Deferred        libgl.so.1
ELF     7e3c0000-7e44d000       Deferred        winex11<elf>
  \-PE  7e3d0000-7e44d000       \               winex11
ELF     7e513000-7e533000       Deferred        libexpat.so.1
ELF     7e533000-7e55e000       Deferred        libfontconfig.so.1
ELF     7e55e000-7e572000       Deferred        libz.so.1
ELF     7e572000-7e5dc000       Deferred        libfreetype.so.6
ELF     7e5dc000-7e5e1000       Deferred        libxdmcp.so.6
ELF     7e5e1000-7e5e4000       Deferred        libxau.so.6
ELF     7e5e4000-7e6d0000       Deferred        libx11.so.6
ELF     7e6d0000-7e6de000       Deferred        libxext.so.6
ELF     7e6de000-7e6e3000       Deferred        libxxf86vm.so.1
ELF     7e6e3000-7e6fb000       Deferred        libice.so.6
ELF     7e6fb000-7e74a000       Deferred        ddraw<elf>
  \-PE  7e700000-7e74a000       \               ddraw
ELF     7e74a000-7e763000       Deferred        version<elf>
  \-PE  7e750000-7e763000       \               version
ELF     7e763000-7e78e000       Deferred        ws2_32<elf>
  \-PE  7e770000-7e78e000       \               ws2_32
ELF     7e78e000-7e817000       Deferred        winmm<elf>
  \-PE  7e7a0000-7e817000       \               winmm
ELF     7e817000-7e8d8000       Deferred        comctl32<elf>
  \-PE  7e820000-7e8d8000       \               comctl32
ELF     7e8d8000-7e8eb000       Deferred        libresolv.so.2
ELF     7e8eb000-7e909000       Deferred        iphlpapi<elf>
  \-PE  7e8f0000-7e909000       \               iphlpapi
ELF     7e909000-7e95c000       Deferred        rpcrt4<elf>
  \-PE  7e920000-7e95c000       \               rpcrt4
ELF     7e95c000-7ea93000       Deferred        user32<elf>
  \-PE  7e980000-7ea93000       \               user32
ELF     7ea93000-7eb27000       Deferred        ole32<elf>
  \-PE  7eaa0000-7eb27000       \               ole32
ELF     7eb27000-7eb7f000       Deferred        shlwapi<elf>
  \-PE  7eb40000-7eb7f000       \               shlwapi
ELF     7eb7f000-7ec6a000       Deferred        shell32<elf>
  \-PE  7eb90000-7ec6a000       \               shell32
ELF     7ec6a000-7ec75000       Deferred        libgcc_s.so.1
ELF     7ed5a000-7ee13000       Deferred        gdi32<elf>
  \-PE  7ed70000-7ee13000       \               gdi32
ELF     7ee13000-7ee59000       Deferred        advapi32<elf>
  \-PE  7ee20000-7ee59000       \               advapi32
ELF     7ee7e000-7ee89000       Deferred        libnss_files.so.2
ELF     7ee89000-7ee9f000       Deferred        libnsl.so.1
ELF     7efc7000-7efec000       Deferred        libm.so.6
ELF     7efed000-7eff6000       Deferred        libsm.so.6
ELF     7eff6000-7f000000       Deferred        libnss_nis.so.2
ELF     b7cf1000-b7cfa000       Deferred        libnss_compat.so.2
ELF     b7cfb000-b7cff000       Deferred        libdl.so.2
ELF     b7cff000-b7e30000       Deferred        libc.so.6
ELF     b7e31000-b7e43000       Deferred        libpthread.so.0
ELF     b7e43000-b7e57000       Deferred        lz32<elf>
  \-PE  b7e50000-b7e57000       \               lz32
ELF     b7e57000-b7f68000       Deferred        libwine.so.1
ELF     b7f6a000-b7f81000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000011 (D) C:\Call of Duty 2\CoD2SP_s.exe
        00000012    0 <==
0000000a
        0000000c    0
        0000000b    0
00000008
        00000009    0

Ich hoff, ich hab die richtige Stelle erwischt (also ab da es wichtig ist). Ansonsten sry, dass ich hier mit meiner Konsolenausgabe den Thread zuspamme... :rolleyes:
 
1. Dein XServer hat keine 3D-Beschleunigung.
2. Dir fehlt tatsächlich die DLL.
 
Keine 3D Beschleunigung....
Irgendwie hab ich das schon länger vermutet. Soweit ich mich erinnern kann hab ich aber mal extra den Treiber von ATI installiert, weil ich schon mal das Problem mit dem 3D Zeugs hatte...
Na dann werd ich mal eine Nachtschicht einlegen...
 
Code:
glxinfo | grep render

kann dir Gewißheit geben, ob ich mit meiner Vermutung richtig liege. Du müßtest dann folgende Zeile angezeigt bekommen:

Code:
direct rendering: Yes
 
Code:
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
direct rendering: No
    GLX_ATI_pixel_format_float, GLX_ATI_render_texture
OpenGL renderer string: Mesa GLX Indirect
 
In dem Fall solltest du überprüfen ob das Kernel-Modul 'fglrx' geladen ist und ob als Treiber in der xorg.conf auch fglrx drin steht.
 
Wie mach ich das? Also schauen, ob das Kernelmodul geladen ist?

Zur xorg.conf: Ja, fglrx ist hier als Treiber eingetragen.
 
lsmod | grep fglrx

Bekommst du keinen Output ist es nicht geladen. Sollte das der Fall sein, war vermutlich bei der Installation des Treibers kein LKM Build Environment vorhanden. Wie du dieses einrichtest erfährst du unter http://www.hackerwiki.org/index.php/Kernel_Module_Build_Environment_unter_Debian_einrichten (kann sein, daß bei Etch die Pakete etwas anders heißen, 'apt-cache search kernel | grep source' sollte dir aber den korrekten Namen verraten). Danach den Treiber nochmal installieren.
 
Code:
make[1]: *** Keine Regel, um ?/usr/src/linux-headers-2.6.18-4-486/scripts/kconfig/Makefile? zu erstellen.  Schluss.
make: *** [oldconfig] Fehler 2

Kommt bei
Code:
make oldconfig

Erst kam noch, das kein "Makefile" vorhanden ist. Hab das dann in den entsprechenden Ordner kopiert. Dann den Befehl noch mal eingetippt. Erst ewig lang nichts und dann konnte ich mcih vor Fehlermeldungen nicht mehr retten. Aber immer der gleiche Fehler, nur mit einer anderen "make[] bezeichnung. Ging von "make[199]" bis make[1]" bzw. bis 199 wird es mir noch angezeigt. Ich glaub, dass waren mehr.

Irgendwie bin ich ratlos...
 
Welches Kernel-Source-Paket hast du installiert? Sieht nämlich so aus, als hättest du nur die Header installiert.
 
Ähm...
Also in deiner Anleitung steht ja, man soll
Code:
apt-get install kernel-source-<version>
ausführen. Bei wär das dann 2.6.18. Da das aber nicht ging, hab ich mittels
Code:
apt-cache search kernel | grep source
rausgefunden, dass das bei mir das wohl diesem Paket entspricht:
Code:
linux-source-2.6.18 - Linux kernel source for version 2.6.18 with Debian patches
Demzufolge hab ich dann
Code:
apt-get install linux-source-2.6.18
ausgeführt.

Vorallem, er will was mit 2.6.18-4-486 machen. ich hab aber 686 installiert, nicht 486. Macht das was aus?
 
Hmm, soweit richtig. Und im Kernel-Source-Verzeichnis (/usr/src/linux) befindet sich jetzt auch die Datei '.config' (mit '.'!), die eine Kopie von /boot/config-<deine-kernel-version> ist und die Header sind korrekt verlinkt? Und was sagt 'uname -r' bei dir?
 
Code:
uname -r

2.6.18-4-686
Wie meinst du das mit Header richtig verlinkt? Bei dem Verlinken der Header Dateien nach deiner Anleitung gabs keine Fehler!
Ich weiß nicht ob das eine Rolle spielt, aber bei mir sind da drei config-<deine-kernel-version> vorhanden. Sind wohl noch von älteren Installationen.
2.6.18-3-486; 2.6.18-4-486 und 2.6.18-4-686
Kann man die beiden alten löschen? Dann würden sie auch nicht mehr im Grub erscheinen!?
 
Du kannst die alten einfach sauber deinstallieren. Wichtig ist, daß du mit 'cp /boot/config-`uname -r` /usr/src/linux/.config' die richtige Datei in das Source-Verzeichnis kopierst.
 
Also die Datei ist im Source Verzeichnis. Aber
Code:
make oldconfig
ergibt weiterhin die schon oben geschriebenen Fehlermeldung.
Code:
make[1]: *** Keine Regel, um ?/usr/src/linux-headers-2.6.18-4-486/scripts/kconfig/Makefile? zu erstellen.  Schluss.
make: *** [oldconfig] Fehler 2
 
Ich kann mir eigentlich nur vorstellen, daß die Header nicht korrekt verlinkt sind, da er ganz offenbar die falschen sucht.
 
In dem Text steht ja für einen x86 (also 32-Bit CPU). Ich hab aber eine 64-Bit CPU. Bevor du jetzt aber aufschreist, ich habe aber Debian Etch als 32-Bit System installiert, da ich es mit dem 64-Bit irgendwie nicht auf die Reihe bekommen habe...

Also 64-Bit CPU und eine 32-bit System am laufen. Ist nur noch die Frage zu klären, ob das überhaupt wichtig ist...?!
 
Auf einem 32bit-System stellt dieses Howto eigentlich kein Problem dar. Du bist bisher der erste, bei dem es nicht funktioniert. Bisher lagen auftauchende Probleme eigentlich immer daran, daß irgendeiner der Schritte nicht korrekt gemacht wurde und der Fehlermeldung nach zu urteilen, würde ich auf falsch oder garnicht verlinkte Kernel-Header tippen. Was gibt dir 'ls -lh /usr/include | grep asm' aus?
 
Code:
ls -lh /usr/include | grep asm
lrwxrwxrwx  1 root root   26 2007-06-02 12:31 asm -> /usr/src/linux/include/asm
lrwxrwxrwx  1 root root   34 2007-06-02 12:31 asm-generic -> /usr/src/linux/include/asm-generic
drwxr-xr-x 10 root root 4,0K 2007-03-18 16:26 asm-i486
drwxr-xr-x  2 root root 4,0K 2007-03-18 16:26 asm-x86_64
 
Code:
mkdir /root/bak/
mv /usr/include/asm* /usr/include/linux /root/bak/
ln -s /usr/src/linux/include/asm-i386 /usr/src/linux/include/asm
ln -s /usr/src/linux/include/asm-i386 /usr/src/linux/include
ln -s /usr/src/linux/include/asm-generic /usr/include
ln -s /usr/src/linux/include/linux /usr/include

Damit sollte dann sichergestellt sein, daß es kein Header-Konflikt ist, der den Fehler auslöst. Danach stellst du am Besten mit 'diff -a /boot/config-`uname -r` /usr/src/linux/.config' sicher, daß du auch wirklich die richtige Konfigurationsdatei hast.
 
Zurück
Oben