Homebrew RELEASE Development Thread - RetroArch libnx

  • Thread starter m4xw
  • Start date
  • Views 618,186
  • Replies 4,272
  • Likes 69
Status
Not open for further replies.

m4xw

Ancient Deity
OP
Developer
Joined
May 25, 2018
Messages
2,437
Trophies
1
Age
118
XP
6,839
Country
Germany
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

CatmanFan

Anxious and regretful
Member
Joined
Aug 14, 2016
Messages
1,954
Trophies
0
Website
www.youtube.com
XP
1,858
Country
Morocco
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.
 

Hydr8gon

Dragon Trainer
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,566
Country
Canada
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

Lunatics

Well-Known Member
Member
Joined
Aug 9, 2010
Messages
209
Trophies
1
XP
606
Country
United States
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.
 

CatmanFan

Anxious and regretful
Member
Joined
Aug 14, 2016
Messages
1,954
Trophies
0
Website
www.youtube.com
XP
1,858
Country
Morocco
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

  • vice_x64.zip
    1.6 MB · Views: 74

snoofly

Well-Known Member
Member
Joined
Aug 18, 2015
Messages
1,013
Trophies
0
Age
53
XP
2,122
Country
United Kingdom
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.
 

CatmanFan

Anxious and regretful
Member
Joined
Aug 14, 2016
Messages
1,954
Trophies
0
Website
www.youtube.com
XP
1,858
Country
Morocco
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).
 

snoofly

Well-Known Member
Member
Joined
Aug 18, 2015
Messages
1,013
Trophies
0
Age
53
XP
2,122
Country
United Kingdom
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.
 

m4xw

Ancient Deity
OP
Developer
Joined
May 25, 2018
Messages
2,437
Trophies
1
Age
118
XP
6,839
Country
Germany

snoofly

Well-Known Member
Member
Joined
Aug 18, 2015
Messages
1,013
Trophies
0
Age
53
XP
2,122
Country
United Kingdom
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,

CatmanFan

Anxious and regretful
Member
Joined
Aug 14, 2016
Messages
1,954
Trophies
0
Website
www.youtube.com
XP
1,858
Country
Morocco

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,521
Country
United States

Lunatics

Well-Known Member
Member
Joined
Aug 9, 2010
Messages
209
Trophies
1
XP
606
Country
United States
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.
 

m4xw

Ancient Deity
OP
Developer
Joined
May 25, 2018
Messages
2,437
Trophies
1
Age
118
XP
6,839
Country
Germany
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
 
D

Deleted-351540

Guest
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.
General chit-chat
Help Users
    AncientBoi @ AncientBoi: :rofl2: