Homebrew Homebrew game devkitPro libnds compiled .nds shows white screen on emulator

  • Thread starter Thread starter DarXmash
  • Start date Start date
  • Views Views 849
  • Replies Replies 6

DarXmash

New Member
Newbie
Joined
Oct 4, 2025
Messages
4
Reaction score
0
Trophies
0
Age
26
XP
45
Country
Georgia
Hi everyone,


i’m a beginner in NDS homebrew dev and I’ve run into a strange issue while working with devkitPro / libnds. Here’s the situation:
  • Compilation completes without any visible errors or warnings.
  • When running the resulting .nds on DeSmuME, I get a white screen.
  • On a real Nintendo DS, the ROM hangs during loading.
  • Surprisingly, melonDS runs the same ROM correctly.
  • This happens not only with my projects, but also with other people’s working projects. As soon as I perform a simple "make clean" > "make", the recompiled ROMs start showing the same behavior — white screen on DeSmuME and hang on real hardware, while melonDS still runs them.
Has anyone seen similar behavior? Any insights or suggestions would be greatly appreciated!
 
Hi everyone,


i’m a beginner in NDS homebrew dev and I’ve run into a strange issue while working with devkitPro / libnds. Here’s the situation:
  • Compilation completes without any visible errors or warnings.
  • When running the resulting .nds on DeSmuME, I get a white screen.
  • On a real Nintendo DS, the ROM hangs during loading.
  • Surprisingly, melonDS runs the same ROM correctly.
  • This happens not only with my projects, but also with other people’s working projects. As soon as I perform a simple "make clean" > "make", the recompiled ROMs start showing the same behavior — white screen on DeSmuME and hang on real hardware, while melonDS still runs them.
Has anyone seen similar behavior? Any insights or suggestions would be greatly appreciated!
Many emulators have issues with the new version of libnds. There were some breaking changes with the new version of libnds so existing code may not run correctly without code changes if compiled with the new libnds. Are you able to compile and run the libnds examples?
 
Many emulators have issues with the new version of libnds. There were some breaking changes with the new version of libnds so existing code may not run correctly without code changes if compiled with the new libnds. Are you able to compile and run the libnds examples?
Not only emulators, OG Hardware too, which kinda defeats the purpose.

>Are you able to compile and run the libnds examples?

Everything I try to compile behaves this way, even my own "Hello World" project made me think I was doing something wrong - until I tried melonDS. But since my goal is to able to run it on my DS, this is a rather poor consolation. And this only happens with NDS. When I tried compiling examples for GBA, they worked without any issues.

>There were some breaking changes with the new version of libnds so existing code may not run correctly without code changes if compiled with the new libnds.

Do you know which version of devkitPro and libnds actually works and where to find it?
 
Last edited by DarXmash,
Ok, what about DS though?
All of the examples and my own projects that I have recompiled have worked on hardware using the new version of libnds. The breaking changes as I recall are for timers , arm7/9 ipc, and the whole arm7 if you have a custom version.
I think the most common issue with devkitarm and libnds is non-standard installs. Some libraries have you modify the install which can break thing. I would suggest a clean install to rule this out. Then try the examples first.
Last I was aware emulators do require you to disable cpu just in time compilation(jit)

Adding link for breaking changes - https://devkitpro.org/viewtopic.php?t=9662#p18269
 
Last edited by elhobbs,
All of the examples and my own projects that I have recompiled have worked on hardware using the new version of libnds. The breaking changes as I recall are for timers , arm7/9 ipc, and the whole arm7 if you have a custom version.
I think the most common issue with devkitarm and libnds is non-standard installs. Some libraries have you modify the install which can break thing. I would suggest a clean install to rule this out. Then try the examples first.
Last I was aware emulators do require you to disable cpu just in time compilation(jit)

Adding link for breaking changes - https://devkitpro.org/viewtopic.php?t=9662#p18269
I figured out what was the issue. Installed blocksDS instead and now everything works, thanks you so much for help
 

Site & Scene News

Popular threads in this forum