Hi all, i've tried to run a rfactor server under wine on a (k)ubuntu 10.10. Everything works fine (rfactor2 installation, mod installation, rfactor2 dedicated.exe configuration) but at the last step (after loading the track), the application is crashing. Anybody have a working wonfiguration for that ? Thanks, View attachment 3881
It's because RF2 doesn't like software vertex processing modes at the moment, which is how WINE handles graphics ordinarily. Not sure if this is a permanent thing, but that's how it is right now. Apparently, WINED3D allows you to use hardware vertex processing modes although I've personally never done it so have no idea how well it works.
Just tried the latest build (#134) on ubuntu 12.04.1 (64bit) using the dedicated server, but I get the following crash: $ wine Core/rFactor2\ Dedicated.exe +ui=NONE fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know what to do! fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know what to do! fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know what to do! fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know what to do! wine: Unhandled exception 0xc0000417 at address 0x7e560023:0x005369bc (thread 0009), starting debugger... Any idea what could be wrong here? GUI version crashes with the same error. Logging in, installing mods and so on works fine. Cheers, Uwe
Looks like Wine not playing nice with networking, which is pretty much what you'd expect out of the box. Did you try winetricks wininet? According to the WineHQ the game is not compatible as the machine setup detection fails, meaning you can't register the game. So it looks like you've already got further than those guys. lol @ OP's 'bordel' folder.
Hm, still no luck after installing wininet using winetricks, but at least now I get some decent trace out of wine (v1.4): Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0xf6d5ee3d). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:f6d5ee3d ESP:0033e9ec EBP:f6d98198 EFLAGS:00010246( R- -- I Z- -P- ) EAX:0000000a EBX:f6db6ff4 ECX:0033ec48 EDX:00000000 ESI:0033ea4c EDI:0033ea4c Stack dump: 0x0033e9ec: 988a0a2e f4b29c57 8f5cbee9 e14df955 0x0033e9fc: 0033ec48 0033ea4c 00000000 f6d5f256 0x0033ea0c: 0033ec48 f6d98198 f6d5f3a9 f6db6ff4 0x0033ea1c: 0033ec48 0033ea4c f6db6ff4 f6d5f86b 0x0033ea2c: 0033ea4c 0033ec48 f6d98198 14529649 0x0033ea3c: 1ef7de52 519395e4 f9258dee f6d98198 000c: sel=0067 base=00000000 limit=00000000 16-bit --x Backtrace: =>0 0xf6d5ee3d in libgcrypt.so.11 (+0x2ae3d) (0xf6d98198) 1 0xf6d5f256 in libgcrypt.so.11 (+0x2b255) (0x00000000) 2 0xf6d5f86b in libgcrypt.so.11 (+0x2b86a) (0x00000000) 3 0xf6d5f407 in libgcrypt.so.11 (+0x2b406) (0x00000000) 4 0xf6d43567 in libgcrypt.so.11 (+0xf566) (0x00000000) 5 0xf6d39734 gcry_cipher_setkey+0x43() in libgcrypt.so.11 (0x00000000) 6 0xf6e6960b in libgnutls.so.26 (+0x9e60a) (0x00000000) 7 0xf6debe62 in libgnutls.so.26 (+0x20e61) (0x00000000) 8 0xf6df7145 in libgnutls.so.26 (+0x2c144) (0x7cbeca50) 9 0xf6df7701 in libgnutls.so.26 (+0x2c700) (0x00000000) 10 0xf6df7dd7 in libgnutls.so.26 (+0x2cdd6) (0x7cbecc24) 11 0xf6de02ad in libgnutls.so.26 (+0x152ac) (0x0033ef44) 12 0xf6de38d0 in libgnutls.so.26 (+0x188cf) (0x0033ef44) 13 0xf6de52ad gnutls_handshake+0x5c() in libgnutls.so.26 (0x0033ef44) 14 0xf6eee233 in secur32 (+0xe232) (0x0033ef44) 15 0xf6eebe44 in secur32 (+0xbe43) (0x0033eff4) 16 0xf6eecbae in secur32 (+0xcbad) (0x0033f064) 17 0xf6ef3a3d InitializeSecurityContextA+0x18c() in secur32 (0x0033f0e4) 18 0x76c36757 in wininet (+0x36756) (0x0033f144) 19 0x76c3642a in wininet (+0x36429) (0x0033f184) 20 0x76c362fe in wininet (+0x362fd) (0x0033f1c4) 21 0x76c36036 in wininet (+0x36035) (0x0033f240) 0xf6d5ee3d: movq 0x0(%esi),%mm1 Modules: Module Address Debug info Name (99 modules) PE 400000- d4c000 Deferred rfactor2 dedicated PE 10000000-10013000 Deferred trackir_rf2_plugin PE 76c00000-76c74000 Export wininet ELF 7b800000-7ba15000 Deferred kernel32<elf> \-PE 7b810000-7ba15000 \ kernel32 ELF 7bc00000-7bcc3000 Deferred ntdll<elf> \-PE 7bc10000-7bcc3000 \ ntdll ELF 7bf00000-7bf04000 Deferred <wine-loader> ELF 7df01000-7df35000 Deferred uxtheme<elf> \-PE 7df10000-7df35000 \ uxtheme ELF 7df35000-7df3b000 Deferred libxfixes.so.3 ELF 7df3b000-7df46000 Deferred libxcursor.so.1 ELF 7dfc0000-7dfea000 Deferred libexpat.so.1 ELF 7dfea000-7e01e000 Deferred libfontconfig.so.1 ELF 7e01e000-7e02e000 Deferred libxi.so.6 ELF 7e02e000-7e032000 Deferred libxcomposite.so.1 ELF 7e032000-7e03b000 Deferred libxrandr.so.2 ELF 7e03b000-7e045000 Deferred libxrender.so.1 ELF 7e045000-7e04b000 Deferred libxxf86vm.so.1 ELF 7e04b000-7e04f000 Deferred libxinerama.so.1 ELF 7e04f000-7e071000 Deferred imm32<elf> \-PE 7e060000-7e071000 \ imm32 ELF 7e071000-7e092000 Deferred libxcb.so.1 ELF 7e092000-7e0ac000 Deferred libice.so.6 ELF 7e0ac000-7e1e0000 Deferred libx11.so.6 ELF 7e1e0000-7e1f2000 Deferred libxext.so.6 ELF 7e209000-7e29c000 Deferred winex11<elf> \-PE 7e210000-7e29c000 \ winex11 ELF 7e29c000-7e2b2000 Deferred libz.so.1 ELF 7e2b2000-7e34c000 Deferred libfreetype.so.6 ELF 7e34c000-7e55d000 Deferred shell32<elf> \-PE 7e360000-7e55d000 \ shell32 ELF 7e55d000-7e5c7000 Deferred shlwapi<elf> \-PE 7e570000-7e5c7000 \ shlwapi ELF 7e5c7000-7e6bf000 Deferred comctl32<elf> \-PE 7e5d0000-7e6bf000 \ comctl32 ELF 7e6bf000-7e6ea000 Deferred msvfw32<elf> \-PE 7e6c0000-7e6ea000 \ msvfw32 ELF 7e6ea000-7e75f000 Deferred rpcrt4<elf> \-PE 7e700000-7e75f000 \ rpcrt4 ELF 7e75f000-7e867000 Deferred ole32<elf> \-PE 7e780000-7e867000 \ ole32 ELF 7e867000-7e880000 Deferred version<elf> \-PE 7e870000-7e880000 \ version ELF 7e880000-7e8e0000 Deferred advapi32<elf> \-PE 7e890000-7e8e0000 \ advapi32 ELF 7e8e0000-7e99d000 Deferred gdi32<elf> \-PE 7e8f0000-7e99d000 \ gdi32 ELF 7e99d000-7eadd000 Deferred user32<elf> \-PE 7e9b0000-7eadd000 \ user32 ELF 7eadd000-7eb8a000 Deferred winmm<elf> \-PE 7eae0000-7eb8a000 \ winmm ELF 7eb8a000-7ebb2000 Deferred msacm32<elf> \-PE 7eb90000-7ebb2000 \ msacm32 ELF 7ebb2000-7ebf3000 Deferred avifil32<elf> \-PE 7ebc0000-7ebf3000 \ avifil32 ELF 7ebf3000-7ec25000 Deferred ws2_32<elf> \-PE 7ec00000-7ec25000 \ ws2_32 ELF 7ec25000-7ec32000 Deferred libnss_files.so.2 ELF 7ec32000-7ec4c000 Deferred libnsl.so.1 ELF 7efbd000-7efe9000 Deferred libm.so.6 ELF 7efe9000-7eff0000 Deferred libxdmcp.so.6 ELF 7eff0000-7eff4000 Deferred libxau.so.6 ELF 7eff4000-7f000000 Deferred libnss_nis.so.2 ELF f6d1d000-f6d22000 Deferred libgpg-error.so.0 ELF f6d22000-f6d34000 Deferred libp11-kit.so.0 ELF f6d34000-f6db9000 Dwarf libgcrypt.so.11 ELF f6db9000-f6dcb000 Deferred libtasn1.so.3 ELF f6dcb000-f6e8f000 Dwarf libgnutls.so.26 ELF f6ea6000-f6ed1000 Deferred netapi32<elf> \-PE f6eb0000-f6ed1000 \ netapi32 ELF f6ed1000-f6efd000 Dwarf secur32<elf> \-PE f6ee0000-f6efd000 \ secur32 ELF f6efd000-f6f30000 Deferred wintrust<elf> \-PE f6f00000-f6f30000 \ wintrust ELF f6f30000-f6fe8000 Deferred crypt32<elf> \-PE f6f40000-f6fe8000 \ crypt32 ELF f6fe8000-f7000000 Deferred libresolv.so.2 ELF f7300000-f7307000 Deferred libnss_dns.so.2 ELF f7309000-f731e000 Deferred schannel<elf> \-PE f7310000-f731e000 \ schannel ELF f731e000-f7339000 Deferred rasapi32<elf> \-PE f7320000-f7339000 \ rasapi32 ELF f7339000-f735b000 Deferred iphlpapi<elf> \-PE f7340000-f735b000 \ iphlpapi ELF f735b000-f7379000 Deferred libgcc_s.so.1 ELF f73b4000-f73cf000 Deferred wsock32<elf> \-PE f73c0000-f73cf000 \ wsock32 ELF f73cf000-f7407000 Deferred usp10<elf> \-PE f73e0000-f7407000 \ usp10 ELF f7431000-f743a000 Deferred libnss_compat.so.2 ELF f743b000-f7440000 Deferred libdl.so.2 ELF f7440000-f75ea000 Deferred libc.so.6 ELF f75eb000-f7606000 Deferred libpthread.so.0 ELF f7607000-f760d000 Deferred libuuid.so.1 ELF f760d000-f7616000 Deferred libsm.so.6 ELF f761d000-f775f000 Dwarf libwine.so.1 ELF f7761000-f7783000 Deferred ld-linux.so.2 ELF f7783000-f7784000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 00000008 Launch rFactor.exe 00000046 0 00000044 0 00000043 0 00000042 0 00000041 0 00000009 0 0000000e services.exe 0000002a 0 00000032 0 0000001f 0 0000001e 0 00000015 0 00000010 0 0000000f 0 00000012 winedevice.exe 0000001c 0 00000018 0 00000014 0 00000013 0 0000001a plugplay.exe 00000020 0 0000001d 0 0000001b 0 00000023 explorer.exe 00000024 0 00000025 (D) C:\Program Files (x86)\rFactor2\Core\rFactor2 Dedicated.exe 00000031 1 0000000d 0 00000028 0 <== System information: Wine build: wine-1.4 Platform: i386 (WOW64) Host system: Linux Host version: 3.2.0-35-generic Anything else I could / should try? Cheers, Uwe
Sorry, total wine noob here, how can this be accomplished? I've tried some options in winecfg (xp / win2k and so on), but to no avail. Cheers, Uwe
I'd get more involved but I hate Wine and what it does to your OS, especially the junk it leaves when you try to get rid of it. Also, I already have rf2 hosting on my linux server working well enough in a VM. Have you tried posting on the Wine forums? There may not be much interest in the game there, but there will at least be a bunch of people who know what the error messages mean.
Right, so far I've managed to fire up the dedicated server on wine 1.4 / ubuntu 12.04.1, but it fails to connect to the Matchmaker. I can log in to a tester account fine, so that much appears to work, but the process of setting up wine is ugly and involves a lot of native dll downloading and overriding, so I'm not sure I'd want to run an Endurance race on such a server even if everything more or less appears to work. Here's a list of native dll's I had to download and override them in wine using winecfg: rasapi32.dll rtutils.dll toolhelp.dll wlanapi.dll rasman.dll secur32.dll winsock.dll wzcsapi.dll Also, for good measure I installed ie7 & ie8 which brought in a whole other list of dll overrides: winetricks ie7 winetricks ie8 When I launch the dedicated server after having logging in from within launch rfactor.exe, I get lots of messages of the form fixme:thread:AcquireSRWLockShared (0x5de6b680): stub fixme:thread:ReleaseSRWLockShared (0x5de6b680): stub fixme:thread:AcquireSRWLockExclusive (0x5de6b680): stub fixme:thread:ReleaseSRWLockExclusive (0x5de6b680): stub fixme:thread:AcquireSRWLockExclusive (0x5de6b680): stub fixme:thread:ReleaseSRWLockExclusive (0x5de6b680): stub fixme:thread:AcquireSRWLockShared (0x5de6b680): stub fixme:thread:ReleaseSRWLockShared (0x5de6b680): stub fixme:thread:AcquireSRWLockExclusive (0x5de6b680): stub fixme:thread:ReleaseSRWLockExclusive (0x5de6b680): stub fixme:thread:AcquireSRWLockExclusive (0x5de6b680): stub fixme:thread:ReleaseSRWLockExclusive (0x5de6b680): stub fixme:thread:AcquireSRWLockShared (0x5de6cfe4): stub fixme:thread:ReleaseSRWLockShared (0x5de6cfe4): stub fixme:thread:AcquireSRWLockShared (0x5de6cfe4): stub fixme:thread:ReleaseSRWLockShared (0x5de6cfe4): stub fixme:thread:AcquireSRWLockShared (0x5de6b680): stub fixme:thread:ReleaseSRWLockShared (0x5de6b680): stub fixme:thread:AcquireSRWLockShared (0x5de6b680): stub fixme:thread:ReleaseSRWLockShared (0x5de6b680): stub fixme:thread:AcquireSRWLockShared (0x5de6cfe4): stub fixme:thread:ReleaseSRWLockShared (0x5de6cfe4): stub fixme:thread:AcquireSRWLockShared (0x5de6cfe4): stub fixme:thread:ReleaseSRWLockShared (0x5de6cfe4): stub fixme:thread:AcquireSRWLockShared (0x5de6b680): stub fixme:thread:ReleaseSRWLockShared (0x5de6b680): stub fixme:thread:AcquireSRWLockShared (0x5de6b680): stub fixme:thread:ReleaseSRWLockShared (0x5de6b680): stub fixme:thread:AcquireSRWLockShared (0x5de6b680): stub fixme:thread:ReleaseSRWLockShared (0x5de6b680): stub fixme:thread:AcquireSRWLockShared (0x5de6b680): stub Just to prove the dedi server runs, here's a little screenshot of my efforts so far Any help on the above? I've also tried running wine 1.5, but it crashed even earlier in the start process than did wine 1.4, so I've stuck with 1.4 for now. All the best, Uwe
Ok, got it to work on wine1.5 now, also connecting to the matchmaker now seems to work o.k. Here's a rundown of what I did on Ubuntu 12.04.1 - remove your old leftover wine stuff or move it somewhere else: $ mv .wine .wine_old - set WINEARCH to win32: $ export WINEARCH=win32 - install wine 1.5 from a ppa found here: $ sudo add-apt-repository ppa:ubuntu-wine/ppa $ sudo apt-get remove wine # only necessary if you have wine 1.4 installed from the normal repos $ sudo apt-get update && sudo apt-get -y install wine - install vcrun2008 & wininet: $ winetricks wininet $ winetricks vcrun2008 - Install the following dll's as native in winecfg: wbemcomn.dll wbemprox.dll wininet wlanapi wzcsapi (vcrun will have been added by the winetricks install above) Here's a screenshot of the overrides that are currently active: Following that, you should be able to install rf2 using the 134setup.exe, log in using your account and start a dedicated server after installing the mods of your choice in modmgr. I have yet to verify one can actually connect to such a server, but the first major hurdles seem to have been surpassed. I still get the occasional messages in the wine terminal like this: fixme:ras:RasEnumConnectionsW (0x133708,0xba7d27c,0x76c623e4),stub! fixme:ras:RasEnumConnectionsW RAS support is not implemented! Configure program to use LAN connection/winsock instead! fixme:service:EnumServicesStatusW resume handle not supported fixme:crypt:CRYPT_RegControl CERT_STORE_CTRL_AUTO_RESYNC: stub fixme:crypt:CRYPT_RegControl CERT_STORE_CTRL_AUTO_RESYNC: stub fixme:secur32:schan_imp_create_session Using hardcoded "NORMAL" priority I have no idea if those are bad or prevent the server from working, but a "netstat -tulpen" on Ubuntu shows wineserver listening to several rf2-relevant udp ports. EDIT: To get rid of the fixme:advapi:RegisterTraceGuidsW errors, move the following file somewhere else: windows/winsxs/manifests/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_deadbeef.manifest EDIT2: Anders N. joined the server successfully a minute ago, I found I could no longer type in the chat window to say hello, but chatting seems to work again after a restart. Also, it seems to be possible to start the server without logging in first using the Core/rFactor2 Dedicated.exe binary! All the best, Uwe
Thank you very much for your work Uwe! I only got so far, that I got the "Could not connect to the matchmaker" message with the help of the WINE developers. I will try, what you did, and if it works for me too and you don´t mind I will share it in that bug report as well. That way they will have a better understanding of what happens, so in the long run rF2 DS will run with a default installation of wine, just like rF1 DS does. BTW, "Launch rFactor.exe" was broken with 1.5.15, due to unimplemented features in wbemprox. That is fixed in the GIT repository as of yesterday. Seeing that you used an override for wbemprox, that might not be necessary anymore with the next release of WINE. I think the cleaner way is to suppress the message: Code: export WINEDEBUG=fixme-all Those are not exactly errors. Cheers, Marcus
Alright, I did my first test and it turns out, there is not much tweaking that needs to be done. I used wine-1.5.22 compiled from source, no additional patches, installed rFactor2 into a clean $WINEPREFIX ($HOME/.wine is the default) and then there were only two further steps left: Code: wget http://winetricks.org/winetricks && chmod +x winetricks ./winetricks wininet That´s it. There are some limitations to this. You cannot use the launcher, it will crash due to the bug mentioned earlier. So you have to start ModMgr.exe and "rFactor2 Dedicated.exe" manually, i.e.: Code: $ cd ~/.wine/drive_c/Program\ Files/rFactor2 $ wine Core/ModMgr.exe # install the Mods you want $ wine Core/rFactor2\ Dedicated.exe Or, if you insist on using the Launcher, you will either have to patch the source, get the lastest source code from the GIT repository, or try a pre 1.5.15 version. And I do believe all those other DLL overrides served to get that Launcher to work, and maybe some WLAN stuff, but that is not important to me. I don´t think it is necessary to set $WINEARCH, at least I didn´t have to set it, because I did my testing inside an i386 chroot, so it was built as 32-bit executable already. But you should be able to do the compiling on an x86_64 system as well, provided you have gcc-multilib installed. On Ubuntu: Code: # apt-get build-dep wine should be sufficient to setup your build environment. Or try and get a preprackaged version, which obviously defeats patching the source, but you don´t need the Launcher anyway. I don´t know how up-to-date those packages are. So far I did only some quick tests, but the server starts up fine, connects to the matchmaker and shows up in the lobby. I also connected successfully. Looks good to me so far. Thanks again Uwe, if it wasn´t for your efforts I would have given up on this for quite a while I guess. Cheers, Marcus
Just a quick update. The dedicated server also works with wine-1.4.1. It is the same as above with 1.5.22, so only "winetricks wininet" applied. Since 1.4.1 is the current stable version, I like that better. This time it was comiled from source with gcc-multilib on Debian Squeeze amd64, no chroot necessary. It´s as simple as: Code: $ su -c "apt-get build-dep wine" # or sudo on Ubuntu $ cd /path/to/wine-1.4.1-source $ ./configure && make depend && make $ su -c "make install" But I believe a prepackaged wine-1.4.1 should work just as well. I would like to invite anyone interested in helping with stability testing to get on it. It´s called: OcM-Racing 60s wine-1.4.1 and currently set to 30 hours test day, with timescale none, so hopefully you won´t have to drive in the dark with those 60s Formula cars. Oh, and this is actually the first time I am driving these cars. It is as hilariious as it´s frightening. Cheers, Marcus
how stable is your dedicated server finally ? (had less chance than you with mine, had two crashes in last 24hours)
Well, I have had it crashing as well, but I don´t think it was due to it running under WINE, because others had the same issues. All in all I´d say it is just as stable as running natively. I haven´t run the latest build though, too little spare time.