Portal 2 Split Screen Guide
- Added a link to a post about playing workshop maps.
- Changed link to x360ce (kept forgetting to, ugh)
- Maps for expansion (thanks xPi)
- Linked to post with solo PS3 controller setup
- Linked to post with logitech setup
- Added a link to a 2 monitor guide.
- Added a step that allows you to save your progress.
If anyone was wondering, you can play split screen on a PC just like L4D1. All you need is a spare controller. If you don't know what a developer console is, this guide is probably not for you. Ask a friend for help or see another guide
HINT FOR CONSOLE NEWBIES:
I've noticed a lot of people having trouble running exec
. It's usually just a typo. To save yourself a lot of time and trouble, try pushing the TAB
key when you type. The Source engine has something called tab completion built into the console - it will try to fill in whatever you are typing or give you possible results as you type.
You'll need to use JoyID
or the 360 trick detailed below to switch your joystick to the second player slot.
Making a new config for a joystick? See this support page
Step by Step Guide
- Player 1's view shifts when Player 2 fires a quick ping command. Fixed: bind the ping to a button besides the bumper. Thanks Chuckie1999!
- Returning to the lobby resets the level progression. Fixed: click "Play Cooperative" before loading a map. Thanks Gander!
- Radial menus don't seem to work (mostly the gesture wheel).
Tips and Tweaks
- Make a new controller config in your portal2/cfg folder with these contents (see below the code if you're confused):
This is basically the joy_configuration.cfg file but with cmd2 in front of everything. Name your new file something appropriate like joy_coop.360.cfg and save in the "common/Portal 2/Portal2/cfg" folder. Feel free to customize the binds to whatever you like as long as you keep the cmd2 in front of any command or bind.
cmd2 joy_name "Xbox360 controller"
cmd2 joy_advanced 1
cmd2 joy_advaxisx 3
cmd2 joy_advaxisy 1
cmd2 joy_advaxisz 0
cmd2 joy_advaxisr 2
cmd2 joy_advaxisu 4
cmd2 joy_advaxisv 0
cmd2 joy_forwardsensitivity -1
cmd2 joy_sidesensitivity 1
cmd2 joy_pitchsensitivity 0.75
cmd2 joy_pitchsensitivity_default 0.75
cmd2 joy_yawsensitivity -1.5
cmd2 joy_yawsensitivity_default -1.5
cmd2 joy_autoaimdampenrange 0.85
cmd2 joy_autoaimdampen 0.5
cmd2 joy_lowend 0.75
cmd2 joy_lowmap 0.25
cmd2 joy_no_accel_scale 1
cmd2 joy_accelscale 2.0
cmd2 joy_accelmax 1.0
cmd2 joy_response_move 5
cmd2 joy_response_look 1
cmd2 crosshair 1
cmd2 hud_draw_fixed_reticle 1
cmd2 bind "JOY1" "+jump" // (A) Button
cmd2 bind "JOY2" "+duck" // (B) Button
cmd2 bind "JOY3" "+use" // (X) Button
cmd2 bind "JOY4" "+remote_view" // (Y) Button
cmd2 bind "JOY5" "+quick_ping" // Left Bumper
cmd2 bind "JOY6" "+zoom" // Right Bumper
cmd2 unbind "JOY7" //"+mouse_menu_taunt" // Back ("select") Button
cmd2 bind "JOY8" "gameui_activate" // Start Button
cmd2 unbind "JOY9" //"+quick_ping" // Left Stick In
cmd2 unbind "JOY10" //"+zoom" // Right Stick In
cmd2 unbind "JOY11"
cmd2 unbind "JOY12"
cmd2 bind "Z AXIS POS" "+attack2" // Left Trigger
cmd2 bind "Z AXIS NEG" "+attack" // Right Trigger
cmd2 bind "POV_UP" "+mouse_menu_taunt" // D-Pad
cmd2 bind "POV_LEFT" "+mouse_menu" // D-Pad
cmd2 unbind "POV_RIGHT" //"+mouse_menu" // D-Pad
cmd2 unbind "POV_DOWN" //"+mouse_menu_taunt" // D-Pad
cmd2 joystick 1
cmd2 sk_autoaim_mode 2
- NEW STEP! Click "Play Cooperative" and wait for it to load the friends list. This allows you to save your progress. Thanks Gander!
- Plug in the controller, and load a map with the following in your developer console:
- IMPORTANT! While it is loading, unplug your 360 controller, wait a few seconds, then replug it. This should switch the player light on the 360 pad to the second slot. Once you have the light on the player 2 slot you can leave the joypad in and it should stay on that slot (mine survives a hibernate even). If this doesn't work (you probably have a wireless 360 pad) you can try JoyID (note: JoyID doesn't work for me).
- Execute the config you just made in the developer console:
You should only need to do this once - the config should stick for player 2.
You should now be able to control the second slot with your 360 pad and the first should be whatever binds you had on the keyboard/mouse!
Play Workshop Maps
See AnoshW1003's post for instructions.Play With Two 360 Controllers
Change the cmd2 joystick 1 line in the config to cmd2 joystick 2Vertical Split for Two Monitors
Edit your aspect in the "common\Portal 2\portal2\splitscreen_config.txt" file. Here's another tutorial that will probably help you out.Changing FOV
The FOV settings for various split modes are also in the "common\Portal 2\portal2\splitscreen_config.txt" file.Switch to Vertical/Horizontal Split
Use ss_splitmode 0, ss_splitmode 1, or ss_splitmode 2 to select a different split mode.
mp_coop_start (First map of chapter 1)
mp_coop_fling_3 (First map of chapter 2, have to load this map after completing coop_teambts or else it will just restart coop_start)
mp_coop_wall_intro (First map of chapter 3)
mp_coop_tbeam_redirect (First map of chapter 4)
mp_coop_paint_come_along (First map of chapter 5)