I did stop including Docker, so the addon is needed. That file isn't needed for anything per se, it's just a way to start pcsx2 outside of Emulationstation. I use it to start the emulator from an SSH terminal.
RetroELEC Kodi+Wayland+Emulationstation+RetroArch (x86/XU4/RPi)
-
escalade -
May 12, 2016 at 2:26 PM -
Thread is Resolved
-
-
Well I was surprised how easy the PCSX2 setup was in the end since it's really straight forward with your docker containers. Well done
-
Can't get retroarch to work trying the latest LE8 remix (LibreELEC-Generic.x86_64-8.2-devel-20180820.img.gz) and the one previous (LibreELEC-Generic.x86_64-8.2-devel-20180816.img.gz) on Ryzen 2700x system with Geforce GT 710.
In /var/log/retroarch.log, I keep getting the following every time I try to run any rom:
Code[ERROR] [KMS]: Couldn't find a suitable DRM device. [WARN] [SDL_GL]: Failed to initialize SDL gfx context driver: kms not available [WARN] Failed to bind API (#1, version 0.0) on context driver "khr_display". [INFO] [GL]: Found GL context: null
Both LibreELEC-Generic.x86_64-8.2-devel-20180816.img.gz and LibreELEC-Generic.x86_64-8.2-devel-20180820.img.gz give me the same results.
I can get LibreELEC-Generic.x86_64-8.2-devel-20170820.img.gz to work, but wondering why the newest won't work on my system.
-
Create a file called "nokms" in your Retroarch directory and see if this helps. Looks like RA isn't able to start with KMS context.
Maybe this is still a thing too:
-
Thanks.
I tried adding video_driver = "vulkan" to /storage/.config/retroarch/retroarch.cfg and creating /storage/.config/retroarch/nokms, but now I get:
Code
Display More[WARN] Failed to bind API (#9, version 1.0) on context driver "x-egl". [WARN] Failed to bind API (#9, version 1.0) on context driver "kms". [WARN] Failed to bind API (#9, version 1.0) on context driver "sdl_gl". [INFO] Vulkan dynamic library loaded. [INFO] [Vulkan]: Detecting screen resolution 0x0. [ERROR] [Vulkan]: Failed to enumerate physical devices. [ERROR] [Vulkan]: Failed to create KHR_display surface. [ERROR] [Vulkan]: Failed to set video mode. [ERROR] [Video]: Cannot open video driver ... Exiting ... [ERROR] Fatal error received in: "init_video()" [ERROR] This core requires a content file, could not load content.
Not too sure what to do with nvidia-drm.modeset=1 thing. I tried creating /storage/.config/modprobe.d/nvidia.conf and adding "options nvidia-drm modeset=1" to it, then restarting, but that had no effect.
-
Well I think I remember escalade said Nvidia and vulkan isn't really working right now so setting Retroarchs video driver to vulkan isn't probably a proper way to fix this.
As I said I think the KMS isn't really working so disable it for now.
Have you ever thought about cemu? So an arch docker image with wine should probably work fine too?
-
-
Well I don't know how well CEMU runs, certainly not as good as Dolphin but if you check out the latest release notes it looks not that bad Cemu emulator anyway a huge draw back is that you need a Nvidia or AMD GPU to run it.
-
Hi,
I have some issues with RetroArch/Emulationstation, never tried that before.
The first issue is related to a sound. I have my asound.conf in place and I'm able to hear some noice when I'm executing speaker-test , also aplay works fine. Tho no sound from RetroArch. What I'm missing?
The second issue is my gamepad does not work with RetroArch. It works with kodi tho. I have following:
CodeXMediaCenter:~/.config/emulationstation # dmesg |grep -i microsoft [36852.758551] input: Microsoft X-Box 360 pad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/input/input18 XMediaCenter:~/.config/emulationstation # lsusb |grep -i microsoft Bus 001 Device 005: ID 045e:028e Microsoft Corp. Xbox360 Controller
es_log.txt was showing me this:
Codelvl2: Added unconfigured joystick Microsoft X-Box 360 pad (GUID: 030000005e0400008e02000014010000, instance ID: 1, device index: 0). lvl2: req sound [basic.launch] lvl2: (missing) lvl2: Attempting to launch game... lvl2: /usr/bin/retroarch.start -L /tmp/cores/quicknes_libretro.so /storage/roms/nes/Battletoads\ Double\ Dragon\ \(U\).zip lvl2: Creating surface... lvl2: Created window successfully. lvl2: Added unconfigured joystick Microsoft X-Box 360 pad (GUID: 030000005e0400008e02000014010000, instance ID: 2, device index: 0). lvl2: Added unconfigured joystick Microsoft X-Box 360 pad (GUID: 030000005e0400008e02000014010000, instance ID: 2, device index: 0). lvl2: EmulationStation cleanly shutting down.
So what I've added the configuration to es_input.cfg from here.
Display Spoiler
...
</inputConfig>
<inputConfig type="joystick" deviceName="Microsoft X-Box 360 pad" deviceGUID="030000005e0400008e02000014010000">
<input name="a" type="button" id="1" value="1" code="305" />
<input name="b" type="button" id="0" value="1" code="304" />
<input name="down" type="hat" id="0" value="4" code="16" />
<input name="hotkey" type="button" id="8" value="1" code="316" />
<input name="joystick1left" type="axis" id="0" value="-1" code="0" />
<input name="joystick1up" type="axis" id="1" value="-1" code="1" />
<input name="joystick2left" type="axis" id="3" value="-1" code="3" />
<input name="joystick2up" type="axis" id="4" value="-1" code="4" />
<input name="l2" type="axis" id="2" value="1" code="2" />
<input name="l3" type="button" id="9" value="1" code="317" />
<input name="left" type="hat" id="0" value="8" code="16" />
<input name="pagedown" type="button" id="5" value="1" code="311" />
<input name="pageup" type="button" id="4" value="1" code="310" />
<input name="r3" type="button" id="10" value="1" code="318" />
<input name="right" type="hat" id="0" value="2" code="16" />
<input name="select" type="button" id="6" value="1" code="314" />
<input name="start" type="button" id="7" value="1" code="315" />
<input name="up" type="hat" id="0" value="1" code="16" />
<input name="x" type="button" id="3" value="1" code="308" />
<input name="y" type="button" id="2" value="1" code="307" />
</inputConfig>
</inputList>
Now I can see lvl2: Added known joystick Microsoft X-Box 360 pad (instance ID: 0, device index: 0) but still it's not working in a game and I keep seeing yellow sign Microsoft X-Box 360 Pad (1118/654) not configured .
Will appreciate any help. Thanks
-
forgot to mention I'm using LE8 "Remix" devel-20180823 , was able to figure out the missing sound issue, retroarch.cfg was messed up, wrong value for audio_device and audio_driver . still trying figure out why gamepad is not working, coming closer
-
Ok, finally I managed to get it work. Mine /storage/.config/retroarch/autoconfig was empty. Fixed by switching to retroarch frontend -> applying Update Joypad Profiles from Online Updater.
escalade , few question if you don't mind
I'm wondering, why do you use emulationstation frontend by default and not retroarch frontend in the build? At the end you still call retroarch backends (core system) to emulate some rom. Is this just a matter of preference or there are more features emulationstation gives?
I see there's a note related to sound not working - how to fix /storage/.config/asound.conf, tho nothing written concerning the retroarch configuration itself /storage/.config/retroarch/retroarch.cfg. Might be good idea to add some tips to the manual.
Also it would be cool to have some information at the manual page about how to add additional configs for gamepads. Since the build using emulationstation it would be cool to mention that emulator-frontend.conf should be modified to change frontend and starting from retroarch frontend there's an option of online update.
It's very confusing for a person who don't know anything about how this emulators works. I spent like an hour to understand why the heck there is a retroarch process running while I was using emulationstation frontend
-
It's very confusing for a person who don't know anything about how this emulators works. I spent like an hour to understand why the heck there is a retroarch process running while I was using [tt]emulationstation frontend[/tt
Think the word "frontend" says it all
But you don't need to run the emulationstation frontend, you can start retroarch directly, need to make a shortcut for it if it's not already there. (Browse back/search for a how-to) -
You need to apply this patch Update config entries pointer to the new beginning of the list after … · libretro/RetroArch@9da261c · GitHub to make sure RA creates a valid retroarch.cfg. I had the same problem, until you patch RA it uses default values for retroarch.cfg uses that point to wrong directories, sets wrong drivers and stuff. I stumbled upon it after I made a clean install... otherwise you probably won't face that problem.
It's obvious for generic builds why escalade uses ES. If you want to run fs-uae, vice, dosbox-sdl, dolphin, pcsx2 and stuff without a libretro core you need another frontend to do that.
About your problems... wait until escalade updates his build because all your problems are based on a faulty retroarch.cfg file.
-
The path to autoconfigs should be /tmp/autoconfig which is an overlay of /usr/share/retroarch/autoconfig and /storage/.config/retroarch/autoconfig.
Regarding sound, if you create an asound.conf then any ALSA application will use the same device you specify there.
Indeed, some of the features I have added are poorly documented which is due to my laziness I was thinking to create a settings addon for these options but never get around to do so.
Paths are the same as in LAKKA, so you could look at their documentation to get an idea of how to do certain things. Ideally everything should already be baked in though. I wouldn't recommend using the online updater, as there have been cases where some of the cores have been dependent on certain versions of external shared libraries that are not included in this OS. Then again, nightly builds of cores can potentially bring useful features, so it all depends. Trying to keep up with the latest git versions can be chaotic and buggy, so once a stable version is reached it's probably best to stay on it a while.
It is possible to do it in RetroArch as well, RobLoach has made this launcher core that starts the external Dolphin from within RetroArch. You could create a specific launcher for each of the external applications as well, but I think stuff like switching to 50Hz / PAL mode would be problematic in KMS mode. Probably doable in X11/GL mode though but takes time to do and I find that Emulationstation covers the frontend needs just fine.
-
First you need someone who writes a core for every standalone emulator like this:
GitHub - RobLoach/libretro-dolphin-launcher: Launch Dolphin from RetroArch/libretro
GitHub - coldscientist/libretro-pcsx2-launcher: Launch PCSX2 from RetroArch/libretro
Well I used the dolphin-launcher "core" in the past but honestly I really prefer a frontend like ES over that
QuoteThe path to autoconfigs should be /tmp/autoconfig which is an overlay of /usr/share/retroarch/autoconfig and /storage/.config/retroarch/autoconfig.
As I said... you need the patch Your RA version & even the last "stable" release v1.7.4 is buggy and creates retroarch.cfg files that are not based on your changed default settings. So it looks for cores, overlays, autoconfig, roms and stuff in ~/.config/retroarch instead of the overlay /tmp/*
You can test it yourself, rename your retroarch.cfg to retroarch.cfg.old and start retroarch. It should create a new one based on /etc/retroarch.cfg but it doesn't. Instead it uses the default generated by this function RetroArch/configuration.c at master · libretro/RetroArch · GitHub (at least I guess so) and those are completely nuts ¯\_(ツ)_/¯
-
I created a working launcher for FS-UAE to test previously, it's not that hard to look at the Dolphin loader and replace commands with fs-uae. I decided against spending time on it for the above mentioned reasons.
As for RetroArch, I'll just bump the version as I don't follow the release versions anyway. Don't know if the version in the last release has the issue or not.
-
Well okay that's probably a way to create some launchers
The patch is included in upstream code so at least this problem is solved
-
Quote from slacker666
Think the word "frontend" says it all
What I meant I didn't realize, at first, that retroarch is not just frontend, it's also acts as a backend with the core system.
Quote from escaladeRegarding sound, if you create an asound.conf then any ALSA application will use the same device you specify there.
There's an option what to use for retroarch in the configuration file. In my case the driver was other then ALSA. I'm assuming this is related to the issue pointed by 5schatten .
escalade 5schatten do you guys mind to share yours /storage/.config/retroarch/retroarch.cfg
Also side question. Do you guys know by the chance why Game Genie cheats are now working for NES? Is this something related to QuickNES?
-