clockworkpi

Reformatted, cant get my custom game shortcuts to work now

Hey, i had alot of shortcut SH files for games but now i cant get them to work.

Using the 0.5 image with Picodrive and SNES9x installed by default using retroarch.

retroarch -L /home/cpi/apps/emulators/picodrive_libretro_gameshell_v1.92.so 
/home/cpi/games/PicoDrive/Aladdin.bin


retroarch -L /home/cpi/apps/emulators/snes9x2005_plus_libretro.so 
/home/cpi/games/SNES/SuperMarioWorld.smc

Those are my sh files for lunching SNES and genesis games, dont work/. I did chmod + x on them.

not sure what i m doing wrong this time.

core files must have been moved or renamed, check they still exists

1 Like

i checked that the paths are going to the right files.

everything is right, the paths are correct and the file names…

if you directly run them by ssh does it work ?
(do not miss run export DISPLAY=:0 before

idk how to do that, i never tried

Just type export DISPLAY=:0 then run your scripts in terminal, typing ./ before each respective file name.

Just confirming; you don’t have what you pasted as your sh file do you?
I’m assuming you’ve got

retroarch -L /home/cpi/apps/emulators/picodrive_libretro_gameshell_v1.92.so 
/home/cpi/games/PicoDrive/Aladdin.bin

and

retroarch -L /home/cpi/apps/emulators/snes9x2005_plus_libretro.so 
/home/cpi/games/SNES/SuperMarioWorld.smc

as separate files; not just both of them in a single file.

Could you take a screen shot of a few of your directories?
/home/cpi/apps/emulators/
/home/cpi/games/PicoDrive/
/home/cpi/games/SNES/
/home/cpi/.config/retroarch/cores

Also take a screenshot of the output from going into “settings>Retroarch cores manager”

Are you using a stock 0.5 image? If you’re using my custom image or any of my uploaded Retroarch config files, I’ve changed to location of where Retroarch core *.so files are.

im using a custom image, i think the 0.5 one with mupen64 pre installed

yes what i pasted was for 2 seperate sh files.

Great. If you can find out which one, which build and anything else you’ve done, that would be helpful.

Also:

I think i’m using the latest 0,5 official image, i just installed mupen64 myself, i dont think its custom image

/home/cpi/.config/retroarch/cores is empty so maybe that is the problem idk:

Omg I think I’ve got it. I didn’t realise because I was using a phone screen, but I believe there are extra line breaks between the *.so location and rom location that shouldn’t be there. I couldn’t see it, due to the way the text wraps. I’m surprised they ever worked to begin with.

Try this:

retroarch -L /home/cpi/apps/emulators/picodrive_libretro_gameshell_v1.92.so /home/cpi/games/PicoDrive/Aladdin.bin

and

retroarch -L /home/cpi/apps/emulators/snes9x2005_plus_libretro.so /home/cpi/games/SNES/SuperMarioWorld.smc

Your existing one was just telling Retroarch to load a core as one set of instructions, then in another set, just mentioning a rom with no context. Effectively, a new line is the equivalent of pushing enter/return after a line.

The modification above tells Retroarch to run, specifies which core to use (with the -L) and then in the same line, tells Retroarch which rom to load with the aforementioned core.

Let me know how you go.

Hm, Yes, that appears to have worked.

I thought my old shortcuts were done with 2 lines, before. Just going by the guide from here:

https://github.com/clockworkpi/launcher/wiki/Create-your-own-GAME-ICONS-that-launch-games-directly-and-create-additional-FOLDERS

in which it appears to be on 2 lines…

Anyway, thanks for sorting it out

1 Like

No worries! :slight_smile:
Glad it was an easy fix.
It’s definitely hard to see, unless it’s explicitly mentioned that there’s a line break.
Eg, this is how it looks on my phone.


Anyway, have fun. I’d love to see what your launcher layout looks like. I’m guessing custom icons for all your games.

Yes, well, i did have it looking quite nice, using the dark OP1 theme as a base, but since reformatting, im having to start again.

I could share some screens of my layout, i thought of doing it but i didnt know if anyone would be interested. One thing that would be realy cool is knowing ho to change the font of the UI, idk if that would break it though so im kinda nervous

I’d love to see your layout.

Re: fonts, I did a small write up of my process, editing the skin_manager.py file to add extra fonts.

From here, you can reference them in your skin’s config file. The path to the fonts are contained in your skin directory so you can just spoof fonts without changing the skin_manager.py, putting in your desired font, and then renaming it to one of the existing ones.

I think i treid that already, replacing the fonts with mine and renaming them , but i just started up to black screen…

Perhaps the fonts you tried to substitute were incompatible? They should just be a standard format, but perhaps if the DPI required is too high, it just breaks.
There could have also been other things that you may have done that causes problems. Perhaps try changing things one font at a time.

Alternatively, editing the skin_manager.py to define additional fonts could solve your problems. It’s located in ~/launcher/sys.py/UI
Eg.

def SetFonts(self):
        if not pygame.font.get_init():
            pygame.font.init()
            
        skinpath = config.SKIN+"/truetype"
        fonts_path = {}
        fonts_path["varela"]   = "%s/VarelaRound-Regular.ttf" % skinpath
        print(fonts_path["varela"])
        fonts_path["veramono"] = "%s/VeraMono.ttf" % skinpath
        fonts_path["noto"]     = "%s/NotoSansMono-Regular.ttf" % skinpath
        fonts_path["notocjk"]     = "%s/NotoSansCJK-Regular.ttf" % skinpath
     	fonts_path["Eurostile"] = "%s/EurostileMN-Medium.pfb.ttf" %skinpath
        fonts_path["EurostileBold"] = "%s/EurostileMN-ExtendedBold.pfb.ttf" % skinpath
        
        

        for i in range(10,29):
          self._Fonts["Eurostile%d"%i] = pygame.font.Font(fonts_path["Eurostile"],i)
          
        self._Fonts["Eurostile34"] = pygame.font.Font(fonts_path["Eurostile"],34)
        self._Fonts["Eurostile40"] = pygame.font.Font(fonts_path["Eurostile"],40)
        self._Fonts["Eurostile120"] = pygame.font.Font(fonts_path["Eurostile"],120)

        self._Fonts["EurostileBold13"]  = pygame.font.Font(fonts_path["EurostileBold"],13)        
        self._Fonts["EurostileBold30"]  = pygame.font.Font(fonts_path["EurostileBold"],30)        

        for i in range(10,29):
          self._Fonts["varela%d"%i] = pygame.font.Font(fonts_path["varela"],i)
          
        self._Fonts["varela34"] = pygame.font.Font(fonts_path["varela"],34)
        self._Fonts["varela40"] = pygame.font.Font(fonts_path["varela"],40)
        self._Fonts["varela120"] = pygame.font.Font(fonts_path["varela"],120)
        
        for i in range(10,26):
            self._Fonts["veramono%d"%i] = pygame.font.Font(fonts_path["veramono"],i)
        
        for i in range(10,28):
            self._Fonts["notosansmono%d"%i] = pygame.font.Font(fonts_path["noto"],i)

        for i in range(10,28):
            self._Fonts["notosanscjk%d"%i] = pygame.font.Font(fonts_path["notocjk"],i)
    
        self._Fonts["arial"] = pygame.font.SysFont("arial",16)

Basically, define the font, make an alias for its size, and specify which size range it’s applicable for. You can put the new font in your TrueType directory without having to rename it that way. You can see the stock 4 fonts being referenced here the same way your skin_manager defines it. The references to Eurostile are all of the additions I made.

The only problem is, you may possibly lose the settings and changes when doing a launcher update, since the UI directory that the skin_manager.py resides in is within the launcher directory.

I made a small script to change the skin_manager.py as required. See what I did here:

Okay, I cant get my shortcuts for standalone emulators to work again, i forgot how i did them, i have retroarch shortcuts working though/

heres what I tried for Starfox.sh

pocketsnes -L /home/cpi/apps/emulators/PocketSNES.so /home/cpi/games/SNES/Starfox.smc

That didnt work but i know that’s wrong I just forgot how to do it and I did use chmod +x on the file.

PocketSNES isn’t installed to the /usr/local directory, so you probably won’t be able to execute it using its name plus parameters. (Retroarch is, which is why you don’t need to put in the full path)

Try prefacing it with /home/cpi/apps/emulators/PocketSNES
Also, take note of the capitalisation.

In fact, you’re using the formatting used for Retroarch for PocketSNES. You can’t do that for everything. The -L parameter is telling the front end “retroarch” to load a core, and then afterwards specifying which rom to run.

You don’t need to specify for PocketSNES to open a core/.so file since it’s a standalone emulator. Also, PocketSNES.so doesn’t exist in the directory you specified.

Are you sure that your directory for your SNES roms is /home/cpi/games/SNES/ ?
From memory, the default one would be something like /home/cpi/games/SFC, or /home/cpi/games/PocketSNES/ or something similar. I know that I personally change my directory structure to reflect the console, and not the emulator. Just wanting to make sure this is the case.

Given all of that, here’s what your script should contain. (assuming the filename of the SNES rom is Starfox.smc, taking note of capitalisation etc.)

#!/bin/bash
cd /home/cpi/apps/emulators/
./PocketSNES /home/cpi/games/SNES/Starfox.smc

I also notice that you don’t ever specify using shebangs.
Here’s some info on the topic for you to read, and consider using in future. No doubt this could be the reason for things not running in future.

1 Like

Yes its the right directory,

i did try your script and it unforunately didnt work Also i cant run starfox from the pocketsnes emulator in retroarch either…

Silly question, but have you tried another rom? And another emulator with the said rom?
For now, try going into the gameshell settings, going into Retroarch core manager and deleting PocketSNES.
Even though it’s a standalone, I’m fairly sure the core manager just scans whatever is in the ~/apps/emulator directory and lets you nuke it; unless it’s on the exception list.
It’s for this reason I change my retroarch cores to be in a different directory.

Once you get rid of it, try to run a game, using the default action.config file. If you have the correct SO_URL, it will download the file that guu is hosting, and will install the correct file.
Try setting your skin to the default gameshell theme. There could be a skin conflict messing with things.

When you say you can’t run PocketSNES from Retroarch, what are you actually trying to do? You can’t make the standalone just work with Retroarch. Unless I’m mistaken, I can’t find PocketSNES in the buildbot list for Retroarch SNES cores that are compatible with armv7 neon HF. See here.

https://buildbot.libretro.com/nightly/linux/armv7-neon-hf/latest/

Are you getting confused with how Retroarch works with cores? And looking at some of your other posts, have you accidentally put the wrong file in ~/apps/emulators, ie possibly something pulled from the master file/source code?

I don’t know what version of the clockwork OS you’re using, what you’ve installed, what you’ve changed, and I guess anything really about your system. If you can provide more information, that would help. It’s like calling a mechanic, and saying “My car won’t start. I’ve tried everything.”

You’ve cross posted in two threads in a sense again. Did you want to just, discuss things in one, or keep doing it in both? It’s not the first time you’ve done it, and I’m going to a) just end up repeating myself, b) make it harder for other people down the track who try to search for this problem, and c) I don’t know which post’s information you have read/have referred to, since the content of each reply I’ve given is completely different.