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 0cmd2 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 1cmd2 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 Triggercmd2 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-Padcmd2 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!
FOV
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





Find us on Digg
Our YouTube Channel
I’m playing with two controllers, first off. Player one only shoots repeatedly without pulling the trigger, and player two only has stick control.
would be nice and easier if u would make an video with all these…
Everything’s working great but at around level 5 i think, the game starts from the beggining. Is there somewhere i can find which maps are for each level in order or something?
Here’s the map list, sorry about the length. I haven’t included the hub in the list, so when you get booted back into it check what your last level was in the dev console and carry on from there.
mp_coop_start
mp_coop_lobby_2
mp_coop_doors
mp_coop_race_2
mp_coop_laser_2
mp_coop_rat_maze
mp_coop_laser_crusher
mp_coop_teambts
mp_coop_fling_3
mp_coop_infinifling_train
mp_coop_come_along
mp_coop_fling_1
mp_coop_catapult_1
mp_coop_multifling_1
mp_coop_fling_crushers
mp_coop_fan
mp_coop_wall_intro
mp_coop_wall_2
mp_coop_catapult_wall_intro
mp_coop_wall_block
mp_coop_catapult_2
mp_coop_turret_walls
mp_coop_turret_ball
mp_coop_wall_5
mp_coop_tbeam_redirect
mp_coop_tbeam_drill
mp_coop_tbeam_catch_grind_1
mp_coop_tbeam_laser_1
mp_coop_tbeam_polarity
mp_coop_tbeam_polarity2
mp_coop_tbeam_polarity3
mp_coop_tbeam_maze
mp_coop_tbeam_end
mp_coop_paint_come_along
mp_coop_paint_redirect
mp_coop_paint_bridge
mp_coop_paint_walljumps
mp_coop_paint_speed_fling
mp_coop_paint_red_racer
mp_coop_paint_speed_catch
mp_coop_paint_longjump_intro
mp_coop_credits
Sorry, but could any one tell me how to access console? used to access it by “~” in VALVE games but on portal 2 it doesnt work.
Thanks.
Sed, if you’re using a non-american keyboard, ~ wont work. Instead, select Portal 2 in Steam, right click, select properties, click “Launch Options” and write “-console” without the two “. This way, the console runs on launch, and as long as you don’t close it in-game, it will stay.
Yes, after I wrote -console it worked fine, but the problem that I cant get my controller to work, which is Logitech cordless precision. I even tried using xbox360 emu. Any help will be much appreciated. Thank you.
When i try to perform: exec joy_coop.360.cfg in the console it states that ‘? is an unknown command’ & ‘c is an unknown command’. c is the first letter of cmd, which might have something to do with it? Can you help me out here?
Same problem, I’ve tried messing with the formatting and the like, no luck.
Theres an issue however, when second player uses quick ping, it snaps first players view around each main direction(north, south, east, west).
There’s a fix for that. Just remap the ping button to something other than the bumper. That’ll fix it.
did you ever figure out a fix for this because I’m having the exact same issue. I tried changing the button that controls the pinging, but it didnt work. Thanks
hi Could you help me please i use rumble p3200 from saitek at first i tried with xbox config and when i started coop i could move the first player around with it but seond player couldn’t be moved with anything. now when i tried agin i can’t do anything with rumble pad
ok it didn’t work becouse i used joy id now it works but stil only 1st player and in the gesture menu i can’t choose can someone tell me how to fix this.
ok sory for so many posts but i managed to assign the controller to the 2nd player but now i can only move and look left and right can comeone help me out there
ok sorry for bothering you i managed it i was choping whit it for whole day and after i askk for help i manage it lol sorry
Kod,
Can you put how you did it?
well i didn’t use any exec joy_coop.360.cfg i just copied xbox emulator i found in one of the links above and then i renamed xinput 1_3 i think so my controller was now assigned to sedond player. That is it except i have one problem :whenever i push right low button on controller it alwayas do the action he is supposed to and also open me menu(as if i clicked esc)
Does it possible to connect PS3 joystick just with USB (not BT) and use it without additional crap like MotionJoy? Or connect simply cheap USB joystick and play? Or second mouse maybe?
once my xbox controller is connected to player 2 i cant look up or down.
any ideas?
Assign appropriate movement controls in config.
It would be GREAT if we could copy and paste the huge cfg file u posted….
you can now.
Doesnt work at all. Just thorws a bunch of “unknown command” allover the dev console
This is because the cut and paste above has bad quotes in it.
So instead of ” you have “
It’s subtle, but it’s the microsoft word angled quotes. You need to replace them all with standard quotes.
Here’s the one that works:
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
“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.
Read more: http://segmentnext.com/2011/04/20/how-to-play-portal-2-split-screen-coop-on-pc/#ixzz1L1Jz9s5X
”
Not here it doesn’t, it still goes to the slot 1???
HEY GUYS!
okay, this has been really frustrating…i had been trying to do this for nearly 24 hours, and i’ve finally found something that worked for me, so i thought i should share.
u can play coop without any of the annoying .cfg files if you just assign the controller to player 1 and let player 2 use the keyboard.
its pretty simple : connect your X360 controller (i used a ps3 controller with Xbox emulator via motioninjoy, so any other emulator should do fine too) and start the game. Make sure that controller is enabled from the options. Load a map (ss_map mp_coop_start), then, in console type:
sv_cheats 1
in_forceuser 1
what this does is force the keyboard input to player 2, but the controller input remains mapped to player 1 by default, and VOILA! u have a working multiplayer game!
i guess, after your done, u should just put it back by
in_forceuser 0.
hope it helps!
the only problem now is that the gestures that are unlocked in each level aren’t available again in the next…any solution for that?
It worked, but i couldn’t be able to use the second player and i followed every single step. Please, if you could help me.
Hey guys when i press coop it connects to the internet. as i don’t have internet access it returns a message it was impossible to connect. how do i solve this problem? hugs ans thanks for the help
David try not going to coop as it is unnecessary unless u want to save progress.
I have a new problem now after many hours Ive finally got my 1 controller to be player 2 and inverted the axis on the right stick.
Now i need the left stick to strafe left and right and move forward and back, but all i have with your original config post is: pushing forward on the left stick sends my character northwest diagonally and south east when i move backwards :/ please help!?!@