#La Mulana

1 messages Β· Page 1 of 1 (latest)

vernal gust
#

https://www.pcgamingwiki.com/wiki/La-Mulana

Gamedata Tested with Linux Humble bundle filename: LaMulanaSetup-2017-01-27.sh

Instructions: Rename LaMulanaSetup-2017-01-27.sh to LaMulanaSetup-2017-01-27.gz and extract. There should be 3 folders in the root data,meta, and scripts. Copy contents on noarch and x86 folders into the gamedata fodler of port. Do not copy the folder themselves, just the contents.

currently not working on ArkOS but seems to work on others.

lusty pivot
#

Is this a new version or just to have also here the build?

vernal gust
#

It's just what was tested before. I just wanted to make sure it was available from an "official" place

torpid raptor
#

won't run -- output reads:

No sudo present.
'/storage/.local/share/nigoro/la-mulana' -> '/roms/ports/lamulana/savedata'
Debug level is 1
Dynarec is On
Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096
Box86 with Dynarec v0.2.3 b5623128 built on Nov 29 2021 11:53:33
BOX86_LD_LIBRARY_PATH: /roms/ports/lamulana/box86/lib/:/roms/ports/lamulana/box86/native/:/usr/lib32/:./:lib/:lib32/:x86/
Using default BOX86_PATH: ./:bin/
Counted 26 Env var
Looking for gamedata/LaMulana.bin.x86
Using native(wrapped) libpthread.so.0
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libm.so.6
Using native(wrapped) librt.so.1
Using native(wrapped) libopenal.so.1
Using native(wrapped) libGL.so.1
Using emulated /roms/ports/lamulana/box86/lib/libstdc++.so.6
Using emulated /roms/ports/lamulana/box86/lib/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux.so.2
Running in Fake Keyboard mode
Using ConfigFile /roms/ports/lamulana/lamulana.gptk
vernal gust
#

We're these also the Linux humble bundle files?

torpid raptor
#

yes

#
ls -a lamulana/gamedata/
.                 Icon.png          data
..                LaMulana.bin.x86  lib
Icon.bmp          README.linux      loading.png
torpid raptor
#

okay -- i had to systemctl stop emustation first
(some games will just flash/flicker through the emulation station menu)

but all i get is a blank screen

if i launch the game from the emulation station menu, i get the logo then nothing

vernal gust
vernal bridge
#

departure

rapid citrus
#

Someone mentioned that La Mulana worked on AmberElec firmware?

Since now I have two SD cards for my RG351P, I installed AmberElec in my old one, so I can test both ArkOS and AmberElec at the same time. One of the things I tested is whether La Mulana would work or not.

Previously, in ArkOs, I got black screen when opening the game (but sounds play at background). Then I tried in AmberElec. I was expecting for image to show up, but turns out I also got black screen in AmberElec as well.

If it helps, I can help testing this port in both firmwares, so we can figure out why it worked before, but now it isn't. What do you guys think?

past elk
#

Working on x55

rapid citrus
#

Is it rk3326, just as my RG351P? or a newer chipset?

#

Also, which CFW are you using? AmberElec? JelOS?

past elk
rapid citrus
#

So, it works on JelOS, but fails on AmberElec / ArkOS... Curious.

#

I'll install JelOS to my second SD card later, and test this guy.

rapid citrus
#

Just installed JelOS to my RG351P, installed portmaster (and a few ports such as Stardew Valley), and then copied La Mulana files from my ArkOS sdcard. Now the game crashes and I'm redirected back to EmulationStation.

Here's my log.txt file. Am I missing something in my end?

#

Or maybe it's only supported for devices with newer CPUs, such as RK3566? This URL mentions that, for RG351P, it uses a different GL Driver (Panfrost) and a different interface (Weston, instead of KMS/DRM). Considering that it failed when rendering OpenGL, maybe this is related somehow?

vernal gust
#

Honestly have no idea. I'm not currently planning to dig into it. That's why it's tagged wip and inactive

gritty crow
#

Anyone cam confirm if gog version works? Might grab that since the game is 4$ right now.

gritty crow
#

After much confusion due to different folder structure of the gog linux version, l got the intro story screen to work. Then it goes to black screen when l press anything during the intro and it stays there.

rapid citrus
#

Worth mentioning it works only for JelOS, and only for more powerful devices, such as powkiddy x55

#

If your device is less powerful, such as RG351P (or maybe RG353P), it might not work as expected.

gritty crow
gritty crow
#

A bit of an update, it does work on Powkiddy X55, you need Jelos version no newer than 17/09/2023.

torpid raptor
#

tried to download this via my humblebundle account, but i'm getting an error. anybody else experiencing this issue?

An error occurred while processing your request.
Reference #199.2d94fd7b.1702341452.c14aa40 
torpid raptor
#

nm -- i contacted humblebundle support, and it's fixed now

vagrant pivot
#

Tried running this on my RGB30 (running JELOS) using files from the GOG release and it didn't work. Like Agov2 I noticed a lack of x86 folder.

fast canyon
#

After launching ARKOS, wait for about 10 minutes on the black screen and the game will run normally.

But... I have to wait 10 minutes every time I run it.🫑

After running, everything is fine.

fast canyon
#

arkos 231215 rg503

fossil sage
#

Me too. Rgb30 arkos

vagrant pivot
fast canyon
#

GOG version

vagrant pivot
#

I only have access to the GOG version and I was hoping someone managed to get it working with the GOG release, which apparently is missing the x86 folder.

latent dove
#

@vernal gust Just taking some wild guesses here, but.. Makes me wonder if it has to do with XDG base directory standards maybe not being followed or mitigated in the script, perhaps πŸ€·πŸ½β€β™‚οΈ

According to PC Gaming Wiki, La Mulana follows XDG base dir specs: https://www.pcgamingwiki.com/wiki/La-Mulana

There are seemingly cases where file and folder object lookups can take an absurdly long time or even timeout, if the base directory/directories aren't appropriately defined. Slow application launches are commonly mentioned in this context.

As far as I can see in the contents of "La Mulana.sh", XDG environment variables and paths don't seem to be defined. Perhaps ArkOS handles the process differently and - as a result - has an issue with that.

vernal gust
#

I think it has to do with one of the updated sdl2 libs. In an older version of ArkOS, it starts up right away without any changes.

latent dove
zenith peak
#

Older SDL2 libraries are still available in the OS

#

Though how would you handle JELOS?

#

Theirs is even newer

vernal gust
#

I tried various things but didn't get it to work. If someone wants to figure it out and get this working they are more than welcome. I didn't really do much in the first place for this one.

fast canyon
zenith peak
#

LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0.2600.5

#

For instance, for Ninja Turtles: you could do:
LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0.2600.5 $TASKSET mono ../MMLoader.exe MONOMODDED_${gameassembly} > >(tee ${gamedir}/log.txt) 2>&1

fast canyon
zenith peak
#

There's other sdls in that location as well. Try those too

fast canyon
#

I tested all 7 and they are the same.
sdl may not be the cause.

fossil sage
#

42 line

LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0.2600.2 $GAMEDIR/box86/box86 gamedata/LaMulana.bin.x86 2>&1 | tee $GAMEDIR/log.txt

This works

#

But very strange things, My arkos at 503 LD_PRELOAD works well but RGB30 is not. So Daphne.sh also does not work at RGB30.

fossil sage
#

To be more precise, most of the time it does not run properly in RGB30 (when preload script is used ) and only occasionally does it run properly.

fossil sage
latent dove
# fossil sage 503

Hmm.. If I'm not mistaken 503 sports an rk3566, like 353m. Makes me hopeful.

latent dove
#

@fossil sage , did you use the Steam Linux version like @fast canyon ?

If so.. I'll try this tomorrow, appending aforementioned string to line 42.

fast canyon
#

gog_la_mulana_2.0.0.1.sh

latent dove
fast canyon
#

I tried the Steam Linux version, but it didn't run.
steam_api error

fast canyon
latent dove
#

Might have to purchase the GOG version now then, while it's on Xmas sale

#

Holy fuckballz.. 15 bucks?! This time of the year?! πŸ˜‚

#

wtf gog?!

fast canyon
#

The GOG version file structure is as follows.

latent dove
fast canyon
#

This is the Steam Linux version, but it does not run due to an API error.

latent dove
# fast canyon

Yeh. That's consistent with the object listing of the depot on SteamDB.

fast canyon
#

I think it's because the Steam version has DRM.

latent dove
rapid citrus
#

Hey guys, so if I open La Mulana and wait for 10 minutes, game would possibly boot up. Would it work for all devices, including RG351P w/ ArkOS wummle?

#

Out of my curiosity, I opened the game a couple of minutes ago, and I'm waiting to see if anything would show up. So far, I can hear title screen music and even some cursor sound effects if I press buttons, but screen is black, with some stone borders at the sides.

#

Would this solution, to make use of a specific libSDL2 file version, make effect in my case? Possibly the image showing up right away, instead of 10 minutes later?

#

Just tried it for about 15 minutes. Still no dice. But I haven't tried the libsdl2 file swap either.

fast canyon
#

In 351P, arkos is a very old version, so I don't know if it will work properly.

rapid citrus
#

If we're talking about the latest version from christian haitian, then you're correct. But there's a fork of it, exclusively for 351P older devices, that manages to bring most updates from newer versions.

fast canyon
#

If you don't have it, you can probably extract it from arkos and use it on forkos.

fossil sage
#

I think wummle fork has 2600.2 because afaik at wummle tmnt is working. It may require sdl later than 2600.5.

fossil sage
#

OGS ArkOS, works well

rapid citrus
#

This is what shows up in my device: Only these mountain borders, and black image at the center. But I can hear game music and menu sound effects just fine.

#

As for the libSDL2 files I have in my device, here are the ones:

#

I used the 2600.2 as you guys mentioned, but still no dice. BTW, I tried with all those files and the results were the same.

fossil sage
#

LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0.2600.2 $GAMEDIR/box86/box86 gamedata/LaMulana.bin.x86 2>&1 | tee $GAMEDIR/log.txt

Is it correct to write everything like this in one line?

rapid citrus
#

That part is fine. Basically, this command is running the box86 binary inside "/roms/ports/lamulana/box86" folder, passing as parameters the LaMulana.bin.x86 file inside the "/roms/ports/lamulana/gamedata" folder. This is the main command that runs the game.

#

The part after that, 2>&1 | tee $GAMEDIR/log.txt, basically is for avoiding showing messages in the screen, and instead storing them into a "log.txt" file that you can read later for debugging purposes.

#

And LD_PRELOAD prepending part is basically for switching a libSDL2 library version (think of it as a Windows DLL) to an older one. By doing that way, this switch works only for this session, not affecting other apps.

delicate light
# fast canyon I think it's because the Steam version has DRM.

I was trying to run the Steam Linux version, and there is a .sh that looks like enables a no DRM mode, passing a parameter to LaMulana.bin.x86

I don't know how to pass that parameter to box86, but original .sh is:

`#!/bin/bash

if [ -n "${SYSTEM_LD_LIBRARY_PATH+1}" ]; then
echo "LD_LIBRARY_PATH:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="$SYSTEM_LD_LIBRARY_PATH"
echo "LD_LIBRARY_PATH:$LD_LIBRARY_PATH"
fi

if [ -n "${SYSTEM_PATH+1}" ]; then
echo "PATH:$PATH"
export PATH="$SYSTEM_PATH"
echo "PATH:$PATH"
fi

echo "STEAM_RUNTIME:$STEAM_RUNTIME"
export STEAM_RUNTIME="0"
echo "STEAM_RUNTIME:$STEAM_RUNTIME"

./LaMulana.bin.x86`

winged token
#

@oblique mulch

#

lol

oblique mulch
#

Β―_(ツ)_/Β―

winged token
#

La Mulana - by bamboozler inactive

torpid raptor
torpid raptor
# oblique mulch Β―\_(ツ)_/Β―

it took very long to open. not sure how long. i started it, and waited ~8 minutes. then, left home. when i returned home, i opened my front door and heard music playing. walked over to my handheld and the game was runnning, haha

winged token
#

Jeez

#

πŸ˜„

oblique mulch
torpid raptor
oblique mulch
#

so it both works better and worse at the same time./

torpid raptor
#

haha, well, i suppose running is better than not running at all

oblique mulch
#

lemme measure how long it takes for mine to load up...

torpid raptor
#

okay. started it again. it's ~20 min to open

#

gameplay feels slow, too

oblique mulch
#

huh. is that device actually weaker than RGB20s?

winged token
#

same chipset

torpid raptor
#

will try on my rgb30 (jelos)

oblique mulch
#

feels pretty fluid on my device. at least i think it feels fluid.

#

bah.

#

you're gonna make me drop what i'm doing just to recheck πŸ˜„

torpid raptor
#

no rush!

oblique mulch
#

ok inserting card and turning on device.

#

turning on game.

#

intro

#

main menu after pressing start

#

starting game

torpid raptor
#

...

oblique mulch
#

jumping and whipping

#

like i said, it turns on faster than some sega games.

torpid raptor
oblique mulch
#

like, bittrip runner2 has a suspiciously long startup time. i also felt some "slow starting" but nothing really runner2 slow. but now that i've retested it, theres no slow start at all. it runs in like 3 seconds.

torpid raptor
#

or maybe just my device. will see what other testing results come in

oblique mulch
#

i think @winged token nuked my thread πŸ˜„

oblique mulch
#

so now what? reopen thread? just uplaod the port here?

winged token
#

If anyone has anyhting newer / better this needs to be updated here

oblique mulch
#

you know what i'm interested in. how my thing works with lamulana mentioned in this thread, since he's mentioning a new one.

torpid raptor
#

crashed before starting on the rgb30 πŸ˜•

my humble version is 20170404, and there appears to be no way to retrieve older versions

so i tried using the steam key, and downloaded the oldest steam version i could (via depotdownloader), but just got steam d.r.m nonsense stopping the game from launching

oh well

oblique mulch
torpid raptor
oblique mulch
#

how about putting this in the launcher script?

export BOX86_ALLOWMISSINGLIBS=1
export BOX86_LOG=3
export BOX86_DLSYM_ERROR=1
export BOX86_SHOWSEGV=1
#

because i just see that LaMulana was aborted and... i have zero clue why.

#

doesn't mean log 3 will tell me more, but it might.

oblique mulch
#

so far the results are:

  • βœ… bamboozler's port doesn't work for tabreturn with 2017 version as in it doesn't go past the intro.
  • βœ… bamboozler's port doesn't work for tabreturn with 2016 version.
  • βœ… my port works slow as fuck with 2017 version but actually runs.
  • βœ… my port loads up in few seconds with 2016 version

tabreturn is still to confirm how bamboozler's port works with 2016 version. i'll try as well but perhaps it wont prove anything

oblique mulch
#

bamboozler's port worked fine for me with 2016 version, took about 9-10 seconds to run. significantly slower than 3 seconds but still managable.

winged token
#

La Mulana

sinful stump
#

Where can i download your version @oblique mulch?

oblique mulch
#

since @torpid raptor is kinda busy with life, see if you can help with this 4-points. need help verifying things @sinful stump .

sinful stump
#

I will try to help but i only have the Xu10 which has Jelos, but 32bit games require a bit twinking with the sh, and also has Amberelec but i have re download the 64gb img

#

which im currently doing

vagrant pivot
oblique mulch
oblique mulch
vagrant pivot
sinful stump
#

I also have the gog version it only had the 32 bit driver issues which can be fix with a line in the sh, but both version crash mid way
Debug level is 1 Dynarec is On Dynarec for ARM, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA PageSize:4096 Box86 with Dynarec v0.2.3 b5623128 built on Nov 29 2021 11:53:33 BOX86_LD_LIBRARY_PATH: /roms/ports/lamulana/box86/lib/:/roms/ports/lamulana/box86/native/:/usr/lib32/:./:lib/:lib32/:x86/ Using default BOX86_PATH: ./:bin/ Counted 50 Env var Looking for gamedata/LaMulana.bin.x86 Using native(wrapped) libpthread.so.0 Using native(wrapped) libSDL2-2.0.so.0 Using native(wrapped) libdl.so.2 Using native(wrapped) libm.so.6 Using native(wrapped) librt.so.1 Using native(wrapped) libopenal.so.1 Using native(wrapped) libGL.so.1 Using emulated /roms/ports/lamulana/box86/lib/libstdc++.so.6 Using emulated /roms/ports/lamulana/box86/lib/libgcc_s.so.1 Using native(wrapped) libc.so.6 Using native(wrapped) ld-linux.so.2

#

The Bamboozler version crashes a few line sooner

#

My sd card for amberelec die, so i can't test that

#

Os: Jelos
Device: Xu10

#

Im also having this issue with all the Portmaster games that use box86, they just die midway launch

winged token
sinful stump
winged token
oblique mulch
#

@winged token ok so tabreturn says that bamboozler's port doesn't even run with the 2016 version.

so yea, you deleted the wrong thread πŸ˜›

oblique mulch
winged token
#

Your thread had 10 replies and was a duplicate

oblique mulch
#

haha πŸ˜„

#

ok ok πŸ™‚ my bad.

#

well, my thing is posted here as well.

oblique mulch
winged token
#

We don't release games that crash or don't run on most devices

oblique mulch
#

i mean, sure, i can easily skip the PR. but so far it seems to have worked for people, no?

winged token
oblique mulch
#

[]RG35s/ArkOS
[]RG351p/AmberELEC
[]640x480/AmberELEC
[]480x320 / ArkOS
[] RK3356, 640x480 /ArkOS
[] RK3356, 640x480 / JELOS
[] RGB30/JelOS
[] OGA/ArkOS
[] RG503
[] RG552
[] x55/JelOS
[βœ… ]RGB20s/uOS

βœ… = playable fine
βœ”οΈ = not playable fine or just really slow
❌ = broken / cant start

@here please report the status of your tests, as well as which of these OSes did you test on and whether it's working&playable/working&unplayable/not working.

working and running kinda slow qualifies as playable. working and running at 4FPS qualifies as unplayable.

winged token
#

This is all you need

oblique mulch
#

i hope this matrix makes sense, i copypasted it from somewhere πŸ˜„

#

right, thanks.

winged token
#

πŸ™‚

rapid citrus
#

Is there hope for this new version to work in 480x320 devices? I tried the older bamboozler's version, but it didn't work in my RG351P w/ ArkOS wummle. Got black screen with sound playback at the background.

oblique mulch
#

i mean... i don't know. i'm interested in the outcome.

#

refer to this post. #1125510708981940365 message

it seems that bamboozler's version didn't get past the intro with 2017 version, and simply didn't work at all with 2016 version.
whereas my port works with 2017 version but much much slower (it's not unplayable, it's just visibly slower than the other version), whereas it simply works fine with 2016 version.

comparison of boot times are:
2016 - less than 2 seconds
2017 - about 10 seconds.

@torpid raptor reported some much much longer startup times, like 5-10 minutes.
which is funny, since i have a RGB20s running uOS. which isn't really a powerful handheld at all.

rapid citrus
oblique mulch
#

takes about 5-10 minutes but sure. whenever you're ready πŸ™‚

rapid citrus
#

Considering the same error happened before, maybe it's something specific to my device.

rapid citrus
#

Or maybe a resolution thing. When I was testing Super Meat Boy, I noticed that if specifying a 640x480 resolution on a device with 480x320 pixels, I get black screen with sound playback in the background. What if La Mulana is forcing 640x480, thus causing the issue? Then maybe if we force a smaller resolution somehow, outside the game, would it somehow impact the game and work for me?

rapid citrus
#

Maybe it's a no-go for 480x320, or any other resolution smaller than 640x480.

dawn path
#

@oblique mulch i tried your version on a rg35xx-sp with muos and the game doesn't boot (black screen and back to menu). Here is the log file. I'm using the linux Gog version v2.0.0.1 (not sure if this is the 2016 or 2017 version). i had to copy the "LaMulana.bin.x86" from the /port/mulana/gamedata folder to the /port/mulana folder for x86 to see it. and i alsor renamed template.gptk into lamulana.gptk. let me know if you need further testing, i'm really looking forward to play this game πŸ™‚

oblique mulch
#

as you can see here in the thread, we've had reports of taking 10+ minutes for that.

#

while on my rgb20s/uos, it takes much less than the other port, but less than a minute still.

#

but i don't quite understand what you meant here

i had to copy the "LaMulana.bin.x86" from the /port/mulana/gamedata folder to the /port/mulana folder for x86 to see it.

#

from the log, i only see what went wrong; or that this bit went wrong

$GPTOKEYB "$BINARY_NAME" -c "./lamulana.gptk" &    //line 60
$GAMEDIR/box86/box86 $BINARY_NAME                  //line 61
                                                   //line 62
$ESUDO kill -9 $(pidof gptokeyb)                   //line 63
$ESUDO systemctl restart oga_events &              //line 64
printf "\033c" > /dev/tty0                         //line 65
#

@winged token would this way still work to run the game on teh new portmaster? or muos?

oblique mulch
#

actually, can you please post how your launcher script actually looks like?

#

this part should still be in it, no?

### DEBUG VERSION
#
#export BOX86_ALLOWMISSINGLIBS=1
#export BOX86_LOG=3
#export BOX86_DLSYM_ERROR=1
#export BOX86_SHOWSEGV=1
#
###    RELEASE VERSION ###
export BOX86_LOG=1
export BOX86_SHOWSEGV=1

just... uncomment the upper ones, and comment the lower ones and lets see if the log spits out something useful.

#

because trying to turn it on and it going back to the menu obviously means it hit into some error.

#

rather than just loading really slow

winged token
oblique mulch
#

so, any idea why muos is throwing an error on systemctl call then?

winged token
#

Informational only

oblique mulch
#

alright

#

so then we have zero idea why it doesn't work for him yet

winged token
#

I'll have to look at it πŸ™‚

oblique mulch
#

you'll have to supply a better log @dawn path

winged token
#

What's the .sh used?

oblique mulch
#

alright. ping me if you need ... additional files as well.

oblique mulch
#

or i might have had, but i forgot.

#

so in lack of better info, try this one #1125510708981940365 message (updated)

winged token
#

we no longer do gl4es exports for example in the .sh

#

because some cfw require different gl4es exports

#

so it's done in a libgl_mod file now

#

newest example for a working box86 is for example guacamelee or barbarian

oblique mulch
#

oh ok, so result is actually "does not work, as expected"

winged token
dawn path
dawn path
winged token
dawn path
winged token
dawn path
dry smelt
#

Hello folks! Not sure if this helps but I have an RG353VS and installed the original linked zip in post #1 along with the files from the GOG version (files dated 2017). I ran it and after about 15 minutes it booted up! Runs fine. This is on the latest build of ArkOS for this device. I'm on the lookout for the 2016 files if that could speed up my loading. For GOG just copy the files in the data/noarch/game folder into the noarch folder (game folder includes the LaMulana.bin.x86 file).

rain linden
#

In the case of gog games, which folder should I put them in to run them?

proud tulip
#

what if people dont have a linux computer?

#

how do we extract an .sh on windows?

upper ice
proud tulip
#

to get the gamedata

#

unpack" the ,sh

#

im probably not understanding it

nimble warren
#

The GOG .sh is an installer+archive

proud tulip
#

i dont have the game i just misunderstood

#

so what youd throw that into gamedata and the device does it for you?

nimble warren
#

I dont know this port but we usually do yes

#

Towerfall and guacamelee f.e.

oblique mulch
vale jay
#

I made some progress with this, mainly by squishing together Bamboozler and Shark's ports. The attached zip works for me on muos, knulli, rocknix libmali and OG ArkOS. It doesn't work on rocknix panfrost or AeUX/r36s. I've only used the gog files -- put the installer gog_la_mulana_2.0.0.1.sh into la-mulana/gamedata and launch the port to auto-extract.

#

It's mysterious to me why different gl4es are needed on different platforms. I haven't tested all combinations but at least 3 different ones are required for knulli, muos and arkos. Also, the game only works on ArkOS with a specific build of SDL (fortunately ArkOS provides different builds so there's no issue about bundling SDL in the port). Can anyone explain all this?

proud tulip
#

I found it was very playable on rocknix also

vale jay
proud tulip
#

Let me see what one it was on

proud tulip
vale jay
proud tulip
#

This strange small window thing sucks though and I can't change it in settings. Resolution WONT budge and switching from fullscreen to windowed doesn't matter.

#

Game could be a lot bigger

vale jay
#

What size is your screen?

proud tulip
#

1280x720 which it recognizes

#

Doesn't launch on mUos tho

vale jay
proud tulip
#

No the old one

#

Was the old zip always having issues with muos

vale jay
#

Mine works for me on muos

proud tulip
#

I'll try your zip on both cfws

#

Okay awesome

#

You fixing all kinds of old ports needing some love! So noble!

vale jay
#

Try changing the dot by dot setting

proud tulip
#

WHOA

#

Now that's what I'm talking about

#

Thank you!

#

Now just give this kind of love and attention to GemRB in rocknix being all black! πŸ˜›

#

I'll get back to you with MuOS results

#

Please test my new port if you get a sec. I'd appreciate it

vale jay
proud tulip
#

No, bloodxthirsty ready to run

proud tulip
rain linden
#

The existing executable file ran on ArkOS r36s and also ran on AmberELEC r36s, but had the disadvantage of taking a very long time to load. However, the file you have uploaded does not run at all on r36s.

proud tulip
#

I can't stop playing this game now

#

It's INCREDIBLY difficult, though. The puzzles get super hard.

#

Im totally lost on what to do right now

vale jay
rain linden
vale jay
#

Also, was there a long boot time on AeolusUX/ArkOS?

rain linden
vale jay
#

This version works without problems on ArkOS/AeUX r36, ArkOS RGB20pro, rocknix libmali, muOS and knulli. It does not work on rocknix panfrost. It is untested on AmberELEC

rain linden
#

In AmberELEC, I waited at least 20 minutes after the logo appeared, but the next screen still did not appear.

vale jay
#

<@&1127639327049011350> I'm looking for advice about this port -- it's my first attempt at box86. I've combined the efforts of previous porters, and now have a port that is working well on ArkOS RGB20pro, ArkOS/AeUX r36, rocknix libmali, muOS and knulli. However, it has two issues:

  1. It does not launch at all on rocknix panfrost. Any advice on how to get this to work?
  2. There is a long delay after the startup screen on AmberELEC (which I don't have and can't test). There was a similar delay on ArkOS until I added export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0.2600.2 on this platform. Is there something similar I can do for AmberELEC?
winged token
#

you're missing libgl exports

#

hence why you needed ``` if [[ "$CFW_NAME" == ArkOS ]]; then

Needed for ArkOS (to prevent long startup delay).

Not needed (but harmless) on AeUX:

export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0.2600.2

Needed on ArkOS and AeUX:

export LIBGL_FB=4
fi ```

vale jay
winged token
#

and it really depends what porters

#

πŸ˜„

#

is the most up to date

vale jay
#

hm or maybe just take that one

winged token
#

don't take anything from kreal

#

that is multiple years old

vale jay
winged token
winged token
# vale jay which ones exactly?
if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then 
  source "${controlfolder}/libgl_${CFW_NAME}.txt"
else
  source "${controlfolder}/libgl_default.txt"
fi```
#

and

if [ "$LIBGL_FB" != "" ]; then
export SDL_VIDEO_GL_DRIVER="$GAMEDIR/gl4es/libGL.so.1"
fi ```
#

for mali

#

you're using a very old box86 game as a template

#

you can see that that you don't have a gl4es folder

#

we introduced that to only load libgl on system that need it

#

Ah this is a shark port πŸ˜›

#

This explains it ^^

#

or not

#

πŸ˜„

vale jay
#

ok, i will copy guacamelee. will that fix rocknix and amberelec?

vale jay
# winged token you can see that that you don't have a gl4es folder

OK, I copied Guacamelee. There are still some weird things:

  1. Doesn't work on panfrost
  2. Still need the LD_PRELOAD on ArkOS
  3. This breaks knulli (game runs with black screen) export SDL_VIDEO_GL_DRIVER="$GAMEDIR/gl4es/libGL.so.1" fixed by adding libEGL
  4. I assume there is still a long delay (10 mins) on AmberElec
winged token
#

Missing egl

#

Wasn't it you who did the egl stuff on Knulli?

#

I'll check it later πŸ™‚

vale jay
winged token
#

@vale jay what files do i need?

#

ah gog kk

rain linden
#

It will take at least 15 minutes to start the game after installation on AmberELEC.

leaden copper
#

@vale jay I think you already have this info but just confirming this worked perfectly on knulli/anbernic cubexx

#

loading in 4x3

#

took virtually no time to boot

vale jay
#

Does amberelec have multiple versions of libSDL, like ArkOS does? if so where are they?

vagrant pivot
#

It FINALLY works. βœ… RGB1MAX3/ROCKNIX

winged token
#

That's just an arkos problem

#

i would also wait for a report form a second user with amber

#

might be a user problem

#

slow sd card etc.

vale jay
winged token
#

But then it's not only amber πŸ˜›

#

Could not test yet

#

Game is 14€

vale jay
#

also $3 on steam but i don't know if the files are compatible

#

actually it's not linux version on steam

vale jay
#

when i run arkos on it, there's no delay so long as i use specific versions of SDL

winged token
#

They had a lot in common 4 years ago ^^

vale jay
#

i can't really guess what SDL is waiting for for 10 mins πŸ˜†

winged token
#

ya

winged token
#

Steam layout

#

just in case πŸ™‚

vale jay
winged token
vale jay
winged token
#

any reason for export BOX86_DYNAREC_X87DOUBLE=1 export BOX86_X87_NO80BITS=1

#

?

vale jay
winged token
#

I saw that

vale jay
#

i read the docs and took them out

winged token
#

but that did not answer my question πŸ˜›

vale jay
#

the answer is no

#

they were in the guacamelee port that i copied

winged token
#

ah yeah always start fresh ^^

vale jay
#

anyway, taking them out didn't change anything

winged token
#

ffs

#
./La-Mulana.sh: line 59: pm_platform_helper: command not found
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.```
vale jay
#

i guess that's why the md5 is different

winged token
#

btw

#

this is from my box86 template

#
#export BOX86_ALLOWMISSINGLIBS=1
export BOX86_LOG=1
export BOX86_DLSYM_ERROR=1
export BOX86_SHOWSEGV=1
export BOX86_SHOWBT=1
# export BOX86_FORCE_ES=31 
# export SDL_DYNAMIC_API=libSDL2-2.0.so.0
# glshrink if the game lags or too much memory```
#

these i use when making a anew box86 port

#

else you won't get any meaningful log

#

so that was 4€ wisely spent πŸ˜„

dapper pulsar
#

steam refund

proud tulip
winged token
#

starts right up for me

#

well

#

the logo did lol

#

nvm me

vale jay
# winged token nvm me

i have done the same thing. yayy..... wha?? it's also a bit of a shock when the music suddenly starts after 10-15mins

winged token
#

πŸ˜„

winged token
#

I now compiled a new box86 no dice yet

#

also compiled new gl4es with cmake .. -DNOX11=ON -DGLX_STUBS=ON -DEGL_WRAPPER=ON -DGBM=ON

#

also tried gl4es with x11 shim but also no dice

#

same result so far

winged token
#

time for some strace

winged token
#

it may be stuck on

#

openat(AT_FDCWD, "/dev/input/event3", O_RDWR|O_LARGEFILE|O_CLOEXEC) = 22

vale jay
winged token
#

also this constantly in a loop

#
clock_gettime64(CLOCK_REALTIME, 0xfffc86f0) = -1 ENOSYS (Function not implemented)
clock_gettime(CLOCK_REALTIME, {tv_sec=1741953640, tv_nsec=174072813}) = 0
poll([{fd=14, events=POLLIN}], 1, 0)    = 0 (Timeout)
poll([{fd=8, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
clock_gettime64(CLOCK_REALTIME, 0xfffc8748) = -1 ENOSYS (Function not implemented)
clock_gettime(CLOCK_REALTIME, {tv_sec=1741953640, tv_nsec=175092142}) = 0
poll([{fd=8, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
read(9, 0xfffc8568, 512)                = -1 EAGAIN (Resource temporarily unavailable)
read(10, 0xfffc8568, 512)               = -1 EAGAIN (Resource temporarily unavailable)
read(11, 0xfffc8568, 512)               = -1 EAGAIN (Resource temporarily unavailable)
read(12, 0xfffc8568, 512)               = -1 EAGAIN (Resource temporarily unavailable)
read(13, 0xfffc8568, 512)               = -1 EAGAIN (Resource temporarily unavailable)
read(22, 0xfffc83c0, 512)               = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime64(CLOCK_REALTIME, 0xfffc86f0) = -1 ENOSYS (Function not implemented)
clock_gettime(CLOCK_REALTIME, {tv_sec=1741953640, tv_nsec=177242794}) = 0```
winged token
#

Yeah no idea how to solve this. We could open an issue with box86

#

or someone from the magicians aka binary / johnny have an idea

vale jay
#

I bet the magicians will have some ideas. Feels like it’s waiting for a device or something that exists on the other CFWs but not amber

#

Then times out after 10 mins and moves on

winged token
#

never had any similar problem before with amber

#

only ark

#

export SDL_DEBUG=true

#

hmmm

#
DEBUG: Failed loading udev_device_get_action: /usr/lib32/libSDL2-2.0.so.0: undefined symbol: _udev_device_get_action
DEBUG: Unknown pixel format
DEBUG: Using udev for HIDAPI joystick device discovery
DEBUG: Using udev for joystick device discovery
DEBUG: Unexpected controller element platform
DEBUG: Using udev for joystick device discovery
vale jay
#

Can you leave it for 15 min to see what it says when the delay is over

winged token
#

ah yes

#

let me try one more thing then I'll let it sit

vale jay
#
export SDL_JOYSTICK_MFI=0
export SDL_JOYSTICK_THREAD=0
export SDL_JOYSTICK_DEVICE=/dev/input0 # or any other number than 3
export SDL_LINUX_JOYSTICK_CLASSIC=1```
#

there are so many sdl hints relating to joysticks. one of these might do something

winged token
#

yeah tried them all I think

#

problem is

#

the translation

#

so armhf to i386 and things get los i have the feeling

#

like zero effect

#

wrong channel

#

also not sure if this is a red herring with _udev_device_get_action

#

let me update my amber version to the latest prerelase

#

i think we recently updated sdl2 too

#

to 2.30.12

winged token
#

until the black screen:

Using native(wrapped) libGL.so.1
Using emulated /roms/ports/la-mulana/box86/x86/libstdc++.so.6
DEBUG: Unexpected controller element platform
Using emulated /roms/ports/la-mulana/box86/x86/libgcc_s.so.1
DEBUG: Failed loading gbm_bo_get_modifier: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_modifier
DEBUG: Failed loading gbm_bo_get_modifier: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_modifier
DEBUG: Failed loading gbm_bo_get_plane_count: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_plane_count
DEBUG: Failed loading gbm_bo_get_plane_count: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_plane_count
DEBUG: Failed loading gbm_bo_get_offset: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_offset
DEBUG: Failed loading gbm_bo_get_offset: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_offset
DEBUG: Failed loading gbm_bo_get_stride_for_plane: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_stride_for_plane
DEBUG: Failed loading gbm_bo_get_stride_for_plane: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_stride_for_plane
DEBUG: Failed loading gbm_bo_get_handle_for_plane: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_handle_for_plane
DEBUG: Failed loading gbm_bo_get_handle_for_plane: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_handle_for_plane
DEBUG: Failed loading gbm_bo_get_modifier: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_modifier
DEBUG: Failed loading gbm_bo_get_modifier: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_modifier
DEBUG: Failed loading gbm_bo_get_plane_count: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_plane_count
DEBUG: Failed loading gbm_bo_get_plane_count: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_plane_count
DEBUG: Failed loading gbm_bo_get_offset: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_offset
DEBUG: Failed loading gbm_bo_get_offset: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_offset
DEBUG: Failed loading gbm_bo_get_stride_for_plane: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_stride_for_plane
DEBUG: Failed loading gbm_bo_get_stride_for_plane: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_stride_for_plane
DEBUG: Failed loading gbm_bo_get_handle_for_plane: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_handle_for_plane
DEBUG: Failed loading gbm_bo_get_handle_for_plane: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_handle_for_plane
DEBUG: Failed loading gbm_bo_get_modifier: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_modifier
DEBUG: Failed loading gbm_bo_get_modifier: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_modifier
DEBUG: Failed loading gbm_bo_get_plane_count: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_plane_count
DEBUG: Failed loading gbm_bo_get_plane_count: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_plane_count
DEBUG: Failed loading gbm_bo_get_offset: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_offset
DEBUG: Failed loading gbm_bo_get_offset: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_offset
DEBUG: Failed loading gbm_bo_get_stride_for_plane: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_stride_for_plane
DEBUG: Failed loading gbm_bo_get_stride_for_plane: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_stride_for_plane
DEBUG: Failed loading gbm_bo_get_handle_for_plane: /usr/lib32/libGLESv2.so: undefined symbol: _gbm_bo_get_handle_for_plane
DEBUG: Failed loading gbm_bo_get_handle_for_plane: /usr/lib32/libdrm.so.2: undefined symbol: _gbm_bo_get_handle_for_plane
DEBUG: Failed loading udev_device_get_action: /usr/lib32/libSDL2-2.0.so.0: undefined symbol: _udev_device_get_action
DEBUG: Unknown pixel format
DEBUG: Using udev for HIDAPI joystick device discovery
DEBUG: Using udev for joystick device discovery
#

Now i'll wait a bit

#

(hard to do)

vale jay
#

PATIENCE

#

that's a lot of failures, but that seems normal for box$$ etc

winged token
#

now it started

#

nothing new

vale jay
#

man, i was sure there was going to be some great hint there

#

20 mins

#

when i have a device handy, i will compare the log above with another CFW

vale jay
winged token
#
#!/bin/bash
# PORTMASTER: la-mulana.zip, La-Mulana.sh

XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}

if [ -d "/opt/system/Tools/PortMaster/" ]; then
  controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
  controlfolder="/opt/tools/PortMaster"
elif [ -d "$XDG_DATA_HOME/PortMaster/" ]; then
  controlfolder="$XDG_DATA_HOME/PortMaster"
else
  controlfolder="/roms/ports/PortMaster"
fi

source $controlfolder/control.txt

export PORT_32BIT="Y"

[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt"

get_controls

BINARY="LaMulana.bin.x86"
GAMEDIR="/$directory/ports/la-mulana"
CONFDIR="$GAMEDIR/conf/"

> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1

cd $GAMEDIR

# Extract gog installer if possible/needed
if [ ! -f "$GAMEDIR/game/$BINARY" ]; then
  # binary not present, attempt to extract
  EXTRACT_DIR="$GAMEDIR/extract"
  python3 "$GAMEDIR/tools/gogextract.py" \
    "$GAMEDIR/gamedata/"gog_la_mulana_*.sh "$EXTRACT_DIR"
  unzip "$GAMEDIR/extract/data.zip" -d "$EXTRACT_DIR"
  mv "$EXTRACT_DIR/data/noarch/game" "$GAMEDIR"

  rm -r "$GAMEDIR/extract"

  if [ -f "$GAMEDIR/game/$BINARY" ]; then
    # success, delete setup file
    rm -r "$GAMEDIR"/gamedata/*.sh
  fi
fi

mkdir -p "$GAMEDIR/conf"

# Set the XDG environment variables for config & savefiles
export XDG_DATA_HOME="$CONFDIR"

if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then 
  source "${controlfolder}/libgl_${CFW_NAME}.txt"
else
  source "${controlfolder}/libgl_default.txt"
fi

# Setup Box86


export LD_LIBRARY_PATH="$GAMEDIR/box86/native":"/usr/lib/arm-linux-gnueabihf/":"/usr/lib32":"$GAMEDIR/libs/":"$LD_LIBRARY_PATH"
export BOX86_LD_LIBRARY_PATH="$GAMEDIR/box86/x86":"$GAMEDIR/box86/native":"$GAMEDIR/libs/x86"
#export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"

# Setup Box86
#export BOX86_ALLOWMISSINGLIBS=1
export BOX86_LOG=1
export BOX86_DLSYM_ERROR=1
export BOX86_SHOWSEGV=1
export BOX86_SHOWBT=1
#export BOX86_FORCE_ES=31 
# export SDL_DYNAMIC_API=libSDL2-2.0.so.0
# glshrink if the game lags or too much memory

export SDL_HINT_EVENT_LOGGING=3  # Log events including motion events
export SDL_LOGGING="input=verbose,app=info,error=verbose"
export SDL_DEBUG=1


if [ "$LIBGL_FB" != "" ]; then
export SDL_VIDEO_GL_DRIVER="$GAMEDIR/gl4es/libGL.so.1"
export SDL_VIDEO_EGL_DRIVER="$GAMEDIR/gl4es/libEGL.so.1"
fi 

$GPTOKEYB "$BINARY" &
pm_platform_helper "$GAMEDIR/box86/box86"

#strace "$GAMEDIR/box86/box86" game/$BINARY
$GAMEDIR/box86/box86 game/$BINARY
pm_finish
#

my testing .sh

bright python
#

rg353v rocknix

#

not working

vale jay
bright python
#

one sec

vale jay
#

Any idea why BOX86_PRELOAD won't load any libraries? I've tried a bunch of different libraries, both armhf and aarch64 and I always get Trying to add "/usr/lib32/libopenal.so.1" to maplib Trying to load "/usr/lib32/libopenal.so.1" Simplified name is "libopenal.so.1" Faillure to create lib => fail Error loading needed lib /usr/lib32/libopenal.so.1 Warning, cannot pre-load /usr/lib32/libopenal.so.1

#

(I really want to preload hacksdl)

winged token
#

gets really complicated

#

πŸ˜„

#

box86 with armhf libraries and some i386 libraries

vale jay
#

needed to be i386

winged token
vale jay
#

i made a version of hacksdl that sets all the SDL timeouts i could find to 0, but they never get called

winged token
#

We could open a ticket for that ^^ maybe he has some ideas

#

i also tried with a custom library

#
#define _GNU_SOURCE
#include <dlfcn.h>
#include <stdlib.h>

// Provide dummy implementation of the missing udev function
const char *udev_device_get_action(void *udev_device) {
    return NULL;
}

// Prevent SDL from using joysticks
int SDL_NumJoysticks(void) {
    return 0;
}

void *SDL_JoystickOpen(int device_index) {
    return NULL;
}```
#

but no change

#

also not sure if it got preloaded correctly

vale jay
#

was it an i386 version?

winged token
#

yeah

#

i think

#

πŸ˜„

vale jay
#

how do you compile that as a library?

winged token
#

and sudo apt install gcc-multilib of course if not in a chroot

vale jay
#

i also tried setting the SDL_Init flags to only initialise audio and video. that successfully stopped the controller working, but no change to the delay

winged token
#

such a werid issue

#

i bet its something trivial

vale jay
#

so weird

#

i tried swapping in a different libSDL but i'm not sure that worked. i got confused again about which architecture it should be. and then the crappy SD card that came with my fake r36s died

winged token
#

πŸ˜„

vale jay
winged token
#

didn't you say emuelec aswelll?

#

also what kind of logs could we attach

#

also state the sdl2 version

#

added some info πŸ™‚

vale jay
winged token
#

Don't you guys have phones

#

uhm

#

wifi dongles

nimble warren
#

Wait ptitseb is in this discord no?

#

And has a handheldπŸ‘€

vale jay
#

I can’t see any way to get EmuElec to recognise the dongle

winged token
#

yeah πŸ˜›

nimble warren
#

Who dares to ping doggokek

winged token
vale jay
#

Should link this thread in the issue

winged token
frank obsidian
#

hi there

#

actualy, you should ping me, as long as it's not every minute, I'm not checking all discord server very often... sorry

#

(I mute all my discord server, so only ping shows up to me)

winged token
#

Well except this server ^^

frank obsidian
#

so, mmm, 10 min to load a game? that seems execiive indeed

winged token
#

and every other game works just fine

frank obsidian
#

is it on a specific hardware?

winged token
#

on arkos we had the same issue and if you preload another older sdl2 lib it works

winged token
#

What baffles me that i don't get any log whatsoever

#

i had some errors but i think these were red herrings

#
DEBUG: Unknown pixel format
DEBUG: Using udev for HIDAPI joystick device discovery
DEBUG: Using udev for joystick device discovery
DEBUG: Unexpected controller element platform
DEBUG: Using udev for joystick device discovery```
#

this

#

when using sdl2 debug

frank obsidian
#

is it possible to do ssh session and see what is happening with some sudo perf top?

winged token
#

interesting does not go down whatsoever on 3 / 4

frank obsidian
#

can you gdb at least? doing some gdb while it's doing simingly nothing, to check at random time what is the backtrace could give a rough idea of were time is wasted

winged token
#

yep, gdb / strace no problem

frank obsidian
#

2 full cpu... that's a lot of cpu power there!

winged token
#

yep, and just sitting there

frank obsidian
#

screen is graphic already or not yet?

winged token
#

yep, logo showed and then went back to black screen

frank obsidian
#

ok

#

well, some backtrace (on all threads?) would be nice

winged token
#

sec

frank obsidian
#

you can thread apply all bt to dump the backtrace on all current threads

#

you do that 5 ~ 6 times while it's doing nothing to see if there is pattern...

frank obsidian
#

looks to me that the gdb used here is not liking armhf binary 😒

winged token
#

so let's see if there is armhf gdb πŸ˜„

#

πŸ‘ŽπŸΌ

vale jay
#

maybe on arkos? will have a look

winged token
vale jay
winged token
#

Tried strace -f -e trace=poll,select,read,ioctl,futex -s 200 -p 4396

#

tight polling loop around SNDRV_PCM_IOCTL calls

#

and input polling

vale jay
winged token
winged token
#

oh thats just for the coding part?

vale jay
winged token
#

finding docs for that is a pita

#

πŸ˜„

frank obsidian
#

did you tried with box32 also? not sure it would help, but those chips are 64bits so it should work (I never tried this game on box32, but sdl2 based is a good start)

vale jay
#

running the game with gdb i get nothing:

Starting program: /roms/ports/la-mulana/box86/box86 game/LaMulana.bin.x86```
#

that's it

winged token
#

you can attach gdb from a 2nd sessions

#

can be tricky inside the .sh

#

i input the logs into cladue

#

I don't get why its ignoring SDL_AUDIODRIVER=dummy

#

lets try
export SDL_AUDIODRIVER=disk # Write to file instead of playing
export SDL_DISKAUDIOFILE=/dev/null

#

πŸ˜„

vale jay
#

i moved all the sound/music files aside. makes no difference

#

this works though, on arkos:

export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0.2600.2
#

on arkos, the versions of SDL that work are libSDL2-2.0.so.0.18.2 and libSDL2-2.0.so.0.2600. The rest (10.0, 16.0, 2800.2, 3000.10, 3000.3, 3000.7) don't work

winged token
#

probably built the exact same

#

on amberelec we even only increase the tag that's it

#

recipe is the same

vale jay
#

yes, and both earlier and later versions fail. so it's not a bug that was later fixed, unless it was reintroduced

#

even going from 26.2 to 26.5 breaks it

winged token
#

we had similar problem with fallout 2 and openttd

#

that suddenly broke from sdl2 update

vale jay
#

it looks like hardly anything changed

#

just patches

#

CPU is at 200% during the delay

winged token
vale jay
winged token
#

Loop of death

vale jay
#

So.... I decided to have another look at this just now. Used the exact version of the port that worked before on ArkOS. Today, it gives me the delay.🀯

nimble warren
#

Is this using the same build of box86 as guacamelee by any chance?

winged token
nimble warren
#

HmπŸ˜„

#

Had an issue somewhat similar on Limbo, 50/50 chance of it going past the loading screen

#

One day it works, another it doesnt

winged token
nimble warren
#

Pff

vale jay
#

OK -- "progress". I found a stray ~/.asoundrc in my home dir on ArkOS. Deleting it -> no delay

nimble warren
#

You need that for audio on the aulsousuEX forkπŸ˜„

#

Fascinating bug though

vale jay
#

but actually i'm on OG ArkOS atm

#

(the file is still needed for sound)

vale jay
#

If anyone has the patience to run ltrace -l "*SDL*" ./LaMulana.bin.x86 on an intel Linux machine, I would be very interested in the output. Also ltrace ./LaMulana.bin.x86 though that might be huge

vale jay
#

The problem was: SDL has a function SDL_GetPerformanceCounter that returns a counter that increments over time. The starting value is arbitrary. Some versions of SDL start at an unreasonably huge starting number, and this seems to have broken the timing logic in La-Mulana. The solution was to use a derivative of kdog's hacksdl to MITM SDL_GetPerformanceCounter and subtract off the first value recorded. That brings it it into a reasonable range that the binary can cope with. Working for me now on rocknix, ArkOS, Aeolus, Emuelec, without any nasty preloading of SDL.

winged token
#

works, amberelec

vale jay
# winged token how did you find it out

i screwed around with strace/ltrace for a while and got nowhere. then i realised i could make a list of all the SDL functions that are used with strings $BINARY | grep SDL | sort | uniq. The only functions I could see that seemed to have anything to do with timing were SDL_GetPerformanceCounter and a related one, so I hacked hacksdl to print out what those were doing. And then it was kinda obvious what was going on

winged token
vale jay
#

sounds fun

winged token
winged token
#

and @undone crater

#

game took 15 minutes to start on ark and amber and #1125510708981940365 message fixed it

vale jay
#

Game is on sale for Β£3 on gog.com btw

undone crater
#

It uses Box86 and SDL2 aswell

vale jay
#

easy to check, just BOX86_LD_PRELOAD the library

undone crater
#

Cool! I'll give it a go. Is that an armhf lib?

vale jay
undone crater
# vale jay yep, could well be

So this is definitely doing something. Limbo now progresses beyond the loading screen to the "Press any key to start" screen, but it's not accepting any input (this might be an unrelated issue on my part though).
Not sure if I'm doing this correctly though because there's a ton of console spam, and just printing it to the console is using like 70% of all CPU πŸ˜…

#

Anyway, don't wanna clog up your thread I'm gonna do some more testing. Anyway, awesome work! Really appreciate the effort! And thanks @winged token for pinging me!

vale jay
#

pretty sure you are doing it right

undone crater
#

Thank you! Yeah it's some other timing issue. If i press a button immediately while the "press any key to start" text is still fading in, it goes in game and locks up soon after. If i don't press it immediately, it locks up right when that "press any key to start" screen has finished animating. It's weird. It really just stops pushing frames and reading input.
I'll do more testing.

vale jay