Homebrew [WIP - ALPHA 1] Android3DS - Android 2.0 Eclair on the Nintendo 3DS

  • Thread starter Thread starter Octoblimp
  • Start date Start date
  • Views Views 9,017
  • Replies Replies 43
  • Likes Likes 20
If trying to turn it off and on again doesn't work, its possible your files didn't transfer over correctly (this is more common than you think). You may need to try transferring them again.
I will most likely post an update tomorrow if I cannot get it done as I'm typing this right now. I am attempting your suggestion first though before I copy files tomorrow.
 
When I register for the mobile data, it says "Regristration received, but mobile_regristration.conf could not be saved." Any fixes? The dialer says to check SD card, but I have no idea what I need to look for.
 
I can't imagine o3DS being a very usable experience, with its 128 MB RAM, not to mention potato CPU compared to even the earliest Android phones.
New 3DS might actually do pretty well though, 256 MB is more in line with what Android phones at the time would have had and none of those had more than a single core CPU. Quad core should make the experience much smoother than it ever was on Android phones back then.
does android 2.x even support multi-core CPUs? not to mention if any apps of the time supported them either. The potential performance benefit from that won't mean much if 3 of the cores sit unused, though the n3ds still has an l2 cache and higher clocks than the o3ds so there's still a speed benefit
 
does android 2.x even support multi-core CPUs? not to mention if any apps of the time supported them either. The potential performance benefit from that won't mean much if 3 of the cores sit unused, though the n3ds still has an l2 cache and higher clocks than the o3ds so there's still a speed benefit
Apps I highly doubt are designed to take advantage of multiple cores but it is Linux based so it should support it on the OS level which will benefit multitasking and general system responsiveness (since your background apps are not fighting with the foreground app for CPU time)

Worth noting that the 3DS is ARM11 (ARMv6), which some Android smartphones used, but it was not very common. So some apps might not work or will run slower than you'd expect because they were designed for ARMv7.
 
does android 2.x even support multi-core CPUs? not to mention if any apps of the time supported them either. The potential performance benefit from that won't mean much if 3 of the cores sit unused, though the n3ds still has an l2 cache and higher clocks than the o3ds so there's still a speed benefit
It may not have on the devices of the time, but here it is supported. On Old 3DS it has two cores, on New 3DS it has 4 cores (so New 3DS mode is supported and it takes full advantage).

I posted my repo, but its not compilable right now. Posting this because it's a different codebase and a newer android and ill update it tomorrow. https://github.com/roastme/cyano3ds
Post automatically merged:

Also OP isn't the claim that its gpu accelerated false (like in scope.md)
If SCOPE.MD still says that (I know README.MD did initially) its false. It is in fact GPU-accelerated. If it wasn't, Global Time wouldn't work as it requires OpenGL and to get OpenGL, GPU acceleration must work.

When I register for the mobile data, it says "Regristration received, but mobile_regristration.conf could not be saved." Any fixes? The dialer says to check SD card, but I have no idea what I need to look for.
The mobile_registration.conf, along with wpa_supplicant.conf files are stored under sdmc:/linux/android/persistent/shared so try looking there
 
If SCOPE.MD still says that (I know README.MD did initially) its false. It is in fact GPU-accelerated. If it wasn't, Global Time wouldn't work as it requires OpenGL and to get OpenGL, GPU acceleration must work.
Dude did you read that document yet? (I read the docs on my own project)
 
Dude did you read that document yet? (I read the docs on my own project)
I read the README.MD document yes, which is how I knew to remove that line and make a couple of other adjustments. The SCOPE.MD was back from when GPU acceleration did not work, and it didn't work because the code at the time it tried to talk to the GPU and it just crashed the whole system. When GPU acceleration finally did work, Claude did not update SCOPE.MD. That is not really my fault honestly. I'm shocked it didn't update the scope but then again, its irrelevant anyhow as other documents that may not have been attached with the repository give the AI the information it needs, so its not solely relying on the SCOPE, if its even relying on it at all.
 
I posted my repo, but its not compilable right now. Posting this because it's a different codebase and a newer android and ill update it tomorrow. https://github.com/roastme/cyano3ds
Post automatically merged:

Also OP isn't the claim that its gpu accelerated false (like in scope.md)
I didn't believe the other post with angry birds running until you posted this. Thank you for your effort.
Post automatically merged:

I will most likely post an update tomorrow if I cannot get it done as I'm typing this right now. I am attempting your suggestion first though before I copy files tomorrow.
I will update later today.
Post automatically merged:

Its too slow to use. It takes minutes to get to the wifi settings, and I can't try with this. I've waited at least an hour trying copying over and over onto my enterprise 32gb known working and tested card. It connects to the WiFi now at least but I can't get into the browser or settings without waiting insaine loading times. I know it's because this hardware can't handle it but I've tried. Thanks for the insaine project tho!
 
Last edited by MattTheTekie,
I didn't believe the other post with angry birds running until you posted this. Thank you for your effort.
Post automatically merged:


I will update later today.
Post automatically merged:

Its too slow to use. It takes minutes to get to the wifi settings, and I can't try with this. I've waited at least an hour trying copying over and over onto my enterprise 32gb known working and tested card. It connects to the WiFi now at least but I can't get into the browser or settings without waiting insaine loading times. I know it's because this hardware can't handle it but I've tried. Thanks for the insaine project tho!

No problem! Sorry its too slow on your Old 3DS. It DOES run, and I did say to expect it to be slower. Perhaps in future builds I can optimize it? Not sure by how much though. Honestly Android 1.X would run best for Old 3DS.
 
  • Like
Reactions: MattTheTekie
It may not have on the devices of the time, but here it is supported. On Old 3DS it has two cores, on New 3DS it has 4 cores (so New 3DS mode is supported and it takes full advantage).


If SCOPE.MD still says that (I know README.MD did initially) its false. It is in fact GPU-accelerated. If it wasn't, Global Time wouldn't work as it requires OpenGL and to get OpenGL, GPU acceleration must work.


The mobile_registration.conf, along with wpa_supplicant.conf files are stored under sdmc:/linux/android/persistent/shared so try looking there

I read the README.MD document yes, which is how I knew to remove that line and make a couple of other adjustments. The SCOPE.MD was back from when GPU acceleration did not work, and it didn't work because the code at the time it tried to talk to the GPU and it just crashed the whole system. When GPU acceleration finally did work, Claude did not update SCOPE.MD. That is not really my fault honestly. I'm shocked it didn't update the scope but then again, its irrelevant anyhow as other documents that may not have been attached with the repository give the AI the information it needs, so its not solely relying on the SCOPE, if its even relying on it at all.

I am pretty sure that the SCOPE.MD is actually the correct one here and the driver only does gpu certification and doesn't actually work yet
 
I am pretty sure that the SCOPE.MD is actually the correct one here and the driver only does gpu certification and doesn't actually work yet

Have you tested it? I have. The GPU does in fact work. GPU-Z itself reports the PICA200.
 
No problem! Sorry its too slow on your Old 3DS. It DOES run, and I did say to expect it to be slower. Perhaps in future builds I can optimize it? Not sure by how much though. Honestly Android 1.X would run best for Old 3DS.
I think you can but it's completely unusable. I expected it to be more like a PoC but not like one frame every 20seconds to 10+ minutes.
 
Have you tested it? I have. The GPU does in fact work. GPU-Z itself reports the PICA200.
I'm pretty sure that gpu z (which is a custom app) is lying and just using software rendering, because i haven't seen any actual evidence to disprove scope.md
 
Hi all, I've been working on this project under wraps for a couple of months with a few select testers who are friends of mine. I think I'm safe to release it now. Introducing Android3DS, which is Android 2.0 Eclair running bare-metal based on the prior work of linux-3ds and it can run on both Old and New models. I've done all personal testing on my New Nintendo 3DS XL however, I have friends who tested it on Old and whilst Old does perform worse, for obvious reasons, it is usable to a point. Below are some photos (including calling and texting, which works based off of my own infrastructure which I developed and put in-place into the stock AOSP apps. You can only call and text other 3DS's and even computers which I implemented rather recently: https://3dstelco.divergen.io

View attachment 593519 View attachment 593520 View attachment 593521 View attachment 593522 View attachment 593523

Everything you need to know is in the GitHub Repo: https://github.com/Octoblimp/Android-Eclair-3DS There is a pre-compiled Alpha 1 build if you go into the releases page: https://github.com/Octoblimp/Android-Eclair-3DS/releases

Not much for me to say other than, this is in Alpha, its a heavy WIP. A lot is done, but a lot still needs work, such as supporting the gyroscope etc.

Claude was used to help make this project possible. I do not know how to code in C++ or Java and I am being blatantly honest about it. Also, this work was not put into any GH repo until a little while ago, so that's why the commits are low. I did all testing myself however, and I worked for months on this, this is not slop, this is something I was passionate about and tried and I believe so far I've succeeded.

Controls: Circle Pad lets you scroll down etc. D-PAD is alternative to touch screen. Press and hold START for 3 seconds for emergency shutoff (ONLY USE IF SOFT POWER OFF DOES NOT WORK). Press and hold SELECT for roughly 3-5 seconds for soft poweroff (see bottom screen when done). Press START once on say, Browser, for additional options like to open new tabs.

I hope you all like it, I worked hard on it and I plan to improve it over time. Would love feedback and to report bugs (many have already been found and fixed over time). Occasionally, WiFi and whatnot can take a while to come on, or doesn't come on or work at all, its sporadic when it happens but turning it off and on does usually fix it. All Android3DS installs do produce logs but if you do want to send those logs, censor them because if you're on WiFi for example, you're not gonna have a fun time because it will dox that.

If you're unable to get WiFi working via Android, you can also setup WiFi separately using a wpa_supplicant.conf template that's bundled with the OS. You put that file under sdmc:/linux/android/persistent/shared. There's also a similar file for mobile registration. Wireless ADB was backported from Android 11 due to the lack of a USB port, so you can do ADB over WiFi and its a custom setting in the settings app, and also, its pre-rooted so you have root from the get-go.

Let me know of any questions and have fun! (Also, there's a little easter egg not normally included on Eclair if you tap the firmware version three times ;))
does the calling work on old/modern devices and is it open source?
 
does the calling work on old/modern devices and is it open source?
Calling is through a self-developed system that also used AI so calling only works to and from numbers on the 3DSTelco service, which includes Android3DS and PC only at this time. It is not open source as of yet however it is planned in the future to open source it.
 
this is actually cool! this was my biggest question about the 3ds: "can it run android?"
but one of the problems is that i followed all the correct tutorials from the github page, extracted .zip and merged luma with my own luma but it gives out this error somewhere at boot and i can't fix it. sorry if it's a stupid or easy fix or i wasted your time. by the way it is supported on the o3ds right?
 

Attachments

  • Untitled.png
    Untitled.png
    1.9 MB · Views: 3
this is actually cool! this was my biggest question about the 3ds: "can it run android?"
but one of the problems is that i followed all the correct tutorials from the github page, extracted .zip and merged luma with my own luma but it gives out this error somewhere at boot and i can't fix it. sorry if it's a stupid or easy fix or i wasted your time. by the way it is supported on the o3ds right?
Can you try if this works https://github.com/roastme/cyano3ds/releases
 
this is actually cool! this was my biggest question about the 3ds: "can it run android?"
but one of the problems is that i followed all the correct tutorials from the github page, extracted .zip and merged luma with my own luma but it gives out this error somewhere at boot and i can't fix it. sorry if it's a stupid or easy fix or i wasted your time. by the way it is supported on the o3ds right?
This does work on Old 3DS however performance isn't as good. When you get an error like that it means your files didn't copy correctly. I recommend deleting Android entirely, and copying it over again, and if it still happens, try copying it over a different way.
 

Site & Scene News

New Hot Discussed User Submitted