Repository navigation
Releases: cranebeaker/couchlink
Release list
Couchlink 0.1.16
Couchlink 0.1.16: .NET games such as Celeste start again.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.16-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux: Couchlink-0.1.16-linux-x64.tar.gz below. Unpack it and run ./couchlink.
Fixed in 0.1.16
- .NET games did not start: "the program did not reach its entry point". Celeste and other games built on .NET (FNA and XNA games among them) never run their exe's own entry point, which Couchlink waited for before putting its controls in. Couchlink now waits for their .NET runtime instead.
The full list of changes is in CHANGELOG.md.
Good to know
- Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.15
Couchlink 0.1.15: Shift+Tab for Steam's overlay in every player's game, controllers that move while games run, turning off and pairing controllers from Couchlink, and a Steam button for player 1.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.15-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux: Couchlink-0.1.15-linux-x64.tar.gz below. Unpack it and run ./couchlink.
New in 0.1.15
- Shift+Tab opens Steam's overlay in a player's game. Steam only takes Shift+Tab from the window in front, and during a session no game is. Now Shift+Tab on a player's own keyboard asks Steam to open the overlay in their copy and brings that copy in front so they can use it; Shift+Tab again or Esc closes it. Shift on its own does nothing new. It also works for the host after taking every keyboard and mouse (Ctrl+Shift+K).
- Controllers move while games run. A controller given to another player (or swapped) in Players reaches that player's game straight away, also for a player who started with only a keyboard. Taken away, it shows as unplugged.
- Turn a controller off. A power button on wireless controllers under Devices, and a button combo held for two seconds (Settings, Bindings; off by default), turn a Bluetooth or Xbox wireless controller off.
- Pair a controller. "Pair a controller" under Devices finds controllers in pairing mode (PlayStation, Switch, Xbox over Bluetooth) and pairs them. Windows only.
- Player 1's Steam. Player 1 has a Steam button too: whether your Steam runs, Open Steam, and the Steam folder Couchlink uses, with a way to pick another one when Steam is somewhere else.
Fixed
- Your Steam did not open by itself for a game that needs Steam when it had been closed. Couchlink now checks that Steam really runs.
- Linux: player 2's Steam crashed on sign-in in some setups: its helper programs now also get the seat's own IPC name, so they do not talk to your Steam.
- Linux: reports say why a game stopped. Each game's log has Wine's errors, and "Save full report" has each player's own Steam logs.
The full list of changes is in CHANGELOG.md.
Good to know
- Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.14
Couchlink 0.1.14: start your co-op games from Steam, Playnite, LaunchBox or a desktop shortcut, and a Steam setting per game.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.14-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux: Couchlink-0.1.14-linux-x64.tar.gz below. Unpack it and run ./couchlink.
New in 0.1.14
- Start from other apps. A new page in the sidebar has the launch command for every installed game, with steps and copy buttons for Steam, Playnite and LaunchBox.
couchlink.exe --play <game>starts the game with the players and screens set up in Couchlink, and starts Couchlink first when it is not running.- Steam: "Add to Steam" puts the game in your library as a non-Steam game. Steam closes and opens again to show it; your other non-Steam games stay, and the old list is kept as a backup. Press Play in Steam, Big Picture too.
- LaunchBox: add Couchlink once as an emulator with
--play-exe, and every game on that platform opens through Couchlink by itself. - Desktop shortcut: one button, with the game's own icon.
- Steam per game. Each game's page has Steam: Automatic, Needed or Not needed. Needed opens your Steam and every extra player's own Steam when a session starts, and waits until they are signed in. Automatic picks Needed for Steam games and games with online-fix, which now also say so on their page.
The full list of changes is in CHANGELOG.md.
Good to know
- Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.13
Couchlink 0.1.13: Steam's overlay (Shift+Tab) in games on real Steam, saved layouts, and fixes for a game losing frames while another one is in front.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.13-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux: Couchlink-0.1.13-linux-x64.tar.gz below. Unpack it and run ./couchlink.
New in 0.1.13
- Steam's overlay (Shift+Tab) in games on real Steam. Couchlink starts each copy itself, so Steam never put its overlay in. Now each copy loads Steam's own overlay, also for players on their own Steam account, so Shift+Tab opens friends, invites and achievements for that player. On by default; each game's page has a switch to turn it off. Games on the Steam emulator have the same switch for its overlay.
- Saved layouts. In the screen editor, "Save layout" keeps the screen as it is, gaps included. Keep as many as you like and put any of them on a screen in any game. A game's page can pin one, so that game always starts with it.
- Close a player's own Steam. Players, a player's Steam account: "Close their Steam". Settings, General: "Close their Steam when a session ends". Your own Steam stays open.
- Show a cursor for each player (Settings, Bindings): turn off Couchlink's extra cursor for games that draw their own.
- Keyboards and mice only control the games while a game is in front (Settings, Bindings, on by default): typing in Discord or another app no longer reaches the games.
Fixed
- A game lost frames while another one was in front. Windows gives the window in front more of the PC. Couchlink now takes the focus off a game copy whenever one is clicked into, so every copy runs alike (not when someone plays on the desktop's own keyboard and mouse).
- Couchlink's cursor showed on top of other apps after switching away from the game. It now stays with its game window.
- Checking whether a player's own Steam runs took up to a minute on some PCs, which also slowed starting games with it. It is instant now.
The full list of changes is in CHANGELOG.md.
Good to know
- Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.12
Couchlink 0.1.12: games with online-fix now play on each player's own Steam account.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.12-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux: Couchlink-0.1.12-linux-x64.tar.gz below. Unpack it and run ./couchlink.
Fixed in 0.1.12
- Games with online-fix play on each player's own Steam account. A game whose folder has online-fix (
OnlineFix64.dllorOnlineFix.ini) talks to the Steam running on the PC, so before every copy ended up on player 1's account. Couchlink now treats such a game like a Steam game: every player who has their own Steam account set up (Players, "Own Steam account") plays on it, under the app id online-fix names.
The full list of changes is in CHANGELOG.md.
Good to know
- Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.11 (alpha)
Couchlink 0.1.11: keyboards and mice can be moved between players while games run, and Linux fixes for Proton games and extra Steam accounts.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.11-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux (alpha): Couchlink-0.1.11-linux-x64.tar.gz below. Unpack it and run ./couchlink.
Fixed in 0.1.11
- Changing keyboards and mice while games run (Windows). Moving a keyboard or mouse to another player, or swapping players, in the hub now reaches the running games straight away, in every game. Before, each copy kept the devices it started with. A player whose copy started without any keyboard or mouse of their own gets the new one from the next start; the hub says so. Controllers still keep the ones they started with.
- Linux: Proton games find their settings. For a Windows game that runs through Proton, a recipe's Documents and AppData folders are now the ones in the game's Steam prefix instead of the home folder. This fixes the Fallout: New Vegas co-op recipe saying its setup is not done on Linux.
- Linux: each player's copy starts with the game's settings. Every player's own Proton prefix now starts with a copy of the Documents, AppData and Saved Games folders from the game's Steam prefix, so games that need files there no longer start without them.
- Linux: Steam for player 2 and up. Each extra player's Steam now gets its own user name and its own config, data, state and cache folders, which should stop it looping between "setting up runtime" and "updating" and then closing.
The full list of changes is in CHANGELOG.md.
Good to know
- This is an alpha. Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.10 (alpha)
Couchlink 0.1.10: virtual screens for games that only run full screen, the host's own keyboard and mouse in any game, and a plain split screen for every recipe game.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.10-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux (alpha): Couchlink-0.1.10-linux-x64.tar.gz below. Unpack it and run ./couchlink.
New in 0.1.10
- Virtual screens (Windows). In the screen editor, "Show games as" now offers Virtual screens next to Windows. Each player gets a virtual monitor sized exactly to their part of the screen, so games that only run full screen play properly in split screen. It adds about a frame of delay. The first time, the screen editor offers to install the free Virtual Display Driver (MIT) with one Windows prompt; the download is checked before it is installed. The virtual monitors only exist while a session runs, and the driver's settings are put back afterwards, also after a crash.
- Host keyboard and mouse. A keyboard or mouse that no player has now works in whichever game the mouse pointer is over, for example to change a game's settings. If every keyboard belongs to a player, press Ctrl+Shift+K to hand all of them to the game under the pointer, and again to give them back. Both are in Settings, where you can change or turn them off.
- Start without the recipe. Every game with a recipe also offers a plain split screen: the game's own program, one copy per player, without the recipe's mods or setup. Use it with another co-op mod you installed yourself, or to play split screen without one. It works before the recipe's setup is done too.
- Nitrox finds more installs. The Subnautica (Nitrox) recipe looks in more folders, and when it cannot find Nitrox it says where to unzip it.
- Make your own recipe. A new tab under "Find more" has a prompt to copy into an AI coding agent, which then writes and checks a recipe for a game on your PC.
The full list of changes is in CHANGELOG.md.
Good to know
- This is an alpha. Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
- The Linux download was built from commit e5001f3. It differs from the v0.1.10 tag only in one unit test, which now runs on Windows only; the program itself is the same.
Couchlink 0.1.9 (alpha)
Couchlink 0.1.9: the keyboard player's keys stay out of the controller player's game, and a game's settings file no longer stops the start.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.9-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux (alpha): Couchlink-0.1.9-linux-x64.tar.gz below. Unpack it and run ./couchlink.
Fixed in 0.1.9
- Windows: with one player on a controller and another on keyboard and mouse, the keyboard steered both games. The controller player's copy read the keyboard directly. Now, as soon as one player has a keyboard or mouse, the other players' copies no longer see it. With nobody on a keyboard, every copy still gets the PC's keyboard and mouse, as before.
- Some games failed with "does not exist yet (start the game once so it makes the file)", even after playing the game normally. That happened when Couchlink was tried before the game had ever been started: each player's save folder was made empty and never picked up the settings file the game made later. Now Couchlink takes that file from your own save folder when a player's folder lacks it.
- When a game has not made its settings file yet at all, Couchlink now starts it anyway, and sets the window size from the next start on, instead of refusing to start.
New in 0.1.9
-
Games that only join through a Steam invite now get an overlay to send it. A recipe can ask for the experimental build of the Steam emulator (gbe_fork), which has its own overlay: press Shift+Tab in the host's game, right-click the other player and invite them; the other copies accept by themselves. Orcs Must Die! 2 uses it.
-
"Save full report" now also says, for each player, which ways the game reads controllers and keys. If a controller or keyboard reaches the wrong player, press it while the game is still open and send us the file.
Good to know
- This is an alpha. Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.8 (alpha)
Couchlink 0.1.8: one controller no longer steers every copy.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.8-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux (alpha): Couchlink-0.1.8-linux-x64.tar.gz below. Unpack it and run ./couchlink. Nothing changes on Linux in this version.
Fixed in 0.1.8
- Windows: with one player on a controller and another on keyboard and mouse, the controller moved both players in some games. Those games read controllers through Windows.Gaming.Input, which lists every controller on the PC. Each copy now gets only its own controller there too: Couchlink switches Windows.Gaming.Input and GameInput off in the copies, and the game falls back to XInput, where each copy already sees only its player's controller.
- If a controller still reaches two copies, turn off Steam Input for the game: in Steam, the game's Properties, Controller, "Disable Steam Input".
Good to know
- This is an alpha. Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.
Couchlink 0.1.7 (alpha)
Couchlink 0.1.7: "Try it" starts the right program, and you can pick another one.
Already on 0.1.4 or newer? Update from inside the app: the Update button next to the version, or Settings, General, Updates.
Windows: Couchlink-0.1.7-windows-x64.zip below. Unzip it anywhere and run couchlink.exe. Windows 10 and 11, 64-bit.
Linux (alpha): Couchlink-0.1.7-linux-x64.tar.gz below. Unpack it and run ./couchlink.
Fixed in 0.1.7
- "Try it" on a Steam game now starts the same program Steam's Play button starts. Before, Couchlink guessed the biggest program in the game's folder and sometimes picked the wrong one. With Couchlink unzipped inside a game's folder, it even started Couchlink's own service, which stopped at once with "exited with code 3".
- For games from other stores and your own games, the guess now prefers a program named like the game, and never picks Couchlink's own files.
New in 0.1.7
- Click a "Try it" game to see which program it starts. If that is not the game, press Change and pick the right one from the game's folder, or any file inside it with "Pick a file". "Let Couchlink pick" undoes it.
Good to know
- This is an alpha. Tell us how your games run on the Co-op Anything Discord; Settings, General, Logs has "Save full report" for when something breaks.
- Couchlink works with any installed copy of a game.
- A macOS build is in the works.