Jump to content
Sign in to follow this  
Kindling

ARMA2/OA/CO/Demo/Free/TOH on WINE/Linux!

Recommended Posts

So uh, hi :)

I am actually trying to run it on a Mac (with powerful enough GFX card of course), and the trouble is getting compiled a recent enough version of Wine with Rawinput patch. All the binaries I could find with rawinput patch already in were a little old for good 3D look (too much artifacts and slow). While Wine 1.4RC2 did run it somewhat well (without seeing any artifacts and not much LOD flickering as far as I could tell), without a rawinput patched version I couldn't get past the initial game menu (without rawinput, the game doesn't get any mouse or keyboard support from Wine). And compiling my own I get stuck.

This thread was actually really useful for me, to learn how to build patched wine engines. I created 1.5.1-rawinput and put it in a Wineskin wrapper (google it), and ArmA II now works for me. I then switched to a rawinput engine from 'The Porting Team', for the extra patches.

So it works on Mac, and it's pretty easy to get going. However, rawinput for me doesn't seem to work entirely. In the menu, the mouse will switch to the other side of the screen when it hits the other edge, which I guess is logical. But it doesn't work when in 3D mode... you just can't pan when the mouse gets to the edge of the screen. And the same happens vertically.

So I have to go to the menu and reposition the mouse in the middle of the screen every now and then, to pan further in a direction. Anyone else experienced this? Know a *real* fix?

Cheers :)

Share this post


Link to post
Share on other sites

Additionally, struggling to run the Combined Operations shortcut.

I get this crash report:

Unhandled exception: page fault on write access to 0x40624791 in 32-bit code (0x8f0977b6).
Register dump:
CS:001b SS:0023 DS:0023 ES:0023 FS:1007 GS:000f
EIP:8f0977b6 ESP:0182ef04 EBP:0182ef08 EFLAGS:00010206(  R- --  I   - -P- )
EAX:413971f4 EBX:43e6b001 ECX:4062477d EDX:4062477d
ESI:43b74f08 EDI:43b41000
Stack dump:
0x0182ef04:  43b74f08 0182ef28 8f0978f9 43b74f08
0x0182ef14:  413971f4 00000000 43b75008 43b74f08
0x0182ef24:  43e6b000 0182ef48 8f097ba9 43b74f08
0x0182ef34:  00000001 0182ef48 8f097e85 43b41000
0x0182ef44:  43b41000 0182ef58 8f06855e 43b74f08
0x0182ef54:  43b41000 0182ef78 8f098210 43b41000
0200: sel=1007 base=7ffc0000 limit=00000fff 32-bit rw-
Backtrace:
=>0 0x8f0977b6 (0x0182ef08)
 1 0x8f0978f9 (0x0182ef28)
 2 0x8f097ba9 (0x0182ef48)
 3 0x8f06855e (0x0182ef58)
 4 0x8f098210 (0x0182ef78)
 5 0x8f0d9b21 (0x0182efb8)
 6 0x8f004910 (0x0182efc8)
 7 0x43b929dc in <wine-loader> (+0x43b929db) (0x0182efe8)
 8 0x91ca64ae (0x0182f018)
 9 0x91ca7055 (0x0182f038)
 10 0x40601454 in <wine-loader> (+0x40601453) (0x0182f078)
 11 0x4060a20f in <wine-loader> (+0x4060a20e) (0x0182f098)
 12 0x406062ae in <wine-loader> (+0x406062ad) (0x0182f0d8)
 13 0x4367298e in <wine-loader> (+0x4367298d) (0x0182f2f8)
 14 0x43674105 in <wine-loader> (+0x43674104) (0x0182f378)
 15 0x42cb6c5b in <wine-loader> (+0x42cb6c5a) (0x0182f3e8)
 16 0x42a099c1 in <wine-loader> (+0x42a099c0) (0x0182f898)
 17 0x42a98693 in <wine-loader> (+0x42a98692) (0x0182f8e8)
 18 0x43584346 in <wine-loader> (+0x43584345) (0x0182f938)
 19 0x43584438 in <wine-loader> (+0x43584437) (0x0182f978)
0x8f0977b6: movb $0x1,0x14(%ecx)
Modules:
Module Address Debug info Name (35 modules)
ELF        0-7bf03000 Stabs           <wine-loader>
PE   240000-  247000 Deferred        x3daudio1_6
PE   250000-  266000 Deferred        xinput1_3
PE   400000- 102c000 Deferred        arma2oa
PE  1a80000- 1aa2000 Deferred        tbb3malloc_bi
PE 10000000-1041a000 Deferred        d3dx9_41
PE 401a0000-401a4000 Deferred        version
PE 401c0000-401c4000 Deferred        msacm32
PE 40490000-40494000 Deferred        advapi32
PE 40710000-40714000 Deferred        ddraw
PE 40790000-4079b000 Deferred        winmm
PE 429b0000-429b4000 Deferred        wined3d
PE 42af0000-42b1e000 Deferred        user32
PE 42c40000-42c44000 Deferred        gdi32
PE 42d10000-42d18000 Deferred        ole32
PE 42e50000-42e54000 Deferred        rpcrt4
PE 42ee0000-42fee000 Deferred        shell32
PE 430d0000-430d4000 Deferred        shlwapi
PE 43150000-43170000 Deferred        comctl32
PE 43260000-43267000 Deferred        oleaut32
PE 43370000-43374000 Deferred        dinput8
PE 433a0000-433a4000 Deferred        ws2_32
PE 433d0000-433d4000 Deferred        dsound
PE 43430000-43434000 Deferred        msvcrt
PE 434c0000-434c4000 Deferred        setupapi
PE 43540000-43544000 Deferred        winspool
PE 43570000-43574000 Deferred        d3d9
PE 43640000-43644000 Deferred        winex11
PE 43840000-43844000 Deferred        imm32
PE 439c0000-439c4000 Deferred        uxtheme
PE 43a10000-43a14000 Deferred        localspl
PE 43a30000-43a33000 Deferred        spoolss
PE 43a50000-43a54000 Deferred        psapi
PE 7b810000-7b999000 Deferred        kernel32
PE 7bc10000-7bc14000 Deferred        ntdll
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
00000020    0
0000001f    0
00000015    0
00000010    0
0000000f    0
00000012 winedevice.exe
0000001d    0
0000001a    0
00000014    0
00000013    0
0000001b plugplay.exe
00000021    0
0000001e    0
0000001c    0
00000022 explorer.exe
00000023    0
00000024 explorer.exe
00000027    0
00000026    0
00000025    0
00000031 (D) C:\Program files\Bohemia Interactive\ArmA 2\arma2OA.exe
00000037   -2
00000036    0
00000035    0
00000034    0
00000033    1
00000032    0 <==
System information:
   Wine build: wine-1.5.0
   Platform: i386
   Host system: Darwin
   Host version: 11.3.0

Share this post


Link to post
Share on other sites

What other patches are you using? Have you tried a vanilla WINE with only raw3.patch? Did you make sure to ./tools/make_requests before you compiled? Do you have xinput2 for your X11 implementation?

A few other ideas would be trying a virtual desktop and different Windows versions under WINE, ticking 'Automatically capture the mouse in full-screen windows' under winecfg -> Graphics.

As for the dump, I saw a very similar crash a couple of times using 32bit WINE on 64bit BSD (though not on 64bit Linux with 64bit WINE). I installed xact with winetricks, and overrode x3daudio1_6 in winecfg -> Libraries.

This crash only appeared to happen within the game, however, so it may not be the same issue. Try running Arma2OA.exe without any switches or with ARMA2's location specified manually ("-mod=C:\Program Files\Bohemia Interactive\ARMA II" for example). You might also want to try passing various startup parameters - for example your video memory or amount of processor cores - to Arma2OA.exe. Another good idea is to check out the list of useful WINE registry keys - I have StrictDrawOrdering enabled to get around a shadow issue and have also specified the amount of VRAM my graphics card has. MouseWarpOverride and DXGrab are registry keys also worth looking at, for your ARMA2 mouse issue.

Share this post


Link to post
Share on other sites

I applied the MouseWarpOverride and DXGrab registry keys, xact was already installed, did the virtual desktop and set the capture mouse winecfg.

With x3daudio, by override you mean select builtin->native?

I'm currently using Wine-1.5.0 +rawinput +RawWarpPatch --without-xinput2, as suggested by the guys over at the porting team. Using Wine 1.5.1+rawinput that I built myself, the game kept the camera at the feet of the character, pivoting round and generally not working.

In general, it works a bit better now (though that might also have something to do with my making the x/y movements more sensitive to mouse movement. Still searching for a real fix :(

Share this post


Link to post
Share on other sites

Should be native, builtin.

That looks like a really hacky patch. I did a little reading about OSX, and it seems that this is a well-known issue using Wineskin with certain games. I can't really help with that, sorry - I don't have Mac OSX or Wineskin. I'd probably try to get the guys there to help.

You could always install BSD/Linux or Windows in a second partition or with parallels, if the issues are truly game breaking. :)

Share this post


Link to post
Share on other sites

Oic. Yeah, it's not a great situation :P I've been considering bootcamping Win7 for a while now, might give in :(

Cheers for the help anyway :)

Share this post


Link to post
Share on other sites

Updated with a mod-downloading script and a few tips for getting CO working.

Share this post


Link to post
Share on other sites
Oic. Yeah, it's not a great situation :P I've been considering bootcamping Win7 for a while now, might give in :(

Cheers for the help anyway :)

I've actually just found PlayOnMac - this seems much better than WineSkin. You can download multiple versions of WINE and have multiple prefixes at the same time - I suggest grabbing downloading PlayOnLinux-wine-1.4-rc4-raw3-darwin and PlayOnLinux-wine-1.3.27-rawinput2-darwin and trying them out - they might work better than the hack at that forum.

Download section - choose amd64 (64bit) or x86 (32bit) darwin, download the packages and install the version of WINE (I'd start with the raw3 one) then click Install in the app and choose 'Install unsupported package' in the bottom left. You should be able to install Steam through this (be sure to create a shortcut in the menu) and ARMA II/OA through Steam.

Share this post


Link to post
Share on other sites
I've actually just found PlayOnMac - this seems much better than WineSkin. You can download multiple versions of WINE and have multiple prefixes at the same time - I suggest grabbing downloading PlayOnLinux-wine-1.4-rc4-raw3-darwin and PlayOnLinux-wine-1.3.27-rawinput2-darwin and trying them out - they might work better than the hack at that forum.

Download section - choose amd64 (64bit) or x86 (32bit) darwin, download the packages and install the version of WINE (I'd start with the raw3 one) then click Install in the app and choose 'Install unsupported package' in the bottom left. You should be able to install Steam through this (be sure to create a shortcut in the menu) and ARMA II/OA through Steam.

I did exactly this. (Running Lion 10.7.4)

My mouse works finally in the menu but moves into wrong directions ingame every second move. Hard to play this way :(

Dont you have this problem?

Share this post


Link to post
Share on other sites

Unfortunately, WINE and OSX seem to have a few issues with mouse/keyboard input. I'm not entirely sure what you mean, though. The mouse goes in the wrong direction half the time? Does this affect the keyboard or mouse clicks?

The raw3 patch is unsupported - it's not part of WINE and the developers are not planning to adopt it. However, if you own any of these games, you may want to confirm if this issue appears in them. If so, you may want to tell the author of raw3.patch that there is a problem with the patch on your version of OSX, but the patch is a jury rigged band-aid - it would take several months of focused development to really get this input system working properly in WINE on Linux, nevermind Darwin-specific issues.

Share this post


Link to post
Share on other sites
Unfortunately, WINE and OSX seem to have a few issues with mouse/keyboard input. I'm not entirely sure what you mean, though. The mouse goes in the wrong direction half the time? Does this affect the keyboard or mouse clicks?

The mouse moves on every 2nd move in a wrong direction. Most times its moving fast to the left or top left (when you try to turn right for example). Its unplayable that way as you may imagine. I have a Win7 hdd to play arma, but hate it to switch the OS. It was just a try for me if it is possible.

I read about this wrong moving mouse before, but cant remember where right now.

Share this post


Link to post
Share on other sites
The mouse moves on every 2nd move in a wrong direction. Most times its moving fast to the left or top left (when you try to turn right for example). Its unplayable that way as you may imagine. I have a Win7 hdd to play arma, but hate it to switch the OS. It was just a try for me if it is possible.

I read about this wrong moving mouse before, but cant remember where right now.

This is likely similar to the other OSX issues, related to the OSX implementation of xinput2. If you're willing to try something that has the (unlikely) potential to break things in your system, download the latest version of XQuartz - this is X11.app, previously officially supported by Apple but now an externally-developed open source project. Updating to the latest open source version could overcome these issues, but does have potential to cause other issues. More information on what I presume to be the bug applicable to OSX is here.

If you're willing to try it, please do report back with your results :)

Share this post


Link to post
Share on other sites

Added links to Dev-Heaven tickets for the current problems, some have been fixed by either BiS or WINE in the most recent WINE releases and beta ARMA 2 OA builds.

EDIT: Also added a bash script to install a minimal version of WINE on a headless server to run the latest arma2oaserver.exe betas (which lack a Linux version at the moment).

Edited by Kindling

Share this post


Link to post
Share on other sites

Nice :)

BIS products presently main reason to leave Microsoft stuff on my box, after Spring engine start moving[and SupCom1 ladder nearly abandon].

maybe in highlight of recent turning toward Linux support, Intel sposnor/hire some BIS developers to make native port of Arma2 game to Linux ?

that could be complementary beneficiary for both corporations :-)

let alone [possible]customers happines/satisfaction amount :)))

Share this post


Link to post
Share on other sites

Considering the disturbing directions Microsoft are taking with Windows 8 and the fact that Valve are throwing developers at Linux, finding bugs in the kernel and even Blizzard agreeing with GabeN that it may be time to move to Linux, it's truly a futureproof move. :)

All BiS would really need to worry about is migrating from DirectX to Open[GL|AL|CL] (non-library could code likely be ported almost directly). It would be a big task, of course, but it could end with several performance benefits and 2 new markets (Windows and Mac). Looking at the results of Humble Indie Bundle-like 'pay-what-you-want' sales, you can see that Linux users are certainly not cheap by any means - we're not spoiled by free games :).

Maybe not something that will happen with ARMA II. But a massive turn for ARMA 3? We can only hope!

Share this post


Link to post
Share on other sites

generally, yes. and Valve provide transparent rolling distribution platform and support[but im strictrly don't buy SW online, at all].

but Arma2/Arma3 don't need "porting" in common sense, it can support BOTH API's, seamlessly, cause not much stuff [so]API-dependent and exclusions are extremely portably[sM3.x shaders here GL/CL/AL/SDL/OpenMAX counterparts].

kinda remind me Glide/3dFx times support by BIS in past days ;)

and BTW, maybe NVidia helps too ? :)

sadly they don't had [robust]OpenCL support, yet, handy not only for [extemely scalable]AI's or Physic, but for GFX too, already[better than SLi or CFx does!!!]in drivers :[

Share this post


Link to post
Share on other sites

Hi,

im running an armaoa server on Centos for a long time.

So you offered, to make Wine-Scripts for other Distro, can you make one for Centos 6.2 64bit?

That would be nice, cause wine dont like me very well xD

Best Regards

Philpp aka ISp.G0TT

Share this post


Link to post
Share on other sites
Hi,

im running an armaoa server on Centos for a long time.

So you offered, to make Wine-Scripts for other Distro, can you make one for Centos 6.2 64bit?

That would be nice, cause wine dont like me very well xD

Best Regards

Philpp aka ISp.G0TT

Just about to head out, but I should be able to get that done for you tomorrow. :) I'll need to get a CentOS VM up and running - the difficulty will be in getting everything up-to-date, CentOS lags behind other distros quite a bit with package versions.

Share this post


Link to post
Share on other sites

Hey,

mhm i found centos to be very stable and fast =)

BIG THANK YOU!

You made my day =)

Share this post


Link to post
Share on other sites

PGI released GPGPU-friendly toolkit :)

Linux-only yet :(

http://www.drdobbs.com/tools/optimizing-algorithms-versus-gpu-program/232602167

Hey,

mhm i found centos to be very stable and fast =)

BIG THANK YOU!

You made my day =)

Check also Debian, then.

you may know TiVo-ized version of unstable branch Debian under "Ubuntu" nickname, usually shipped in unusable state by mr Shurttleworth&Co.

also in terms of "stable and fast", source-based distros - dominating.

both original slackware x64 and Gentoo/Sabayon/Calculate distros.

Edited by BasileyOne

Share this post


Link to post
Share on other sites

I use [Gen|Fun]too or Slackware myself for most tasks. :)

[Gen|Fun]too's very good for servers when you want maximum speed (everything is compiled into native code for your processor) as well as minimum overhead (default installation is more minimal than Debian or CentOS). You can also set up your own repositories, where you can slipstream patches and tweaks into your system.

My favourite part has to be package management, though - you simply state the features you'd like on your system using USE flags (eg. 'perl' will get all the perl bindings, 'gtk' will give you a gtk GUI interface, 'tls' will give you https access or modules) either per-package or system-wide, and your whole system will pretty much grow out of this - grabbing any dependency needed and configuring it to be as minimal as possible as you choose extra packages.

And Slackware is great for rapid deployment of a secure, stable and minimal system. Package management is all done manually, but it means you need to plan your systemand choose what core packages you need beforehand - a good habit to get into.

Downloading CentOS now. :)

Share this post


Link to post
Share on other sites

Updated the server installation script - added CentOS and lots of failsafe stuff, if it doesn't work it should at least tell you where it failed (in which case you can ask for help here :)). Also removed the old precompiled WINE and added a mini-guide for installing ARMA II through PlayOnLinux - it'd be great if somebody could bash together a POL script to make things easy, but if not I'll probably do so soon.

Share this post


Link to post
Share on other sites

yeah source-based distros with "-O3" and "-march=native" usually add lot of bang to performance, even without extra cookies [like "-FMA4" or "-BMI" for AMD FX'es unused for arch by-default], thanks to recent improvements in LTO and Graphite optimization/tuning, literally blowing you head apart, looking HOW FAST it start working, after :P

note: "-O3" may break some unconventionally/dirty-written appz and "-march=native" affect mobility, but thats not issue for source-based distro-company/individual and well-known 4 them.

Updated the server installation script - added CentOS and lots of failsafe stuff, if it doesn't work it should at least tell you where it failed (in which case you can ask for help here :)). Also removed the old precomputed WINE and added a mini-guide for installing ARMA II through PlayOnLinux - it'd be great if somebody could bash together a POL script to make things easy, but if not I'll probably do so soon.

tnx 4 efforts, anway. WTG, IMO.

Edited by BasileyOne

Share this post


Link to post
Share on other sites

Absolutely! Though I tend to go -O2 & march=native on production servers, perhaps with fstack-protector and similar hardening flags before they were mainlined in most distros. -O3 can cause hell on production servers :)

Mobility is not so important, most of the time - if it's for my phone or other embedded systems, I'd generally use -Os and distcc with generic march to save time and space, though.

Hope you find the script helpful :)

EDIT: Updated script again, it creates a check script that can be used to automatically restart the ARMA II server if it crashes via cron. More info at the end of the script.

Edited by Kindling

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×