Jump to content

Kindling

Member
  • Content Count

    124
  • Joined

  • Last visited

  • Medals

Everything posted by Kindling

  1. You may already be aware that it's possible to run ARMA II under WINE on Linux. Though you can't run the ARMA III game itself due to WINE lacking certain DirectX11 features (amongst other issues), it is possible to run the 'server' part of the application, even if you lack any sort of GPU rendering ability. I'm working on a bash script to automate most of this with features such as mod management and the ability to run multiple server applications easily on a single server. Until then, I'll provide a rough tutorial as to how to accomplish this with a basic knowledge of the Linux command-line. Installation Before anything else, make sure that you're using the user account you want to use to run the server application - 'root' will not do. I created the 'arma' user. The first step is to install the xvfb application. This will provide a very basic X framebuffer. It's slow as molasses but it's just enough to run basic applications, which is all we need. It's also a good idea to grab the 'screen' application. Let's assume that you're using Ubuntu or Debian: sudo apt-get install xvfb screen Now start a new screen on the server - the use of the screen application is beyond the scope of this post, but you can check out this tutorial if you want to learn more (it's probably one of the most useful Linux applications for a server). screen -S arma Now start an xvfb framebuffer so we can run some X applications: Xvfb :99 -screen 0 1024x768x16 -ac & To make things a bit easier, we might want to grab a window manager, too. Blackbox is tiny and will work just fine for this. Note that we are setting the DISPLAY variable so every command you type in this terminal will now be aware of our xvfb framebuffer: apt-get install blackbox export DISPLAY=:99 blackbox & Since you'll be working with a server and (presumably) have no monitor or direct access, we'll need to setup VNC so we can actually interact with the display. X11VNC is perfect for the job: sudo apt-get install x11vnc x11vnc -storepasswd x11vnc -display :99 -usepw & Be sure to set a password, or anybody could connect to your VNC port and control the screen! Note that when starting x11vnc like this - without the '-forever' option - the x11vnc session is only good for one connection. Once you've closed it, x11vnc will exit and you can no longer connect via VNC until you have run the command again. I think this is best from a security standpoint - you'll need to manually start the VNC server whenever you want to access the GUI, which protects your Steam account. For the same reason, I suggest using good passwords on both VNC and the private key you use to authenticate yourself for SSH. Now you need to install WINE then Steam and ARMA III: NOTE: You must install WINE version 1.5.25 or above or you will get an error regarding DirectX11 dlls! For Ubuntu, add this PPA before installing WINE. sudo apt-get install wine1.5 winetricks winetricks --no-isolate -q steam Download a VNC viewer while this is busy - TightVNC viewer is fine. Use the client to connect to your IP address or hostname and type in your password - you should now see Steam. Login and download the game. Configuration Terox has an excellent guide on how to configure the server - there are no real differences. If the game doesn't run with the '-server' switch, check the terminal - you may be missing some DLLs. If you're missing x3daudio, try 'winetricks -q xact'. 'winetricks -q d3dx11_42' also may be required, but Steam generally installs everything alongside the game. Another possible issue is in configuration files - instead of being in your Documents directory, the Arma3Alpha.cfg and .profile files will be in '~/Arma 3 Alpha'. You'll place your server A3TestConfig.cfg file into '~/.wine/drive_c/Program Files (x86)/Steam/SteamApps/common/Arma 3'. Automation NoPlanB has kindly provided a bash script to ease the process of starting and stopping the ARMA III server application. Prefixes You can create multiple 'prefixes' or instances of WINE. Each of them has separate settings and C drives - they act as totally separate Windows installations with much lower overhead than VMs. You'll need to use winetricks to install any required drivers/DLLs separately for each prefix. To switch to another prefix, use the command: export WINEPREFIX=/home/arma/.prefixname Where '.prefixname' equals the name of a currently existing prefix or a new one to be created. The default prefix is '.wine', you can create as many as you want and switch between them whenever you wish with the above command, any commands executed after the above that involve WINE will run under that prefix (if it doesn't exist, you can use 'wineboot' or 'winecfg' with VNC to initialize it). The above command also works in shell scripts. Using prefixes you can run multiple servers, each in their own WINE containers. Troubleshooting Current dev version will not launch - The current development build is giving a stack overflow error. I'd suggest holding off on updating to the latest dev build for now. Lots of ALSA errors - Any errors related to ALSA are likely due to your host device lacking a sound card. You can create a fake, 'dummy' soundcard with the command: modprobe snd-dummy Checksum error from Winetricks regarding Steam - If Steam has been updated recently, Winetricks may still have the old installer's checksum and throw 'checksum errors' when trying to install Steam. In this case, you can replace the hash listed for SteamInstall.msi. Download the latest version of Steam from the Steam website (Install Steam, at the top right) then search for 'SteamInstall.msi' in the winetricks script and replace the string of random numbers and letters after the URL (on the w_download line) with the string of numbers and letters you get from the command: sha1sum ~/Downloads/SteamInstall.msi I've seen a few crashes, but they've been unpredictable and spaced out. Please let me know if you find a crash that you can replicate. Firewall Here's a basic stateful firewall to apply to the server (copy-paste it into nano or vim, save the file as '/root/firewall.sh' and 'chmod +x /root/firewall.sh' to make it executable. Now edit the /etc/rc.local file and put '/root/firewall.sh' before 'exit 0' to run it on every boot). # For both IPv6 and IPv4 for iptables in "iptables" "ip6tables" do # Drop all previous rules $iptables -F # Allow VNC (you could add a '-s 80.1.2.3' here, for example, to only allow connections from 80.1.2.3. # Replace with your own IP to prevent anybody else from connecting to VNC.) $iptables -A INPUT -p tcp --dport 5900 -j ACCEPT # Allow ARMA server $iptables -A INPUT -p udp --dport 2302 -j ACCEPT $iptables -A INPUT -p udp --dport 2303 -j ACCEPT $iptables -A INPUT -p udp --dport 2305 -j ACCEPT if [ "$iptables" == 'ip6tables' ]; then # Filter all packets that have RH0 headers: $iptables -A INPUT -m rt --rt-type 0 -j DROP $iptables -A FORWARD -m rt --rt-type 0 -j DROP $iptables -A OUTPUT -m rt --rt-type 0 -j DROP # Allow Link-Local addresses $iptables -A INPUT -s fe80::/10 -j ACCEPT $iptables -A OUTPUT -s fe80::/10 -j ACCEPT # Allow multicast $iptables -A INPUT -d ff00::/8 -j ACCEPT $iptables -A OUTPUT -d ff00::/8 -j ACCEPT # Allow ICMPv6 everywhere $iptables -A INPUT -p icmpv6 -j ACCEPT $iptables -A OUTPUT -p icmpv6 -j ACCEPT $iptables -A FORWARD -p icmpv6 -j ACCEPT fi # Allow SSH $iptables -A INPUT -p tcp --dport 22 -j ACCEPT # Allow loopback interface $iptables -A INPUT -i lo -j ACCEPT # Stateful so any connection initiated by the server is allowed $iptables -A INPUT -m conntrack --ctstate INVALID -j DROP $iptables -A INPUT -p icmp -m conntrack --ctstate NEW -j ACCEPT $iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT # Drop anything that doesn't match the above rules $iptables -A INPUT -j DROP $iptables -A FORWARD -j DROP done
  2. It does, Roger, but the problem is that the function we require - D3D11CreateDeviceAndSwapChain - is within the base d3d11.dll which isn't provided by winetricks and doesn't work under WINE when copied from a Windows system (like many core Windows OS libraries). D3DX11 isn't provided in any redistributable, either, it's a core part of the Windows operating system from Windows Vista onward. I have tried to implement the function similarly to the currently provided workaround for EVE Online's DirectX 11 requirement, but this doesn't allow the game to launch and probably wouldn't have the game running if it did (many more DirectX 11 functions are likely required). The next potential issue after DirectX 11 is BattlEye - the BattlEye application requires a few functions that aren't currently provided by WINE and will need to be re-implemented from a 'black-box' or clean-room perspective to avoid infringing Microsoft's EULA. That's as far as I've been in considering ARMA3 support under WINE. To go forward, we need somebody to implement more of DirectX11 - Austin English's work seems promising in that direction. Alternatively, a native port of ARMA3 to Linux is required. I think we need to be wary about jumping to any conclusions from Gustavsson's interview, there - he's certainly interested in Linux as a platform, but I think that EA is more likely to sit in the background and watch for a while, yet. As they're directly competing with Valve in distribution, I'm betting that they'll be waiting to see if Linux becomes a more popular system or not before they jump to port anything, though perhaps they'll look at publishing some of their more obscure content under Linux to 'test the waters' (as BiS seem to be doing, themselves, with ARMA Tactics!). I could be wrong, of course, I've just become a little salty concerning promises of Linux support by now. That said, I hope that if they do port any games they do it natively. WINE is great as a way to run Windows binaries but it's been created only to translate Windows API calls to Linux ones - it's another layer between the hardware and software, another level of potential problems and performance issues. It still encourages the Windows 'way of thinking' and programming styles which are totally suboptimal under Linux. To get the most out of Linux, you have to port natively.
  3. @rogerx, D3D11CreateDeviceAndSwapChain: This is a known bug and it's due to a lack of DirectX 11 support in WINE. Currently, only the dedicated server application and (possibly) headless client application will run at all. @gagagu, missing dll: winetricks xact will work just fine, as will copying over a DLL from a Windows PC or (perhaps) going into winecfg -> libraries tab and adding 'xapofx1_5' as 'disabled'.
  4. Try: sudo apt-get install linux-image-extra-3.2.0-23-virtual sudo modprobe snd_dummy If you don't get an error, great - it worked! Hopefully that solves the dsound errors - the only crashes I've seen have been from BattlEye. If you do find yourself with occasional crashes (not so bad that it's unusable but bad enough that you find yourself having to check the server every few hours or so), you can try creating a wrapper script and cronjob. Something like: #!/bin/bash if ! ps aux | grep arma3; then cd /home/arma/.wine/drive_c/ARMA3 && wine arma3.exe -server -port=2302 fi After changing the switches and paths to your own configuration, add it to a cronjob with: crontab -e and add: * * * * * /home/arma/arma3.sh To have the ARMA3 server checked every minute and restarted if necessary. NOTE: If you want to do this, you'll need to use: winetricks nocrashdialog To disable the GUI popup on a crash, so the script knows to restart the server.
  5. @NoPlanB: I've added a link to your post on the OP, so you are free to update the script in the future! @Radioman: I know that you're saying that you disabled the firewall, but what does 'iptables -L -v' give you? The client will favour servers that are geographically close, with low latency. Can you connect directly using the IP? Also, have you checked your server configuration to ensure that you are connecting to the correct master server? Can you ping that master server from your own server? In the case of the snd_dummy not found error, are you actually receiving any ALSA errors? Are you using a custom-configured kernel? If not, what version kernel are you using ('uname -a')? What are the contents of '/lib/modules/`uname -r`/kernel/sound'? Can you run 'find /lib/modules/`uname -r`/kernel/sound -type f -name snd-dummy\*' and provide the output, if any? Also, the output of 'zcat /proc/config.gz | grep SND_DUMMY'? If your kernel is customized, then you'll have to build with CONFIG_SND_DUMMY=y or CONFIG_SND_DUMMY=m (preferably the latter, if you don't want a permanent fake sound card).
  6. What filesystem are you using? Are you sure that all the files are correct and that integrity is preserved? I'd attempt to create a prefix under an NTFS or FAT32 partition and see if you still get the error, after 'verifying files', of course. Otherwise, it might be worth looking into: File/directory permissions Directory names - check that you don't have a mix of lower/upper-case directories or files mixing up WINE. It doesn't really care about case, but you never do know. Possibly use the small C program included with the ARMA 2 Linux dedicated server or your own script to rename every file and folder to lower-case only. WINE drive mapping - C: should be the prefix root, Z: should be your BSD root. Make sure that they exist in the WINE registry or through winecfg and point to the correct directories, make sure that the path to ARMA isn't ambiguous in Windows directory syntax (eg. no 'strange' symbols, nothing that could cause crazy escape string problems).
  7. @barry100: I've tested the steps on a 'clean' Ubuntu install, and it works just fine for me. You shouldn't need any other packages - xvfb provides a minimal X11 configuration. @Comp_uter15776: BE has a few issues under WINE, though I've not seen that particular issue but this bug report contains patches for both Ubuntu Precise and Quantal for a similar issue. It seems to be fixed in Raring, so you may wish to look into upgrading if the server is only used for A3. @Otoris: This could be anything, really - it's a very low-level issue. Do large Linux applications work fine? If you're getting crashes with other applications, use memtest86 to check your RAM and a stress-test tool to ensure that your processor isn't failing. Otherwise, it's probably something wrong with WINE - remove it and re-install it, preferably from a different source. @NoPlanB: Thanks, I'm sure that this will be very useful for others. Do you mind if I add it to the original post? @gagagu: Debatable. Certainly, Linux tends towards minimalism and light-ness in comparison to Windows and the modularity of Linux means that applications are each optimized for their specific purpose (Linux application philosophy is 'do one thing, do it well') - on the other hand, the code was written for Windows, not WINE. The WINE group are doing as much as they can to enable Windows applications to be run under Linux and there have been many cases of applications running especially quickly, and also occasions of applications running especially slowly - or not running at all. Mileage will vary as almost every application under a Linux system is highly customizable and configurable, so I'd suggests looking into Linux optimization if you'd like to get the most out of Linux and WINE applications alike. @icedragon64: Make sure that you're specifying all the paths correctly when you launch ARMA 3 (Windows-style switches as seen in other threads and relative to the directories as WINE sees them). You also might look to verifying files under Steam for ARMA 3 and adding missions, as you mentioned. @warezit: You'll need to 'killall Xvfb' to stop any running xvfb processes - you'll want to 'killall x11vnc', too. Restarting will also terminate those processes. It sounds like Steam may be waiting for your input - try logging in through VNC once you've got it running and have killed the previous processes - I believe you'll find a dialog box or further information on-screen. Thanks for the corrections, I've modified the OP as appropriate.
  8. Hi guys, I've managed to get most of the current Bohemia Interactive games working well with WINE. You have 2 options: (Full-sized image is >2MB!) WINE: WINE is a compatibility library that allows users to run Windows software on Linux. It's not Windows, nor is it an emulator or virtual environment like VMWare or Xen - it's a set of libraries that translate Windows function calls to their equivalent Linux versions. You can install WINE using your distribution's package manager. For example, on Ubuntu use: (Ubuntu users must install the WINE Team's PPA repository to provide them with up-to-date versions of WINE) sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update Then simply install the packages: sudo apt-get install wine1.5 winetricks or search for 'wine' and 'winetricks' on the Ubuntu Software Center and install them. Once you've done this, open a terminal and type 'winetricks --no-isolate steam' then when Steam has been installed and you've downloaded the game, 'winetricks strictdrawordering=enabled'. Look to the 'Notes/Troubleshooting' section for further information on known bugs and workarounds. PlayOnLinux: Download PlayOnLinux by following the directions on the PlayOnLinux website. Install the latest version of WINE - at least 1.5.13 - choose 'Tools' -> 'Manage WINE versions' then select either amd64 or x86 (either is fine) and '>' to install it. Install Steam or ARMA II. Choose 'Install' then 'Install a non-listed program' in the bottom left. Choose to 'Install a program in a new virtual drive', call it whatever you like. Tick the first option and select the version of WINE installed earlier. Choose the ARMA II or Steam installer and follow the prompts - remember that you can move your old installation to the new prefix, look in .PlayOnLinux/wineprefix/PREFIXNAME/drive_c for your virtual 'C drive'. Install required libraries and fixes. Click 'Configure' and select your new prefix, under 'Install Packages' choose to install 'xact'. Under 'Display', set 'Strict Draw Ordering' to 'enabled' and 'Video memory size' to your videocard's memory size. Play! Double-click the Steam or ARMA II icon in the PlayOnLinux menu and play the game. Manual build and install: If you're comfortable with managing multiple WINE versions and compiling your own software, here's the information you need: WINE version 1.5.13 from WineHQ website or git StrictDrawOrdering enabled in registry Example: git clone git://source.winehq.org/git/wine.git ~/wine-git cd ~/wine-git git checkout wine-1.5.13 mkdir ../wine-build cd ../wine-build ../wine-git/configure This is where you should check everything, to make sure all the features you need are included with the build of WINE you're going to be compiling. You may need to install some libraries to satisfy dependencies, here, for example any warning about xinput or opengl is bad juju! make -j3 make prefix="~/altwine" install Note that 'make -j3' is for a dual-core processor - your value should be the amount of cores your processor has +1 (ie, a 6-core processor should be -j7). This speeds up compiling! Combined Operations Some people have reported difficulties running ARMA II: CO from Steam - there are two ways to get around this: the easiest is to right-click on OA in Steam, go into Properties and Launcher Options and add '-mod=C:\Program Files (x86)\Steam\steamapps\common\arma 2;EXPANSION;ca' or similar (pointing to your original ARMA II folder). Next time you choose 'Play Game' and click OK it'll be CO. An alternative - especially if you want to use the latest beta version of ARMA II - is to use a bash wrapper script. You could use a few case statements for different mod combinations or servers and create a menu, even. Mods Unfortunately, the current version of SIX Updater doesn't work at all under WINE due to it's dependency on .NET 4.0. Since many mod updates are delivered exclusively over SIX Updater, this is a problem for WINE users. SIX Updater Legacy does support Linux, but both the git versions and ruby gems are woefully out-of-date, crashing with every version of ruby and gem dependencies that I tried. One solution is using a web interface developed by Banshee for ARMA 2 servers. This has various tools for downloading mods, starting and stopping servers and other basic administration tasks. Alternatively, I've modified an old script made for Linux server users by Dr. Pulp that works just fine for clients. It's pretty easy to use - simply download the script, edit the ARMA_DIR directory to point to your WINE's ARMA II or OA directory and ARMA_SYNC_DIR to point to a storage directory in which you are happy keeping copies of the mods and either edit the list of mods in the MODS variable or pass each mod through as an option ('./arma2rsync ace acex acex_ru acex_usnavy' for example). You'll need to make sure that you have rsync, gunzip and convmv installed through your package manager. View the script here, or download it here, copy it to a folder of your choice and rename it to 'something.sh', the 'something' being entirely up to you. Make it executable (either chmod +x something.sh in the console or right-click, properties and allow execute permissions), edit the variables then execute in the terminal as above. It wouldn't be difficult to create a Mono/GTK/Qt4 wrapper or launcher to do all this from a GUI (and even launching the game or/and connecting to servers. SIX updater-ish but lite+Linux?). If there's any demand, I'll look at freeing up some time to do so. Success Stories Endotic GeForce GTX 550 Ti, ArchLinux Testing (amd64), NVIDIA 290.10 Wine 1.3.34 + Wine 1.3.36 (w/raw3) FreeBSD 9 (amd64) Wine 1.5.1 (w/raw3) Funtoo (amd64), NVIDIA 302.17 Wine 1.5.9 (w/raw3) AMD Radeon 6990, Funtoo (amd64), Catalyst 12.6 Wine 1.5.10 (w/raw3) Wine 1.5.13 (Tentative success on the Radeon, still trying to track down some performance issues) Operated GeForce GTX 560 Ti, Slackware x86 w/PAE, Nvidia 285.05.09 Wine 1.3.32-1.3.36 GeForce GTX 560 Ti, Slackware x86 w/PAE, 3.1.7-zen kernel, NVIDIA 290.10 Wine 1.3.37 Notes/troubleshooting There are a few issues with ARMA II and WINE at the moment, these are pretty much universal across BiStudio's current generation games: BattlEye doesn't work anymore - due to BattlEye relying on a function as yet unimplemented on WINE (KiUserExceptionDispatcher), you are unable to join servers that have the BattlEye software enabled. LoD issues - objects flicker and disappear, and textures decrease and increase in quality apparently at random. It might occasionally throw you off a little. Muzzle flashes leave an afterburn effect and the area around your weapon is generally messed up if you don't enable StrictDrawOrdering in the WINE registry. You can do this via winetricks, the script does it automatically. Shadow quality settings above or below 'medium' seem to only render gun shadows. You need to set shadows to 'medium' quality to get character shadows. The player profile options screen flickers, but it's still perfectly usable. Fixed? Report here Don't move your mouse during loading screens or the game may crash. Fixed Sometimes the mission map entities will flicker and sometimes you lose the ability to click briefly in menus - just use the keyboard (RETURN and TAB) to navigate, and it will be fixed in the next screen. It's not bugged out on me ingame yet. Fixed On ARMAII and non-beta OA, antialiasing must be set to at least 'Low' or no textures will appear and everything will go grey. Fixed Sound issues Sound seems fine, use winetricks to install xact and override x3daudio1_6 under winecfg -> Libraries if there are any issues. If you have other problems, try adding a 'VideoMemorySize' string set to your memory in MB (eg. 2048) in HKEY_CURRENT_USER/Software/Wine/Direct3D (create the key if it does not exist) in the WINE registry. 'wine regedit' or winetricks will work if you've installed the patched version of WINE system-wide. Be sure to use the propriety graphics drivers for running games under WINE if you're looking for top performance - check with 'lsmod' that either 'nvidia', 'intel' or 'fglrx' are listed as their free and open source counterparts 'nouveau' and 'radeon' tend to lack certain features required for rendering modern 3D games (though they perform excellently for 2D applications). If you have any other problems, just leave me a message here - I'll get back to you. I tested this on the systems listed under 'Endotic' above. You may need to use WINE version 1.3.32 to install and patch ARMA II retail (without Steam). (Thanks Operated!) On the newest WINE git builds, you may need to remove the ARMA2_OGG.cmd scripts in the arma 2/OA/BFC/PMC installation directories or it could forkbomb you by attempting to use explorer to open a web page repeatedly. If you notice any sudden slowdown during 'Installing Official Game Group, try 'killall cmd.exe' in a terminal. Fixed If you're looking for absolute top performance, try editing the Makefile included with the WINE sources - do some research on CFLAGS and CXXFLAGS for your particular processor. Secondly, use a performance-optimized kernel such as the pf or ck patchsets. Thirdly, try out the BFQ scheduler. Finally, look at using schedtool to switch the application's scheduling policy to SCHED_ISO (pf and ck) or SCHED_FIFO - test them both and see which works best for your use case. Run the Windows Server Software via WINE As a bonus, here's a bash script to install a minimal version of WINE to a server for running the latest ARMA 2 OA, TOH or Iron Front server application. The current ARMA II Linux dedicated server application is still in development, as the devs have noted that several library and dependency updates need to be made. It works with Ubuntu, CentOS and Debian, I'll make a version for any other Linux distro if there's any demand. Note that you must run it as a non-root user - not only is this good security practise, WINE will bug out if you try to run it as root. Known issue: the script can't currently su properly. If you don't have sudo and don't want it, add quotes like this: '' around all $(sudoequiv) commands. Example: $(sudoequiv) apt-get install build-essential ia32-libs ia32-libs-dev lib32z1-dev libc6-dev-i386 libncurses5-dev libncurses5-dev libfreetype6-dev libx11-dev lib32ncurses5-dev libxcursor-dev flex bison prelink libjpeg62-dev libpng12-dev BECOMES $(sudoequiv) 'apt-get install build-essential ia32-libs ia32-libs-dev lib32z1-dev libc6-dev-i386 libncurses5-dev libncurses5-dev libfreetype6-dev libx11-dev lib32ncurses5-dev libxcursor-dev flex bison prelink libjpeg62-dev libpng12-dev' Please be patient until I resolve this :) Note that it uses Xvfb to run the server application 'headlessly' - ie. without a true x server. You can also use X11 forwarding over SSH (though this would neccessitate being constantly connected to the server) or setup x11vnc to create a VNC server that the application would run on (which would let you see errors and output). Xdotool will send keypresses to the fake X server (and any real X servers you have open) - it's used to 'OK' a possible error message concerning a missing profile file if you run the server with the wrong working directory (you should be cd'ed into the server's main directory if you run the server manually, if you didn't you'll need to kill the server process and try again, the best way to do this cleanly is 'wineserver -k') - the return keypress should not do any harm if it's not required, but you may wish to remove this part if you have another Xserver running. To check that the ARMA II dedicated server is running use 'ps aux | grep arma' or 'netstat -pant | grep arma' - you should see a 'wine arma2oaserver.exe ...' process running and the arma2oaserver listening on a network port. Note that it seems to work best with -malloc=system. On Iron Front, the -malloc switch is apparently disabled, so you can rename or remove the Dll directory instead. If you're looking for absolute top performance, try editing the Makefile included with the WINE sources - do some research on CFLAGS and CXXFLAGS for your particular processor. Secondly, use a performance-optimized kernel such as the pf or ck patchsets. Thirdly, try out different IO schedulers - noop, as and deadline can all perform well, noop especially if you use a ramdisk or RAID array to store your working files (note that CFQ, the default, and BFQ are unsuitable for servers). Finally - and perhaps most importantly, for high load servers, look at using schedtool to switch the server application scheduling policy to SCHED_ISO (pf and ck) or SCHED_FIFO - test them both and see which works best for your use case. Remember that these tweaks will allocate a lot of resources to the server process, possibly causing resource exhaustion or server instability if you take them too far. Footnote You can try getting PlayOnMac, downloading the latest WINE git version and updating your X11.app via XQuartz if you'd like to try on Mac OSX. No news whether this works or not.
  9. Hi there Sacha, you're saying that the statistics returned by the application are incorrect when the ARMA server is run through WINE and this client application from Windows? Can you run the ARMA server under WINE with logging enabled and use this application to attempt to retrieve statistics again? To enable logging on Linux, append '2>&1 > logfile.txt' to the 'wine ...' command you use to run the server - you can message me a link to the log file saved on Pastebin or similar and I'll see what I can deduce. Unfortunately, I can't really do any testing of my own at the moment.
  10. It should be possible to run multiple servers under different WINE prefixes using Linux - I've added a short note about this to my topic. I hope others find this useful.
  11. Running multiple concurrent ARMA 3 installations under different WINE prefixes using WINE should also be possible. Each WINE prefix is a new Windows installation as far as any programs resident in the prefix are concerned and WINE has much, much less overhead than any L1 or L2 VM software (such as KVM, VMWare or Xen that emulate a whole physical system or OpenVZ that runs multiple Linux instances under a single kernel).
  12. It's difficult to troubleshoot this kind of issue - have you noticed anything odd in your WINE or server log? Have you checked iostat, vmstat, ntop and such output during the desync to ensure that you're not facing a performance bottleneck with CPU, HDD or RAM/swapping? If not, it's probably not a WINE/Linux issue (in which case you should search the forums or create a new topic). Also, be sure you don't have anything you don't need listening for connections (netstat will show you listening ports), have a look at the firewall (note 'dropped packets' in iptables -Lv and ip6tables -Lv) and generally make sure the problem is not due to your server connection or latency.
  13. winetricks nocrashdialog as noted in the WineHQ FAQ. If that doesn't work, make sure that you have the correct prefix activated (export WINEPREFIX=/home/arma/.wine for example) and try it again.
  14. It's happy with a fairly minimal set of dependencies - check my ARMA2 WINE server install script, I'm pretty sure that build will work happily with the ARMA3 server app (though I've not tested that yet). You do need some sort of X server to render the application window but I'm sure you'll find that xvfb is very light.
  15. You'll have to use Windows paths for the profile directory - all the options, configs etc should be in a Windows format. Instead of -profiles="/home/username/Documents/Arma 3 Alpha/username.Arma3AlphaProfile", use -profiles="C:\Documents and Settings\Username\My Documents\Arma 3 Alpha\username.Arma3AlphaProfile" for example. C: refers to the folder /home/username/.wine/drive_c and you can use 'winecfg' to add new drive maps, effectively allowing you to alias any folder as any Windows drive letter if you'd like WINE to have more access over different locations. And yes, saro is absolutely right - you need to be using at least WINE 1.5.x (I've only tested with 1.5.24 and up). You might have trouble with stable LTS-class distros like CentOS, Debian Stable and RHEL as they may not include support for the latest library versions that WINE 1.5 requires - in this case, it's possible to either separately install the up-to-date libraries to /usr/local or bootstrapping another distro into a chroot, perhaps Debian Testing/Unstable with debootstrap or a chroot install of Funtoo but I don't suggest this unless you're an experienced Linux administrator. It's much easier to simply try a different distro or update to a 'testing' release if outdated libraries are an issue, though of course this can cause other issues.
  16. Kindling

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

    Yes, that'd work - I don't see why it doesn't recognize your mouse though - that advice no longer applies since rawinput is included with the latest versions of WINE. In PlayOnLinux, try going to Configure button > (select your virtual drive) > General tab > Wine version and choosing wine-1.5.27-linux-amd64 instead of System or whatever version you have selected.
  17. Kindling

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

    Sorry FortyBot, I've no idea what's causing the issue if it's not down to the drivers or some mesa issue. Maybe you can use WINE Debug Channels to track the problem down to a specific part of the rendering process and submit to Mesa/Wine as a bug.
  18. As opposed to running the native dedicated server on Linux? You have the ability to load extension DLLs that are required for some plugins and you can run Windows-specific utilities. Of course, with no current dedicated Linux binaries you can't run the server any other way on a Linux system at the moment. As opposed to running on Windows? You have more control over low-level aspects of your server (eg. tweaking scheduler), Linux's system overhead is much lower (even running WINE), you have all the Linux administrative perks (Linux is architecturally more secure, much more stable and is free and open source). What does Steam do when you attempt to run it in offline mode, simply exit or does it still try to run online? I've never tried running it always-offline, I simply use Steam -> Go Offline in the menu when required. Have you tried that?
  19. Kindling

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

    The black rectangle texture issue is similar to an effect seen in fglrx (ground textures turning blank and reappearing/disappearing) - it's great to see the OS drivers catching up to at least a similar level! You mentioned that FPS was lower, do you have any numbers? I'm not really sure of the scale of that graph.
  20. Kindling

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

    Glad we're up and running! 1. I've mostly used fullscreen mode, personally, but I believe that it's possible to alter the way that WINE treats the mouse - try each of these options: winetricks mwo=force winetricks mwo=enabled winetricks mwo=disabled I'm not entirely sure that they work with rawinput, but they're certainly worth trying. Another option is the 'Allow DirectX apps to stop the mouse leaving the window' in the 'Graphics' tab of 'winecfg' - this may achieve the desired effect. 2. This should be fixable by going into the WINE configuration app ('winecfg' in a terminal), choosing the 'Libraries' tab and adding 'dwrite' then setting it to 'disabled' or by always launching Steam with the '-no-dwrite' launch option. You can read more about potential Steam issues on WINE on the excellent WineHQ AppDB. There is a lot of information available on this! Google search for 'arma 2 tweaking guide' and you'll find lots of different tweaks for configuration files (research each option before you apply it :)). In addition to these, there are startup parameters that you can edit by right-clicking the game in Steam and selecting 'Properties' then 'Launch Options'. One particular option worth looking at is the -malloc one which allows you to specify a memory allocator - I've not done extensive research into this under WINE, and it can affect your performance quite drastically. It's worth trying different combinations (one step at a time) to optimize your gameplay to be as smooth as possible (Maximum FPS isn't everything - a stable 30fps is much better than an average 50fps that jumps all over the place :)). I believe that the first step, generally, is to look at disabling 'VSync' and dialing down object detail. Indeed! That's the best thing about VMs - they're much more tightly integrated into Linux than they are Windows and therefore have much better performance. The great thing about having a VM is that you can install a distro that you're vaguely interested in, create a stable 'snapshot' and then do pretty much anything and revert it back in a few clicks! A great way to learn about the different roles of software components in a Linux system is to simply tear them out of the VM installation one by one and see what works and what doesn't. Procedurally destroying a system can be quite cathartic, too :). I agree that it's much easier and faster to install Linux than Windows, though, especially if you want to keep your files. It's great to see people using Ubuntu, Fedora and all those other Linux distros - I'm always happy to help! :)
  21. Thanks, HitmanFF, I'll add that to the main post.
  22. Kindling

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

    Sorry, I'm a little confused - this looks like a log from the Linux version of Steam. Note 'Running Steam on ubuntu 12.04 32-bit' and a message talking about GLib (a GNOME library). You may also wish to note that WINE doesn't use PulseAudio (unless Ubuntu patches it on their end? They don't as far as I know.) - it relies on OSS or ALSA for sound. I'd imagine the 'Access Denied' error simply means that it can't contact the PulseAudio server (which is not running because it's removed from the system). Furthermore, removing PulseAudio was often recommended in it's formative days due to the complications it often caused but this is no longer the case, as it's the framework that provides the ability to have multiple applications play sounds at the same time and is much improved over the mess that was initially adopted. It's also part of the Ubuntu provided desktop - you'll have a fairly hard time getting support from the Ubuntu community if you're altering the 'packaged experience' so drastically. Of course, this has nothing to do with the current discussion, but as an aside I'd recommend that if you are interested in all of the gloriously disparate and disjointed components that make for a full Linux desktop, you look at setting up an ArchLinux VM to play with. I'd hope to save you from the frustrating 'trial by fire' that many of us Linux users - hobbyists and professionals alike - have endured when we realize just how much we can customize our systems - there's nothing worse than ending up with a problematic production system, too bloodied and broken to update yet comfortably customized enough that you have no motivation to reinstall. :) So, what happens when you 'cd ".wine/drive_c/Program Files/Steam"' and 'wine Steam.exe' in the terminal? The mouse issue sounds like a lack of rawinput - this was a patch integrated into WINE in version 1.5.13. Since you're running WINE 1.4, this feature will not be available to you and you won't be able to use the mouse. To update to WINE 1.5, simply install the latest version of WINE from the WINE Team PPA sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine1.5 The game should now work fine and you'll hopefully have it in your Steam library - I'll update the main post with the PPA instructions. :)
  23. Kindling

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

    Ah, that should be an easy fix. Try opening a terminal and type: mv "~/Desktop/[ARMA 2 OA Demo folder name]" "~/.wine/drive_c/Program Files (x86)/Steam/SteamApps/" (eg. mv "~/Desktop/Arma 2 Operation Arrowhead Demo" "~/.wine/drive_c/Program Files (x86)/Steam/SteamApps/" This is assuming a WoW64 prefix, which you would have if your Linux installation is 64bit. If the distro is 32bit or you have a 32bit WINE prefix (ie. 'ls ~/.wine/drive_c' doesn't show the 'Program Files (x86)' folder), replace 'Program Files (x86)' with 'Program Files'. Once this is done, close and re-open Steam then right click the ARMA 2 Operation Arrowhead Demo game then 'Properties', 'Local Files' and 'Verify integrity of game cache' and it should fix any further issues. Of course, make sure to open Steam under WINE and not the Linux version (Help -> System Information should list a Windows variant under 'Operating System Information' and not your distro name). You shouldn't need to run any type of installer - Steam should simply open the game. If you do have any problems, run Steam from the terminal and it will show a log of all the behind-the-scenes info that may be useful to debug the issue.
  24. Kindling

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

    Hi, This isn't really an old thread - you might have missed this, but there's 11 pages and the last post was yesterday. :) I'm not entirely sure what you mean - do you mean that you can install the ARMA II: OA demo via Steam but it doesn't show in the games list after installation? Or do you get any kind of installation error? Can you run everything in a terminal ('cd .wine/drive_c/Program\ Files\ \(x86\)/Steam/ && wine Steam.exe' for example) and provide the output around the time that the installation fails?
×