Steam Link

Steam Link

Retroarch working, bot not the cores
Hi,

After setting up the right environment variables Retroarch compiled and works fine.
I cross-compiled several cores with no issues apparently, but all of them hang or crash with no obvious errors.
Below the std & error output when trying to run snes9x. Any ideas about what could the problem be? :steamsad:

Edit: it's working now, logs removed
< >
Showing 1-15 of 29 comments
Another example, it doesn't matter if I download the cores or compile them, same problem and most of the time they stop at this "RetroArch [INFO] :: Paused.", but it can't be resumed in any way...

RetroArch [INFO] :: === Build ======================================= Capabilities: NEON VFPv3 Built: Jan 28 2017 RetroArch [INFO] :: Version: 1.4.0 RetroArch [INFO] :: Git: 18f7861 RetroArch [INFO] :: ================================================= RetroArch [INFO] :: Loading default config. RetroArch [INFO] :: Looking for config in: "/home/apps/retroarch/.home/.config/retroarch/retroarch.cfg". RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565. RetroArch [INFO] :: Version of libretro API: 1 RetroArch [INFO] :: Compiled against API: 1 RetroArch [INFO] :: Set audio input rate to: 29970.03 Hz. RetroArch [INFO] :: Video @ 960x720 [ 1] mvSetDisplayOption: set EGL_MVGFX_W*EGL_MVGFX_H from 1280*720 to 1280*720 linux_version_check - failed to open /proc/mv88de3010 linux_version_check - app expects linux kernel revision 6154, please manually check current revision <<<<< CPU-1 OSAL Init memory map size for cache:0x0C000000, fd_cache:15, ret:0 memory map size for non-cache:0x02000000, fd_noncache:8 MV_SHM_Init OK: base_virtaddr_cache:0xAA57E000, size:0x0C000000 base_virtaddr_noncache:0xA857E000, size:0x02000000 DBG HEALTH {line: 280 (MV_CC_RPCClnt_Call)} 0x7 [ 2] mvSetDisplayOption: set EGL_MVGFX_AUTOSCALING from 1 to 1 [ 3] mvGetDisplay: enter [ 4] mvLoadOptionsFromEnv: user will set these options, return directly [ 5] mvInitDisplay: output resolution 26, 1920*1080 [ 6] mvEGL ch3 autoscale (0,0):1280x720 to (0,0):1920x1080 DBG HEALTH {line: 280 (MV_CC_RPCClnt_Call)} 0x7 [ 7] mvInitDisplay: creating 3 fbs, width=1280, height=720, stride = 5120 [ 8] mvInitDisplay: success to create 0 th frame buffer, surface=0x113f, size=3686400 [ 9] mvInitDisplay: success to create 1 th frame buffer, surface=0x213f, size=3686400 [ 10] mvInitDisplay: success to create 2 th frame buffer, surface=0x313f, size=3686400 [ 11] mvInitDisplay: successfully [ 12] mvGetDisplay: successfully [ 13] gcoOS_GetDisplayByIndex: set display 0xb70611d0's multiBuffer = 3 libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Function not implemented RetroArch [INFO] :: [SDL]: Available renderers (change with $SDL_RENDER_DRIVER): RetroArch [INFO] :: opengles2 RetroArch [INFO] :: software RetroArch [INFO] :: [SDL]: Available displays: RetroArch [INFO] :: Display #0 mode: 1280x720@60hz. RetroArch [INFO] :: [SDL]: Creating window @ 960x720 RetroArch [INFO] :: Using font rendering backend: bitmap. RetroArch [INFO] :: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver. RetroArch [INFO] :: [SDL]: Device #0 (054c:0268) connected: PS3 Controller. RetroArch [INFO] :: [SDL]: Device #0 supports game controller api. RetroArch [INFO] :: [SDL]: Device #0 has: 27 axes, 19 buttons, 0 hats and 0 trackballs. RetroArch [INFO] :: Found joypad driver: "sdl2". RetroArch [INFO] :: [SDL]: Input driver initialized. RetroArch [INFO] :: SDL audio: Requested 64 ms latency, got 93 ms RetroArch [WARN] :: Audio rate control was desired, but driver does not support needed features. RetroArch [INFO] :: SRAM will not be saved. RetroArch [INFO] :: Loading history file: [/home/apps/retroarch/.home/.config/retroarch/content_history.lpl]. RetroArch [INFO] :: Loading history file: [/home/apps/retroarch/.home/.config/retroarch/content_image_history.lpl]. RetroArch [INFO] :: [SDL]: Device #0 (054c:0268) connected: PS3 Controller. RetroArch [INFO] :: [SDL]: Device #0 supports game controller api. RetroArch [INFO] :: [SDL]: Device #0 has: 27 axes, 19 buttons, 0 hats and 0 trackballs. RetroArch [INFO] :: Autodetect: 0 profiles found. RetroArch [INFO] :: Autodetect: no profiles found for PS3 Controller (1356/616). RetroArch [INFO] :: Autodetect: 0 profiles found. RetroArch [INFO] :: Autodetect: no profiles found for PS3 Controller (1356/616). RetroArch [INFO] :: Updating firmware status for: /home/apps/retroarch/bsnes_accuracy_libretro.so on /home/apps/retroarch/roms/ RetroArch [INFO] :: Using content: /home/apps/retroarch/roms/Super Mario World (U) [b1].smc. RetroArch [INFO] :: arg #0: retroarch RetroArch [INFO] :: arg #1: /home/apps/retroarch/roms/Super Mario World (U) [b1].smc RetroArch [INFO] :: arg #2: -c RetroArch [INFO] :: arg #3: /home/apps/retroarch/.home/.config/retroarch/retroarch.cfg RetroArch [INFO] :: arg #4: -L RetroArch [INFO] :: arg #5: /home/apps/retroarch/bsnes_accuracy_libretro.so RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames. RetroArch [INFO] :: Redirecting save file to "/home/apps/retroarch/roms/Super Mario World (U) [b1].srm". RetroArch [INFO] :: === Build ======================================= Capabilities: NEON VFPv3 Built: Jan 28 2017 RetroArch [INFO] :: Version: 1.4.0 RetroArch [INFO] :: Git: 18f7861 RetroArch [INFO] :: ================================================= RetroArch [INFO] :: Loading dynamic libretro core from: "/home/apps/retroarch/bsnes_accuracy_libretro.so" RetroArch [INFO] :: [overrides] no core-specific overrides found at /home/apps/retroarch/roms/bsnes/bsnes.cfg. RetroArch [INFO] :: [overrides] no game-specific overrides found at /home/apps/retroarch/roms/bsnes/Super Mario World (U) [b1].cfg. RetroArch [INFO] :: Shaders: preset directory: /home/apps/retroarch/.home/.config/retroarch/shaders/presets RetroArch [INFO] :: Environ SET_SUBSYSTEM_INFO. RetroArch [INFO] :: Special game type: Super GameBoy RetroArch [INFO] :: Ident: sgb RetroArch [INFO] :: ID: 4356 RetroArch [INFO] :: Content: RetroArch [INFO] :: GameBoy (required) RetroArch [INFO] :: Super GameBoy BIOS (required) RetroArch [INFO] :: Special game type: Sufami Turbo RetroArch [INFO] :: Ident: sufami RetroArch [INFO] :: ID: 4355 RetroArch [INFO] :: Content: RetroArch [INFO] :: Sufami A (optional) RetroArch [INFO] :: Sufami B (optional) RetroArch [INFO] :: Sufami BIOS (required) RetroArch [INFO] :: Special game type: BSX RetroArch [INFO] :: Ident: bsx RetroArch [INFO] :: ID: 4353 RetroArch [INFO] :: Content: RetroArch [INFO] :: BSX ROM (required) RetroArch [INFO] :: BSX BIOS (required) RetroArch [INFO] :: Special game type: BSX slotted RetroArch [INFO] :: Ident: bsxslot RetroArch [INFO] :: ID: 4354 RetroArch [INFO] :: Content: RetroArch [INFO] :: BSX ROM (required) RetroArch [INFO] :: BSX BIOS (required) RetroArch [INFO] :: Environ SET_CONTROLLER_INFO. RetroArch [INFO] :: Controller port: 1 RetroArch [INFO] :: SNES Joypad (ID: 1) RetroArch [INFO] :: SNES Mouse (ID: 2) RetroArch [INFO] :: Controller port: 2 RetroArch [INFO] :: SNES Joypad (ID: 1) RetroArch [INFO] :: SNES Mouse (ID: 2) RetroArch [INFO] :: Multitap (ID: 257) RetroArch [INFO] :: SuperScope (ID: 260) RetroArch [INFO] :: Justifier (ID: 516) RetroArch [INFO] :: Justifiers (ID: 772) RetroArch [INFO] :: Remaps: remap directory: /home/apps/retroarch/.home/.config/retroarch/config/remaps RetroArch [INFO] :: Remaps: no game-specific remap found at /home/apps/retroarch/.home/.config/retroarch/config/remaps/bsnes/Super Mario World (U) [b1].rmp. RetroArch [INFO] :: Remaps: no core-specific remap found at /home/apps/retroarch/.home/.config/retroarch/config/remaps/bsnes/bsnes.rmp. RetroArch [INFO] :: Redirecting save file to "/home/apps/retroarch/roms/Super Mario World (U) [b1].srm". RetroArch [INFO] :: Loading content file: /home/apps/retroarch/roms/Super Mario World (U) [b1].smc. RetroArch [INFO] :: Did not find a valid content patch. RetroArch [INFO] :: CRC32: 0x95d90c83 . RetroArch [INFO] :: Environ SET_INPUT_DESCRIPTORS: RetroArch [INFO] :: RetroPad, User 1, Button "B (bottom)" => "B" RetroArch [INFO] :: RetroPad, User 1, Button "Y (left)" => "Y" RetroArch [INFO] :: RetroPad, User 1, Button "Select" => "Select" RetroArch [INFO] :: RetroPad, User 1, Button "Start" => "Start" RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up" RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down" RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left" RetroArch [INFO] :: RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right" RetroArch [INFO] :: RetroPad, User 1, Button "A (right)" => "A" RetroArch [INFO] :: RetroPad, User 1, Button "X (up)" => "X" RetroArch [INFO] :: RetroPad, User 1, Button "L" => "L" RetroArch [INFO] :: RetroPad, User 1, Button "R" => "R" RetroArch [INFO] :: RetroPad, User 2, Button "B (bottom)" => "B" RetroArch [INFO] :: RetroPad, User 2, Button "Y (left)" => "Y" RetroArch [INFO] :: RetroPad, User 2, Button "Select" => "Select" RetroArch [INFO] :: RetroPad, User 2, Button "Start" => "Start" RetroArch [INFO] :: RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up" RetroArch [INFO] :: RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down" RetroArch [INFO] :: RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left" RetroArch [INFO] :: RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right" RetroArch [INFO] :: RetroPad, User 2, Button "A (right)" => "A" RetroArch [INFO] :: RetroPad, User 2, Button "X (up)" => "X" RetroArch [INFO] :: RetroPad, User 2, Button "L" => "L" RetroArch [INFO] :: RetroPad, User 2, Button "R" => "R" [bsnes]: XML map: cartridge region=NTSC rom name=program.rom size=0x80000 ram name=save.ram size=0x800 map id=rom address=00-3f,80-bf:8000-ffff map id=rom address=40-7f,c0-ff:0000-ffff map id=ram address=10-3f,90-bf:6000-7fff mask=0xe000 [bsnes]: [Memory]: ID 7, Request "manifest.bml". [bsnes]: Complete load request. [bsnes]: [Memory]: ID 8, Request "program.rom". [bsnes]: Load ROM. [bsnes]: Complete load request. [bsnes]: [Memory]: ID 9, Request "save.ram". [bsnes]: Complete load request. [bsnes]: [Memory]: ID 6, Request "". [bsnes]: Complete load request. [bsnes]: SRAM memory size: 2048. Failed to open /home/apps/retroarch/roms/Super Mario World (U) [b1].srm: No such file or directory RetroArch [INFO] :: Skipping SRAM load.. RetroArch [INFO] :: Version of libretro API: 1 RetroArch [INFO] :: Compiled against API: 1 RetroArch [INFO] :: Environ GET_OVERSCAN: 0 RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: XRGB8888. RetroArch [INFO] :: Set audio input rate to: 31955.87 Hz. RetroArch [INFO] :: Video @ 897x672 [ 14] mvGetDisplay: enter [ 15] mvGetDisplay: is_mv_shm_init already inited [ 16] gcoOS_GetDisplayByIndex: set display 0xb7572d08's multiBuffer = 3 RetroArch [INFO] :: [SDL]: Available renderers (change with $SDL_RENDER_DRIVER): RetroArch [INFO] :: opengles2 RetroArch [INFO] :: software RetroArch [INFO] :: [SDL]: Available displays: RetroArch [INFO] :: Display #0 mode: 1280x720@60hz. RetroArch [INFO] :: [SDL]: Creating window @ 897x672 RetroArch [INFO] :: Using font rendering backend: bitmap. RetroArch [INFO] :: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver. RetroArch [INFO] :: [SDL]: Device #0 (054c:0268) connected: PS3 Controller. RetroArch [INFO] :: [SDL]: Device #0 supports game controller api. RetroArch [INFO] :: [SDL]: Device #0 has: 27 axes, 19 buttons, 0 hats and 0 trackballs. RetroArch [INFO] :: Found joypad driver: "sdl2". RetroArch [INFO] :: [SDL]: Input driver initialized. RetroArch [INFO] :: SDL audio: Requested 64 ms latency, got 93 ms RetroArch [WARN] :: Audio rate control was desired, but driver does not support needed features. RetroArch [INFO] :: Trying to write to playlist file: /home/apps/retroarch/.home/.config/retroarch/content_history.lpl RetroArch [INFO] :: Trying to write to playlist file: /home/apps/retroarch/.home/.config/retroarch/content_image_history.lpl RetroArch [INFO] :: Loading history file: [/home/apps/retroarch/.home/.config/retroarch/content_history.lpl]. RetroArch [INFO] :: Loading history file: [/home/apps/retroarch/.home/.config/retroarch/content_image_history.lpl]. RetroArch [INFO] :: Trying to write to playlist file: /home/apps/retroarch/.home/.config/retroarch/content_history.lpl RetroArch [INFO] :: [SDL]: Device #0 (054c:0268) connected: PS3 Controller. RetroArch [INFO] :: [SDL]: Device #0 supports game controller api. RetroArch [INFO] :: [SDL]: Device #0 has: 27 axes, 19 buttons, 0 hats and 0 trackballs. RetroArch [INFO] :: Autodetect: 0 profiles found. RetroArch [INFO] :: Autodetect: no profiles found for PS3 Controller (1356/616). RetroArch [INFO] :: Autodetect: 0 profiles found. RetroArch [INFO] :: Autodetect: no profiles found for PS3 Controller (1356/616). RetroArch [INFO] :: Autodetect: Device disconnected from port #0 (sdl2). RetroArch [INFO] :: Paused.
--enable-opengles is needed. SDL2 is not a suitable output driver for cores. I'm afraid you are just going to hit the same issues I did with trying to link against the GLES driver
You're right! I finally compile it with opengles support and now it works!!
The cores that I could compile: Gambatte, Snes9x, FCEUmm and Prboom work butter smooth :D Just note that they don't work in window mode.
The ones that I downloaded directly from Retroarch just give me a black screen or hangs.
I'll try again tomorrow but I see the light :)

You can download the file with the cores here: https://ufile.io/06079 (only valid for 30 days starting now)
A demo video: https://www.youtube.com/watch?v=BHUwJilg7q4
Thanks for sharing, looks interesting.
Originally posted by Cauteloso:
You're right! I finally compile it with opengles support and now it works!!
The cores that I could compile: Gambatte, Snes9x, FCEUmm and Prboom work butter smooth :D Just note that they don't work in window mode.
The ones that I downloaded directly from Retroarch just give me a black screen or hangs.
I'll try again tomorrow but I see the light :)

You can download the file with the cores here: https://ufile.io/06079 (only valid for 30 days starting now)
A demo video: https://www.youtube.com/watch?v=BHUwJilg7q4

You are amazing! Any possibility you could try compiling GenesidPlusGX/Picodrive? Genesis is my most played in RA.

Also a tip I remember from the Pi days: be sure to compile both RA and cores (doesn't apply to all cores but some do use it) with --enable-neon. I know the biggest user of that is PCSX-ReARMed. Makes it use some extra instructions that are available on the CPU.

Also if you post to the /r/Steam_Link subreddit I may be able to get you into the wiki ;)
Originally posted by Cauteloso:
You're right! I finally compile it with opengles support and now it works!!
The cores that I could compile: Gambatte, Snes9x, FCEUmm and Prboom work butter smooth :D Just note that they don't work in window mode.
The ones that I downloaded directly from Retroarch just give me a black screen or hangs.
I'll try again tomorrow but I see the light :)

You can download the file with the cores here: https://ufile.io/06079 (only valid for 30 days starting now)
A demo video: https://www.youtube.com/watch?v=BHUwJilg7q4

Did you do any special linking? I tried loading retroarch directly and also passing it a core and ROM directly but it just bails out. http://ix.io/1RLa

(Tried with --menu with same result)
Ahh it created the initial retroarch.cfg with the linuxraw input driver. Changing to sdl2 lets it launch. Trying to dig out a keyboard to setup the mapping :D
Tried your fceum core and I get sound but black video with this in the output

[ 2201] ES30:texture(id=0) is not completed
[ 2202] ES30:texture(id=0) is not completed
[ 2203] ES30:texture(id=0) is not completed

Do you have your working config file that I can use for reference?
Can't do it until this afternoon, but just try to select the "gl" video driver and set the video to full screen in the settings or press "f" while in the game with the black screen
This is the cfg, the Genesis core and the retroarch exec:
https://ufile.io/138dc
The sound is crackling in the Genesis core, it performs worst than the SNES emulator, so it has to be a problem.
I've compiled retroarch with alsa, oss and pulse sound support but only sdl2 works, no idea why...

This weekend I will try to summarize the changes that I made to compile so you can experiment on your side if you want
I'm also interested in building it up, it would be nice if you could write a tutorial (maybe requirements, dependencies and basic instructions?) for it.

Thanks
Originally posted by roughnecks:
I'm also interested in building it up, it would be nice if you could write a tutorial (maybe requirements, dependencies and basic instructions?) for it.

Thanks
Sure, I'll try :)

I compiled also the other core that parkerlreed mentioned, the pcsx_rearmed, and it's full speed with frameskip 0 in the only game I tried (Crash Team Racing).
Here is the core (read about the BIOS here: https://wiki.libretro.com/index.php?title=PCSX_ReARMed):
https://ufile.io/a058d

Set it also to skip the logo
Originally posted by Cauteloso:
This is the cfg, the Genesis core and the retroarch exec:
https://ufile.io/138dc
The sound is crackling in the Genesis core, it performs worst than the SNES emulator, so it has to be a problem.
I've compiled retroarch with alsa, oss and pulse sound support but only sdl2 works, no idea why...

This weekend I will try to summarize the changes that I made to compile so you can experiment on your side if you want

Thanks! So this new build has ALSA enabled but it's not working? How odd.

By the way, does your controller work? At least on that first build I tried it didn't detect it at all. If it's fixed in the new build then just ignore that. :P

EDIT: Aha I had unset the input driver. Setting input and joypad to sdl2 lets it work! After updating assets it even has the icons in XMB :D Playing some SMB 1 in FCEUmm.

https://www.youtube.com/watch?v=lskqTAMyMwk

VBAM/VBA-Next should also work quite well on the Link if you want to compile those.

Also what would be really helpful is following the format of one the build scripts on the repo and get something going so we can do our own. https://github.com/ValveSoftware/steamlink-sdk/blob/master/examples/opentyrian/build_steamlink.sh

Freaking love it!
For anybody coming across this thread I created an installer zip https://drive.google.com/open?id=0B2cSlWc2yl7EM0FheEtBcWxKelk

Extract the steamlink folder to the root of a FAT32 USB drive and boot the Link with it plugged in.

For reference I copied my already setup config file and make it copy over on the first run.

#!/bin/sh
if [ -f "config.copied" ]; then
./retroarch
else
mkdir -p ~/.config/retroarch
cp retroarch.cfg ~/.config/retroarch/
touch config.copied
./retroarch
fi
Edit:
It's now merged in the sdk repository: https://github.com/ValveSoftware/steamlink-sdk

Then, this is a cores pack:
https://ufile.io/b01ae
VBA is really slow, also use Picodrive instead of Genesis plus gx, performance is much better.

Would be cool if someone can debug why the alsa or pulse drivers doesn't work.

PD: parkerlreed I took your icon and the config-copy script, hope you don't mind.
< >
Showing 1-15 of 29 comments
Per page: 1530 50