#celeste linux on nintendo switch thread
1 messages · Page 4 of 1
hm

weird because just running dotnet MiniInstaller.dll works for me
...im stupid
I'm pretty sure it emits a binary no
does ls publish say anything
oh no its not there
is that to the ls publish
Celeste-icon.png MonoMod.Backports.dll Celeste.Mod.mm.deps.json MonoMod.Core.dll Celeste.Mod.mm.dll MonoMod.Iced.dll Celeste.Mod.mm.pdb MonoMod.ILHelpers.dll Celeste.Mod.mm.xml MonoMod.Patcher Celeste.xml MonoMod.Patcher.dll DiscordGameSDK.dll MonoMod.Patcher.pdb DiscordGameSDK.pdb MonoMod.Patcher.runtimeconfig.json DotNetZip.dll MonoMod.Patcher.xml everest-lib MonoMod.RuntimeDetour.dll EverestSplash MonoMod.RuntimeDetour.HookGen FNA.xml MonoMod.RuntimeDetour.HookGen.dll Jdenticon.dll MonoMod.RuntimeDetour.HookGen.pdb KeraLua.dll MonoMod.RuntimeDetour.HookGen.runtimeconfig.json MAB.DotIgnore.dll MonoMod.RuntimeDetour.HookGen.xml Microsoft.NET.HostModel.dll MonoMod.Utils.dll Microsoft.Win32.SystemEvents.dll NETCoreifier.dll MiniInstaller.deps.json NETCoreifier.pdb MiniInstaller.dll Newtonsoft.Json.dll MiniInstaller-linux NLua.dll MiniInstaller-osx NLua.pdb MiniInstaller.pdb piton-apphosts MiniInstaller.runtimeconfig.json piton-runtime.yaml MiniInstaller-win64.exe runtimes MiniInstaller-win.exe System.Drawing.Common.dll Mono.Cecil.dll System.Security.Permissions.dll Mono.Cecil.Mdb.dll System.Windows.Extensions.dll Mono.Cecil.Pdb.dll YamlDotNet.dll Mono.Cecil.Rocks.dll
yeah i fucked up the cp command
cp -r ../Everest/MiniInstaller/bin/Release/net8.0/publish/* ~/Documents/celeste
cp -r ../Everest/Celeste.Mod.mm/bin/Release/net8.0/publish/* ~/Documents/celeste
but
actually one sec
there
also you can safely rm -r publish
okay what do i run now
did those work

no output but no errors whatsoever
did it finish doing magic
not yet
okay
it has finished
okay what about dotnet Celeste.dll
oh
lmao whys it trying to relaunch the apphost
oh the ld_library_path
yeah i was about to suggest
uuhh the napkin@napkin-piracy:------------ isnt there yet ?????
press enter
oh wait it needs to be named like that lmao
nuke whatever you have in lib64-linux, and copy lib-arm64 to a new folder named lib64-linux
OH THATS WHY WE okay
imo ln -s it
?
after deleting it, ln -s lib-arm64 lib64-linux
this will create a symbolic link
In computing, a symbolic link (a.k.a. symlink or soft link) is a special computer file that refers to another file or directory by storing a path to it, thus providing an alternative access path without duplicating the target's content. Apps that use operating system services may treat a symbolic link like other files or directories, and would n...
tl;dr this will make a pseudo-folder that actually redirects to the lib-arm64 folder
yes
oh okay you do need the ld_library_path
so yeah LD_LIBRARY_PATH=/home/napkin/Documents/celeste/lib-arm64 dotnet Celeste.dll
same thing bleuhgh
huh
oh it needs to be an envvar
I’m not understanding how you’re getting that from this 😵💫
because
i have the everest repository open
ok what does env | grep LD_LIBRARY_PATH show
no output
red
huh
not in the .dotnet directory
does ls lib64-linux/FNA3D* show anything
its libFNA3D.so
-# ✅
because pinvoke doesn't search ld_library_path
i believe you need to tell dotnet about the extra search path yourself
i don't think it respects ld_library_path
what!!
but like we have been restarting with that env var on linux since forever
and it has been working
we do not specify lib64-linux anywhere else
(not even rpath or runpath)
maybe calling it via dotnet is messing it up
hmm
actually i think it just does dlopen
does dlopen respect ld_library_path?
I'm pretty sure Mihate Hiura but Real simply copied the libs into lib64-linux, no symlinks
and it just. Worked?
i would expect it to
NativeLibrary.SetDllImportResolver(Assembly.GetExecutingAssembly(), DllImportResolver);
seems promising
would probably be worth trying to copy instead of symlinking
@copper bane
every time I ping this man he is reassembled a la Atlas and P-Body in the Portal 2 Cooperative Testing Initiative
thus the noises
don't worry about it
no wont that delete the files inside

or ok what does ls lib64-linux show
then ln -s lib-arm64 lib64-linux
turns out i didnt mess ln
it for some reason didnt like the lib64-linux folder existing
done 
and then I think dotnet Celeste.dll should just work now
right?
it is pointing to the default path
what do you see when you ls -l ~/Documents/celeste/lib64-linux
red
no output
huh
gang perhaps it is about time we open Dolphin 😭
what if you do ls -l lib*
I think you forgot to type the command Snip sent before
this one
ln stands for link: it creates links, or shortcuts, between different files and folders
ls stands for list: it lists the things in a directory
and sl stands for steam locomotive
nice reference
and nl is the netherlands
yeah okay so the link worked
dotnet Celeste.dll
red
GAAHHHH
but perhaps we should stop for the day, seeing as you're tired and also have school tomorrow
it's 9pm 
i think we can replace Celeste with
#!/bin/bash
dotnet Celeste.dll
uh i didnt mean to run these
oh
i meant to say you can replace the file named Celeste with those contents
sorry 
ooohhh okay
so i do that?
not yet imo
because the envvar is still there
lets
rm Celeste
echo -e "#!/bin/bash\ndotnet Celeste.dll" > Celeste
chmod u+x Celeste
first
after you do this, can you cat Celeste to see what it has
whar
oh ok just replace the quotes
echo -e '#!/bin/bash\ndotnet Celeste.dll' > Celeste
and the chmod
permission denied???????
did you run the chmod
ok but it runs
..right?
also okay real quick, can you nano ~/.bashrc and scroll to the bottom
i'll make dotnet available every time you run bash
or tbh just echo >> will work
you could also kwrite ~/.bashrc to have a gui
probably better idea
so i run thag
ehhh since you have it open already its fine
add this to the bottom
export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
then ctrl+x and save
I think it's ctrl+s then ctrl+x
ctrl+x asks you to save
i pressed ctrl x then y, do i enter?
does it show the file path
File Name to Write: /home/napkin/.bashrc
yeah enter
now i think close the terminal and reopen it, then cd Documents/celeste and ./Celeste
MORE RED AUHGRGHRH
wall incoming (im not making another txt file)
`--------------------------------
Detailed exception log:
System.ComponentModel.Win32Exception: An error occurred trying to start process '/home/napkin/Documents/celeste/./EverestSplash/EverestSplash-linux' with working directory '/home/napkin/Documents/celeste'. Exec format error
at System.Diagnostics.Process.ForkAndExecProcess(ProcessStartInfo startInfo, String resolvedFilename, String[] argv, String[] envp, String cwd, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
at Celeste.Mod.EverestSplashHandler.RunSplash(String targetRenderer) in Celeste.Mod.mm/Mod/Everest/EverestSplashHandler.cs:line 83
Controller 0: Nintendo Switch Combined Joy-Cons, GUID: 7e050820, Mapping: 06004cfc7e0500000820000000000000,Nintendo Switch Combined Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,
Detailed exception log:
System.DllNotFoundException: Unable to load shared library 'FNA3D' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/napkin/.dotnet/shared/Microsoft.NETCore.App/8.0.21/FNA3D.so: cannot open shared object file: No such file or directory
/home/napkin/Documents/celeste/FNA3D.so: cannot open shared object file: No such file or directory
/home/napkin/.dotnet/shared/Microsoft.NETCore.App/8.0.21/libFNA3D.so: cannot open shared object file: No such file or directory
/home/napkin/Documents/celeste/libFNA3D.so: cannot open shared object file: No such file or directory
/home/napkin/.dotnet/shared/Microsoft.NETCore.App/8.0.21/FNA3D: cannot open shared object file: No such file or directory
/home/napkin/Documents/celeste/FNA3D: cannot open shared object file: No such file or directory
/home/napkin/.dotnet/shared/Microsoft.NETCore.App/8.0.21/libFNA3D: cannot open shared object file: No such file or directory
/home/napkin/Documents/celeste/libFNA3D: cannot open shared object file: No such file or directory
at Microsoft.Xna.Framework.Graphics.FNA3D.FNA3D_PrepareWindowAttributes()
at Microsoft.Xna.Framework.SDL2_FNAPlatform.CreateWindow() in /__w/Everest-libs/Everest-libs/source/FNA/src/FNAPlatform/SDL2_FNAPlatform.cs:line 409
at Microsoft.Xna.Framework.Game..ctor() in /__w/Everest-libs/Everest-libs/source/FNA/src/Game.cs:line 272
at Monocle.Engine..ctor(Int32 width, Int32 height, Int32 windowWidth, Int32 windowHeight, String windowTitle, Boolean fullscreen, Boolean vsync)
at Celeste.Celeste.orig_ctor_Celeste()
at Celeste.Celeste..ctor() in Celeste.Mod.mm/Patches/Celeste.cs:line 307
at Celeste.Celeste.orig_Main(String[] args)
TypeLoadException.TypeName:
(11/02/2025 21:52:17) [Everest] [Info] [legacy-monomod] Uninitialized legacy MonoMod compatibility layer
Exiting Celeste process`
did it show "Restarting with LD_LIBRARY_PATH=..."?
yes
also run that again with LD_DEBUG=libs at the very start
lets try copying this time but for real
actually yeah do that
doesnt it need to be an envvar tho
LD_DEBUG=libs ./Celeste
ah
i uhhh uuuuuuuhhhh
also you can do this
way too much text
to not wall
and a little bit of red
send it all
make a file then 
wait log.txt?
if you send a message that's too long, discord should upload it as a file
does ls log.txt show anything
or like LD_DEBUG=libs ./Celeste &> awesome_log and send the file called awesome_log here
or no wait other stuff wont be shown nvm
nice
i put save output as file
log levels!
are you sure this is the right thing
i think its getting cut off
can you run this
LD_DEBUG=libs ./Celeste &> awesome_log
theres a libFNA3D.so.0
the goose chase:
yeah.
despair
can you ln -s lib-arm64/libFNA3D.so.0 lib-arm64/libFNA3D.so
no need to leave the celeste dir

you will also need to simlink libSDL2-2.0.so.0 to libSDL2.so at some point
okay pray
why not now
ln -s lib-arm64/libSDL2-2.0.so.0 lib-arm64/libSDL2.so
yeah but why not now
uuuuuuuuhhhhhhhhhhhhhhhh
done
./Celeste again
LD_DEBUG=libs ./Celeste &> awesome_log ig
¿?
run that
i already did that
i ran ./Celeste and the- okay
so it should show something different
oh.
awesome
rm lib-arm64/libFNA3D.so
ln -s libFNA3D.so.0 lib-arm64/libFNA3D.so
rm lib-arm64/libSDL2.so
ln -s libSDL2-2.0.so.0 lib-arm64/libSDL2.so
then ls -l lib-arm64 again
can you put .txt extensions after the file names so that we don't have to download the file

do we have an arm lua dll @mystic umbra
i see an android-arm64 dll
luajit is 5.1 right
try what again
uuuhhhh whar
you ran the ld_debug=... ./celeste &> awesome_log command, right
yes
i need awesome_log
well, not with awesome_log name
still, i need the file
how did you
find that
again
like the log you get from doing LD_DEBUG=libs ./Celeste &> awesome_log.txt
idk how to change it to txt
renaming doesnt let me do it
checking properties also doesnt
ok and ls lib-arm64/liblua54.so exists right
thats the last thing i want you to check rn
how do i check tha
just run the ls
ok it doesn't like the architecture
im still not gonna be allowed to sleep because i have to move around some files in switch cfw 
yeah go to sleep now
eventually
or you could try this one as a last resort
i dont need the errorlog
noted
ok so it found it
but
but it complains with /lib/aarch64-linux-gnu/libc.so: invalid ELF header
@silver merlin hello
did you need liblua? how did you lib the lua?

can we get the .so
simply clone your asahi install and send it here imo
wait a sec has to go downstairs
so other people can do it?

yes, and so perhaps Everest can add official aarch64 support that may or may not automatically apply all the changes that we made
it's better if a human does it imo..... that way we make sure there aren't any mistakes
oh
I volunteer as tribute :3
honestly it'd probably do a pretty good job
final standings
angel: 1300
napkin: 1093
snip: 492
wartori: 207
danike: 125
rain: 100
mihate real: 88
david: 29
maddie: 16
adamd: 9
r58: 1
message count
dear lords I'm the Yapper
im the image sender
real!
live celeste-wasm reaction
those 100gb from google plus aint looking so good with how many images of magic runes i have
i mean community wise
theres people already rolling back to just post-core everest to play mods
we could always set up something in the wiki thread that says "hey if ur on arm and fmod is crashing you should tell us what mods are enabled and what maps you're playing"
i mean the user complaints
not everything has to be implemented at once imo
tell them to fuck off 
💔
sure, if you do that
kidding, of course. but I think people can understand that programming takes time, and ARM64 isn't an officially supported platform by EXOK
really??
how much of a problem would that be?
wait I don't quite understand. can't Celeste use FMOD2 under the hood for just ARM64?
what about adding support to fmod2?
-# reminder i don't have any coding experience
i was under the impression that fmod2 was something we'd get to eventually and it was just a matter of it being difficult
relink to fmod 2 only on arm64 would be fine no
what about api differences
so! FMOD1 was never made with ARM64 support. FMOD2 has ARM64 support. to have sound you must 2 the FMOD
not change everything, just make a separate instance for fmod2 users
you can modify the bindings and the c side to fix those
as celeste-wasm does it
the celeste wasm shiller:
i mean luna got fmod2 nearly working in everest, i don't think the differences are that big
i mean there's no other public celeste port with fmod 2
Celeste-ARM64 does it to an extent, Luna was working on an actual port like Rain said
but this kind of depends on whether we can all agree on an end goal
if everyone must migrate to FMOD2 eventually and we leave legacy bindings that's one situation
if we patch it in for ARM64 support only that's another situation
I'm not the C programmer so I can't really provide an opinion on how far this would go
didnt it give up
yea, i don't remember why exactly though
i still think it's feasible
we just need a shim right
and then it died
I guess?
and @static river was thinking about continuing that work
looked through changelog again,
FMOD_Studio_System_SetListenerAttributes, FMOD_Studio_EventInstance_SetParameterValue, and FMOD_System_getVersion changed their function signatures, all the other functions are just renames that monomod can do aot
vine boom

they do the same things; its just small things like getVersion returning build number, setlistenerattributes asking for an optional attenuation position, and setparametervalue asking for an ignore seek speed flag
it's doable??
everest sound real?
well yeah i would think if celeste wasm can use fmod 2 then it can happen natively too
here the shim would have to be injected into the library instead of just putting it in a random object file though (wasm doesn't care about library name)
monomod can handle the pinvoke renames
would you be willing to help with such an endeavour, then? I'm genuinely useless when it comes to low level programming so I'm afraid I'd either have to get with them tutorials or gtfo
how?
go through each method in the assembly and check if the pinvoke module name starts with fmod, then change the entrypoint string
https://github.com/MercuryWorkshop/celeste-wasm/blob/threads-v2/patcher/MonoModRules.cs#L43-L60 fmodpostprocessor
sure
well celeste does it by adding an AssemblyLoadContext.ResolveUnmanagedAssembly or smth like that
everest*
not celeste
that redirects the whole library which would work too i guess
yeah
yeah maybe just add more symbols to the fmod library instead of modifying celeste
how pain is that
i want to learn more low level stuff but i can't find many decent resources
it looks like that is Quite Hard and requires rebuilding the whole shared library
not sure if fmod provides static libraries instead of shared libraries for non-wasm platforms
it does not
so it is hard
celeste-arm64 uses dllmap to do it so that's another approach?
key word thinking. probs wont acsualy as adhd and also i dont do music stuff so lerning it wouldnt be useful for anything outer then this
(im still very inexsperenced with porting stuff so take this with a grean of salt) if fmod and fmod 2's main apis are simaler enough (to the point that it looks basicly the same from the outside eg same funcson signichers and funcsonality) aside from a few funcsons or objects a translatson layer would probs be best. if its a huge change then assuming you are fine with breaking mod compatability the best thing would be to rewrite celeste to use fmod 2 natively. if you arent ok with breaking mod compatability then welp ig time to recreate all the fmod funcsonality with fmod2
yes, but as rain said, we have always been wishing to update to fmod 2, and furthermore maintaining two versions of fmod depending on the arch sounds like pain
then this seems like a good time to commit to porting to fmod 2

i kinda wanna know though, what exactly are we trying to do here?
because i don't understand lmfao
here’s my slightly more detailed explanation:
FMOD is a way for you to implement detailed sound in your game without doing it yourself
Things like rhythm, fades, loops, and layers in Celeste aren’t done by Celeste itself
Celeste relies on FMOD to do all this:
“hey fmod can you turn on the next layer”
“yea sure”
Between FMOD 1 and 2, things have changed a little
many things have been renamed, and some features have changed the way they should be used
like r58 said: when you ask FMOD 2 “hey what’s the current version of FMOD”
FMOD 2 responds differently than FMOD 1 would
to maintain compatibility with mods built with FMOD 1, we need to build a translation layer between the two
and again, we can only use FMOD 2 on ARM64 because there does not exist a FMOD 1 for ARM64
by the way napkin I’m four hours behind you now. It’s still 8 AM for me
I get off earliest at 4, so your 8 PM
:(
quite interesting 
@manic tinsel art thou free
I am going to take a shower

replace your liblua54.so with this one though
and rename it to have the same name
back
uuhh where is that again
help
oh
found it
lib-arm64?
please tell me i was right
✅
and then you can LD_DEBUG=libs ./Celeste &> awesome_log.txt
@silver merlin can we get a nice list of all of the libs you have symlinked/copied into Everest
gl uni
~2hr one way via public transit
idk!
it has simply vanished
well
we’ll ignore it for now 
It still can’t run the splash though
whats the splash
like the purple window with the gear icon where it says Loading 54 mods…
I.. don’t know :3
we're so cooked
open up your File Named Celeste again
should say like dotnet run Celeste.dll
you can try adding --disable-splash after Celeste.dll???
in the same line?
we're missing the discord sdk or something
also
celeste icon pops up on taskbar\
game runs for split second
and then crashes
or you mean something else
in which case, what are you asking lmao
the game runs fine without Discord, it just lets you know and keeps on trudging
oh
are you ready?
System.Exception: FMOD Failed: ERR_HEADER_MISMATCH (There is a version mismatch between the FMOD header and either the FMOD Studio library or the FMOD Low Level library.)
prepare the clown music
It’s time to Fucky the Wucky
what the balls is nvidia shadowplay
if not
what other game clip services could i install into this thing\
you can technically run OBS to constantly record the last 30 seconds
whats broken about it
it only needs a working sdl2 and fna3d
exec format error
oh it uses piton too

yeah if you fix piton it should work
alr!
you can test it with the good old dotnet EverestSplash.dll --testmode
👍
but the most common answer to “does proprietary software run on Linux” is “no”
I’m sure good people have made clipping utilities though
we can figure that out after
anyways who up f-ing they mod
This is kind of where my Helpful Tutorial kind of falls apart
I’m not familiar with all this
done
make nosound
it has finished the maigc
are there two .so files there now
SCARY FLATPAK
bwaaa
maybe in the nosound folder
copy those and paste them inside lib ARM64
i copy pasted them
ran ./Celeste
did not work
they end in .10, do i change that?
"I UNDERSTAND IT NOW" -angel 2025
can I get another cheeky ls -l lib-arm64
total 14312 -rwxrwxr-x 1 napkin napkin 69440 Nov 2 13:07 fmod_fix.so -rwxrwxr-x 1 napkin napkin 71088 Nov 2 13:07 libfmod_SDL.so lrwxrwxrwx 1 napkin napkin 13 Nov 2 13:07 libfmod.so -> libfmod.so.13 -rwxrwxr-x 1 napkin napkin 196512 Nov 3 21:54 libfmod.so.10 -rwxr-xr-x 1 napkin napkin 1254672 Nov 2 13:07 libfmod.so.13 lrwxrwxrwx 1 napkin napkin 19 Nov 2 13:07 libfmodstudio.so -> libfmodstudio.so.13 -rwxrwxr-x 1 napkin napkin 104992 Nov 3 21:54 libfmodstudio.so.10 -rwxr-xr-x 1 napkin napkin 1239128 Nov 2 13:07 libfmodstudio.so.13 lrwxrwxrwx 1 napkin napkin 13 Nov 2 22:19 libFNA3D.so -> libFNA3D.so.0 -rwxrwxr-x 1 napkin napkin 717992 Nov 2 13:07 libFNA3D.so.0 -rw-rw-r-- 1 napkin napkin 329616 Nov 3 20:44 liblua54.so -rwxrwxr-x 1 napkin napkin 10822264 Nov 2 13:07 libSDL2-2.0.so.0 lrwxrwxrwx 1 napkin napkin 16 Nov 2 22:20 libSDL2.so -> libSDL2-2.0.so.0
where is studio 13
ie
libfmodstudio.so.13
and then right click on the one that says exactly libfmod.so
click properties (at the very bottom)
in points to, change the 13 to 10
do the same for libfmodstudio.so
wow I sure hope I won't screw anything up with this
oh well, nuking with Dolphin at least means it goes to a trash bin and isn't gone forever
RAAAAAAHHHHHHHHHH
if sound could work that would be really cool tho...............................
@upper hound @delicate plaza @mystic umbra WE COOKED
yeah. but the sound project is a whole Thing
wdym a whole Thing
like a project that would be as big as/even bigger than Everest
okay maybe not bigger
AAAAAAUUUUUUUUUUGGGGGGGHHHHHHHH
probably not bigger
Is sound not working something expected?
do you know the reason for it?
no
lmfao
im just following instructions this whole thing is everyone elses work
i dont know shit
something something fmod something
ah
well i hope people try to get sound working
that'd be cool

so like
is this it
lmfao
one more thing
open your file manager
and go to /home/napkin/.local/share/applications
open in in Kwrite and show me what it looks like?
uhhhh we'll deal with it later 
okay
change the exec line to
Exec=/home/napkin/Documents/celeste/Celeste
and icon to
Icon=/home/napkin/Documents/celeste/Celeste.png
save it, and you now should be able to launch Everest from your menu taskbar thing
lets see.......................
uuuuuuuuuuuuuuuuuhhhhhhhhhhh idk if i opened 3 times and my switch will explode with 3 celeste instances or it just doesnt work
oh
at any rate, Celeste will exit if it detects more than one of itself
oh im so cooked i clicked it 4 times
so you're probably fine in that regard
if nothing happens in a while perhaps check like
uhh
try top / htop or something like that
in your terminal
pressing up and down will scroll
taskbar crashed
¿? whar
well
I don't see any Celeste
can you execute .desktop files from the terminal, I wonder
one sec
uhhh
maybe send me the Celeste.desktop
or like paste it in
in the celeste arm 64 there is a fmod_fix.so file
would that do anything
should we try it
or
I'd have to look at what it does
it may or may not apply
but we can perhaps replicate vanilla audio well enough
oh no not like that
oh
an .so file is a binary meaning it's been tranlsated to machine code
we cannot read ts
the Celeste-ARM64 repository probably contains the actual readable code there somewhere
we'll find it in a bit
also that'd be cool since idc about music
as long as i can get madeline sounds thats cool
like
dashing and interacteables (kevins, conveyors, dream blocks)
perhaps
If
gtk3is installed, rungtk-launch application.desktop.
so gtk-launch /home/napkin/.local/share/applications/Celeste.desktop
you can ignore that
guh?
wait go back to documents/celeste
and show me the Celeste file
I think ts might be running relatively
yeah I think it's because ts is relative
I am not the bash scripter
omg what is it
is it like pwd??
its only you n me against the world everyone else is dead
maybe we just do it directly
like fuck it
put dotnet /home/napkin/Documents/celeste/Celeste.dll --disable-splash in the Celeste.desktop
what line tho
exec
could not find the program "dotnet", it says
gng are we fr
okay maybe
maybe we delete the Celeste.desktop for now
because this is technically still a workaround and we're supposed to get Piton
we need to wake the gng up bro
nah
I think we just leave it like this for now
My guess is that the .desktop file doesn't read your .bashrc
the .bashrc is where Snip told your switch where dotnet lies
anyways—put your StrawberryJam2021.zip into Documents/celeste/Mods, and we are done all legally required steps
i'll have to manually download every single mod i have

yeah im not doing that shit im transferring it over from my pc
will that work
I think it should
no you don't
I mean
you can download Strawberry Jam
and it will download your dependencies
yeah but the other ones
but you can transfer your mods yes
as well as your save files
those go in /home/napkin/.local/share/Celeste/Saves

oh no.
did it crash with outofmemoryexception
sigh
this is where olympus would've helped/
I suppose you can enable the mods you need on your computer, then transfer the blacklist.txt to your switch
IT LOADED nvm then
it loaded

with a whoooolllleee lotta warnings
BUT IT LOADED
IT WORKS
and it doesnt run like absolute shit
celebratory photo?
hold on
please don't crash please don't crash please don't crash
advanced lobby runs like shit
help
I'm supposed to be doing homework right now but would you like to hop on cnet a while
YEAAHH
huh whar
whats tha OH
ive never tried it before

its depressing not having any sound but WHATEVER IT WORKS ill listen to music in the bg or something until someone figures sound
respawning is pain
takes like 3 secs to load
💔
yeah the whole thing runs kinda badly
whar
in your terminal
yeah thats x11
I have to go away for the day 💔
but I will be back tomorow to answer any questions
see u!
well switch is quite underpowered
celeste runs fine in the cartridge version....
mods would need extra power for extra stuffs
overclock
how do that
hugee ggs!!
Need 4k messages first
how can i overclock my system then
because game runs like shit
at most it gets like 45 fps
it's pretty stable but even vanilla levels don't run really well
there's this page but i don't understand it
alright i learned how to overclock my cpu and my gpu but i don't know how to overclock my ram
which i desperately need
✨swap✨
what
so
ever wonder how you’re able to “hibernate” your computer and start it up again with all of your work intact?
this probably only applies for laptops but
swap space is where your ram goes when you hibernate it
it basically savestates your computer to a nice little file on your disk
then when you power it back on it loads the file back into your ram
in michelsoft binbows, this is called a pagefile
linux calls it a swap space
swap can also be used for “virtual” ram, by using parts of your disk space as ram
but it’s much too early in the morning for me to be figuring all this out
oh but also
your disk is much slower than your ram
I also don’t know how it decides what to load into swap and what to keep in ram
at this point we can also work on things like Piton and Olympus and other optional features
that'd be cool
but im in school

i can send my switch to sleep and power it back on with everything intact
heck, shutting it off does that too
actually no i was wrong and stupid i just remembered
I read the code and think… maybe?
Like
I don’t get it really
it updates the method signature that r58 mentions
which is good
but aren’t there also renames??
where do they go 
wait.
I understand it now
the renamed methods aren’t used in vanilla so they can just fuck off
@upper hound looking at Luna’s fork now, it’s been doing the translation layer in C#. wouldn’t it be infinitely easier to just straight up do it in C? or is that bad practice for Everest/MonoMod in general
there’s a c# part???
wait I’m confused
I thought we would be making like a wrapper
a lib with the methods of fmod1 that just calls fmod2
im asking how do you think making a c wrapper would be easier
we already have a c# wrapper
vanilla celeste does
that actually makes more sense
in fact the wrapper is publicly available
I don’t know why my brain didn’t go there
oh so everything’s already implemented
this is the fmod 1 c# bindings
we just have to change what it points to no?
oh. That sounds significantly easier
three signature changes, and also we have to spoof the version of fmod returned
I can get cracking on this
@sick plover can you link the changelog you mentioned?
Snip while you’re here
what is the difference between libfmod.so and libfmodstudio.so?
what are their functions?
ty











🤚

