Please Help, Turning of Hardware shaders

Animal Crossing New leaf
Steam deck Linux

Okay so really odd issue, Digging near rocks sometimes causes Citra to freeze for a second then crash to desktop, I have tried every setting under the sun and ran it in desktop mode and game mode, makes no difference, It seems to happen with spot more than the rest, I moved the save file over to windows and ran it with Citra a 0 issues with either option on or off.

The only way to fix it is to turn on Hardware shaders, The issues then is when running up to the train station the fps drops to 0 then recovers, But this happens every time i restart the game, When i have Hardware shaders off i do not get this issue, But then have the crashes when digging?

When the hardware shaders are on the FPS tanks sometimes when digging the wholes where the crashes happens but it recovers, When hardware shaders off the fps tanks then it crashes, It does not recover like it does with them on but then i run it to giant FPS drops in certain arears of the map.

So it is a loose or loose situation.

Please help

In order for us to provide better support, we need to see the log generated by citra. This guide will walk you through how you can obtain the log file: How to Upload the Log File

Please upload a log file using the guide that the bot posted above.

Hello actually fixed it, I did not bother uploading a log, and the problem has been around for 3 years and it only effects Linux systems and this specific game making it pretty unique but you can find post about this issues from 3 years ago, and i doubt the devs will ever fix it for Linux / Steam deck sadly.

Running the game with hardware shaders enabled, this would fix the crashes, but when running to certain spots in the map you would get giant frame drops and when digging or loading up a new asset, after I spent a couple of minutes running around the town it would go away in the same spots but restarting the game in any way would cause it to come back, so every time I played it I would deal with these massive lag / frame drops the game would literally freeze for a couple of seconds them resume, I even copied my shaders cache from running the game with my save on windows to my deck it even loaded the shaders, but that made 0 difference, I did every setting in the emulator and more made no difference.

The only setting that fixed it was disabling hardware shaders suddenly the freezing when moving to certain areas of the map were gone, but replacing this is another issue when you dig mainly near a rock the game would freeze and then crash to desktop, with hardware shaders enabled the game would freeze on digging near rocks but then resume, over time it got worse with hardware shaders disabled digging a fossils not near a rock could cause the game to crash or digging anyway, I tried another Rom making a new save in case it was corruption.

So I had to go back to playing with hardware shaders enabled which stopped the crashes but now the freezes were back, it would always resume after freezing for two seconds but damnn was it annoying and made the game feel to much like emulating it, and annoying.

Anyway the other night I tried something in Linux as on my windows Pc with citra and the same rom and save, I never had these issues,

I came up with an idea it took me hours but I fixed it and it now runs flawlessly on my steam deck no freezes or crashes, with hardware shaders disabled I can dig as much as I want and no crashes been running for three days with not a single crash or freeze in site, so I fixed it, even have the game launch in full screen straight from steam with steam overlay in steam deck game mode and retain a stable 60fps

This Fix is for Steam Deck and Linux these issues do not affect windows versions of Citra
Essentially i first of all downloaded the Windows installer for Citra on my steam deck / Linux used a application called ProtonUp QT to install it, Added Cita QT exe to Steam and ran it with Proton Experimental, I then configured the Emulator you shall need a mouse and keyboard for this on steam Deck, as it will keep throwing up the on screen keyboard, Select the rom Directory and edited the Config for my Customer Steam Deck layout and configured the controls to what the Linux Version of Citra is mapped to with Emu deck.

Make sure Enabled hardware shaders are disabled, As i still got the Mini Freezes with it on even though i was running the windows client, But now with hardware shaders disabled and by running the windows Version of the Emulator on Linux you do not get any crashes when digging in game and i could get the crash to happen every time by digging in the same spot with the Linux Version or just digging in general that is it for Desktop Linux Users, No more crashing for you or Freezes, Though i have a some tip below.

(STEAM DECK ONLY STEP)
Run the game once you have configured Citra, it shall run like Crap through Desktop mode, So you shall need to make sure Single window and desktop mode is checked, Go back to Game mode and run the emulator then select the game it should now run flawlessly

Extra Steps to add a direct launcher for the game to steam.
Install / Load if using Emu Deck Steam Rom Manger, Create a new Citra Profile and Direct the Exe to the windows Version we installed of Citra QT, Exe, Then Direct it to the room for Animal crossing New leaf, and build Library, You will now have a direct game Launcher for Animal Crossing New leaf on steam while using the Windows Version of the program, Just go to properties first and make sure Run in proton Experimental is enabled and that is it you can now run the game natively through game mode on steam deck with steam overlay, Controller configs, Power modes, Plugins, Screenshots ect, You shall need to configure the emulator settings again though as you did above as it treats it as a new version of citra windows, You only need to configure them once though.

Getting the Mic to work
Another Tip the windows Version of Citra on Linux will not show the Steam Deck Microphone so you need to set up the Mic in the Linux Version of Citra as it shows up on there, Then open the Linux Citras QT Config and copy the Line about Audio / Microphone name and paste it in to the windows version of the QT config, You shall need to do this in desktop mode now the MIC shall work in game and detect your voice, I use it for the microphone in new leaf to call Animals Names.

Another tip for steam deck users run the Game with V sync off and audio stretching disabled, This shall give you a far more stable 60fps and remove a lot of the input lag which makes it hard for catching fish, Also make sure you right click the ROM in Citra and click properties make sure all the settings listed above are disabled.

This may fix other games with similar issues with mini freezes or crashing, It is nice being able to play my Favourite game on the go flawlessly now, Does not even feel like emulation.

Would be nice if the Devs fixed it for Linux Citra as a whole though, So you do not have to do all of this.

Why is it that I can see an essay about a workaround, but still no log file? Like, if you want us to solve the issue, it would help to also make us able to look into it. A log file lets us do that. If I can’t figure out what the issue is just from the log file alone, I can ask a dev to take a look at the log file instead. If they can’t figure it out either, the next step would be opening up an issue on github so that the devs can track the issue.

I get that you’re frustrated with the issue, if as you’ve said, it’s been around for a long time. If that is the case, then please help us with the things I mentioned above. Help us help you. That way this issue won’t get lost again for the next 3 years.

Hello i got the log for you guys, Hope this helps but it has already been listed on Git Hub: New Leaf digging crash (Linux only?) · Issue #5457 · citra-emu/citra · GitHub, Gent also uploaded his Log after being asked by a mod, but never had a response after that sadly and that was in 2020, But he did not narrow down this issue as much as i had to what causes the exact problems.

At least for the moment i have found a solution for others with the same Problem, But i do hope they can fix it in the future especially with steam deck becoming a bigger thing so a larger linux base for Emulators, So more problems in the future maybe, and my fat powergraph will at least help you guys know what causes the exact issue and what helps and what does not.

Thanks for looking in to the matter though and i appreciate your response, I look forward to an update.

Kind Regards
Joe

citra_log.txt (48.2 KB)

Hmmm, did you also confirm whether this issue occurs on the Welcome Amiibo update? The OP of the github issue you linked appears to suggest that the issue doesn’t occur there.

I’m also starting to suspect that this might be hitting an edge case somewhere. Especially given that these forum posts suggest that this issue wasn’t entirely unknown on the 3DS: 3DS Crashing when playing - Animal Crossing: New Leaf
Emulation inaccuracies might be exacerbating this edge case game bug. If the OP of the Citra Github issue about this is correct about the game update solving this issue, this may be a game bug that the game developers silently patched alongside the update. Although, I have no way of confirming this.

I think the crashes listed that you linked are sadly completely different from what we are experiencing through Linux the circumstances are completely different, As the crashes only happen when digging especially near rocks for some reason, But it does not crash anywhere else or when loading stuff, But you know more than me on this stuff, So maybe you are right but it seems completely different.

I appreciate you looking in to this issue by the way i truly do! Because if you could get it fixed in the Linux version of Citra that would be amazing, The thing is there are two separate issues and if you fix either the mini freezes with Hardware shaders on, Or the crashing with them off when digging, At least that way we have one stable way to play the game.

I tried the Welcome Amiboo version of the game and the Base game New leaf, To rule out the Rom or corruption in the rom, Sadly it did not affect the issue in anyway, I even used a save editor or move the rock or replace them again in case they were bugged, No luck then i used someone else save again no luck.

I have tried the most up to date version of the game 1.5 and older versions, Sadly it does not affect it.

It is odd the windows versions of Citra have no such issue with Crashing when digging, But the Linux version does, there must be something in the Linux Citra code which does not like digging in this game when Enable hardware shaders are on.

Again in linux when you turn on hardware shaders and then try digging near a rock the game freezes like it is going to crash but then recovers where as if hardware shaders are off it just crashes to desktop.

But then you have the issue when Hardware shaders are enabled you receive the mini freezes all over the map which makes the game just as unplayable as the crashes for me, The mini freezes are still an issue on the windows version of Citra in linux with hardware shaders on, But with the Windows version in Linux you can turn of hardware shaders and not get the crashes near rocks, So it fixes it and makes the game playable.

Playing Citra on my windows PC same save file and rom neither issue exist.

Hmmm. One thing that is peculiar about this specific issue is that I’ve only been able to find users reporting this in Linux, when they’re using AMD Mesa drivers. I haven’t found anyone with Intel Mesa or NVIDIA proprietary who say they’ve suffered from this issue.

I’m actually rather curious about what would happen if you were to try out WIP Vulkan builds. If the issue is indeed in either our OpenGL code or AMD Mesa’s OpenGL driver, then there’s a good chance that this won’t be happening on Vulkan (though you will probably encounter some graphical issues currently). If you’re interested in testing this out, please join our Citra discord server: Citra
There’s a #vulkan-testing channel where we can help you set up a Vulkan build :slight_smile:

Hello and thank you again i have put a message in the discord Vulkan Testing chat asking for help on setting up that WIP Vulkan Build :slight_smile: But that sounds right AMD and Linux being the issue together, and all steam decks run AMD cpus hence the issue, Hopefully after i am able to test this build, and report back, Thank you so much for your help so far!.

1 Like