Left 4 Dead 2

Left 4 Dead 2

91 ratings
Local multiplayer/coop with splitscreen on two monitors
By Nolendil Valaina
This guide is not as clean as I'd like but it contains all the information I collected to make local multiplayer work well on 2 monitors.
Since all that information was spread on various pages/sites, I figured I might help other people by putting them all in a single guide.

To follow those instructions, it is avised to be computer savvy even though I tried to explain the process as clearly as I could.

Suggestions of improvements are welcome.
   
Award
Favorite
Favorited
Unfavorite
Requirements
  • One or two controllers (only tested with XBox360 controllers)
  • AMD graphic card with Eyefinity support
  • Two monitors
  • Someone to play with you :)

Note: if you miss some requirements, check the section at the end with some other tricks.
Enable the console
  • Launch the game.
  • Go in the Option menu.
  • Go in the Keyboard/Mouse section.
  • Select Allow developer console and choose Enabled.
  • To open the console, use the ` key (it's usually located below the Esc key).

Note: The console key might differ if you don't use an american keyboard.
Enable gamepads
  • Launch the game (if it's not already running).
  • Go in the Option menu, then in the Keyboard/Mouse menu.
  • Select GamePad and choose Enabled.

Note: This will disable keyboard controls in the game for both players, they will both have to use gamepads.
If you want the first player to be able to use the keyboard/mouse, apply the changes in the section "Allow the first player to use either the keyboard and mouse or a controller".
Fix a bug in the default second controller inputs
  • Go to "...\Steam\SteamApps\common\left 4 dead 2\left4dead2\cfg" (the exact path depends on where you installed Steam).
  • Open "360controller.cfg" in a text editor.
  • In the section "// controller2 bindings", change:
    +jlook // enable joystick look
    into:
    cmd2 +jlook // enable joystick look
  • You probably have to quit and restart the game if it was already running to take this change in account.

    Note: Without this change, the second controller is not able to look up and down. This was probably a mistake from the developers while copy-pasting the inputs from the first controller.
Allow the first player to use either the keyboard and mouse or a controller
Note: You can skip this section if you plan to play with 2 controllers.
This settings enables mouse and keyboard inputs and controller inputs for the first player at the same time. He will be able to switch from one to the other at anytime without changing any settings.

  • Go to "...\Steam\SteamApps\common\left 4 dead 2\left4dead2\cfg".
  • Make sure you fixed the second controller input bug described in the previous section.
  • Make a copy of "360controller.cfg" and name it as "360controller_SplitScreen_KbMouseAndController.cfg" (or something else, the name of the file is not important as long as you remember it).
  • Open the new file in a text editor.
  • Before the "controller2 bindings" section, add:
    // Keyboard control for player 1 cmd1 bind "`" "toggleconsole"; // Console cmd1 bind "ESCAPE" "cancelselect"; // Cancel cmd1 bind "w" "+forward"; // Move forward cmd1 bind "s" "+back"; // Move backward cmd1 bind "a" "+moveleft"; // Strafe left cmd1 bind "d" "+moveright"; // Strafe right cmd1 bind "SHIFT" "+speed"; // Walk cmd1 bind "SPACE" "+jump"; // Jump cmd1 bind "CTRL" "+duck"; // Duck cmd1 bind "MOUSE1" "+attack"; // Fire cmd1 bind "MOUSE2" "+attack2"; // Push away enemies cmd1 bind "MOUSE3" "+zoom"; // Use scope cmd1 bind "r" "+reload"; // Reload cmd1 bind "MWHEELUP" "invprev"; // Previous weapon cmd1 bind "MWHEELDOWN" "invnext"; // Next weapon cmd1 bind "q" "lastinv"; // Last weapon used cmd1 bind "c" "+voicerecord"; // Use voice com cmd1 bind "F1" "Vote Yes"; // Vote Yes cmd1 bind "F2" "Vote No"; // Vote No cmd1 bind "z" "+mouse_menu Orders"; // Orders cmd1 bind "x" "+mouse_menu QA"; // Q&A cmd1 bind "y" "messagemode"; // Chat message cmd1 bind "u" "messagemode2"; // Team message cmd1 bind "m" "chooseteam"; // Select team cmd1 bind "TAB" "+showscores"; // Display scores cmd1 bind "1" "slot1"; // Select primary weapon cmd1 bind "2" "slot2"; // Select pistol cmd1 bind "3" "slot3"; // Select explosive cmd1 bind "4" "slot4"; // Select first aid cmd1 bind "5" "slot5"; // Select pain pills cmd1 bind "h" "motd"; // Message of the Day cmd1 bind "e" "+use"; // Use item cmd1 bind "f" "impulse 100"; // Flashlight cmd1 bind "t" "impulse 201"; // Spray logo cmd1 bind "F5" "jpeg"; // Screenshot

    Note: This follows the default key bindings, change according to your own taste.

  • [Optional step] Disable autoaim for player 1 and keep it for player 2:
    At the end of the file, change:
    "sk_autoaim_mode 2"
    into:
    cmd1 sk_autoaim_mode 0 cmd2 sk_autoaim_mode 2

    Note: It seems that autoaim does not work at all with this but I'm not familiar enough with the autoaim system to be sure. Should this be done differently?
    Skip this step if you don't want to experiment with it.

  • To activate those controls in the game, open the console and type "exec 360controller_SplitScreen_KbMouseAndController.cfg" (if you chose a different filename, adapt the command accordingly).

    Note: You need to execute this command every time you relaunch the game.
Change the size of the viewports in splitscreen
  • Go to "...\Steam\SteamApps\common\left 4 dead 2\left4dead2"
  • Make a backup copy of "pak01_000.vpk"
  • Open the original file with a hex editor (like HxD which can be found at: http://mh-nexus.de/en/hxd/)
  • Search for "widescreen_vertical_split" and, just after it, look for the text:
    ."8 by 9"
    Note: The quotes and the "dot" are part of the text to change. Actually, it's not a dot, but that's the way the hex editor displays special characters.
  • Change it to:
    "16 by 9"
    Note: The preceding "dot" had to be removed since you need to preserve the number of characters when hex editing, but it's ok since it was just a tabulation.
  • Save the modified file.
Make the game display on both monitors
  • Open the Radeon Settings from the tray bar icon.
  • Go in the Display section and click on Additional Settings
  • Create an Eyefinity display group including your two monitors and activate it.
  • Start the game, go in the Option menu, then Video, and change the resolution to be the same as the one of your display group.
Start a splistcreen game
  • Launch the game.
  • Open the console and type:
    ss_map NameOfTheMap
    Replace NameOfTheMap with the name of the map in that command.
    The map will then load with one player.
  • After it loads, type in the console:
    connect_splitscreen localhost 2
  • The map will reload with splitscreen enabled.

Note:
- A list of map names can be found in the links at the end of this guide. Otherwise, the console auto-complete system will suggest some names.
- You can also select the game mode, check the links at the end of the guide for more details.
- The command connect_splitscreen probably allows to connect to a server to play online but I haven't tried it.
- The command ss_connect might be sufficient when playing offline and might avoid reloading the map. I still have to try it.
Change the name of the second player
  • Open the console and type:
    name2 TheNameYouWant
    Of course, replace TheNameYouWant with the name you actually want to use.
Change the way the screen is divided
  • For horizontal cut, open the console and type:
    ss_splitmode 1
  • For vertical cut, open the console and type:
    ss_splitmode 0
    Note: Some people suggest "ss_splitmode 2". I suspect any value different from 1 will select a vertical division but I need to check that.
Fix the HUD if it is messed up
I often have issues with the HUD in splitscreen (particularly on the second player's screen). I found a fix that seems to work.

  • Open the console and type:
    hud_reloadscheme
Additional tricks not tested by myself
  • Most commands could probably be put all together in a single config file to be executed at once and make the process easier.
  • If the second player doesn't automatically join a team, use the console command "cmd2 jointeam 2" to make him join the survivors or "cmd2 jointeam 3" to make him join the infected.
  • If you have two monitors but your graphic driver doesn't allow to consider them as a single one, you can try SoftTH:
    SoftTH forum thread with download links[www.kegetys.fi]
    SoftTH official site[www.softth.net] (newer version but the site is mostly under construction as of May 2014)
  • You can use this mod to make splitscreen mode easier to enable:
    Left 4 Dead 2 Split-Screen MainMenu Mod[www.gamemaps.com]
  • If for some reason you use horizontal split, modify the part after "widescreen_horizontal_split" in the "pak01_000.vpk" file to make the viewports fit your screens.
  • Check those additional articles, if you have only one XBox360 controller, have a different kind of controller, want to play online, need a list of map names or other info:
    - Splitscreen Howto by d10sfan (includes map names, how to change game mode, how to connect in LAN, controller issues...)
    - List of L4D2 Cvars
    - A selection of commands related to splitscreen mode
    - HowTo Left 4 Dead split screen on Eyefinity[www.wsgf.org] (made for L4D1, but some things probably work for L4D2 too)
Credits
Credits go to the Steam community for sharing all the information they found.
I mostly collected, tested, organized and adjusted them to fit my own needs and hopefully those of other people in the same situation.
30 Comments
Nolendil Valaina  [author] 9 Jun, 2023 @ 2:23pm 
Cool, thanks for testing!
Tinker 4 Jun, 2023 @ 12:36pm 
It's faster than having to copy and paste the exec code, definitely recommend doing it.
Tinker 4 Jun, 2023 @ 11:57am 
I'm going to try and see if adding the exec part to the config.cfg file would make things faster instead of having to paste it into the console every time you'd try to play the game on splitscreen.
Nolendil Valaina  [author] 19 Jan, 2023 @ 12:01pm 
@ Afr000
I suppose that you mean that the black bars are on the left and right side of each display and that your monitors are on top of each other.
Since I made this guide with 2 monitors arranged horizontally in mind, we probably need to fix the ratio of the viewports for your case.

First, make sure you use a horizontal cut (see section "Change the way the screen is divided") by using the command: ss_splitmode 1
Then, in the step from the section "Change the size of the viewports in splitscreen", look for "widescreen_horizontal_split" (instead of "widescreen_vertical_split" ) and replace
"32 by 9" with "16 by 9" .

If this doesn't work, a workaround would be to temporarily tell Windows that your monitors are side by side (even if they are not) when you play and follow the guide as if you were playing horizontally. However, this requires additional steps each time you play.
Afr000 14 Jan, 2023 @ 2:29pm 
Thanks for the advice, but why do both players have black bars on the sides (Im using 2 monitors and playing vertically btw)
Nolendil Valaina  [author] 5 Jan, 2023 @ 5:03am 
@ Afr000
Graphic card software has changed since I wrote this guide in 2014.
If you own an AMD card, this page should explain how to set up a Eyefinity display group: https://www.amd.com/en/support/kb/faq/dh2-014
If you have an NVidia card, this page should help: https://www.nvidia.com/content/Control-Panel-Help/vLatest/en-us/mergedProjects/nv3d/To_configure_my_displays_for_Surround.htm
Afr000 31 Dec, 2022 @ 6:32am 
What do you do if you dont have Radeon Software
Nolendil Valaina  [author] 8 Oct, 2020 @ 11:32am 
@BryanHf2 :
I had a quick look at the list of console commands.
Try typing this command in the console while on the main menu (the command supposedly doesn't work in-game):

cl_mouselook 1
konquest25 27 Sep, 2020 @ 2:59pm 
i can walk shoot push but just cant look
konquest25 27 Sep, 2020 @ 2:59pm 
so i may have messed something up i did the 2 controllers thing to play splitscreen and now i cant look with my mouse i tried everything