Commit graph

33 commits

Author SHA1 Message Date
sergystepanov
1fcf34ee02
Add new Libretro core manager module (#249)
* Add initial external configuration files support.

These external configuration files allow changing app params at the runtime without recompilation.

* Find config files with specified directory in the tests

* Add aspect ratio recalculation config

* Clean code

* Add new configuration files into the Docker container image

* Add shared core and config paths into the Libretro cores config

* Split ROM <-> Emulator mapping between workers and coordinators

* Extract coordinator config

* Add shared worker/coordinator server config

* Add explicit embedded shared worker/coordinator struct for auto-config reflection fill

* Remove default stun/turn servers from the config

* Extract and add new ice servers config structures

* Update coordinator config params

* Add auto emulation lib loader based on the runtime OS/arch

* Update configuration structures

* Remove shared config embedding

* Add missing network config params

* Add game library external config

* Remove unused config parameters

* Add WebRTC encoder external options

* Add user dir for config search

* Update config loader

* Update config

* Add generic downloader with Grab lib implementation

* Add a simple file downloader backed by the grab lib

* Add initial Libretro core repos abstractions

* Expose compression info for Libretro cores repository records

* Add pipe-based abstract file downloader

* Refactor downloader

* Refactor Libretro repos

* Add worker coresync stubs

* Add multiprocess-safe HTTP-based core manager implementation

* Remove Libretro cores from the repo

* Keep custom N64 cores in te repo for now

* Add Libretro cores repo select in the config

* Fix http manager repo switch

* Cleanup code

* Add greedy Libretro lib loader

* Don't crash when arch map is not set

* Disable dynamic recompiler for pcsx core by default since it's could cause a crash

* Use global Libretro dynalib handler

* Shorten the default Libretro cores store path

* Update zip extractor implementation

* Remove explicit fig lib field markings

* Add config note to the README file

* Add GitHub repo backend for the core downloader

* Fix GitHub repo param list in the manager factory

* Add env variables reader with CLOUD_GAME prefix

* Re-optimize ice server info struct custom marshaler
2020-12-31 13:24:27 +03:00
sergystepanov
3837e020cd
Enable legacy Github Docker Registry publishing workflow (#247)
* Update Docker publishing script
2020-11-25 00:22:37 +03:00
sergystepanov
b9dc56d85a
Add initial xvfb system dependency for OpenGL cores support in the cloud environment (#226) 2020-09-16 23:26:06 +08:00
Sergey Stepanov
ce5f1427f0
Add GL Mesa lib into the main Docker image 2020-06-17 14:35:41 +03:00
Sergey Stepanov
8b27445458
Integrate SDL2 into CI / Project 2020-06-17 14:00:50 +03:00
sergystepanov
9d3e9c1a3b
Initial Docker rewrite (#190)
* Initial Docker rewrite

* Add rebuild

* Up

* Up

* Up

* Pre-release

* Pack assets with ext games

* Remove Makefile Docker because it's broken on Windows and a dup

* Add default container name

* Update docker-compose.yml

* Add app binaries into the system bin folder

* Update

* Update
2020-06-09 20:38:43 +08:00
giongto35
59d4a3d9c2 update naming 2020-03-22 23:33:12 +08:00
giongto35
2e932ffff7
Update readme spawn docker (#89)
* Update README

* Update Readme typo
2019-09-22 04:12:38 +08:00
giongto35
40b3ca9d9f Update README + run Docker 2019-09-18 04:17:21 +08:00
giongto35
4745cf0f6e Update cores 2019-08-03 16:23:55 +08:00
giongto35
c7caa87624 Integrate with RetroArch to have Universal emulator. (#64)
* WIP

* Add libretro

* Update input retro

* Update cloud retro input:

* Integrate libretro remove GL

* Launch emulator by game type

* Save and load

* Update deeplink to game directly

* Done channel for naemulator

* each server handle only one session

* Only provide available clients

* Emulator based on game

* Remove all OpenGL related

* Retroarch audio

* Audio encoding mono

* Experiment with libretro audio

* Audio without datachannel

* Audio opus internal

* Remove unnecessary code

* Resampled

* Limit time frame

* Start Room and Audio by game

* Dynamic video image allocation

* Dynamic Video buffer allocation based on video resolution

* Move encoder to room

* width and height from emulator

* Padding images to fix multipler of 64

* Remove OpenGL

* Remove Open AL

* Remove OpenGL from Go mod

* Move away nanoarch logic in naemulator

* Remove unecessary savefiles.go

* Optimize Docker for caching

* Update ReadME

* Update README to introduce Retro

* Update README

* Update README.md
2019-08-02 22:06:26 +08:00
giongto35
48d6ddbf6d Use go mode + use pion v2 (#39)
* Update webrtv2

* Update gomod

* Update run local

* Update docker

* Update mario 3 rom

* Update script

* Throw error when overlord cannot launch
2019-05-25 12:10:04 +08:00
giongto35
2b7671c26b Use different uuid package 2019-05-24 23:56:03 +08:00
giongto35
c08daf2151 update run script 2019-05-05 21:11:37 +08:00
trichimtrich
79b0337ee8 merge master 2019-04-23 03:36:31 +08:00
giongto35
281e044a7a Add heartbeat 2019-04-21 23:57:59 +08:00
giongto35
554a664192 Update audio package 2019-04-14 02:07:57 +08:00
hasagi
f6d1a8b2c7 reconstruct debug frontend, reduce input in 8 bit, save and load in websocket 2019-04-12 07:16:46 +07:00
giongto35
4a79e95142 Update pion package 2019-04-07 02:12:10 +08:00
giongto35
e9e0659a75 Merge Tri / Websocket + UI Improve 2019-04-07 01:03:03 +08:00
trichimtrich
e2ca0e4db9 remove crashed games, finish game select, fix dockerfile 2019-04-06 18:12:43 +08:00
trichimtrich
9d8f90a7c7 remove candidate, add limit frame, add multi game 2019-04-06 05:21:16 +08:00
giongto35
c3d83414cc Change to cloud name 2019-04-06 02:22:15 +08:00
giongto35
7cbc000e8d Update docker file 2019-04-05 00:54:29 +08:00
giongto35
a0fcdd8b43 Update dockerfile 2019-04-05 00:51:11 +08:00
giongto35
d43ae386fe Remove audio + fix DOcker file 2019-04-05 00:27:09 +08:00
giongto35
9f33e7aac7 Update docker file to 1.12 2019-04-04 23:12:36 +08:00
giongto35
12e762100c Add vpx 2019-04-04 22:45:17 +08:00
giongto35
113a848e12 Update Dockerfile 2019-04-04 02:51:51 +08:00
giongto35
475db9e3ab Update docker file 2019-04-04 02:42:03 +08:00
giongto35
141e092b67 add screenshot package 2019-04-04 02:33:41 +08:00
giongto35
948bbbddf7 Remove gl 2019-04-04 02:10:29 +08:00
giongto35
8c52af89f9 remove poll events 2019-04-03 23:44:39 +08:00