How to Play Portal 2 Split Screen Coop on PC

Want to play Portal 2 split screen coop on PC? you can play it the same way as Left4Dead. You will need a spare controller and a bit know-how of tweaking through dev console.

You can get Wired Xbox 360, PS3 or Wii Classic Controller to work with Portal 2. You will need MotionJoy drivers in order to get PS3 controller to work and you can get Wii classic controller to work by following the instructions in this post.

Note. You can further go through the detailed instructions here on how to create a custom config for your controller for Source Engine.

How to Play Portal 2 Split Screen Coop on PC

Step 1
Create a custom controller config file in your Portal 2/cfg directory with following content. Just copy this code, paste it in a text file and convert it in a config file by changing the extension.

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 joyadvancedupdate
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
cmd2 +jlook

Note. You can rebind anything by changing JOY1-12, just keep cmd2 in front of any setting or bind. It makes the command go to player slot 2 instead of the default slot 1.

This is an alternative to joy_configuration.cfg file but with cmd2 in front of everything. You can name it what you like: coop_360.cfg and save the file in “common/Portal2/cfg” folder.

Step 2
Connect the controller and load a map using following variables in your dev console:

ss_map mp_coop_start

Step 3
When the map is being loaded, un-plug the controller and wait for few seconds, then re-plug it. It would switch the player light on the 360 controller to second slot.

Once you have the light on the player 2 slot, leave the controller connected and it should stay at player 2 slot. In case it doesn’t, you can try this method.

Step 4
Load your custom controller config you just made by executing these commands in developer console:

exec joy_coop.360.cfg

Note. 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 Xbox 360 controller while first should be whatever binds you have had on keyboard/mouse.

You can apply these tweaks to fine tune the experience.

Vertical Split for Two Monitors
Edit your aspect to “4 by 3” in the “common\Portal 2\portal2\splitscreen_config.txt” file. Thanks craigfanman/Fisher122!

The FOV settings for various split modes are also in the “common\Portal 2\portal2\splitscreen_config.txt” file.

Switch to Horizontal Split
Use ss_splitmode 1 to use the second split mode in the config (horizontal).

If you come across any problems, let me know and I will try to help you out.

Thanks. chameleon8

Zawad Iftikhar is the founder of, an FPS enthusiast and a Call of Duty veteran, having participated multiple eSports competition.