djdiskmachine / LittleGPTracker

Little Piggy Tracker, LittleGPTracker feature improved
Other
96 stars 19 forks source link

ArkOS and/or portmaster support #77

Open surrealchemist opened 5 months ago

surrealchemist commented 5 months ago

I have a clone of one of the Anbernic devices the R36S and I was checking this out since I saw there was an RG35xx option. It looks like the build is meant for GarlicOS though, and these by default use some version of ArkOS so its a directory called PORTS not APPS.

Tried running it from the script but no luck. Maybe there are libraries missing or some other issue compared to what the other OS includes. Not familiar with the j2k.so library its loading via the script either.

What I think would be even better would be to get it into portmaster somehow https://portmaster.games/ so it can be freely downloaded across multiple devices and variations of the operating system.

6040 commented 4 months ago

Hi I am also trying to get this running on an R36S. I compiled both versions this one and the original with the help of this vm (https://forum.odroid.com/viewtopic.php?p=306185#p306185) for arrm64. I got both to compile with these two additions to the makefile: -fpermissive -Wno-narrowing On this repository I also had to remove the m32 option. When I try to start in EmulationStation through Filemanager I seem to be getting a jack error like this: [CONFIG] Got config path=/roms/APPS/lgpt/config.xml [-D-] JACK error: jack_client_new: deprecated

[-D-] JACK error: Cannot connect to server socket err = No such file or directory

[-D-] JACK error: Cannot connect to server request channel

[-D-] JACK error: jack server is not running or cannot be started

[-D-] JACK error: JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

[-D-] JACK error: JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

[-D-] Audio [CONFIG] Got value for AUDIOBUFFERSIZE=512 [AUDIO] Audio object initialised with [AUDIO] Api: [AUDIO] Device: [AUDIO] Buffer size:512 [AUDIO] Pre Buffer Count:2 [AUDIO] Current API: Linux ALSA

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:0,0), Device or resource busy.

[AUDIO] Selecting: [ERROR] Assertion failed: videoInfo != NULL [ERROR] >> file [/SDLGUIWindowImp.cpp] [ERROR] >> line 64 lgpt.dj: /djfork/LittleGPTracker/projects/../sources/System/Console/n_assert.cpp:14: void __NAssert(const char, const char, unsigned int): Assertion `0' failed. Aborted

When I shutdown EmulationStation the jack error seems to go away but there is no more Window so it does not work either: [CONFIG] Got config path=/roms/APPS/lgpt/config.xml [-D-] JACK error: jack_client_new: deprecated

[-D-] JACK error: Cannot connect to server socket err = No such file or directory

[-D-] JACK error: Cannot connect to server request channel

[-D-] JACK error: jack server is not running or cannot be started

[-D-] JACK error: JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

[-D-] JACK error: JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

[-D-] Audio [CONFIG] Got value for AUDIOBUFFERSIZE=512 [AUDIO] Audio object initialised with [AUDIO] Api: [AUDIO] Device: [AUDIO] Buffer size:512 [AUDIO] Pre Buffer Count:2 [AUDIO] Current API: Linux ALSA [AUDIO] Found device hw:rockchip,rk817-codec,0 [AUDIO] Selecting: hw:rockchip,rk817-codec,0 [ERROR] Assertion failed: videoInfo != NULL [ERROR] >> file [/SDLGUIWindowImp.cpp] [ERROR] >> line 64 lgpt.dj: /djfork/LittleGPTracker/projects/../sources/System/Console/n_assert.cpp:14: void __NAssert(const char, const char, unsigned int): Assertion `0' failed. Aborted

I would be greatful for any hints on how to get this running on an R36S.

cheers 6040

surrealchemist commented 4 months ago

I was just checking the build scripts people made for m8c and they use alsa for audio by default it looks like (the startup script starts the process before m8c), with another option to install pulse audio. https://github.com/jasonporritt/rg351_m8c/blob/master/M8/M8.sh (So maybe the audio part is fine, but have to get past the other error first to know).

The error is in SDLGUIWindowImp.cpp and I see on that line there are some if statements for the screen resolutions. Maybe we need to have another platform added https://github.com/djdiskmachine/LittleGPTracker/blob/a3ec0caa15f6e9b4ce65f5f3dfdbe6b1dba357f6/sources/Adapters/SDL/GUI/SDLGUIWindowImp.cpp#L64

The R36S uses 640×480. Its a clone of the RG351 so if it was added and working it in theory should work on both. I haven't gotten into much deep coding in a long time but maybe this helps somehow.

6040 commented 4 months ago

Thanks for the feedback unfortunately there is no alsaloop_wait on ARKOS. I could not figure out what this j2k.so is either. It is compiled for the 32-bit ARM EABI5, so it would need to be rebuilt for arm64 but I could not find the code for that. It never logs anything in the log.txt, that is why I tried calling it via ssh and that seems to be cause for the error messages.

JamesN-dev commented 4 weeks ago

So safe to say theres no plans for an ArkOS build?

djdiskmachine commented 4 weeks ago

For now I recommend running the psp build in PPSSPP

djdiskmachine commented 4 weeks ago

Edit: It does indeed suggest issues with the gui implementation, x64 patches have been merged to master now if you'd like to try your luck at porting.

This suggests a double mapping in config.xml lgpt.dj: /djfork/LittleGPTracker/projects/../sources/System/Console/n_assert.cpp:14: void __NAssert(const char, const char, unsigned int): Assertion `0' failed. Aborted

j2k.s0 is a shared library intended for converting joystick input into keyboard presses

JamesN-dev commented 4 weeks ago

For now I recommend running the psp build in PPSSPP

Oh thats a great idea, not sure why i didnt think of that. Thanks!