#Render96 (sm64ex fork)
1 messages ยท Page 2 of 1
This issue could be from the cfw (ArkOs Community 05242024). I will try it on another sd with standard ArkOs.
I don't know a lot about all the CFW, I've put my feet in it this year when I got my rg353vs. I rely a lot on @oblique pulsar help for this part ๐
Ill be able to retest all of the cfw's once im home๐
no hurry, it's summer !
enjoy the weather ๐
31 C here in QC ๐
Knulli and trimui are low priority (would be nice to get them working). Muos is a bit of a bummer and i dont think im smart enough to fix it. And that community arkos, idk kotzebuedog is testing on arkos so that seems like an issue on their end. I can give that a try as well though.
I wish haha
@last ridge for you, if you confirmed the fix I'll include this in the next version ๐ attachment removed
So we don't gotta make them all work ! ๐ lol
I sent the testing requirements earlier, theyre probably a bit buried now :p
Technically only muos is left
But that might just be an issue with muos' audio driver, im just not knowledgeable enough to find out๐
I think we haven't verified all the testing requirement after the switch to GLES
Ah okay. I can do pretty everything except rgb30 resolution if necessary.
works, english is default now ๐ (i changed language back to 0 in the config and its still english so behaving as expected now)
great teamwork mate !
nice job making a fix that quick ๐ซก
it's becoming more than porting, it's refactoring lol
QC, Philippines?
You definitely took on a big project for your first one๐
Or qc quebec?
QC like Quรฉbec ๐
Wow didnt know it could get so hot there
and so cold as well lol
it's like -35 few days in cold winters (not every year) to +35 few days in summer (it's starting to be regular)
at leat I get real winter and real summer, while in Britanny in France I had summer and rainy fall/winter (no interest except for the salads lol)
however summer starts later and ends earlier here but it's fine
I don't remember Masstricht beeing that cold
Im from the northern part
In the summer it can get a bit higher, but its pretty rare
At leat you're not as bad as in Scotland
Yeah that's true, cant really get any worse๐
TL;DR: if you want to give a try:
- download testing-v3.5
- unzip it in roms/ports/
- put your SM64 rom in roms/ports/render96ex with the name baserom.us.z64
- run render96ex.sh
Changes in v3.5:
- replace
readdirbyscandirwith alpha sorting in render96ex code to avoid the language index dancing seen in knulli by Zak - note for knulli users: bind the right stick to keyboard controls in knulli then map that to c-stick inputs in render96ex
I tried v3.4 on a fresh install of standard ArkOs on my r36s and I still have the same problem.
So the only remaining problem for you is that you can not launch the port from the port list but you need to do it manually from the file manager is that right?
Yes, that's right.
@upbeat garnet are you inflating the zip archive into your sd card with Windows ? Also can you please remind me what is happening if you try to launch it fron the port list ?
I use 7-zip to unzip in windows.
The game starts and shows the mario render96 logo, you hear 'It's me Mario'. Then, it closes and returns to the ports list.
Sounds like what happens on muos
yes but on ArkOS, that is strange
and I remember that in the log I saw DynOS_Music_GetDevice: Could not open music device.
I'll wait for another ArkOS test and I'll see with Robbert if I can debug this. I already know from where in the code this message comes. ( data/dynos_audio.c line 141).Maybe launching with file manage allows it to use another audio plugin.
Oh I may have an idea, I see also Failed to create secure directory (/run/user/1002//pulse): No such file or directory I wonder if file manager launches it with another user. That's a possibility
Iโll also be able to test rocknix and arkos this weekend on an rg503 if necessary
Your feedbacks on rocknix and arkos are welcome ๐ค
@low jungle I'm starting to look in depth at the hardcoded assets in sm64ex-coop and I've tried to build it again. Do you remember getting this error while building sm64ex-coop ?
Compiling: actors/zcustom0.c -> build/us_pc/actors/zcustom0.o
In file included from actors/zcustom0.c:20:
actors/wario_cap/model.inc.c:31:10: fatal error: actors/wario_cap/custom_wario_cap_logo.rgba16.inc.c: No such file or directory
31 | #include "actors/wario_cap/custom_wario_cap_logo.rgba16.inc.c"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:1792: build/us_pc/actors/zcustom0.o] Error 1
I don't remember how I did fix it the first time (I think in a very crappy way) but today I've been able to resume and finish the build (make EXTERNAL_DATA=1 USE_GLES=1) after doing this
echo -n 'actors/wario_cap/custom_wario_cap_logo.rgba16' > build/us_pc/actors/wario_cap/custom_wario_cap_logo.rgba16 && hexdump -v -e '1/1 "0x%X,"' build/us_pc/actors/wario_cap/custom_wario_cap_logo.rgba16 > build/us_pc/actors/wario_cap/custom_wario_cap_logo.rgba16.inc.c
I'll try to fix this properly in the Makefile 'cause he is the one who should perform this.
How did it go on your side ?
sm64ex-coop on the Android repository from that one fork person whatever it was compiled properly and works
The repo that adds Android and other Unix support and GLES and such
this one I guess https://github.com/robertkirkman/sm64ex-coop
SM64 online co-op mod, forked from https://github.com/sm64pc/sm64ex, changes for Android and other open-source UNIX-like platforms - robertkirkman/sm64ex-coop
it's strange I am using exactly this one
maybe I'll try to git clone it again... XD
Yes that one
I built successfully
First try
The other one failed
But the devs of the official repo have interesting and stupid reasons for not supporting other Unix platforms and GLES
Where are you on compiling on?
I did it on a Radxa Zero 3E with the Debian Xfce image but disabling the DE
Then added the same executable I use for sm64ex and it just works without any compat libs
No GL4ES at all
docker image build from the Dockerfile that comes with but using ubuntu 20.04 instead of 22.04 ๐ I get a build but I needed two extra command lines to get the missing custom_wario_cap_logo.rgba16.inc.c
Compiling: src/goddard/dynlists/anim_group_1.c -> build/us_pc/src/goddard/dynlists/anim_group_1.o
Linking executable: build/us_pc/sm64ex-coop.us.f3dex2e
Making basepack list.
Packing basepack zip file.
I didnโt use docker
I built on bare metal
nothing else maters than metal ๐
Youโre metal! 
I think I am unidentifiable musically speaking, I listen to very different styles. But I do like old "soft" metal like Metallica, Rammstein ๐ฅ
Should I build again and show you a video?
no it's building fine with a fresh git clone --recussive no idea why
I wonder if the make distclean doesn't f*-up the repo
Hmmmm
however git shows no change
trying a 2nd build right now after a distclean
let's see ^^
no it just passed the critical step
Rip?
no no, the build worked
I've just replicated the change I've made on Render96ex in sm64ex-coop to load demo data from external files. I still need to check if other assets are hardcoded but I am making progress ๐
ahhhh i see
i still need to try the current render96ex version on knulli Allwinner
trimui smart poop
its good but poop jokes funny
You can see the modification here https://github.com/cdeletre/sm64ex-coop/commit/4ea21d3b96314f69f222be19b65d3399ac86819a
meow
sankyou
I forgot to mention it in the commit but it also fixes the issue when using the EXTERNAL_DATA=1 for the build (see [here](#1248351720464191590 message) for the story).
Also I can say that with this patch and using EXTERNAL_DATA=1 no other external data from the rom is hardcoded in the generated binary. I've checked every line in the build log ๐คช
funny fact about the sm64ex-coop build:
docker run --rm -v ${PWD}:/sm64 sm64excoop-builder:20.04-arm64 make EXTERNAL_DATA=1 USE_GLES=1 fails with actors/wario_cap/model.inc.c:31:10: fatal error: actors/wario_cap/custom_wario_cap_logo.rgba16.inc.c: No such file or directory but docker run --rm -v ${PWD}:/sm64 sm64excoop-builder:20.04-arm64 make EXTERNAL_DATA=1 USE_GLES=1 -j8 works ...
And here is the fix https://github.com/cdeletre/sm64ex-coop/commit/e5b65bd39ee455b451c3bb3672137436f49097f2
here is my analysis if someone is interested
Hi, I have found that it can also run correctly if I place render96ex.sh in the tools folder. Then, I can add it to favorites for a faster launch.
Is it on ArkOS or ArkOS community?
ArkOs, but on community it should be the same.
Tests:
R36S/Arkos/โ
R36S/AmberElec/โ
X55/Rocknix/โ
Plus/muOS/โ
Log:
All the installs went perfectly. Both on muOS and Arkos I get the same audio crash. Happens after "Its a me Mario"
FATAL ERROR: DynOS_Music_GetDevice: Could not open music device.
Hello Jan! Thank you for the tests ๐
Youre welcome. I think the installer is good like this ๐
Idk why its so much quicker on rocknix
Less haunted
Like 30 seconds compared to 3 minutes
You got 3 minutes to install it on other CFW ??
However rocknix takes longer to boot ๐
Oh so I was right to say in the popup message that it could take minutes
Yup
Is it the same device with different times?
Arenโt they different cpus?
the sdcard ?
rk3566 is quite an upgrade compared to rk3326
Big difference in those in pure cpu performance
Why????
same for me, arkos on chinese sd card however it's fast
Yeah arkos is an outlier with boot times idk how
I just buy some sdcards.
me too
Oh i bought 12 sd cards๐
but I used them for other purpose like the Wii U, my raspberry server ๐
But this was before that and i never used amber untill now again
But anyway its a one time install so its fine. About the audio issue, i wonder why its working for you (on arkos)
Also sm64 did work on muos so maybe theres some regression in render96?
Or upgrade that doesnt work*
I'm gonna build a "debug" version of render96 that output some information during the audio setup
Sounds good, let me know when i need to test it again๐
micro SD cards are so small, you don't notice you have that much until you count them XD
I have them in one of those flippy thingies
also sometime I discover "lost" micro SD card lol
I have them labeled with letters. I have a document that says what they are for.
I have them, that's all I know
I recently found my 10 year old 512mb sd card from my nintendo ds
Haha. I have a 64mb one from my original digital camera. The one I took with me to the USA in 2004. ๐
yes, my first HD was 512 Mo
Wow๐
I'm sad I didn't keep my floppy disks, to show to my kids ๐
As someone with kids. They probably wouldnโt care. ๐
โCoolโ with absolute zero interest in it.
I would
Arenโt you about the age of my kids?
My little boy kind of care

are you like 60+ ?
40 in a few weeks. ๐
oh, I'm 40 too
lol
Damn you were young
I have 24, 21, 18, 10
The three eldest are step children. My wife is older than me. ๐
Big familly !
But I raised them.
I just have two kids, 6 and 9 and that's enough ๐
The 10 yr old is โmineโ, I try to claim he isnโt mine sometimes too. 
same here ๐ but coming from my wife
Yeah my wife tries to disown me too sometimes.
Tell me, what am I doing wrong? At the stage of building Docker images.
I am using WSL Ubuntu 20.04 and 22.04
No need to do that anymore
Just download the 3.5 package
And place your baserom in the portfolder
see here #1248351720464191590 message ๐
it's funny how this chan is more than 50% of the time off-topic ๐
That doesn't help the poor volunteers that want to test this port like Dimma, sorry friend ๐
Here is a first attempt to get some information about the SDL audio setup. With ArkOS on my RG353VS I got this info:
detectedMusicFreq=22050, detectedMusicChan=2, countAudioDevices=2
Audiodevice[0]=rockchip,rk817-codec, fe410000.i2s-rk817-hifi rk817-hifi-0
Audiodevice[1]=rockchip,hdmi, fe400000.i2s-i2s-hifi i2s-hifi-0
Just to let you know, I added this in DynOS_Music_GetDevice():
// DEBUG
const int countAudioDevices = SDL_GetNumAudioDevices(0);
printf("detectedMusicFreq=%d, detectedMusicChan=%d, countAudioDevices=%d\n",detectedMusicFreq,detectedMusicChan,countAudioDevices);
for (int index=0; index < countAudioDevices; index++){
printf("Audiodevice[%i]=%s\n", index, SDL_GetAudioDeviceName(index,0));
}
Aight. Testing later ๐
Thanks! But how do I rebuild it anyway? I want to embed my translation into it.
Just to be sure, what files have you modified for your translation ?
A lot of files. For there is a version for sm64ex
https://github.com/Dima353/SM64-Rus-Patch/releases
Also it seems that you are not using my Dockerfile (package list order differs and TZ env seems to be missing). Here is mine:
FROM ubuntu:20.04 as build
# avoid prompt for user input when installing tzdata
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Etc/UTC
RUN TZ=Etc/UTC apt-get update && \
apt-get install -y \
bsdmainutils \
build-essential \
git \
libglew-dev \
libsdl2-dev \
python3
RUN mkdir /render96
WORKDIR /render96
ENV PATH="/render96/tools:${PATH}"
CMD echo 'Build binary: docker run --rm -v ${PWD}:/render96 render96 make NOEXTRACT=1 -j8\n' \
'Extract assets: run --rm -v ${PWD}:/render96 render96 make res\n'\
'See https://github.com/Render96/Render96ex/wiki for more information'
I foresee you're gonna having fun to build it, there are lots of changes in .c files and I can't say if it will brake something ๐ Good luck !
Is the build implemented only through Docker? Can I use a makefile?
you can build without docker ofc. You can refer to https://portmaster.games/build-environments.html for other build solutions
what flags are needed? make -4j
If you got trouble to build the arm64 docker image you can first try to simply run an unmodified aarch64 ubuntu-20.04 image
make -j4
-j4 just means 'launch 4 build task at the same time'
make res will generate the base.zip texts and demos in build/us_pc/res
make NOEXTRACT=1 USE_GLES=1 -j4 will generate the sm64.us.f3dex2e in build/us_pc
il you want an opengl build remove the USE_GLES flag but for handheld that's not what you want
If it's getting too complicated to get everything working (aarch64, russian patch, gles, etc) you can first try to build an x86_64 version from the orignal render96ex sources (https://github.com/Render96/Render96ex) with no patch, then try to get the russian patch working
don't forget to git checkout tester_rt64alpha after the git clone from the original repo
otherwise you're gonna build an old version that hasn't dynos (dynamic pack load)
Wow! Thanks for the details
Also you can first try to get the patch working on the sources it was designed for: sm64ex. I didn't get render96ex to build on my first try. I've first build sm64-port (you can ignore it, very old) then sm64ex, then sm64ex-coop and finaly render96ex ๐
testing 3.5 is the newest right
yup
i only need baserom.us.z64 in the root folder correct
yes
@mental slate optional is spelled "optionnal" in many places
It froze
idk if thats intentional or not
i think i broke it
Its installed
I doubt it actually froze
Press B/A then dpad-down, then again B/A
Otherwise start +select
If that doesnt work hold the power button๐
Thank you for noticing. I also do this typo ๐ฌ
Yes this is strange. Also A and B buttons are swapped on rocknix except if I use the system text_viewer
My logs were looking similar on knulli if my device ran out of memory, sometimes it would have the underrun error and sometimes it would just be killed like that if all the resource packs were installed
Whatever Knulli defaults to
Sorry i completely forgot: ```
detectedMusicFreq=0, detectedMusicChan=0, countAudioDevices=2
Audiodevice[0]=audiocodec,
Audiodevice[1]=ahubhdmi,
FATAL ERROR:
DynOS_Music_GetDevice: Could not open music device.
[~]#
For muOS
Thanks a lot
That is what I suspected
Doesnt really tell you much does it?๐
On the contrary I see where the issue is
Really?
Need to know how to fix it now
It comes from my patch to allow other wav format
It is pushing me to buy a RG35XX H that I donโt need
So that I can run all the CFW I didnโt need before 
I impulse bought my 35xx h for $33
I see it go for $40 on aliexpress sometimes then thereโs coupons that bring it down more
Also this might be a dumb question but can the game use mp3 instead of wav so that it doesnโt use as much memory bc the mp3 sound files are much smaller
Not possible without deep modifications in the source code. Another idea would be to not preload all the music and jingles but only when needed but the game
Any option requires deep modification
Iโll look for mp3 or vorbis when I get a working port
Hi Jan ! Can you try to run this test program sdltest on the same device+cfw ? It should output
ark@rg353v:~$ ./sdltest
test.wav loaded
detected frequency:24000
detected channels:2
Thx !
Sure thing
the zip also include the .cpp if you wanna see what I'm doing ๐
Sweet, although i doubt i could understand much of c++ code๐
Ill chatgpt it :p
What do i do exactly? I have to build it? @mental slate
Running sdltest straight gives no output
no no it is already compiled
just run ./sdltest ๐
is the test.wav in the same dir ?
Yup
ok, I need to check why it it not opening it then ๐
will build another test program ^^
Cool๐
@oblique pulsar here we go ๐
Okay were getting something now
Could not open test.wav: Couldn't open test.wav
[~]#
๐
test.wav is right next to sdltest
Oh lol
I have to be cd'd into the sdl folder
[~]# cd "/SDL_LoadWAV_test/"
[/SDL_LoadWAV_test]# ./sdltest
test.wav loaded
detected frequency:24000
detected channels:2
[/SDL_LoadWAV_test]#
Perfect ๐
thank you for testing ๐
Is it useful?
yes ๐ I just wanted to be sure the wav format dection works
@oblique pulsar when you have the time can you run this build of render96ex and send me the log. I've added additional error message from SDL ๐
Sure thing
no need to hurry ๐
I just need the log for ArkOS on R36s
Oh i thought muos
oh
well, just test where it fails ๐ I'll try to understand what is the issue
maybe the issue has no solution ๐ we'll see
Maybe๐
For arkos theres this config file that gets corrupted or something while updating ota
Might be the issue for me
Because some other ports have issues
As Robbert is having also sound issue with arkos on r36s I think it is worth looking deeper
loaded 5 controller mappings from 'db/gamecontrollerdb.txt'
precaching data
unknown texture format: `gfx/textures/special/hud_ue_uppercase`, skipping
unknown texture format: `gfx/levels/ending/cake`, skipping
unknown texture format: `gfx/textures/special/hud_ue_uppercase`, skipping
unknown texture format: `gfx/levels/ending/cake`, skipping
controller Deeplay-keys has haptics support, rumble enabled
detectedMusicFreq=0, detectedMusicChan=0, countAudioDevices=2
Audiodevice[0]=audiocodec,
Audiodevice[1]=ahubhdmi,
FATAL ERROR:
DynOS_Music_GetDevice: Could not open music device. (ALSA: Couldn't open audio d evice: Device or resource busy)
[~]# /mnt/mmc/ROMS/Ports/render96ex.sh: line 134: systemctl: command not found
[~]#
For muOS.
This alsa error only pops up sometimes, it doesnt always fyi
Sometimes its just this: DynOS_Music_GetDevice: Could not open music device.
alsa can't be used by multiple process at the same time, it needs an abstration layer I think
lol
pulseaudio is a way to have multiple stream I know
does muos have pulseaudio ?
[~]# ls /usr/bin/pulseaudio
ls: /usr/bin/pulseaudio: No such file or directory
[~]#
Dont think so
Oh it does
[~]# ls /usr/lib/libpulse.so.0
/usr/lib/libpulse.so.0
[~]#
Yeah thats what confused me
i swear they said they didnt
No, it should work hdmi automatically when connected, we probably need to set it in the retroarch.cfg. another problem we have is we are just using alsa, no pulse or pipewire, so our audio configurations are a little finicky lol
From the muos server
Maybe dummy libs for now?
could also work
I think this will be our last test for today ๐
Interesting
Demo data loaded
Loading File: ./res/texts/AM_us.dSDL init error: Audio target 'pulseaudio' not available
Hard crash now after loading textures
yup haha
there is something with alsa: https://bbs.archlinux.org/viewtopic.php?id=116042
nvm it's not what we need
well my friend, thank you for the tests
Always ๐
we'll continue later the journey
You really picked a hard one to start with
have a great day
Hope youre still enjoying it somewhat haha
yes, still opengl build is working on more devices but I'd prefer to get this GLES build working ๐
sure
btw you can remove the export SDL_AUDIODRIVER="pulseaudio" from your .sh now
just before I leave, another debug build for you ๐
It outputs this on ArkOS for me
detectedMusicFreq=22050, detectedMusicChan=2, countAudioDevices=2
Audiodevice[0]=rockchip,rk817-codec, fe410000.i2s-rk817-hifi rk817-hifi-0
Audiodevice[1]=rockchip,hdmi, fe400000.i2s-i2s-hifi i2s-hifi-0
DynOS_Music_GetDevice: music device opened
DynOS_Jingle_GetDevice: jingle device opened
DynOS_Sound_GetDevice: sound device opened
you can test another day ๐
controller Deeplay-keys has haptics support, rumble enabled
detectedMusicFreq=0, detectedMusicChan=0, countAudioDevices=2
Audiodevice[0]=audiocodec,
Audiodevice[1]=ahubhdmi,
FATAL ERROR:
DynOS_Music_GetDevice: Could not open music device. (ALSA: Couldn't open audio device: Device or resource busy)
/mnt/mmc/ROMS/Ports/render96ex.sh: line 134: systemctl: command not found
[~]#
@oblique pulsar can you please get me the /usr/share/alsa/alsa.conf on muos ? I'd like to understand the config ๐
Sure thing ill send the whole thing. Theres some funky stuff going on with their setup
Theres tons of configs even for libraries they apparently dont use๐
You testing muos on rg35xx isn't it ?
Yes
The plus
Heres some more stuff that looked audio related haha
[~]# find / -name asound.conf
find: /proc/2344: No such file or directory
[~]# find / -name .asoundrc
Dont think so
Wait
Found this under var/lib/alsa
And this under /proc/
ok thx !
Good night ! And thx again for the file quest ๐
you can also check if software mixing is enable by running this program (can be run on ArkOS and muOS if you want). I get this result on my ArkOS:
ark@rg353v:~$ ./sdltest
DynOS_Sound_GetDevice: sound device opened with id 2
DynOS_Sound_GetDevice: sound device opened with id 3
[~]# "/SDL_OpenAudioDevice_test/sdltest"
DynOS_Sound_GetDevice: sound device opened with id 2
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Device o [~]# "/SDL_OpenAudioDevice_test/sdltest"
DynOS_Sound_GetDevice: sound device opened with id 2
[~]# "/SDL_OpenAudioDevice_test/sdltest"
DynOS_Sound_GetDevice: sound device opened with id 2
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Device or resource busy)[~]# cd "/SDL_OpenAudioDevice_test/"
Ok so it canโt use the audio device twice in parallel
This is on muOS or ArkOS?
Can you try to add a $HOME/.asoundrc with this content and try again?
# anbernic-audio alsa config
# dmix + softvol
pcm.!default {
type plug
slave.pcm "softvol"
}
ctl.!default {
type hw
card 0
}
pcm.ddmix {
ipc_key 1024
type dmix
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
}
pcm.softvol {
type softvol
slave.pcm {
type asym
playback.pcm {
type route
slave.pcm "ddmix"
ttable.0.0 0.96
ttable.0.1 0.80
ttable.1.0 0.80
ttable.1.1 0.96
}
capture.pcm "hw:0"
}
control {
name "Master"
card 0
}
}
Then you can remove the file
Like this?
This is supposed to enable dmix (software mixing) which allows multiple audio device uses
it should be in /home/muos_default_user also the filename starts with a dot .asoundrc
No root
muOS doesn't really have a user other than root afaik, the muos user is just used for SFTPgo server
Like it's not an actual linux user I don't think
Okay that actually changed something:
ALSA lib pcm_direct.c:2188:(_snd_pcm_direct_new) unable to create IPC semaphore
ALSA lib pcm_direct.c:2188:(_snd_pcm_direct_new) unable to create IPC semaphore
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Function not implemented)DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Function not implemented)[/SDL_OpenAudioDevice_test]#
ok that is worst ๐
that means gameover for muOS for music support until the audio system is updated
Fair enough, could you eli5 to me whats broken with the current driver?
the current alsa setup in muOS uses directly the audio hardware device and sadly the audio device doesn't implement mixing (multiple stream at the same time). A software mixing can be enabled in alsa (dmix) as a workaround but in muOS I have no ideaif this is possible (it requires alsa stuffs but I don't remember what)
I think pipewire will solve this
pipewire is better anyway
Lets wait on that
yep
Soon we can exclude certain cfw's as well
@oblique pulsar you also have arkos on an R36S ?
Yeah but i have no wifi for it. I hate the thing
๐ฆ
ok so it's hard to run test programs ๐
need to setup a .sheach time
Thank you Jan for the additionnal tests
Thank you for trying to fix this for muos๐
I'll try to resume later the limitations on muOS and ArkOS for certain handheld
If I had a device that run muOS I could do it
with a bit of patience ๐
Id love to see you do it, but testing without a device is insane
I was looking at RG35XX but I don't need it so...
You too๐
Tested v3.5 on an RG503 running latest version of rocknix, smooth out of the box w/ fresh install
device is 1gb of memory and widescreen as well, i didnt get any of the running out of memory issues i was getting on knulli so rocknix is just better ig
Thanks @last ridge !
np, can do the arkos test tomorrow night probably
I don't have a device that can run muOS but after digging in the muOS disk image (RG35XX OG) I see that it is using the tinyalsa to interface with ALSA in the Linux kernel (correct me if I am wrong).
root@bc1b38fe6326:/muos# ls -1 /mnt/part2/lib/*alsa*
/mnt/part2/lib/libtinyalsa.so
After googling a bit I have found this post where I can read that tinyalsa uses the ALSA device directly and exclusively (advantage is mainly low-latency). I don't see in tinyalsa anything about software mixing (like dmix in legacy alsa). This means that only one audio stream at a time can be sent to the audio device, except if the audio device support hardware mixing (seems no to be the case on RG35xx). In conclusion the current version of muOS can only run Render96ex without the audio dynos pack because this audio pack requires 3 additional audio streams (music, jingle, sfx) that are setup along the main audio stream herited from sm64ex project. I will add a warning about this limitation on muOS in the message that popup during the installation process. If muOS updates its sound system in the future this issue may disappear. A workaround would need to implement software mixing (SDL3 offers this but it is not supported in Portmaster) in Render96ex but I'm really not planning to do ๐
EDIT: see below but muOS isn't using libtinyalsa (but supports it). However it's using plain old alsa without dmix which is the reason of this sound issue
Hello, I'm one of the muOS devs. Rg35xx og didn't really have port support, it's all of the newer devices that do. The muOS image for the OG is quite dated. Our current version, 2405.1 refried beans is aarch64 and mu h more capable. That being said, if you need any info or someone to test this feel free to ping me anytime!
Hi @zenith mirage Thank you for stopping by ๐ Indeed I've realized, after posting my previous message, and when I started looking at the 2405.1 refried bean that this one is newer. I also detect the use of libtinyalsa in 2405.1 refried bean. My assumption is that the program running on muOS that use alsa for the sound are using this tinyalsa lib. Am I right ? The issue we seems to have with muOS in the scope of the port of Render96ex is that 4 SDL_OpenAudioDevice are called but only the first is a success and the next ones fail as the device is in use and doesn't support multiple stream mixing. It works on other CFW that have alsa dmix enabled which offer multiple stream mixing (software). It seems not to be the case in muOS and I think it isn't supported. Have you any idea about this ?
We have support for tinyalsa but don't use it. At the moment we are just using plain old alsa, but we don't have dmix available. However. Our next major version, 2407 Banana should hopefully see us move from alsa to pipewire with wireplumber
Oh ok. So i was wrong about tinyalsa
Any ETA for banana ?๐
There are a number of ports that fail to run from.portmaster currently due to the alsa issue of just the 1 thread unfortunately. Axiom verge is one I know about
Hopefully by end of July since we dubbed it 2407, but we are just now getting into it really after refried took so long lol
And enabling dmix through .asoundrc is possible ?
I'd have to look into it, I know almost nothing about how the audio stuff works on these devices, but I can take it back to the team and see what they say
If you can have a feedback on this that will be nice ๐ Anyway we know that this alsa issue will be part of the past soon ๐
Yeah, I've spent way too much time getting pipewire working lol. But I will definitely get back to you on the alsa issue and see if I can't rig something up
Great ! Thanks !
I think that a /root/.asoundrc correctly setup for dmix, if dmix is available, could solve this alsa issue. However dmix introduces latency
I don't feel the latency is dramatic as I haven't noticed it
I found some reading about dmix here https://alsa.opensrc.org/Dmix
Alsa Opensrc Org - Independent ALSA and linux audio support site
Also ArchLinux doc shows a very basic setup https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture#Dmix which consists of adding to /etc/asound.conf
pcm.dsp {
type plug
slave.pcm "dmix"
}
If you need any more testing let know. Ive installed 2405.1 now which supposedly has some fixed related to the audio drivers ๐
Just added that and so far haven't lost audio, so I'm down to test lol
[/mnt/mmc]# ./sdltest
DynOS_Sound_GetDevice: sound device opened with id 2
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Device or resource busy)[/mnt/mmc]#
No dice
This is with default muOS config isn't it ?
This is after I added the etc/asound.conf
oh ok
I'm gonna be gone for a week, but when I get back I'll start pestering the boss man to add pipewire lol
Maybe with /root/.asoundrc like this something may happen
pcm.ddmix {
type dmix
slave{
pcm "hw:0,0"
}
}
pcm.!default {
type plug
slave.pcm "ddmix"
}
@oblique pulsar wanna try ? ๐
Also I'm interrested in the result of aplay -L
๐
Sure thing, ill give it a shot tomorrow because its getting late here. Do i need to add any configs?
Sure ! Take your time. I just need the SDL_open device test with the .asoundrc file as shown here before. The aplay -L can be run without any config
Thx and good night!
[/SDL_OpenAudioDevice_test]# "/SDL_OpenAudioDevice_test/sdltest"
DynOS_Sound_GetDevice: sound device opened with id 2
[/SDL_OpenAudioDevice_test]# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=audiocodec
audiocodec,
Default Audio Device
sysdefault:CARD=audiocodec
audiocodec,
Default Audio Device
default:CARD=ahubhdmi
ahubhdmi,
Default Audio Device
sysdefault:CARD=ahubhdmi
ahubhdmi,
Default Audio Device
[/SDL_OpenAudioDevice_test]# "/SDL_OpenAudioDevice_test/sdltest"
ALSA lib pcm_direct.c:2123:(snd1_pcm_direct_parse_open_conf) Unique IPC key is not defined
ALSA lib pcm_direct.c:2123:(snd1_pcm_direct_parse_open_conf) Unique IPC key is not defined
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Invalid argument)DynOS_Sound_GetDevice: Could not open sound d [/SDL_OpenAudioDevice_test]# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=audiocodec
audiocodec,
Default Audio Device
sysdefault:CARD=ahubhdmi
ahubhdmi,
Default Audio Device
[/SDL_OpenAudioDevice_test]#
```
Before and after the root/.asoundrc
Thx @oblique pulsar can you try again with this /root/.asoundrc pleaze ?
pcm.ddmix {
type dmix
ipc_key 1337
ipc_key_add_uid true
slave{
pcm "hw:0,0"
buffer_size 5440
period_size 1088
}
rate 48000
channels 2
}
pcm.!default {
type plug
slave.pcm "ddmix"
}
ALSA lib pcm_direct.c:2115:(snd1_pcm_direct_parse_open_conf) Unknown field rate
ALSA lib pcm_direct.c:2115:(snd1_pcm_direct_parse_open_conf) Unknown field rate
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Invalid argument)DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Invalid argument)[/SDL_OpenAudioDevice_test]#
my bad XD
Wrong section I used
pcm.ddmix {
type dmix
ipc_key 1337
ipc_key_add_uid true
slave{
pcm "hw:0,0"
buffer_size 5440
period_size 1088
rate 48000
channels 2
}
}
pcm.!default {
type plug
slave.pcm "ddmix"
}
at least the error messages from alsa are very clear ๐
I hope your rg35xx is not going to explode
ALSA lib pcm_direct.c:2188:(_snd_pcm_direct_new) unable to create IPC semaphore
ALSA lib pcm_direct.c:2188:(_snd_pcm_direct_new) unable to create IPC semaphore
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Function not implemented)DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Function not implemented)[/SDL_OpenAudioDevice_test]#
[/SDL_OpenAudioDevice_test]# ipcs -l
kernel not configured for message queues
kernel not configured for shared memory
kernel not configured for semaphores
I broke sound last time haha
oops
I forgot about him
[/SDL_OpenAudioDevice_test]# "/SDL_OpenAudioDevice_test/sdltest"
DynOS_Sound_GetDevice: sound device opened with id 2
DynOS_Sound_GetDevice: Could not open sound device. (ALSA: Couldn't open audio device: Device or resource busy)[/SDL_OpenAudioDevice_test]#
is this better?
(i have no idea what im doing here)
well it means that it cannot open a second stream. however no more error with semaphor ?
what does show aplay -L
[/SDL_OpenAudioDevice_test]# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=audiocodec
audiocodec,
Default Audio Device
sysdefault:CARD=ahubhdmi
ahubhdmi,
Default Audio Device
[/SDL_OpenAudioDevice_test]#```
this is with the .asoundrc present ?
I have unbroken my audio
Yes
using dsp
type plug
slave {
pcm "hw:0,0"
rate 48000
channels 2
}
}
pcm.!default {
type plug
slave.pcm "dsp0"
}
oh yes but it doesn't enable dmix (software mixing)
Okay lets ask chatgpt :p
I looking at "kernel not configured for semaphores"
I don"t know it this means that the kernel hasn't been built with this feature, or a module is not loaded or idk
does find / -iname "*.ko" 2>/dev/null | grep ipc list something ?
No it doesnt
I guess the kernel is build without IPC support
chatGPT suggestion:
The error message "kernel not configured for semaphores" typically indicates that the Linux kernel does not have support enabled for System V semaphores. System V semaphores are a type of inter-process communication mechanism in Unix-like operating systems.
To solve this issue, you generally need to do the following:
Check Kernel Configuration: Verify if System V IPC (Inter-Process Communication) support is enabled in your Linux kernel configuration. This support is typically enabled by default in most distributions, but it's possible that it might be disabled in custom or minimal installations.
Recompile Kernel (if necessary): If System V IPC support is not enabled in your current kernel, you may need to recompile your kernel with the appropriate configuration options enabled. This process involves modifying the kernel configuration file (config-* or .config file in the kernel source directory) and enabling the necessary options related to System V IPC.
Load Kernel Module (if applicable): Sometimes, System V IPC functionality can be loaded as a module rather than being compiled directly into the kernel. If this is the case, ensure that the relevant kernel module (ipcs, ipc_sem, etc.) is loaded. You can load a module using modprobe or insmod.
Restart and Test: After making any changes to kernel configuration or loading modules, it's often necessary to restart your system for the changes to take effect. Once restarted, try setting up your semaphore again and see if the error persists.
Consult Documentation: If you are using a specific distribution or a custom kernel, consult the documentation or community forums related to that distribution or kernel. They may provide specific instructions or additional details relevant to your setup.
By ensuring that your kernel has the appropriate support for System V semaphores, you should be able to resolve the "kernel not configured for semaphores" error and proceed with your semaphore setup on Linux.
lol
too late hahah
So it sounds like its a kernel limitation
Meaning 2 programs cant acces the driver at once, correct?
yes, the audio device in muOS can only be used for one audio stream a the same time. two audio streams from two programs won't work as well as 4 streams from one program as it is the case with render96ex
got this in arkos on rg353vs:
ark@rg353v:~$ ./ipc-test
Semaphore test successful!
lol
Shame :/
the source code of the test program
you could build the ipc module
it could be easy for the muOS team
they already have the building environment
Sure, but we need this to work for everyone, so the muos devs need to take action. Assuming this is not a regular config.
@zenith mirage ==> anyway you can build the ipc module for the kernel used in muOS ? ๐
right
to build the kernel module I would "just" need the kernel .config that has been used during the build of the present kernel
well
also when the kernel has been build with the option it stores in /proc/config.gz the conf
but in minimal system that's not what we want
Unfortunately not, kernel source was never provided by anbernic
ohhhh it's a kernel from anbernic ! I didn't know
ok, all options are closed ๐
lol
thanks @corey for this information
Yeah, until we get on mainline anything kernel related is out of our hands, and we are stuck on 4.9.170 lol
it's totally understanble ๐
then I'll stick to my plan to warn muOS user about this limitation during the installation of Render96ex
Yeah, until we get pipewire implemented that's the best course of action I think. I'm super excited for this port! Lol
thanks, I really hope you'll be able to enjoy it soon ๐
this is the warning displayed only when muOS CFW is detected
I hope this will limit the number of muOS users asking for help about this issue ๐
was dynos always an option because last time i said no to everything and we got to the issue we have now.
I remember a tester said that saying no to all optional packages let him run with muOS
I'll pack the testing-v3.6 maybe ?
what's your suggestion ?
Ill test it again real quick
cool
- testing-v3.6
- fix typo in the installation script (thx ellis!)
- add a warning message for muOS users about the possible issues with the dynos audio pack.
here it is
let's finger cross ๐ค
๐
Crap, yeah its doing the same thing again
DynOS_Music_GetDevice: Could not open music device.
I dont have the audio pack installed
Is 3.6 different, functions wise? This is 3.5.
Itโs same bin
ok
I need to do some archeology here XD
I'm a perfectionnist ๐
Best curse to have ^^
sure
(disabling this dynos audio stuff in the source code)
Sounds like a good idea
Exact same thing๐ฌ \
Audiodevice[0]=audiocodec,
Audiodevice[1]=ahubhdmi,
FATAL ERROR:
DynOS_Music_GetDevice: Could not open music device. (ALSA: Couldn't open audio device: Device or resource busy)
that's crazy ๐
but thx for the test ๐
I wonder how it can try to open an audio device
๐คทโโ๏ธ
and the dynos folder is empty ?
yes but I think the code init the device, I'm trying another modification ๐
if you can try this plz ๐
ok, let's build a version that works for other with audio pack now ๐
build done, testing arkos without audio pacl
without audio pack there is no sound when mario jump XD
but it runs...
can't do magic for muOS ^^
I'll pack the testing-v3.7
here it is
- testing-v3.7
- modify source code to avoid opening additional audio device when no dynos audio pack is installed (workaround for muOS that now can run the game but without the music and also without lot of SFX).
TL;DR: if you want to give a try:
download testing-v3.7
unzip it in roms/ports/
put your SM64 rom in roms/ports/render96ex with the name baserom.us.z64
run render96ex.sh
Note: if you are a muOS user don't install the dynos audio pack
Nice work man. I think this should be the final contender๐
Now I need to work on this https://portmaster.games/packaging.html
^^
cloning my PortMaster-New fork locally. My SSD is gonna explode XD
It failed the first two times for me lol
If you need someone to check the port package feel free to send it to me
Ill go over it real quick
thx Jan !
@oblique pulsar
here is my port structure
- Creating render96ex.zip
- Added render96ex/sm64.us.f3dex2e.aarch64
- Added render96ex/bin.aarch64/text_viewer
- Added render96ex/restool.zip
- Added README.md
- Added gameinfo.xml
- Added render96ex/restool-msg.txt
- Added port.json
- Added render96ex/sm64.CC0-1.0.license
- Added render96ex.sh
- Added render96ex/cover.png
- Added screenshot.png
- Added render96ex/libs.aarch64/libdl.so.2
- Added render96ex/RENDER96-HD-TEXTURE-PACK.GPL-3.0.license
I put cover.png in ports/render96ex/render96ex instead of ports/render96ex because the gameinfo.xml cover entry will be render96ex/cover.jpg
is that right or not ? 'cause the https://portmaster.games/packaging.html says the cover.jpg should be in ports/render96ex
Could you send the zip to me? Structure looks good to me
let me build the zip
it's strange to me to have, the covers in PortMaster-New/ports/render96ex instead of PortMaster-New/ports/render96ex/render96ex when I see this in my port installation:
RK3566:~/roms/ports # ls */cover.*
Half-Life/cover.png smw/cover.png
Wip/cover.png soh/cover.jpg
ccleste/cover.png sonic1/cover.png
chipndale/cover.png sonic2/cover.png
doom3/cover.png soniccd/cover.png
jazz2/cover.png sorr/cover.png
openjazz/cover.png spacecadetpinball/cover.png
pacman/cover.png sstfe.bakcup/cover.png
prototype/cover.png sstfe/cover.png
rvgl/cover.png sstse/cover.png
sdlpop/cover.png zelda/cover.png
It restructures the port while installing
Or when creating the zip
I dont know exactly how it works
ok so I put cover.png in PortMaster-New/ports/render96ex and we're ready to PR ?
indeed. it works this way.
@oblique pulsar here is the zip render96ex.zip ๐
I've updated the file on this link with the cover.png in the expected path
wasnt done one moment๐
Changes:
- Restructured all the portfiles
- Renamed to README.md
- Resized image to 640x480
- Compressed the images
Things to do:
- Make sure you make the readme (and other files for that matter) with the tools on the site.
Removed restool so i can send it here
ok
Just to be sure i would redo the port.json and xml too
what is wrong in port.json and xml ?
Kloptops has an automatic full checklist for every pr but still
Did you make them with the generators on the site?
Because errors are easy to make when you edit one from another port
I copied from another port and edited in Visual Studio
Just a tip, you dont have to if you think theyre correct
its just that one comma can be enough haha
Visual Studio is nice to warn about the syntax error I know
but yeah, especially JSON is mean
not as mean as yaml 

when I read or write yaml I am always stressed ๐
Ive heared the stories here haha
ok, I've rewrote the port.json, README.md and gameinfo.xml with the tools. Better be 100% sure ๐
@oblique pulsar you want to check again or I can PR ?
Theres some sounds
Audio driver is limited on muos
Its like 80% of the sound? @mental slate
I don't have a % but the game is sadly missing many sound effect on muOS ๐ฆ
sm64ex is maybe a better option to play a SM64 port on muOS
still I'm not even 100% sm64ex will run perfectly on muOS
I just tried to install this and I got this from the log.txt
Ressources are missing.
/mnt/sdcard/roms/05other/01PORTS/Super Mario 64 - Render96.sh: line 118: text_viewer: command not found
/mnt/sdcard/roms/05other/01PORTS/Super Mario 64 - Render96.sh: line 138: 27948 Killed $GPTOKEYB "sm64.us.f3dex2e.${DEVICE_ARCH}"
/mnt/sdcard/roms/05other/01PORTS/Super Mario 64 - Render96.sh: line 134: systemctl: command not found
on muOS ?
Yeah
SP
Did I do something wrong? I installed it like most ports I have installed and I've got a lot running correctly
I'm looking at the pins but the link that's associated to it has been deleted when you click on it
This is what I downloaded
oooooh, this is an incomplete archive
give me 1 min
You guys might want to adjust the pins as well I guess
I'm waiting for my "developper" tag so that I can update the pins ๐
@woeful holly try this one please render96ex.zip (this is the release candidate)
crap the text_viewer has lost its executable flags ๐ญ
@woeful holly ok, I have fixed the executables flags in this zip archive. You can download it to test
Thanks man I'll try it
if you're on muOS don't answer yes when it asks to install the dynos audio pack
Yeah it's running now
Seems like some SFX are good but no music or Mario voices
Controls don't respond tho on my SP. Mario ducking like he scared
try to configure in the option menu the control. In the game press Start, then R1
Here is some help until the port is validated: https://github.com/cdeletre/PortMaster-New/blob/main/ports/render96ex/README.md
I wonder if the SP has R1 and L1
oh yes it even has R2 and L2 !
@hazy crag could you give kotzebuedog a porter role? ๐
the game is design to work with analog stick but if you manually edit sm64config.txt you may get something
Okay thank you
you need to find the dpad key code
used in SDL framework
Its not made for joystickless devices๐
then in sm64config.txt i think you need to set key_stickup / key_stickdown / key_stickleft \ key_stickright
@ellis played sm64 with a dpad I know
Thanks cebion๐
@oblique pulsar would you happen to have the SDL codes for the d-pad?
I'm learning on the fly. All of this stuff is very new to me
I dont, controller configs have always been a headache to me lol
Just wondering, does this game have keyboard support?
it has mouse support
But not wasd for movement?
Now whaere do I zee the pinned mezagez zir ?
Yes but is there a way to see the list of already pinned messages?
I can scroll but..
oh ny good, it was just in front of my eyes (in french we say under my noze lol)
right click on a message doesn't give me the option to pin it
maybe I must disconnect and reconnect
nope
But I'm proud, I am a port cadet now ! ๐ฅน
a port cadet who made 3 additional commits after his PR because he missed few things...
and this is why we say in french
Jamais deux sans trois
My first pr wasnt great lol
I think cebion requested changes twice :p
And like 6 commits in total haha
We learn by failling ๐
I think maybe you need port engineer for pinning? Idk
no sรฉ
I dont get the roles tbh๐
You can now call the port navigators though for new ports
And i think you have access to the dev channels?
While can you unpin every message here
Sure
I'll made a new one with the release candidat
Aight go ahead ๐
OH - MY - GOD ! What do I see ? An hidden room for developper !!!! So coool ! Is there gaming arcade there ? ๐

TL;DR;
At the moment this port has been submitted with pull request #493. If you want to install it manually:
- download the last release candidate build of this port render96ex.zip
- unzip it in roms/ports/
- put your SM64 rom in roms/ports/render96ex with the name baserom.us.z64
- run render96ex.sh
- read README.md if needed
Also check ./render96ex/sm64.us.f3dex2e.aarch64 and ./render96ex/bin.aarch64/text_viewer have the executable flag (windows unzipping like to mess with this flag)
@oblique pulsar can you pin my last message pleaze ?
Ok my friend, swimming pool time for us here !
Have a great evening / day !
<@&1216123318122577972>
PR has been sent, but a couple tests doesnt hurt.
Yessss beat me with other issues please 
Will try it in a few hours
Thanks Damian ! What's your baby model and which CFW are you using ? ๐
Baby model, what is a baby model??
X55 and of course Rocknix
nice ! I wonder how it will run @ 1280x760 and if it can handle it with the 3d model pack enabled (by default it is disabled)
Let me know when you have tested it ! ๐
Im copying it over
no hurry ๐
Idk if it's running full speed but it runs
Okay i don't think its running full speed, some times its running a bit slowly
I have enabled all things that the tool wanted
And either im A little rusty or is the stair thing disabled
try to disable 60fps in the option menu in the display section.It can help.
See details here README.md
What is this stair thing in SM64 ?
If I had to guess is he talking about that one speed running thing where if you backwards long jump up that one starecase you can basically clip through the invisible barrier and get to the end of the game early?
Like that speedrun thing i think
this
I don't see why it'd be fixed unless render96 is based off the Japanese release where it was fixed
that would be the funnier alternative
Anyway, the port is US version base built
?? Tf i do lol I just suggested it
huh?
Yep, a blj, but i think it actually cause I can't hold the Controller like i would and last time i did some was like 1.5 years or something, and yeah in the settings under Cheats i think is a setting that called blj everytime so
Yep, i actually think i am
I am more confortable at playing Mario Odyssey when it comes to having the control ๐
Hey just came to say that I installed render96 today on my rg35xx-h through muos11 and it run and looks beautiful. It blew all my expectations!
Iโm just wondering if music is going to be available for this version? Thanks for the amazing work
Pretty sure we have to wait for muOS to have pipewire before that'll be a possibility
at least from my understanding
Yes thatโs it, it has been confirmed by Corey from the dev team of muOS. I have tried hard with the help of JanTrueno to get it working with the audio pack on muOS but with no success. Sorry my friends ! ๐ค
Thanks for the feedback Swdc! Happy that youโre getting satisfaction from it ๐ I got a big help to get this port working smoothly from courageous testers such as @low jungle @oblique pulsar @upbeat garnet @last ridge @severe shell (sorry if I missed someone)
Yeah definitely, I played Mario Odyssey 4 times through
Im impressed as well, game looks great, like a proper remaster on rg35xx h via muOS
Yeah, the texture pack does a good job while keeping the spirit of the original SM64 game. I like as well the 3D model pack that can be enabled but I know that some SM64 fans feel that it changes too much the visual
I hope muOS users will get soon the update of the sound system to 100% enjoy this port โบ๏ธ
Would it work on the Plus/SP too or the analogue sticks are necessary?
The game will run but I donโt know if you can really success with a DPAD on SM64. @low jungle says it is possible though.
For non-coop sm64 ports itโs doable (R33S and RG28XX running regular sm64ex) but itโs a chore to remap and quite a mediocre experience
I needed to connect a keyboard temporarily to remap properly
I can't get this port to run
I downloaded the zip file in the pinned comment, renamed a usa rom of sm64 to baserom.us.z64, did everything but it still gives me error when trying to install it
Hi @tardy wharf
Hi
What is the error my friend?
There are two
Letโs start with the first one ๐
You can also share the log.txt if you can
I managed to install it but now whenever I run it the sm64 logo appears as well as the render96 logo, mario says "It's a me mario" and then the game exits out
Are you using muOS ?
Yep
Have you chosen to install the audio pack ?
At the moment there is a limitation on muOS which makes the game to crash when the audio pack is installed
You have two options
Rename render96ex/dynos/audio to render96ex/dynos/audio.disabled (itโs an exemple) or restart the installation process and answer no for the audio pack
MuOS is supposed to be updated soon and it should fix this issue
Just a question: Does saying no to the audio pack disable sound entirely on the game? Also, do I install the rest of the optional things? I don't really know what they mean
You can find details here https://github.com/PortsMaster/PortMaster-New/blob/main/ports/render96ex/README.md about what are the packs
Ok thanks
Sadly without the audio pack music and lot of sounds will be missing (Mario voices especially)
If I install the other two packs will I have any problem?
It should be ok
That's sad
I hope so
Yes weโve dig deep to try to find a workaround but it is a dead end atm
The only workaround is to rewrite the audio engine of the game and I wasnโt ready for it ๐
It would take more time than just wait for the muOS update
Yeah that's too much work
If i click no for the audio pack during the installation now, will it be possible to turn it on in the future when muOS updates?
Actually I had to modify the audio engine a bit so that you can at least run it on muOS without the pack. Originally even without the pack it crashed
Well thank you
Best strategy if you plan to use it in the future is to install the pack but rename the folder โaudioโ that is in โdynosโ (in the game folder) to โaudio.somethingโ. That will disable the audio pack
Then when you want to enable it you rename it back to โaudioโ
So that no need to reinstall the whole game
Read carefully the README.md there are precious information in there
Donโt hesitate to share your experience on this port โบ๏ธ
I played the sm64 port on the RG280V and it wasn't bad.
You mean the sm64ex https://github.com/sm64pc/sm64ex ?
Fork of https://github.com/sm64-port/sm64-port with additional features. - sm64pc/sm64ex
No, the original sm64 port: https://retrogamecorps.com/2020/10/26/super-mario-64-port-for-rg350-devices/
The RG280V doesn't have analogue sticks
Yes I see that. But itโs very pocketable ๐
Almost swatch pocketable ๐
I still love it, but now i'm using the 35XX SP as my device to bring on the bus commuting to work
I tried to get the controls to work. I was told it will once muos has analog to dpad swapping with the power button.
Need the SDL codes for the dpad
Sm64config.txt needs to be edited with those to have it work on the SP
So you did it ? ๐
I don't know the codes
Ok i thought you got the codes. I donโt have the solution yet for you but I can try to work on it
Doesn't open on TrimUI Smart Pro CrossMix. I compared the SHA1 checksum before renaming the rom file. Log.txt shows:
Segmentation fault
Ressources are missing.
Segmentation fault
bash: you need to specify whom to kill
./render96ex.sh: line 76: systemctl: not found
Hi @torpid frost Iโm not sure that CrossMix is officially supported by Postmaster. I can still have a quick look at the log to try help you but please share the full log.
On the portmaster site has it listed as: "TrimUI Smart Pro: All Firmwares". Anyways above is the full contents of the log.txt file. I can ssh and run it directly and this is the output :
root@TinaLinux:/mnt/SDCARD/Roms/PORTS# ./render96ex.sh
./render96ex.sh: /mnt/SDCARD/Apps/PortMaster/PortMaster/device_info.txt: line 133: lscpu: not found
# TrimUI Smart Pro - TrimUI
```bash
DEVICE_INFO_VERSION=0.1.9
PM_VERSION=2024.07.01-1139
CFW_NAME=TrimUI
CFW_VERSION=1.0.4
DEVICE_NAME=TrimUI Smart Pro
DEVICE_CPU=a133plus
DEVICE_ARCH=aarch64
DEVICE_RAM=1
DEVICE_HAS_ARMHF="N"
DEVICE_HAS_AARCH64="Y"
DEVICE_HAS_X86="N"
DEVICE_HAS_X86_64="N"
DISPLAY_WIDTH=1280
DISPLAY_HEIGHT=720
ASPECT_X=16
ASPECT_Y=9
DISPLAY_ORIENTATION=0
ANALOG_STICKS=2
```
current_mode 1280x720
MALI_CreateWindow:0x55716fa540 done.
Segmentation fault
Ressources are missing.
Segmentation fault
bash: you need to specify whom to kill
./render96ex.sh: line 76: systemctl: not found
root@TinaLinux:/mnt/SDCARD/Roms/PORTS#
The log.txt only contains 6 lines ?
Itโs night time here so we can continue this next day for me โบ๏ธ
Yep. No worries, I am going to come back to this next week
starts from the terminal but not emulationstation menu on amberelec. wierd?!
any ideas what could be the cause?
Hi @small sleet What happens exactly when you start from ES ? Is there log?
Weird, i tested it on amber
I am running a version from january i think
Maybe some update changed it
Jan, can you please check with amber when you've got some time ?
Sure
Still works with the new package on amber/r36
version 20230203๐
odroid-go3 version of amberelec on r36
@small sleet is your CFW updated with the last version ?
Hi matrioshka. Can you connect with ssh to your handheld and run sdljoytest ? then press dpad up/down/left/right and copy the output here ๐
Would this count as a contribution? Loll
@mental slate
Thanks @woeful holly
My pleasure man. Feels good to be able to help
Were you able to setup this in the menu directly or you had to edit it in the sm64config.txt ?
I looked at the config and looked at the menu and kind of figured it out from there.
Your message just triggered me to look at it. If I had seen it earlier I probably would have gotten it earlier when I was asking about it lol
I had to edit the menu and go back into the game and go back and forth because if you bind the d-pad as the analog in the first row of the three rows of binds, the game will crash and won't start back until they are removed
There was also some conflicts going on with the Z-Trigger which is why Mario was stuck in the crawling state
I guess as soon as they figure out the audio, this port will be working perfectly
Good job ! I was trying to get something for dpad user with my rh353vs but itโs hard to test as even without joystick setup the game is using them ๐
Just glad it's figured out and now everybody can play it on their SP
You deserve credits for the SP part โบ๏ธ
I wonder if you config also works for rg35xx non sp
@woeful holly when you've got the time, can you please detail the mapping you have. I got that DPAD is for movement. How have you mapped the other actions (https://strategywiki.org/wiki/Super_Mario_64/Controls). I don't need of course the combinations like Long Jump, Slide Kick...
Also, in the lounge someone (see #โ๏ฝlounge message) suggested for dpad only handheld to use L1 and R1 for "Rotate/Center camera" (key_cleft and key_cright). I was thinking that X and Y could also be mapped to "Zoom In/Zoom Out" (key_cup and key_down). If you configure the camera as "Free camera Enabled" + "Analogue camera Disabled" in the option menu you get something that might be interesting. L2 can be used to duck (key_z) and R2 for Camera mode (key_r). What do you think? Can you get a working configuration like this with your SP ? (maybe this is what you did, waiting for your mapping details ^^)
You can map it easily by going into the options and changing the controls because the d-pad is working so you can customize it to whatever you need
Itโs just that I donโt have an rg35xx 
But Iโll see with @hybrid canyon to dig his idea
Thanks mate !
@hybrid canyon based on your suggestion. The walking thing is not possible still. However I have tested a similar configuration with my rg353vs and playing with dpad seems more comfortable.
Use L1 and R1 for "Rotate/Center camera" (key_cleft and key_cright).
Use X and Y to "Zoom In/Zoom Out" (key_cup and key_down)
L2 can be used to duck (key_z) and R2 for Camera mode (key_r).
Configure the camera as "Free camera Enabled" + "Analogue camera Disabled" in the option menu
ignore my stupidity! i just spotted an error in my gamelist.xml file. apologies!
(i think the .sh file name changed between testing and release, which threw me ๐ )
@mental slate I'm just out with the lady ATM. I can do it for you tonight or tmrw for sure
We are not in hurry. This can wait. Enjoy the time with people irl! โบ๏ธ
Yes my fault! Happy for you that you solved it
Youโre not stupid, you even found the issue by yourself โบ๏ธ
what do you mean Jeod ?
have you disabled 60 fps and the game is running too fast ?
On rg552 the framerate is too fast at times
Yeah
I disabled 60fps because it caused slowdowns
The optimal is 30 I think
Harkinian had the same issue
From my experience, when you disable 60 fps it takes 5 to 10 secondes to get the 30 fps stable
on rg353vs
does the vsync change something ?
vsync just forces it to be too fast
With vsync and 60fps off it's a stable fps probably 80% of the time
are you with rocknix ?
Again the issue is only in the hub, and on amberelec.
ok
even after waiting 10 seconds it is still too fast in the castle hub ?
It's a tricky issue, I already had to fix the code to get the 30 fps working
oh
Surprising since rg552 has the most ram
so without 3d model pack , it runs fine in the castle hub ?
I'll let you know in a few :p
Here is the ugly "patch" I have done 5b2b30f to get 30 fps running at 30 fps
I thing that SDL_GL_SetSwapInterval doesn't work in our portmaster environment
Huh, it's fine now.
timer sync is imperfect
Yeah seems it takes a while to find its groove.
Have you fix the issue in harkinian ?
oh ok, I had no idea it has this feature
I still have to try 2ship2, you were to fast at porting it
I even had not the time to install it XD
Works great on SP
Ok after some fiddling it almost seems like using the model pack disabled vsync and just has the game running whatever frames it can generate.
thanks for testing. I'll see if I find something in the dynos part of the code.
@hazy nexus is amberelec on panfrost or libmali gpu driver ?
Mali afaik
ok ๐
Is there a setting for instant turn instead of this circular stuff?
I'm lost, what circular stuff are you talking about ?
Mario turns in a small circle instead of changing direction on the spot.
Honnestly I have no idea. I don't know SM64 that much and I even haven't noticed something unusual when running with mario
let me show how he behaves here ๐
It's a normal movement for n64, he turns in a small circle. Was wondering if there was some hack or cheat to make it more accurate turning.
oh ok. Well, there is a bunch of cheats available in the option menu but not sure there is one for this
Do you mean the instant turn with the jump?
I guess? It's always been tough to maneuver tight spaces, I usually accidentally fall off of ledges lol
Not the same as zero-point turns.
I need volunteers to test an update of renderex96. Changes are:
- a unique gamepad configuration compatible with 2-sticks/1-stick/dpad devices
- disabling audio pack by default for muOS user
- update in README.md
Who's in ? ๐
thank you guys !
I have just recently started playing render96. I think it's huge run on my x55. Also I was surprised to find out rumble works when I hook up a ps4 controller!
Yeah the rumble surprised me too ๐
I just realized that rumble is not working on RGB30 with a rumble motor added and enabled.
...and that the resolution options were never implemented/fixed
Controls are fine, though
Iโll see with 2nd priority if I can get rgb30 display resolution to work ๐
Thank you for testing
Rumbling is implemented through sdl2. I have no idea why itโs not working on rgb30
The rgb30 doesnt come with a rumble motor from the factory?
Did you mod it or something
MuOS update : https://muos.dev/release/plush/2405.2
I does not come with it, but has the pads on the PCB. I added motors using Christian's instructions on the Wiki FAQ
Cool
Can you share please
The wiki link
I donโt see a sign of audio driver update ๐ฅฒ
Iโll have a look
In banana?
Maybe? Hopefully?
Banana is not for tomorrow if I understand the strategy
Probably in a couple months
In sm64config.txt is the rumble parameter set to 50 ?
It was. But I'm testing the other systems that had rumble and they're not working now either. I'm checking in the other server to see if anyone can confirm rumble broke
Have you tested again in emulestation ?
Yeah. Both pcsx_rearmed_rumble and swanstation are not causing rumble now
Well so thatโs something outside of sdl2 and render96ex I guess
Ah. Sleep mode kills it. I had to restart and re-enable it to get it to respond
It should rumble when long jumping into a wall, right?
Jump then duck makes it rumble
Canโt say but thatโs possible
that's a lot of file for audio

