forked from aa/chiaki
1
0
Fork 0
Chiaki Vita port
 
 
 
 
 
 
Go to file
AAGaming c285372f8e
fix psnid setting
2023-02-23 12:35:22 -05:00
.builds Update and fix CI 2022-03-26 18:33:15 +01:00
.vscode add cpp properties 2023-02-23 12:35:04 -05:00
LICENSES Relicense under AGPL v3 only + OpenSSL (#412) 2020-12-27 16:46:09 +01:00
android Force-disable Lib Decoders on Android 2021-02-02 10:59:26 +01:00
assets Add TouchpadView to Android 2021-01-15 14:37:48 +01:00
cli Make CLI Wakeup work for PS5 2021-04-11 18:11:35 +02:00
cmake Update and fix CI 2022-03-26 18:33:15 +01:00
doc Update platform-build.md with additional libraries for Fedora (#336) 2020-10-19 15:44:06 +02:00
gui Fix stream command not working for second or later host in configuration 2022-03-22 11:38:47 +01:00
lib remove stop_discovery 2022-07-16 01:01:15 -04:00
scripts fix video, add input, attempt audio 2022-04-24 19:25:27 -04:00
setsu Enable Setsu in AppImage 2021-01-15 22:01:35 +01:00
switch vita: Make discovery result display work, plus config parsing/writing 2022-04-13 17:33:32 -04:00
test Fix some Warnings 2021-01-01 11:09:13 +01:00
third-party vita: Make discovery result display work, plus config parsing/writing 2022-04-13 17:33:32 -04:00
vita fix psnid setting 2023-02-23 12:35:22 -05:00
.appveyor.yml Fix AppVeyor 2021-04-11 18:11:35 +02:00
.gitattributes Add some linguist attrs 2019-10-26 11:26:53 +02:00
.gitignore Preliminary PS5 Streaming 2020-12-28 16:43:08 +01:00
.gitmodules vita: switch to princesslog, try to fix video 2022-04-18 18:03:37 -04:00
CMakeLists.txt Port threading.c to PS Vita, includes breaking API change. 2022-04-13 17:32:42 -04:00
COPYING Relicense under AGPL v3 only + OpenSSL (#412) 2020-12-27 16:46:09 +01:00
README.md Version 2.1.0 2021-01-15 22:35:50 +01:00

README.md

Chiaki Logo

Chiaki

Disclaimer: This project is not endorsed or certified by Sony Interactive Entertainment LLC.

AppVeyor Build status builds.sr.ht Status

Chiaki is a Free and Open Source Software Client for PlayStation 4 and PlayStation 5 Remote Play for Linux, FreeBSD, OpenBSD, Android, macOS, Windows, Nintendo Switch and potentially even more platforms.

Screenshot

Project Status

As all relevant features are implemented, this project is considered to be finished and in maintenance mode only. No major updates are planned and contributions are only accepted in special cases.

Installing

You can either download a pre-built release or build Chiaki from source.

Downloading a Release

Builds are provided for Linux, Android, macOS, Nintendo Switch and Windows.

You can download them here.

  • Linux: The provided file is an AppImage. Simply make it executable (chmod +x <file>.AppImage) and run it.
  • Android: Install from Google Play, F-Droid or download the APK from Sourcehut.
  • macOS: Drag the application from the .dmg into your Applications folder.
  • Windows: Extract the .zip file and execute chiaki.exe.
  • Switch: Download the .nro file and copy it into the switch/ directory on your SD card.

Building from Source

Dependencies are CMake, Qt 5 with QtMultimedia, QtOpenGL and QtSvg, FFMPEG (libavcodec with H264 is enough), libopus, OpenSSL 1.1, SDL 2, protoc and the protobuf Python library (only used during compilation for Nanopb). Then, Chiaki builds just like any other CMake project:

git submodule update --init
mkdir build && cd build
cmake ..
make

For more detailed platform-specific instructions, see doc/platform-build.md or switch/ for Nintendo Switch.

Usage

If your Console is on your local network, is turned on or in standby mode and does not have Discovery explicitly disabled, Chiaki should find it. Otherwise, you can add it manually. To do so, click the "+" icon in the top right, and enter your Console's IP address.

You will then need to register your Console with Chiaki. You will need two more pieces of information to do this.

Obtaining your PSN AccountID

Starting with PS4 7.0, it is necessary to use a so-called "AccountID" as opposed to the "Online-ID" for registration (streaming itself did not change). This ID seems to be a unique identifier for a PSN Account and it can be obtained from the PSN after logging in using OAuth. A Python 3 script which does this is provided in scripts/psn-account-id.py. Simply run it in a terminal and follow the instructions. Once you know your ID, write it down. You will likely never have to do this process again.

Obtaining a Registration PIN

To register a Console with a PIN, it must be put into registration mode. To do this on a PS4, simply go to: Settings -> Remote Play -> Add Device, or on a PS5: Settings -> System -> Remote Play -> Link Device.

You can now double-click your Console in Chiaki's main window to start Remote Play.

Acknowledgements

This project has only been made possible because of the following Open Source projects: Rizin, Cutter, Frida and x64dbg.

Also thanks to delroth for analyzing the registration and wakeup protocol, grill2010 for analyzing the PSN's OAuth Login, as well as a huge thank you to FioraAeterna for giving me some extremely helpful information about FEC and error correction.

About

Created by Florian Märkl

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Additional permission under GNU AGPL version 3 section 7

If you modify this program, or any covered work, by linking or combining it with the OpenSSL project's OpenSSL library (or a modified version of that library), containing parts covered by the terms of the OpenSSL or SSLeay licenses, the Free Software Foundation grants you additional permission to convey the resulting work. Corresponding Source for a non-source form of such a combination shall include the source code for the parts of OpenSSL used as well as that of the covered work.