

LibreRemotePlay
[!IMPORTANT]
The software for the moment is very experimental, may not always work an all systems. If you find a bug you can report it on issues page or discord.
An open source, free (as in freedom) and P2P alternative to Steam Remote Play
Use cases โจ
Download ๐ฆ
Resources ๐
Videos ๐น
(Note that videos may show older/beta versions of the APP and could have bugs that are already fixed in the latest version)
How to use
https://github.com/user-attachments/assets/f4a412fa-f403-4429-85fb-9c1e74bff458
Features ๐งฉ
- Portable
- Simple & Modern UI
- Interactive Tutorial
- Peer-to-Peer (WebRTC)
- Groups
- Remote Video Streaming
- Browser Client
- Localization (translation to multiple languages)
- Support for custom STUN & TURN servers
- Keyboard (Experimental)
- Toogle Devices
- EasyConnect
OS Support ๐ป
Windows |
Linux |
MacOS |
Browser (Only Client) |
โ |
โ |
โ (No MacOS to test/develop) |
โ (Known Issues with Safari) |
Gamepad Support ๐ฎ
PC Controller (XInput/DirectInput) |
Xbox Controller (XInput) |
PlayStation Controler |
โ |
โ |
โ (But you can achieve emulating a Xbox Controller) |
Available Languages ๐
English |
Spanish |
Galician |
Russian |
French |
Other languages |
โ |
โ |
โ |
โ |
โ (@Zorkyx22) |
โ Looking for contributions |
Self Hosting โ
There is no way to self-host the infrastructure of LibreRemotePlay because it has no backend. But instead you can self-host if you want the TURN & STUN servers and then add them to the config or the EasyConnectServer.
-
If you want to self-host a TURN/STUN server you can try Coturn. (This is only an example, you can choose other STUN/TURN implementations)
-
Also you can host the Web version (but it is only frontend, so is not very usefull)
-
If you want to self-host an EasyConnectServer you can follow the docs of EasyConnectServer repo, this service is also packed in the desktop app and run in app startup but instead you can launch it along. EasyConnectServer is a signaling server that makes code passing in an automatic way.
Run Dev
Prerequisites
How to
Go to the root project folder and run
-
Full App :
$ task dev-all
-
Frontend:
$ task dev-front
Build
Prerequisites
How to
Go to the root project folder and run
finally go to the build/bin folder and your executables will be there.
[!Note]
Please note the supported platforms in the table
Contributting ๐ค
If you are interested to contribute to this project you can follow this guide
Acknowledgements โค
These projects are making LibreRemotePlay a reality.
Thanks to jbdemonte/virtual-device
jbdemonte/virtual-device is the source of magic that enables LibreRemotePlay to generate virtual gamepads on Linux, is very fast and made in pure Go.
Thanks to the ViGEm project
ViGEmBus is the source of magic that enables LibreRemotePlay to generate virtual gamepads on Windows. We embed ViGEmBus Installation Wizard and ViGEmBus Client DLLS within the executable for Windows
Thanks to Wails
Wails makes easy creating desktop experiences using Go and Web tecnologies.
Thanks to pion/webrtc
Pion/Webrtc is a implementation of WebRTC made in pure Go, it enables LibreRemotePlay to use WebRTC in a crossplatform way.
Thanks to robotgo
robotgo makes easy controling/simulating a keyboard (and anything related to desktop) using a simple syntax in Go.
Did you like the project ๐ ?
You can give us a star and join our Discord Community, the project is always looking for feedback :)
Star History
Here you can see how fast the community is growing
