Batman: Arkham Asylum & Arkham City Guide

Discussion in 'Guides' started by Daerandin, Nov 24, 2013.

  • by Daerandin, Nov 24, 2013 at 1:12 AM
  • Daerandin

    Daerandin Well-Known Member

    Joined:
    Oct 18, 2013
    Messages:
    1,157
    Likes Received:
    258
    Trophy Points:
    83
    Location:
    Northern Norway
    Home page:
    The Batman franchise is well known and there have been several game incarnations through the years. However, none have been as successful and well received as these games. The gameplay is a mix of action/adventure and stealth, and the games are full of content.

    bm_title.png

    This guide will explain how to install the Steam versions of Arkham Asylum and Arkham City. Previously, these games needed Games for Windows Live, which was far from easy to get working on Linux. However, since it has been patched out of the games they are much easier to run.

    Notice

    The steam update 03.12.13 made all past wine versions unable to log in to steam, as such all steam games are forced to use the new 1.7.8 wine version, unfortunately not all games work as well with this. These two Batman games suffer from some issues, but I have found some workarounds, but far from perfect. However they are still fully playable with good performance.

    Tips & Specs

    To learn more about PlayOnLinux and Wine configuration, see the online manual: PlayOnLinux explained

    Arch Linux 64-bit
    PlayOnLinux 4.2.1
    Wine 1.5.18 & 1.7.8

    Important

    On some Linux Distros there is a security feature that must be disabled in order to properly install the dotnet libraries required for these games. You can easily check if your distro use this security feature by opening a terminal and typing:

    cat /proc/sys/kernel/yama/ptrace_scope
    check.png

    If you get the output '1', that means the security feature is enabled.

    To disable this, type in:

    echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope

    You will be prompted for your password, as it requires root privileges to edit the file.

    Now you can safely continue the installation. If your output was anything other than '1' to the first command, then this is not enabled on your system.

    To enable this again later, simply type in:

    echo 1 | sudo tee /proc/sys/kernel/yama/ptrace_scope

    The Ubuntu wiki explains this security feature well: ptrace Protection

    Setup PlayOnLinux

    Launch PlayOnLinux and select 'Tools' and 'Manage Wine versions'

    In the new window that appears, scroll through the 'Available Wine versions' box to find '1.7.8' and click on the right pointing arrow to install it, then find '1.5.18' and do the same, now both will be visible under 'Installed Wine versions' on the right side
    If you have a 64-bits system, make sure you have selected the 'Wine versions (x86)' tab above

    1.7.8.png

    Just close the window. Back at the main PlayOnLinux window, select 'Install'

    Click on 'Install a non-listed program'

    bm_02.png

    Select 'Install a program in a new virtual drive' and click next

    bm_03.png

    Name the the virtual drive "Steam_arkham" and click next

    bm_04.png

    Select "Use another version of Wine", "Configure Wine" and "Install some libraries" before you click next

    bm_05.png

    On the wine selection window, select 1.5.18 and click next. Make sure you select '32-bits window installation' if you are on a 64-bit system.

    bm_06.png

    Note: We will not be using 1.5.18 for playing the game, just for setting up the virtual drive since dotnet installs perfectly on wine version 1.5.18, while sometimes failing on other versions.

    When the wine configuration window appear, select the 'Graphics' tab, and click the ckeckbox for all four options, just like in my screenshot. Then set the resolution for the virtual desktop to be the same as your dekstop resolution. My desktop is at 1920 x 1080, so I have set the wine virtual desktop to the same resolution.

    bm_07.png

    Note: Even though the language is Norwegian in my screenshot, the layout will look the same for you

    When you come to the selection of libraries to install, select all the following:
    • POL_Install_dotnet35sp1
    • POL_Install_dxfullsetup
    • POL_Install_gdiplus
    • POL_Install_physx
    • POL_Install_steam
    • POL_Install_vcrun2005
    • POL_Install_vcrun2008
    • POL_Install_VideoDriver
    bm_08.png

    Then click 'Next'

    When it asks you for the install file to run, click on 'Cancel'

    bm_09.png

    At this point you can safely enable the ptrace protection if you disabled it previously. These games do not require it disabled for playing, it was just the initial install process that required it disabled.

    The virtual drive has already been set up by this point and there is no need to run any install file. Now back at the main PlayOnLinux window, click on 'Configure', it does not matter what game shortcut is selected when you click 'Configure' so don't worry about that.

    On the left side, find the virtual drive you just set up. Look for "Steam_arkham", select it, then click on the 'Display' tab. Set 'GLSL support' to 'disabled' and then 'Video memory size' to the memory size of your GPU.

    bm_10.png

    Click on the 'Wine' tab, then click on 'Registry editor'

    bm_11.png

    We have to make some additions to the registry for Arkham City to prevent it from attempting to install dotnet on its own. In the registry editor, maximize HKEY_LOCAL_MACHINE --> Software --> Valve


    • Right click on 'Steam' and select 'New key', name it "Apps"
    • Right click on the newly created 'Apps' and select 'New key, name it "200260"
    • Right click on '200260', and select 'New DWORD value', name it "amd", then double click on it and set 'Value data' to "1" and click 'Ok'
    • Right click on '200260', and select 'New DWORD value', name it "DotNet", then double click on it and set 'Value data' to "1" and click 'Ok'
    • Right click on '200260', and select 'New DWORD value', name it "vcredist", then double click on it and set 'Value data' to "1" and click 'Ok'
    • Right click on '200260', and select 'New DWORD value', name it "DirectX", then double click on it and set 'Value data' to "1" and click 'Ok'
    It should look just like in my screenshot now
    bm_12.png

    Close the registry editor, and then select the 'General' tab

    Click on 'Wine version' and select '1.7.8' on the list that appears, then click 'Make a new shortcut from this virtual drive"

    arkh.1.7.8.png

    Select Steam.exe and click next. Name the shortcut "Steam-Arkham". Click 'I don't want to make another shortcut' and click next.

    bm_14.png

    Steam overlay issue

    The current version of Steam have one problem when running in wine. Games will usually crash immediately upon start, or as soon as you click on your keyboard or start playing. To solve this problem you have to disable the Steam overlay. This can be done from Steam settings, but in my experience that may cause games to not close properly, making Steam think the game is still running after you shut it down.

    So the best way to solve this problem, in my opinion, is to from the 'Wine' tab in the PlayOnLinux configuration. Just make sure you have selected the virtual drive for your Steam game, then click on 'Configure wine'

    overlay_01.png

    Don't worry about the Norwegian language in my screenshots, the layout will look exactly the same for you.

    Select the 'Libraries' tab, and under 'New override for library:' type in "gameoverlayrenderer" and click 'Add'

    overlay_02.png

    Now find and select it on the list below, then click on 'Edit'

    overlay_03.png

    In the new window that appears, select 'Disable', then simply click OK to close the wine config window.

    overlay_04.png

    Now select the 'Wine' tab again, and click 'Windows reboot'

    bm_15.png

    Steam will automatically start now and you should see it updating

    bm_16.png

    Then you can go ahead and log in to your Steam account

    bm_17.png

    Now simply select Arkham Asylum and Arkham City from your games list, and click on 'Install'

    bm_18.png

    These games are fairly large so you may want to leave the download on for some time while you do something else or even leave it on overnight to download.

    Arkham Asylum


    Sometimes you will get this crash

    crash.png

    It seems to be random, sometimes crashing like this, other times not. Just click on "Don't Send", and try launching the game again. It will eventually start.

    When you start Arkham Asylum, you are going to see the error message below, when you click 'Ok' it is going to appear again. This error can be safely ignored, just click 'Ok' until you see the game launcher. Note that the error message may appear under the Steam window, so you may need to move the Steam window to see the error message.

    bmaa_error.png

    The game is going to work, so do not worry. Just click 'Ok' the 4-5 times this error pops up, then the game launcher will appear

    bm_asyl.png

    Click on 'Settings' to change video options and customize keyboard controls. This game actually appear to run very well so you may want to try running it on 'high' or 'very high'. I can play it on 'Very High' on a laptop with nvidia GTX 670mx with the game running smoothly. You should make sure that the game resolution is the same as your desktop resolution.

    bm_aadisaply.png

    This game suffer from two issues during play. One is that the mouse in not properly captured, the other is a tiny icon in the bottom left corner of the screen. There is a workaround for both issues. When the game has started and you are at the title screen (this can be done at any time), press ALT+ENTER on your keyboard and the game will switch to windowed mode, click my image below to see it full size

    alt-enter.png

    You can now click on the little icon in the bottom left corner, and drag it out so you can't see it. Then you can click on the top of the game window, and drag it up a bit so you get it well positioned, click on the thumbnail below for full size. Keep the game in windowed mode like this, and the mouse will be properly captured.

    moved.png

    Arkham City

    When you first start this game, make sure you select 'Configure PC Options'

    bm_ac1.png

    Sometimes you will get this crash

    crash.png

    It seems to be random, sometimes crashing like this, other times not. Just click on "Don't Send", and try launching the game again. It will eventually start.

    At this point, you will get a message that your graphics driver is outdated. You can safely ignore this message and just click 'Ok' and the game launcher will appear. Select 'Settings'

    bm_ac2.png

    Here you can change video options and customize keyboard controls. This game actually appear to run very well so you may want to try running it on 'high' or 'very high' or even 'extreme'. I can play it on 'Extreme' on a laptop with nvidia GTX 670mx with the game running smoothly. You should make sure that the game resolution is the same as your desktop resolution.

    bm_ac3.png

    This game suffer from two issues during play. One is that the mouse in not properly captured, the other is a tiny icon in the bottom left corner of the screen. There is a workaround for both issues. When the game has started and you are at the title screen (this can be done at any time), press ALT+ENTER on your keyboard and the game will switch to windowed mode, click my image below to see it full size

    ac_altenter.png

    As with Arkham Asylum, you can click and drag the little icon out to the corner so it is not in front of the game window anymore. And you can click on the top of the game window to reposition it if you wish. Keep the game in windowed mode like this, and the mouse will be properly captured.

    Other Options

    There is one way you can get the mouse captured while keeping the games in fullscreen. While keeping the game shortcut selected in the PlayOnLinux window, click on 'Configure', then select the 'Miscellaneous' tab, and there you can set "Mouse warp override" to "force", and then the mouse will be properly captured in the games without switching to windowed mode. However, this will also make it impossible to navigate in-game menus with the mouse. And certain side quests in Arkham City will be impossible to complete.

    Screenshots

    bm_19.png bm_20.png

    bm_21.png bm_22.png

    bm_23.png bm_24.png

    bm_25.png
    Last edited: Jan 26, 2014

Comments

Discussion in 'Guides' started by Daerandin, Nov 24, 2013.

  1. booman
    Cool guide!
    I thought you got them working with Wine 1.7.6?

    By the way, what does the package VideoDriver do?

    video by mrdeathjr28
  2. Daerandin
    Mouse capture did not work with newer wine versions, I had to force mouse warp override to get proper mouse capture, and that made it impossible to use the mouse to navigate menus, furthermore the mouse was visible during in game videos in Arkham Asylum then. Besides, I also got that little icon showing in the bottom corner of the screen on newer wine versions.

    As for the VideoDriver package, I am actually not sure what it does, however it is called by the beta script on PlayOnLinux which is why I decided to include it. I am guessing it got something to do with the letting windows games more easily detect what GPU you have. Actually, I don't remember if I tested without it, I had a look at the PoL script which I decided to base my own testing on and my library installs just sort of stuck since then.
  3. booman
    Yeah I remember you talking about mouse capture option. It almost always works for me.
    I've seen the videodriver package and have never used it. i wonder why it was part of the script? Pretty strange.
    Cool looking game. It is open world?
  4. Daerandin
    The mouse capture problem is reported for both these games on winehq, so it seems to be something that only certain games have problems with.

    Both games have an open world you can move through, although only Arkham City is larger by far and the whole game world is open to you from the start. I just really like these games, and the combat system is awesome. I still can't get enough of those combat situations where you take down 20 enemies all at once in a continuous flowing combo, it looks really great too. The added "detective" moments and stealth is also very well done, I just love hiding up someplace and waiting for the right moment to take down a lone isolated guard, then hiding again before any other armed henchmen spot you.

    I intend to give the newest game in the series a try some time later this year. Currently there is little information about it on winehq, but the reports so far seem promising.
  5. booman
    Sounds like my kind of game too.
    If I see it for cheap, I'll pick it up some day
  6. rolandttg
    That game looks great! Great tutorial!:)
  7. Daerandin
    I have updated the guide to get the game working. Unfortunately they don't work as great anymore, you need to play the games in windowed mode to have the mouse properly captured.

    Also, I gave the games a try without the VideoDriver library installed just to see if it I noticed any changes. I did only notice one thing, my cpu ran roughly 10 degrees warmer, and my fans were spinning faster without the VideoDriver library installed, when I installed it my laptop ran much cooler while playing these games, so I kept it in my guide.
  8. booman
    Man that is so strange.
    Can you at least run windowed with the same resolution as your desktop?
    So it appears to be full-screen?
  9. Daerandin
    The game window is about fullscreen in Arkham Asylum, but not with Arkham City, it is slightly smaller there. The only really annoying thing now is the random crashes when starting the game launcher. Hopefully the wine team will release a new stable version with the steam fix, I think it will run better on the stable version.
  10. booman
    Exactly, I really really need them to add this patch to the stable Wine 1.6
    That would make life much easier
  11. pdiablo
    I dont knw if this has been said. but I got this game working really well on wine. But also the mouse can be fixed if u select 'Automatically capture the mouse in full-screen windows'. But as it states only works if the game if running on full screen. But the fix works and no problems with either in-menu or game play.
  12. Daerandin
    pdiablo, what wine version are you using, and are you using the Steam version of the games? In the wine versions I have tested, setting it to 'Automatically capture the mouse in full-screen windows' does not help for me, which is why I need to play in windowed mode.
  13. allenskd
    I never had problems with dotnet with WINE 1.7.16, using Debian (sid). However... the FPS drop is a huge problem, making the game almost unplayable. I'm gonna try with WINE 1.7.8 later on since I got it compiled and it's just waiting to be used :)

    Another step that I might do before switching to 1.7.8 is this step:

    Have you thought of using CSMT patches for some of the games involved? Not just for this, but for other games. It might help a lot :)
  14. SimpleSign
    I am unable to download arkham city from steam, everytime i run steam and the download starts it goes for about 10-20 sec and then it crashes, after 4-5 tries it still continues,

    is there any ways to avoid this crash ? there is no way i can download the game when it continues like this
  15. Daerandin
    Can you run it with the Debug option? The debug output would help a lot in trying to figure out what is going on.

    I have not experienced any crashes myself so I am not sure what you speak of. Are you installing according to my guide?
  16. mrdeathjr28
    Maybe your error can stay on net framework installation, check if installled, in my case install first net framework 3.5sp1 and after this net framework 4 (for both cases you dont install mono has come with wine)

    :)
  17. SimpleSign
    for some reason i cant even start up Steam anymore, i get the error that steam is not connected to the internet, but when i try to run another game that requires steam (using playonlinux) it runs and steam starts up.

    but after following this guide steam does not even start up anymore.

    i was installing everything according to the guide when the steam was crashing all the time.

    how do i make sure that net framework 3.5sp1 is installed before net framework 4 ?
  18. booman
    If Steam won't even launch properly, there is a chance you will need to install it again. But you don't have to download the game all over again.
    1. Go to: /home/username/.PlayOnLinux/wineprefix/name-of-prefix/drive_c/Program Files/Steam/SteamApps/Common
    2. Drag-n-Drop the Batman game folder to your desktop
    3. Remove virtual drive in PlayOnLinux
    4. Follow this guide and download/install Steam all over again
    5. Login to Steam
    6. Navigate to the SteamApps folder again
    7. Create a folder: Common
    8. Drag-n-drop the Batman game folder into Common
    9. Click "Install" for the Batman game in Steam
    10. Steam will perform "Discovering files..."
    11. Installed
    12. Launch game
    As for dotnet, the best way to install it properly is using Wine 1.5.18, but make sure to install them later after Steam is setup. Go to Configure in PlayOnLinux, then click the "Install Components" tab.
    You will probably have to to the "ptrace_scope" command first because dotnet30 and dotnet35 won't install without it.

    Open Terminal
    Copy & paste:
    Code:
    Code:
    echo "0"|sudo tee /proc/sys/kernel/yama/ptrace_scope
    Press Enter
    Enter password
    Close Terminal
    Install again
    [​IMG]
    Note: This ptrace introduces a security risk, but the command is reset at next reboot.
  19. Daerandin
    I do mention the ptrace protection in this guide, and I also specify to use wine version 1.5.18. That might be the issue, are you remembering to change the wine version to 1.7.8 after the virtual drive is set up as it says in the guide?

    Edit: As I said before, it would make it much easier to figure out what is happening if you run it in PlayOnLinux with the Debug option. Run it until it crashes, then post the output from the debug window here.

Share This Page