#celeste linux on nintendo switch thread
1 messages · Page 3 of 1
I’m just not a fan of the whole ppa thing
I’ve got “everything must be package” mentality
congrats 2k messages
If you pull up with an install script from Microsoft I’ll freak out and call treason
Hi DaNike! Thanks for popping in 
napkin wants to install Everest on their modded Nintendo Switch running Ubuntu aarch64.
napkin doesn’t have much technical knowledge in this area, so we’ve been helping them along and explaining what we’re doing.
though in this stage even if you install it you won't have sound
We’ll wait for them to wake up, and then we’ll try a dotnet build of just MonoMod
Yep, they’re aware. They’re invested now—they paid $35 to get a modchip installed on the Switch lol
lmfao
we just need a talented dev to port that over to everest
what's next, celeste for ppc64le? /j
Celeste on toaster.
mac powerpc gamers rejoice
or ps3
ah
those are big endian machines
yeah i figured now without the le suffix
PPC64le is POWER8+
isnt ppc what the wii ran?
Time to rewrite FMOD 
i hate it when they will definitely won't have sound /lh
unless someone makes library emulator from amd64 to ppc64le/loongarch64/riscv64/etc
i think someone ran celeste on the wii already??
i love processor architectures
Dear god
or somehow make that WASM version into linux shared library
you're confusing it with popax wanting to port .net to wii
was that not 3ds
i think
there's PICO-8 version for wii tho
yeah i remember that
idk i like just woke up half an hour ago
going back to bed
thankfully that went nowhere 
me. I’m going back to bed
coincidentally we sent those two messages at the same time
bweh
didn't expect to see danike show up tbh
holy 16h difference
holy shit its 7am for you
i meant angel
oof
its been a while since i got up before 10am on a sunday lmao
yeah I usually get up at 8 or 9
almost monday here
thankfully no lecture on mondays and fridays
okay makes sense
which country are you from?
if i were in nk i'd been executed
for transness?
and gayness
:<
I’m from China, immigrated to Canada
but you could tell from my about me
genuinely we’ve got people from around the world in this discord server trying to get Everest on this switch
truly an avengers assemble moment
yeah
adamd I see you typing
dox yourself
started out from one clueless person trying to run celeste on the switch to an entire group of clueless people trying to run celeste on the switch
i mean we are just hanging out at this point
yes
yeah lol
I did manage to run celeste on other aarch64 machine at least
my trustworthy macbook air-chan
hooray
oh while you’re here “both my usernames are yuri characters also I was invited to Ubuntu summit”
lol
are there any Rosetta specific bugs on Celeste?
yes
awh
piton dies for some users on rosetta
it's nested jit, what do you expect lol
Recently someone had what seems like a graphics driver bug, where some decals appeared malformed when moving. This was on macOS, and I was never able to figure out why
we hit this after the .net 8 upgrade, after a bunch of pain to figure out why the hell going from .net 7 to .net 8 made piton crash
uhh acktually my display name is yaoi
turns out rust is evil and trolled me hugely
wartori 3paul react her
there you go
https://github.com/dotnet/runtime/issues/115438 this was so painful
like I’m not trying to say what did you expect. But
surprisingly the jit part works perfectly, or i have not seen any bug reports 
interesting
true..
since most of the emulation problem comes from nested jit or 16k pagesize
at least for me
then again, not many Mac gamers in the world
it’s not your first choice when you’re looking for gaming performance
even fewer mac linux gaymers
Most of the macOS usage I’ve seen is for creative work, which is why I kind of do want one
which definitely doesn’t stem from my hatred of windows. No of course not why would you
it does have quite good performance if you manage to run games
I was booting back into my Windows partition last night to try and set up music production, because as we all know Linux audio is so ahhh and WINE will murder me
and my shell froze like 10 different times
Only times Arch Linux froze on me:
- an incorrect bottles configuration x2
- slurp and hyprpicker didn’t exit cleanly and became zombie
Windows froze 10! Times! In one session!
I feel like I’ve like. Seen the light or something and can’t go back 😭
the only times arch has frozen for me was due to hardware failures lmao
And this is especially true because I have a mid-tier laptop from like 2019
and it still works just fine in Arch
but Windows drags its feet like “are u sure u don’t wanna buy a shiny new computer”
arch's pretty solid minux arch arm
Like I put my graphics settings to max while playing PEAK and it didn’t freeze the shell. Whole lotta lag but it still hung in there
arch arm: super slow update, partially updated packages causing problems
I also hear the AUR has issues
I don’t think it’s possible to distribute multiple architectures through one AUR package?
but most people don’t?
some aur packages are already multiarch capable
though most of the time just makepkg'ing after adding aarch64 will work
electron apps need manual intervention since it's output dir is different on aarch64
but well except that it works quite smoothly
good software poorly maintained
that's why I'm hoping for proper arch linux ports aarch64 release
i can't
i think
you tell me if any of those work
buh i keep forgetting i modded my switch and then its so weird waking up and turning it up to this thing 💔 💔
I’m kidding lmao
Doing everything through the terminal with no GUI would be way too much for you at this stage
-# but it would save storage
windows 7
how did it get wiped in the first place anyway?
i was messing around with some homebrew, and i opened a corrupted one and it messed around with some files i think?
huh.
i tried to keep the switchroot/ubuntu-noble files but it didnt work and i got my data wiped anyway when wiping my sd card
i wiped it manually, but prayed it didn't delete my files basically
my save data and everything else is intact, i just have to redownload animal crossing
well when you wipe the card you wipe the whole card
eh whatever
it got wiped and i had to spend like 30 minutes getting back to where we were
clone your sd card with a cloning utility imo
noted
anyways,,
open your terminal in Documents/Everest/external/MonoMod
we will try what DaNike suggested
hold on i'm checking if celeste runs
`FULLSCREEN
GAME DISPLAYED (in 6079ms)
System.DllNotFoundException: libfmodstudio.so.10 assembly:<unknown assembly> type:<unknown type> member:(null)
at (wrapper managed-to-native) FMOD.Studio.System.FMOD_Studio_System_Create(intptr&,uint)
at FMOD.Studio.System.create (FMOD.Studio.System& studiosystem) [0x00005] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.Audio.Init () [0x00010] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.GameLoader.LoadThread () [0x0000c] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.RunThread.RunThreadWithLogging (System.Action method) [0x00000] in <d7b2abb405ec4c97954549f0a02e4a41>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ComponentModel.Win32Exception (0x80004005): Access denied
at System.Diagnostics.Process.StartWithShellExecuteEx (System.Diagnostics.ProcessStartInfo startInfo) [0x00102] in <4deb318bb3254cab91ca66698a056198>:0
at System.Diagnostics.Process.Start () [0x00032] in <4deb318bb3254cab91ca66698a056198>:0
at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x0001b] in <4deb318bb3254cab91ca66698a056198>:0
at System.Diagnostics.Process.Start (System.String fileName) [0x00006] in <4deb318bb3254cab91ca66698a056198>:0
at Monocle.ErrorLog.Open () [0x00014] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.RunThread.RunThreadWithLogging (System.Action method) [0x00018] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at Celeste.RunThread+<>c__DisplayClass1_0.<Start>b__0 () [0x00000] in <d7b2abb405ec4c97954549f0a02e4a41>:0
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00017] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x0008d] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00031] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
at System.Threading.ThreadHelper.ThreadStart () [0x0000b] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
=================================================================
Native Crash Reporting
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Native stacktrace:
napkin@napkin-piracy:~/Documents/celeste$ `

uhhh
everything’s all messed up now
I have no idea why FMOD is gone
perhaps we missed a step somewhere
it worked before so i probably fucked up
somewhere
it was 5am so it was expected but like still bad

because i don’t have a clear idea of what you did and didn’t do
wait do i have to wipe my linux or do we continue from here
so troubleshooting will be hell
you can nuke all folders in Documents
redownload Celeste from itch
and we will be once again
NOOOO
unzip it in documents like last time
open your terminal in documents
git clone https://github.com/pixelomer/Celeste-ARM64
cd Celeste-ARM64
./patch.sh ../celeste/Celeste.exe
(assuming the name of the Celeste folder is celeste like last time)
go back into your celeste folder and open the file called Celeste in KWrite
replace its text with
#!/usr/bin/env bash
LD_LIBRARY_PATH="$(pwd)/lib-arm64" mono Celeste.exe
copy the lib-arm64 folder and back it up somewhere safe
and then use your PC to make a backup of all of this
preferably by using a cloning utility to clone the SD card but zipping and uploading to Google Drive might work too
the cloning utility makes an image of your entire sd card to a file
which you can also use to restore from
it's like taking a snapshot of your sd card that you can revert
you know how to use cd now, right?
I’ll give a formal explanation if not
~ refers to your home directory, /home/napkin
. refers to the directory you’re currently in
and .. refers to one directory up from the one you’re in
so, to go back to Documents from Documents/Celeste-ARM64, you would type cd ..
do that now
yippee
we’re going to get the Everest code again now
git clone https://github.com/EverestAPI/Everest
and then cd Everest to go into the newly created folder

so DaNike said we should try building the MonoMod component of Everest on its own as a test
mm is in external/MonoMod
so type in cd external/MonoMod
... --recursive.
GAAAHHHHH
or git submodule update --init --recursive atp
I forgor
updated order of commands
git clone https://github.com/EverestAPI/Everest
cd Everest
then
git submodule update --init --recursive
then cd external/MonoMod
-# or --recurse if --recursive complains that it doesn't exist
i dont think its complaining
im here
okay cus i remember one command complaining
now dotnet build if you have the .net 9 sdk installed
and mono and everything else
i dont think they installed the sdk or mono at all
no they have mono
oh lol
I’m going to pass away
you need a newer sdk
oh i forgot my discord pronouns thing is who made my pfp (which is outdated, i made this one myself for halloween, it's not my normal pfp), i'm a male man he him btw
alright
anyway
we will have to use the install script.
is that bad
It ticks me off is all
you’ve probably learned a lot
so can you remove dotnet-sdk-9.0 with apt?
sudo apt-get remove dotnet-sdk-9.0?
IM SMART
Go to your downloads or wherever you see fit
i think you can just apt without apt-get but shh
and then curl -F https://dot.net/v1/dotnet-install.sh --output dotnet-install.sh
whats curl
nice
see URL
illegal computer runes 💔
is -F not follow redirects
mmm delicious discord
you mean -L
also imo
||```bash
curl -Lo dotnet-install.sh https://dot.net/v1/dotnet-install.sh
shhhhhhh
id probably put this in ~
-#
im so hungry rn im starving
but if not maybe listen to snip 😭
-# also it's done
id --help first if that works
fancy
where +x means add execute permission
744 my beloved
i read the microsoft article 
i didn't
-# 
is this good
wait one second
yeah
it says you can ./dotnet-install.sh --channel LTS so I'm assuming all args are optional
if you ls -l dotnet-install.sh the beginning of the line should have -rwxr--r--
or at least start with -rwx
so i run that?
the first - means no special permissions
the next three mean your permissions: rwx means you can read, write and execute
the next three mean permissions in your user group: rwx means everyone else in your user group can also read write and execute
the next three mean permissions for everyone else: r-x means everyone else in your user group can read and execute, but they can't edit the file
the permissions in octal are 775
well
some of it atleast
anyways you can ./dotnet-install.sh now i think
what version does it install? does it say?
what do i run then
./dotnet-install.sh --version 9.0.300
or something
busy applying for college today, please ping + expect slow responses
well, you have said you're a teenager
anyways, try that command

you'll need to add the dotnet executable to PATH
doe sit not do that automatically
here it says its only in the current process path if we're sourcing the script, which we're not

balls
to list the files within a directory use ls
whenever we ask you to see what's inside a directory we imply that you run ls on it
gotcha
and -l will show extra info like permissions
ok so the sdks are there
uhh
export DOTNET_HOME=$HOME/.dotnet i think
then try dotnet --info again
you're on kde right
isnt there a screenshot tool
no wait you're on gnome because ubuntu
yeah but i have to pull up the keyboard then press print screen and i'd rather use the camera
i don't even have print screen on this keyboard i think
what
its xubuntu nvm
ok dont mind me https://aka.ms/dotnet/sdk-not-found
ok this is kinda useless
ah i got the envvar wrong
export DOTNET_ROOT=$DOTNET_HOME
export DOTNET_HOME=
this will rename the DOTNET_HOME envvar to DOTNET_ROOT
@copper bane
i run those 2 commands?
it is
what if export DOTNET_ROOT="$DOTNET_ROOT/" and then the list-sdks command
you can up arrow to rerun commands in your history
whar
if you echo $PATH do you see dotnet in here
yes
what is in there
oh lmao
it included the tools folder but not $DOTNET_HOME
so
export DOTNET_ROOT="$HOME/.dotnet"
export PATH="$PATH:$DOTNET_ROOT"
ok now dotnet --list-sdks
what is in ls $DOTNET_ROOT

what does which dotnet output
ok close enough i think
do /home/napkin/.dotnet/dotnet --list-sdks
well there we go
ok so it's using the wrong dotnet 
i had a feeling
why wouldn't it be reading the $DOTNET_ROOT tho
your dotnet setup is immensely cursed and messed up so i dont think i would even try to fix it at this point lmao
that only matters for the default apphost i believe
dotnet just does not care about that env var
d
(/usr/share/d does not exist on my filesystem)
ik
so yeah probably just use /home/napkin/.dotnet/dotnet from now on
yeah but if they ever restart the terminal session that will be gone and the next person helping will be incredibly confused 

bashrc
anyways uh yeah
i installed it from scratch and it works
oh it actually shows the env var when running --info 
til
also does export envvar= remove the envvar
or do i have to unset

what the fuck
well.
/home/napkin/.dotnet/dotnet build then

jank
ping @copper bane?

sorry for the wait i almost made my air fryer explode
i also showered
my air fryer is literally melting pls help
aside from the potential fire threat against my house, the command worked
waoh
let's wait
yellow is warning, so its OK
red is error, which means something went wrong
you can ignore yellows since you're just a user
send the error

@muted egret help...
how do that
easiest would probably be to rsync it off the device then upload
but pick any method
where is it generated?
this server supports up to 100 mb file uploads btw
root monomod source dir
so just in whatever/MonoMod
ye
@copper bane open up your file browser to Documents/Everest/external/MonoMod
and find a file named msbuild.binlog
I don't do these kinda things with dotnet either so this is a learning experience for me as well
alright gimme a mo to look at it
me?
no, i'm asking danike
oh sorry
nah msbuildlog.com
we're getting into territory where this is starting to become magical runes for me
danike the higher power has come to aid us in our time of need
interesting
this has always been magical runes for me this entire time 💔
but like extremely shocking how so many people have come to help with this
this is starting to become a fully fledged project atp
not exactly
after we finish this you'll be able to use linux on your own
you could install linux on your main computer and you'd understand how to do several things
we'll get there when we finish these shenanigans
gotcha
hm
oh god i have school tomorrow it wil be 10x harder to be here to run commands on the funny console
unless i don't go
somehow
do not skip school for the nintendo switch modding session.
I also have school so I won't be around
so this command is failing
/home/napkin/.nuget/packages/vezel.zig.toolsets.linux-arm64/0.14.1.1/tools/zig cc -target aarch64-linux-none -c -o /home/napkin/Documents/Everest/external/MonoMod/artifacts/obj/MonoMod.Core/debug_net5.0/arm64/linux/exhelper_linux_macos_arm64.S.o /home/napkin/Documents/Everest/external/MonoMod/src/MonoMod.Core/Platforms/Architectures/arm64/exhelper_linux_macos_arm64.S -g -O1
yep
the question is why
seems like the build for net5 is failing with an exec error first, that's corrupting the zig cache, and that's causing all the others to fail
is aarch64-linux-none a valid compilation target
@copper bane can you try running this command manually
in a bit
ah
that none confused me
auusahghgrahg i have way too many downloads my internet is dying
i think we just never switched to the nuget package but im not sure @mystic umbra
is there anything actually new in patcher
there was a bugfix from popax that we rely on
i see
i havent checked if any releases were made in a while, but that used to be the case at least
i mean i don't push nuget packages for patcher ever, so i'm not surprised
yeah
LMAO
so just rm -r that folder
rm -r ~/.cache/zig?
rm doesn't give output except in error cases
yeah press up arrow twice
same
still says CacheCheckFailed?
export ZIG_GLOBAL_CACHE_DIR="$(pwd)/artifacts/zig-cache"
export ZIG_LOCAL_CACHE_DIR="$ZIG_GLOBAL_CACHE_DIR"
and try again
this is so jank 😭
does artifacts/zig-cache exist?
(MonoMod/artifacts/zig-cache)
all is relative to cwd, which is the monomod source root
yurs
what's in it?
and to be clear, you're seeing CacheCheckFailed, not an EXEC error?
very cool names zig
error: CacheCheckFailed
me on a saturday afternoon
well they said "same thing"
and if you delete that new zig-cache, then retry, you still get the same thing?
oh
theory: this error is hiding another much more sinister error!!
uh
yeah genuinely what is going on



chat are we cooked
maybe related?
i mean it can clearly write to the cache dir now though
possibly silly idea
what does /home/napkin/.nuget/packages/vezel.zig.toolsets.linux-arm64/0.14.1.1/tools/zig cc --help give you
oh that is way too long
ok that's expected
zig arch is correct then
echo "#include<stdio.h>\nint main(){printf(\"test\\n\");return 0;}" > test.c
/home/napkin/.nuget/packages/vezel.zig.toolsets.linux-arm64/0.14.1.1/tools/zig cc test.c -o ./test
./test
lmao
this should output test
cd to a different place before you try this ^^
also might be worth it to check if ~/.local/share/zig exists
is this whole command a single line or are they separated
it's 3 lines
you can put && between them if you like
they don't know what && does

so just run them line by line
what!!

that's something at least
in general? probably
idk if we can use it as a drop-in replacement here though
we cannot
cross-compilation with gcc is kinda hell
@copper bane what does sudo coredumpctl list give you
-# here we go!!
😭 ubuntu
was i supposed to run it in monomod folder?
isn't ubuntu a full systemd distro?
it's kubuntu
what does sudo sysctl kernel.core_pattern give
we're on (and targeting) arm64 though, not arm32
ah
i believe arm64 mandates hardware float
this is so far out of my league
oh wait the invalid instruction is in the executable, not zig cc
I don't know if I have anything to contribute here unfortunately
no its in zig cc
ubuntuuuuuu
the issue says it's in the target exec
what the fuck is apport
kde moment
I remember this
set ulimit -c unlimited
then run the compiler again and get the error again
the core dump should be in /var/lib/apport/coredump/...
while you're at it do sudo sysctl -w kernel.core_pattern=core
way easier to work with that way
I hate that everything tries to jack coredumps
i think you can just disable apport
not sure if this'll undo the core pattern change
what command is that again
/home/napkin/.nuget/packages/vezel.zig.toolsets.linux-arm64/0.14.1.1/tools/zig cc test.c -o ./test
now is there a core file in your current directory
i think you can just send that here?
send it here
yes
that's what we do during build
works on macos-arm64, and windows- and linux- x64
i mean, can hack the build system a touch to use a prebuilt one
but i would like to know why this is failing
yeah obviously
it's probably an issue in zig
think so too
might just patch everest to pull mm.core/mm.runtimedetour from nuget as a real solution here
argh is the coredump not a full memory dump
@copper bane translation: there is likely a bug in zig that prevents it from building exhelper on your system. snip will build it for you and send it over discord
what does exhelper even do though
how in the weeds do you want for an answer
tyty lmfao
angel my goat translator 💛
well tbh id like to know what mm does behind the scenes too
A C# modding swiss army knife, powered by cecil.
I'm not sure what your answer would constitute so give it your best shot lol
oh that's readable
cool 👍
so it lets unmanaged exceptions be handled in .net?
it lets them be propagated
right
it says that
so this means we can get a AccessViolationException from unmanaged code, right
if we get a segfault
we need it for the jit hooks, because the jit uses native exceptions to tell the vm about some compilation errors
ah
and, as described, normally the unwinder can't unwind through managed code, so we use the exception helper to let us do that manually
for macos-arm64, the shared library also implements the core memory protection bullshit necessary for MAP_JIT handling
oh wait so that's for recompiling the methods?
i don't fully understand what mm does behind the scenes other than the fact it hooks the jit to do its magic
its so we know when the runtime recompiles methods so we can keep hooks on them
i see
DaNike are you going to report this to the zig people?
if it turns out to be a zig bug as inferred
once i figure out what's actually happening, yes
@copper bane can you do echo 0x1f > /proc/self/coredump_filter, run the compiler again, then send the new coredump
what was the compiler
big zig command
/home/napkin/.nuget/packages/vezel.zig.toolsets.linux-arm64/0.14.1.1/tools/zig cc test.c -o ./test
zig can act as a drop-in compiler for C, where compiler basically means "translator to machine code"
compile is also synonymous with build in this context
that's more the size i was expecting
also i have no idea if this is actually the same issue as seen trying to compile exhelper
just that it is an issue
@manic tinsel think you can get everest to use packages for runtimedetour and co?
what is a co
and you should be asking snip that question, they're an actual dev, while I just have Linux and C# experience
fair enough
uhh let me see
do we need anything from the submodule, i'm not that experienced with mm stuff
well you said you need up-to-date patcher ye?
wartori did
ah
well presumably that is necessary then
but utils+core+runtimedetour should probably come through packages
okay seems like this is just a bunch of refs
yes you could use the nuget pkgs for anything other than patcher and hookgen
which patch
popax' one
yeah it was merged on 2022 or something
okay so we're up to date with the mm repo? no divergent commits?
yeah
@copper bane can you give me a xxd /sys/devices/system/cpu/cpu0/regs/identification/*
should do
xxd: /sys/devices/system/cpu/cpu0/regs/identification/revidr_el1: Permission denied
slap a sudo out front then
really??
why sudo no work
i'll try installing to make sure it runs
seems to patch
aaaand it dies
Ver 1.4.0.0-fna [Everest: 0-dev]
11/02/2025 23:13:54
System.IO.FileNotFoundException: Could not load file or assembly 'MonoMod.Core, Version=1.3.2.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
File name: 'MonoMod.Core, Version=1.3.2.0, Culture=neutral, PublicKeyToken=null'
at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, MethodInfo target, DetourConfig config, Boolean applyByDefault)
at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, MethodInfo target, DetourConfig config)
at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, MethodInfo target)
at Celeste.Mod.Helpers.LegacyMonoMod.LegacyDynamicDataCompatHooks.InstallHook() in Celeste.Mod.mm/Mod/Helpers/LegacyMonoMod/DynamicData.cs:line 18
at Celeste.Mod.Helpers.LegacyMonoMod.LegacyMonoModCompatLayer.Initialize() in Celeste.Mod.mm/Mod/Helpers/LegacyMonoMod/Misc.cs:line 19
at Celeste.Mod.Everest.Boot() in Celeste.Mod.mm/Mod/Everest/Everest.cs:line 426
at Celeste.Celeste..ctor() in Celeste.Mod.mm/Patches/Celeste.cs:line 312
at Celeste.Celeste.orig_Main(String[] args)
:(
dear god
hold on it didn't copy the core dll i think
well, it is a switch..
because i'm a bit stupid
try find /sys/devices/system/cpu/cpu0/regs/identification -type f -print -exec sudo xxd {} \;
fixed it
ok so i got it to compile, patch and run
but it still compiles core i noticed
should i be worried
yes i think so
i guess i could make the submodule reuse latest mm packages?
niiiiiiiiiice
ok lets patch
works and runs it seems
you have git there right
yes he has git
banger
snip you're our saviour
thank you danike as well for diving into the kernel mines
ok this might be a bit much, but i want to know anyway
down at the bottom, there's a little c program
i want you to compile it with the system compuler and run it
hm.
here is the code packaged into a neat little c file
download this, and in the same folder, run the terminal command gcc test-feature-registers.c -o test-feature-registers
this will make the code into system code for your cpu to read
next you'll type ./test-feature-registers to test it out
@copper bane this is your task
here's the patch files; put the everest one in ~/Documents/Everest and the monomod one in ~/Documents/Everest/external/MonoMod
then to apply the patches
cd ~/Documents/Everest
git am everest-packagereference.patch
cd external/MonoMod
git am monomod-packagereference.patch

is that good or bad
this program is intended to help uncover the mysteries of your cpu
the switch said "no"
nintendo doesnt want us to dwelve in
that's actually what i expected tbh
😔
this is good though
this is an actionable issue in zig
@copper bane what's your kernel version (run uname -a)
Linux napkin-piracy 4.9.140-l4t #5 SMP PREEMPT Thu Sep 26 11:18:43 EDT 2024 aarch64 aarch64 aarch64 GNU/Linux
@copper bane how did you install Linux again?
switchroot
per https://github.com/ziglang/zig/issues/21097#issuecomment-2302207949 zig only tries to support 4.19+
ah.
ts does not say 5.1.2
💔
I mean theoretically you can just apt dist upgrade
we can just apt dist-upgrade right
..right?
oh wait is that why it sometimes says to reset the system to update???
no
KDE wants you to reboot every time you run apt-get upgrade iirc
but that's not completely necessary
permission denied, sudo?
so sudo apt-get dist-upgrade?
yes
gotcha
that was a very very long goose chase
I'm sorry for putting you through all that 😭
quick access
ah
did you run sudo apt update first
does ubuntu let you compile and use your own kernel
I think it runs apt-get update automatically beforehand??
it does not
no
id do that
that would be useful behavior
apt-get update right
also yeah what danike said, it does not run update first
and thus is antithetical to apt
-# 😭
so, sudo apt-get update and then sudo apt-get dist-upgrade?
yes
what does which dotnet show
nothing
what if
export DOTNET_ROOT=$HOME/.dotnet
export PATH="$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools"
and then which dotnet
/home/napkin/.dotnet/dotnet
but no kernel upgrade
yeah
awesome
ive been ftl-ing really hard 
have you been swimming in bytes
this pr will be quite silly
i saw

i'll put my email just to be safe
uuuhhh how do i do that again
the command tells you 
oh
could also use git apply instead of am
no errors though, right
fuck yes

now you dotnet run Celeste.dll 
-# and we see the one thousand libs we're missing
ok so
cp -r MiniInstaller/bin/Release/net8.0/publish/ ~/Documents/celeste
cp -r Celeste.Mod.mm/bin/Release/net8.0/publish/ ~/Documents/celeste
assuming thats where your celeste is
yes that is correct
these commands copy MiniInstaller and the other mod libs to your celeste folder
then
cd ~/Documents/celeste
dotnet run MiniInstaller.dll
first
you need the files to be in the celeste folder, right
just follow Snip's lead









