Code Monkey home page Code Monkey logo

retrodeck's Introduction

RetroDECK Icon Xargon's GitHub stats

retrodeck's People

Contributors

anthonycaccese avatar brazmann avatar felipecrs avatar gabeeeboii avatar gorian avatar hew-ux avatar icenine451 avatar jiannazzone avatar lazorne avatar lx32 avatar nicjansma avatar stefanonewesis avatar superstarlife avatar tsrberry avatar wallk avatar xargonwan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retrodeck's Issues

PCSX2-QT

Due to its own limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button.
In order to quit must be pressed:

STEAM -> PCSX2 -> (X) CLOSE WINDOW, and the state is not automatically saved.

PCSX2 team suggested to try the "new GUI" that allows to configure the controller, this must be resarched.

  • Updated in the manifest + included pcsx2-qt
  • configure the QT + hotkeys
  • include the new configs
  • Check if pcsx2-qt needs the workaround of pcsx2 (on flathub), and if not try to disable it in pcsx2
  • determine if the non-qt version is still needed, if not, delete it from the manifest

Add: MAME - Standalone

TODO:

  • Complete #506
  • Add emulator to the manifest
  • Check if the System is present in es-configs/es_find_rules.xml and enable it
  • Enable system/emulator on ES-DE es-configs/es_systems.xml
  • Add open emulator entry in tools/configurator.sh
  • Test the emulator
  • Configure the emulator
  • edit or symlink the saves folders
  • Include emulator configurations
  • Add emulator preparation\reset into functions/prepare_emulator.sh
  • Add emulator reset entry in tools/configurator.sh
  • Expose mods/textures folders
  • Add the inputs and map them to the CUP

MAME specific:

We need to initialize the dir in the init script
mkdir -p /var/config/mame

NOTE: emu-config/mame is /var/config/mame

Script for BIOS checking

Create a script to check the presence and consistency of the bios files and prompt the users which ones are damaged or missing.
The bioses can be mandatory or optional.

Batocera already made it, it can be a good start.

Logic error while uninstalling reinstalling from flathub

This is what happens
If you install retrodeck and then uninstall it with he removal of .var /app / retodeck configurations
But keep the /home/RetroDeck folder (for the roms/BIOS/ect..)

The next times you install RetroDeck it will not launch since it can't find the emulationsstation configuration after the reinstall

RetroDeck can't find SD Card

Got my steam deck on Wednesday running 3.2.

Retrodeck says it can't find the sd card.

I formatted the sd card in the deck gui.

Mount point appears to be /run/media/mmcblk0p1 - which looks correct here - https://github.com/XargonWan/RetroDECK/blob/main/retrodeck.sh#L7

I'm happy to help troubleshoot.

Exact Error is:

SD Card is not readable.
Please check if it's inserted or mounted correctly and run RetroDECK again.

I've checked and I can move games on or off of the card in steam and I can get there in bash. In Dolphin (the file browser, not the emulator), it is labeled as Primary.

Discover store crashing when clicking on installed tab.

Receiving this error when starting up the Discover store and trying to access my installed tab, resulting in a crash. Error updating appstream2: No such ref 'appstream2/x86_64' in remote retrodeck-origin; Error updating appstream: No such ref 'appstream/x86_64' in remote retrodeck-origin

Default PCSX2 emulator not working

Tested on latest discover version (0.4.3b)

When launching any (of my number test so far) games on Playstation 2, retrodeck says launching game, goes black, and then the game selection menu reappears a second later.

Changing the emulator to PCSX2 [STANDALONE] fixes this issue, and games launch. Changing back to PCSX2[DEFAULT] returns the bug where games do not launch.

MelonDS Standalone Video Performance Issues

I've been attempting to emulate dsiware and the easiest way is through melonds. I've gotten all the files and the system boots and everything, however video controls do not seem to work. The program will not allow me to resize the render size of the game. A bigger issue is that the fps limiter does not seem to function either; all games run at like 150/60fps making everything crazy fast. There is also some crackling in the audio, although that may just be poor emulation itself.

I once again installed melonds as a separate flatpak and can confirm there are no issues in the standalone build. If anyone can confirm the same issue, that would be great. Thanks!

Add: Vita3K - PSVITA

https://vita3k.org

TODO:

  • Add emulator to the manifest
  • Check if the System is present in es-configs/es_find_rules.xml and enable it
  • Enable system/emulator on ES-DE es-configs/es_systems.xml
  • Add open emulator entry in tools/configurator.sh
  • Test the emulator
  • Configure the emulator
  • edit or symlink the saves folders
  • Include emulator configurations
  • Add emulator preparation\reset into functions/prepare_emulator.sh
  • Add emulator reset entry in tools/configurator.sh
  • Expose mods/textures folders

Vita3K specific:

  • Download firmware similarly to the PS3
  • Install the Firmware Font Package: Vita3K/Vita3K#2977
  • Add even the downloading of the font package to the previous script
  • File > Update firmware, can we automate it via cli?
  • Modules Mode > Automatic
  • Add PSVITA firmware + fonts in the Configurator similarly to RPCS3.

emulator configs:

  • copy emu-configs/vita3k/ux0/user/00/user.xml in retrodeck/bios/Vita3K/Vita3K/ux0/user/00/user.xml

Vita3K pkg installer:
Is it possible to install pkg via cli by calling:

    --pkg TEXT Needs: --zrif            Path of app (in .pkg format) to install
    --zrif TEXT Needs: --pkg            zrif for the app (in .pkg format)

We could add a Configurator function to install every game, but the user should provide the zrif

0.3.0b Update broke the installation

Had the old Xargon-RetroDeck installed. Removed it, downloaded the new net.retrodeck.retrodeck flatpak and installed it. Now upon start it says "/var/config/emulationstation" does not exist. There isn't even a var/config dir. How to fix that? Reinstall doesn't help at all.

Doesn't seem to actually work

Hi, interesting idea for a tool but doesn't seem to work.

I went through the setup, followed the instructions and picked SD Card for rom storage. It didn't seem to create any folders, so I made the retrodeck/roms folders on it myself. Put two roms in and they don't appear in the All Games menu, literally all it shows is RetroArch and when I try to run that, it gives a warning about changing config and if I hit Yes....nothing happens, it doesn't load RA either.

How is this supposed to work?

Configure RPCS3 (PS3)

TODO

  • Finalize configuration
  • Create folders during emulator init
  • Create firmware updater script
  • Add script to Configurator
  • WIKI: add "How to install PSN games" article
  • Create the descriptive file based on the wiki entry (linking it)
  • Script to move the old user saves and stuff

Folder structure

These must be created by RetroDECK:

bios/rpcs3/dev_hdd0
bios/rpcs3/dev_hdd1
bios/rpcs3/dev_flash
bios/rpcs3/dev_flash2
bios/rpcs3/dev_flash3
bios/rpcs3/dev_bdvd

Example of dev_hdd0 folder structure:

dev_hdd0
├── game
├── home
│   └── 00000001
│       ├── exdata
│       │   └── EP9000-NPEA00275_00-00000020120613AR.rap
│       ├── savedata
│       │   └── NPEA00275-AUTO-
│       │      ├── ICON0.PNG
│       │      ├── PARAM.SFO
│       │      └── SYS-DATA
│       └── trophy
│           └── NPWR01344_00
│               ├── ICON0.PNG
│               ├── TROP000.PNG
│               ├── TROP001.PNG
│               ├── TROP002.PNG
│               ├── TROP003.PNG
│               ├── TROP004.PNG
│               ├── TROP005.PNG
│               ├── TROP006.PNG
│               ├── TROP007.PNG
│               ├── TROP008.PNG
│               ├── TROP009.PNG
│               ├── TROP010.PNG
│               ├── TROP011.PNG
│               ├── TROP012.PNG
│               ├── TROPCONF.SFM
│               └── TROPUSR.DAT
└── photo

photo must be a symlinked retrodeck/screenshots
00000001 must be a symlinked retrodeck/saves/ps3/rpcs3
dev_hdd0/home/userid/trophy/networkID/TROPUSER.DAT stores trophy progress

it would be cool if retrodeck had a rom/bios scanner like retro arch

it takes long to sort all the roms because many applications have slightly different names or folder structures. It would be cool if i could put my rom collection in on folder and retrodeck automatically detects witch rom contortionists o witch emulator and sorts it for me. retro arch has also the feature. it would improve the user experience.

Yuzu not seeing prod keys on sd card

Tried different firmware and prod keys files, but it refuses to launch games on yuzu. Tried creating correct directories in both retrodeck folders, didn't help. However emudecks yuzu worked instantly with the same files. Sorry for incorrect title, it's not Yuzu not seeing prod files on sd card, it's Yuzu not seeing prod key files when game library set to sd card.

Script for cleaning miximages

In order to beautify the themes the mix images should be removed in order to fall back on the screenshots.

This will not be needed when ES-DE 2.0 will be integrated with the new themes engine.

RetroAchievements login tool

Create a script where the user can input the RetroAchivements ID and password.

This function may eventually be added in ES-DE in the future.

  • created script
  • include it in tools section
  • add the retroarch.cfg location

Extend it to Standalones:

  • Duckstation
  • PCSX2-QT
  • Dolphin?
  • Others?

Custom ROMs path

In this moment it's possible to select a custom rom path only selecting "SD Card" in the first setup, and only if the default SD Card path is not found.

Would be good to add the option to select a custom path regardless.
Maybe by adding a third button in the zenity dialog or similar?

Version name is broken in cooker

If the version is cooker it should execute a scriot to determine the version name, but the script is broken.
It works fine instead with the main version as it's manually input.

VERSION="cooker"
if [[ $VERSION == "cooker" ]];
then
VERSION=$(git describe --tags | tr - .)
fi
echo $VERSION >> ${FLATPAK_DEST}/retrodeck/version
cat ${FLATPAK_DEST}/retrodeck/version

PPSSPP (SA) - Invisible/mangled UI text

Hello. I downloaded the latest stable (https://github.com/XargonWan/RetroDECK/releases/tag/0.4.1b) version of RetroDECK and I tried running PPSSPP to play Metal Gear Solid: Peace Walker.

All the UI text was invisible, so I looked online and I found this: https://docs.libretro.com/library/ppsspp/
I confirmed this is most likely the issue because the standalone version of PPSSPP I used by going in the tools menu works without any issue.
Therefore, after checking around this project's wiki and past discussions, I found out that the bios folder is symlinked to RetroArch's system folder, therefore I followed the instructions by placing the PSP assets in a new folder within bios called PPSSPP and I tried to run the game again.
The result is that the text is now visible (except some button labels), but it is mangled and completely unreadable:
IMG_20220627_220754

  1. What else could I be missing?
  2. Can this process be automated since the assets file are easily available on a Github public repository and PPSSPP standalone already has them without requiring this manual download?

Thank you! If I find out what's going on and if it can actually be automated, I might try PRing it myself :)

Flatpak Submodules are failing to build (certificate failures)

I had to manually build some libraries instead of relying on the shared-modules because the needed files cannot be retrieved by flatpak-builder.

Failed to download sources: module gudev: server certificate verification failed. CAfile: none CRLfile: none

https://github.com/XargonWan/RetroDECK/runs/6842156938?check_suite_focus=true#step:7:1749

I found a workaround by replacing some of them temporarly with a mirror.

More info there: https://gitlab.com/gnutls/gnutls/-/issues/1335

I am adding the various workarounds after those lines:
https://github.com/XargonWan/RetroDECK/blob/cooker/net.retrodeck.retrodeck.yml#L107-L109

Some emulators are not regenerating shaders on game launch

In a normal scenario Citra regenerate shaders when a game launches with a little loading screen.
This does not happend on both the core & stand alone and constant game freezes from 60 to 0 when new shaders need to load in.
I have tried to turn of Disk Shader Cache it does help for some games but tanks the performance in others.

Dolphin issues (GC/Wii)

Seems like there is an issue with Dolphin config, It will be addressed in the next version.
Meanwhile you can temporary fix it in this way:

It is working now, I had to change input to xbox360 pad 0 in dolphin gamecube options (was set to virtual pointer 2 or something) and map every key. All keys were mapped to keyboard inputs. I think in general the dolphin settings where not saved, as audio was also disabled. Same for the wii controls.

Thanks /u/mildenberg on Reddit for the troubleshooting.

installed and now discover is broken

get errors on opening after trying to install retrodeck and cannot access the install menu to remove it... what is going on and how can you fix this? broken

Dolphin is not preconfigured correctly on first install

Dolphin is not rightly configured when you launch it for the first time after installation from flathub from within
EmulationStation

Both Wii and GC controller profiles are missing and are not matched to anything.

The Audio device is also set to Null that causes it to have no sound.

I have manually fixed the problems but it would be great if controller profiles where mapped out of the box.

Remove the warnings in the manifest

This is a non blocking issue, but sooner or later I have to figure out how to sanify these warnings during the build process:

(flatpak-builder:2): Json-WARNING **: 09:49:38.471: Failed to deserialize "modules" property of type "gpointer" for an object of type "BuilderModule"
(flatpak-builder:2): Json-WARNING **: 09:49:38.472: Failed to deserialize "build-options" property of type "BuilderOptions" for an object of type "BuilderModule"

Reduce RetroDECK into a single manifest

Make the manifest download everything instead of providing all the files and sub-modules.

  • the modules must clone their repo in order to have all their files available

  • similarly, all the RetroDECK files should be downloaded from the repo based on the branch

GZDoom parser

In AmberELEC we did some script to parse the .doom and .ecwolf files to run GZdoom with mods.
I wish to port them on RetroDECK to use the same logic in order to create compatibility between the two systems.

Doom:
#469

Suggestion: Add / merge Batocera's advanced options per system menu

One thing that Batocera does really well is expose the user with the advanced features that are hidden from a normal user right in the EmulationStation UI from both RetroArch and the native emulators.

So you can change the internal resolution of the system, add filters, scalers, graphical API ect.. without having to go into retroarch / the stand alone emulator.

These are unique per emulator and system menu you are in.

It's just neat.

PICO-8 roms folder should be double checked

I found another bbs folder inside the pico-8 roms folder, recusrive linking?
Must check

dir_prep "$roms_folder/pico-8" "$rdhome/bios/pico-8/bbs/carts" #this is the folder where pico-8 is saving the carts

Moreover after ES-DE 1.2.5 the rom folder should be renamed from pico-8 to pico8

Add borders and shaders

I wish to add borders and shaders for the systems that needs it, like the handheld consoles mainly but actually for all the systems that got pretty big black bars.

The shader should resemble the original console screen so the feeling will be like having it in your hand.

In ES-DE there is no way to add a toggle to enable or disable this bezel, so it will enabled by default for the moment.
In the future that toggle is planned.

For the moment we may even thing about a tool that can enable or disable these bezels by doing a simple sed in the retroarch.cfg.

This is a concept image of what I wish to achieve.
gb

Suggestion: Support for symbolic linked folders tool

Dual roms folders:
Right now you can only choose to install the ROMS folder either on the SDcard or internal SSD.
I think we need an option for both at the same time. Since there is a risk you are running out of space on one this would allow you to more storage space to utilize.
If you manually create the opposite roms folder from the installation, RetroDECK crashes.

Symbolic linked folders:
I have tried to put roms in another folder and symbolic link that folder into the corresponding roms folder. That does not work and it crashes RetroDECK.
How ever if you symbolic link the individual roms into the corresponding roms folder it works.
If this can be fixed it would allow users more freedom on where to put their roms.

Example:

  • PS2Game.iso in /home/ps2games/ symbolic linked into mnt/exteralSD/retrodeck/roms/ps2/link - works
  • /home/ps2games/ symbolic linked folder into mnt/exteralSD/retrodeck/roms/ps2/link - does not work

Yuzu freezes in some situations

Yuzu makes RetroDECK freeze in some situations, like if the rom is a bad dump.

Not sure if it's because the game mode, a yuzu bug or else.

To be resarched.

Suggestion: Unify emulator hotkeys and make a steam deck controller profile

Unified hotkeys:
All the standalone emulators right now have different shortcuts for various tasks.
Example:
Close the program is diffrent in all standalone emulators.

If everyone was unified to the same keyboard shortcut let's say V
Then RetroDECK could create a custom controller profile on the steamdeck and upload it mapped to some combination or backbuttons.

A unified profile what it could look like:

As a base "Gamepad with Mouse Trackpad"

  • Right trackpad as a mouse with press as left mouse click (this can be used in DS, Wii, WIIU, 3DS) as wiimote and stylus inputs.
  • Find common ground in all emulators for quitting the game and map it to a combination like RetroArch - Default Select + Start or L3 + R3. If the standaalone emulators does not support more then one input bid it to one of the back buttons.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.