Homebrew RELEASE Development Thread - RetroArch libnx

  • Thread starter Thread starter m4xw
  • Start date Start date
  • Views Views 764,267
  • Replies Replies 4,272
  • Likes Likes 69
Status
Not open for further replies.
Not sure what you mean by "start it all over". It's simply a matter of swapping the libnx functions out for the pthread functions. Most of them do the exact same thing anyways. But there's really no pressing need to get a 5 FPS emulator working in docked mode anyways.

And thats why u ignore the guy under this

You should probably swap out the functions just for fun and see what happens.
 
  • Like
Reactions: Azel
Welp, no matter how hard (or easy as by everyone else's standards) I try, I just can't get VICE x64 to work.
C:\devkitPro\devkitA64\projects\RetroArch\RetroArch-nightly>make -f Makefile.switch platform=switch
linking retroarch_switch.elf
libretro_switch.a(app.o): In function `file_browser_init':
C:\devkitPro\devkitA64\projects\RetroArch\Cores\vice-libretro-master/libretro/nukleargui/filebrowser.c:173: undefined reference to `getuid'
C:\devkitPro\devkitA64\projects\RetroArch\Cores\vice-libretro-master/libretro/nukleargui/filebrowser.c:173: undefined reference to `getpwuid'
libretro_switch.a(archdep.o): In function `archdep_home_path':
C:\devkitPro\devkitA64\projects\RetroArch\Cores\vice-libretro-master/vice/src/arch/libretro/archdep.c:225: undefined reference to `getuid'
C:\devkitPro\devkitA64\projects\RetroArch\Cores\vice-libretro-master/vice/src/arch/libretro/archdep.c:225: undefined reference to `getpwuid'
collect2.exe: error: ld returned 1 exit status
make: *** [/opt/devkitpro/libnx/switch_rules:80: retroarch_switch.elf] Error 1
If I try deleting the getuids and getpwuids from the code, the core does compile, but all the options ("Load Core", "Load Content", "Quit RetroArch", etc.) appear glitched up and the Switch crashes when I try to select one.
 
Welp, no matter how hard (or easy as by everyone else's standards) I try, I just can't get VICE x64 to work.

If I try deleting the getuids and getpwuids from the code, the core does compile, but all the options ("Load Core", "Load Content", "Quit RetroArch", etc.) appear glitched up and the Switch crashes when I try to select one.
It just needs directories. I'm not on my computer right now, but I'm looking at the code on GitHub, and I'll try to relay this code to you so you can compile it.

In archdep.c, right near the line causing the error, put this right above the line that says "#else":
Code:
#elif defined(__SWITCH__)
    return "sdmc:/";

In filebrowser.c, where the error is again, put this right above the line that says "#else":
Code:
#elif defined(__SWITCH__)
    if (!home) home = "sdmc:/";

Hopefully this is clear enough. Good luck!
 
Last edited by Hydr8gon,
  • Like
Reactions: Twistedziefer
what if they want to use this instead?
Then you'll have to wait. ^^

No hardware accelleration no party.

No minimal GPU interface no party.

No desire to work on this no party.

As simple as that.

Greetings.
 
Guys, is there any basic guide on how to properly set this up and where to put ROMs? I feel like I opened snes9x2010 properly but don't know where to put ROMs and it did not seem to see any and I tried scabbing a folder and the whole thing locked up on me. Don't have a ton of experience with retroarch in the past and don't know if I'm doing something wrong or not.
 
Guys, is there any basic guide on how to properly set this up and where to put ROMs? I feel like I opened snes9x2010 properly but don't know where to put ROMs and it did not seem to see any and I tried scabbing a folder and the whole thing locked up on me. Don't have a ton of experience with retroarch in the past and don't know if I'm doing something wrong or not.
You can pretty much put your ROMs anywhere you want, it's really easy.

--------------------- MERGED ---------------------------

By the way, I did what @SeannyM said, and it didn't really help matters. The options still appear glitched up, but "Start Core" does work. I didn't really know where to go as every option had the exact same glitched up text, and my Switch crashed (again) upon selecting a certain option. I guess the crash might've been due to some SD access or something, I don't know.

VICE LibNX GitHub repo (broken)
If anyone wants to test the core, here it is.
 

Attachments

You can pretty much put your ROMs anywhere you want, it's really easy.

--------------------- MERGED ---------------------------

By the way, I did what @SeannyM said, and it didn't really help matters. The options still appear glitched up, but "Start Core" does work. I didn't really know where to go as every option had the exact same glitched up text, and my Switch crashed (again) upon selecting a certain option. I guess the crash might've been due to some SD access or something, I don't know.

VICE LibNX GitHub repo (broken)
If anyone wants to test the core, here it is.
Timing :)
I'm on it, - testing..
Thanks.
I was just trying to compile my own Vice core as you posted this.
(Can I check though - I have the libretro source ('git pull' to get up to date) and went into the core directory and git cloned https://github.com/libretro/vice-libretro followed by make -f Makefile.switch platform=switch in the main Retroarch folder.
Is that all that is required (along with the edits suggested by @SeannyM)?
I get build error

linking retroarch_switch.elf
aarch64-none-elf-gcc: error: libretro_switch.a: No such file or directory
/opt/devkitpro/libnx/switch_rules:79: recipe for target 'retroarch_switch.elf' failed
make: *** [retroarch_switch.elf] Error 1

sorry if I'm missing something obvious, just trying to understand how to compile and test my own cores.
Thanks.
 
Timing :)
I'm on it, - testing..
Thanks.
I was just trying to compile my own Vice core as you posted this.
(Can I check though - I have the libretro source ('git pull' to get up to date) and went into the core directory and git cloned https://github.com/libretro/vice-libretro followed by make -f Makefile.switch platform=switch in the main Retroarch folder.
Is that all that is required (along with the edits suggested by @SeannyM)?
I get build error

linking retroarch_switch.elf
aarch64-none-elf-gcc: error: libretro_switch.a: No such file or directory
/opt/devkitpro/libnx/switch_rules:79: recipe for target 'retroarch_switch.elf' failed
make: *** [retroarch_switch.elf] Error 1

sorry if I'm missing something obvious, just trying to understand how to compile and test my own cores.
Thanks.
Do you have a file named "vice_x64_libretro_switch.a"?
If so, rename that file to "libretro_switch.a" and place it in the RetroArch Switch folder (not the core folder).
 
Timing :)
I'm on it, - testing..
Thanks.
I was just trying to compile my own Vice core as you posted this.
(Can I check though - I have the libretro source ('git pull' to get up to date) and went into the core directory and git cloned https://github.com/libretro/vice-libretro followed by make -f Makefile.switch platform=switch in the main Retroarch folder.
Is that all that is required (along with the edits suggested by @SeannyM)?
I get build error

linking retroarch_switch.elf
aarch64-none-elf-gcc: error: libretro_switch.a: No such file or directory
/opt/devkitpro/libnx/switch_rules:79: recipe for target 'retroarch_switch.elf' failed
make: *** [retroarch_switch.elf] Error 1

sorry if I'm missing something obvious, just trying to understand how to compile and test my own cores.
Thanks.

Did quick test of the vice core.
I actually managed to load a rom, don't know which one until it started playing (it was Arcadia) and guess what - it worked fine! Audio and gameplay perfect as far as I could play without having good controls!!
As you say, everything is * *s *s .. but if you check the top bar, you can navigate around.
Just to tidy up the menu somehow.
Nice one.
 
Do you have a file named "vice_x64_libretro_switch.a"?
If so, rename that file to "libretro_switch.a" and place it in the RetroArch Switch folder (not the core folder).
I did a make in the core/vice directory and ended up with a vice_x64_libretro.so.
I think I'm missing to pass some option to the makefile to compile the vice_x64_libretro library for switch target but I don't have a Makefile.switch in my git cloned vice directory.

EDIT: I'll try a rebuild with your repo https://github.com/CatmanFan/vice-libretro/
 
Last edited by snoofly,
You can pretty much put your ROMs anywhere you want, it's really easy.

I feel like I am doing something wrong then...I download the latest nightly build and copy it to my SD card and boot it up and it brings me to the main menu asking to load cores, load content, scan for content etc but it does not seem to detect any cores despite things being in the default location where I moved them, if I try to search for "content" and browse the cores or ROMs folder I have it just shows nothing. I think in struggling to even get an emulator to load and don't know what exactly I should be doing here. I'm used to having standalone emulators that you launch and just work, never used or have experience with retroarch which seems like it's a loader for a multitude of emulators.
 
I feel like I am doing something wrong then...I download the latest nightly build and copy it to my SD card and boot it up and it brings me to the main menu asking to load cores, load content, scan for content etc but it does not seem to detect any cores despite things being in the default location where I moved them, if I try to search for "content" and browse the cores or ROMs folder I have it just shows nothing. I think in struggling to even get an emulator to load and don't know what exactly I should be doing here. I'm used to having standalone emulators that you launch and just work, never used or have experience with retroarch which seems like it's a loader for a multitude of emulators.
You have to configure that path once
 
You have to configure that path once
What he means is go to Settings>Directory>Core and set the directory to /retroarch/core/switch/. The core's should now show up in "Load Core".

To set content, go to Settings>Directory>File Browser and set this to where you stored your ROMs. Go back to the main menu, select "Load Core" and select the core you want to load (SNES9x2010, FCEUMM, Genesis Plus GX, etc...). Go back to the main menu and select "Load Content". At the top is "Start Directory". Select that. It will take you to the folder you set for content. From my experience, you must select a core before you load content.

Hope this helps.
 
  • Like
Reactions: m4xw
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum