Homebrew [Release] Linux for the 3DS

Xeddius

Member
Newcomer
Joined
Apr 8, 2018
Messages
12
Trophies
0
Age
30
XP
99
Country
United States
Wow, all of the tools are there, it shouldn't take much to port a decent browser and some apps over to this! I'm surprised someone hasn't already, to be honest.
 
D

Deleted User

Guest
Wow, all of the tools are there, it shouldn't take much to port a decent browser and some apps over to this! I'm surprised someone hasn't already, to be honest.
Creating a functional browser would require reverse-engineering the 3DS WiFi card, which I do not believe anyone has done yet, nor do I believe it to be very easy. A "decent" browser would not run well at all; we would be lucky to get a graphical version of links running on Weston.
 

Xeddius

Member
Newcomer
Joined
Apr 8, 2018
Messages
12
Trophies
0
Age
30
XP
99
Country
United States
Creating a functional browser would require reverse-engineering the 3DS WiFi card, which I do not believe anyone has done yet, nor do I believe it to be very easy. A "decent" browser would not run well at all; we would be lucky to get a graphical version of links running on Weston.

That brings me to another question, why Weston? Why not X11 with a display manager? I3, Cinnamon, Mate, Gnome, Fluxbox, LXDM, etc? Sure, Weston/Wayland are new and all, but they're so new nothing really works with them. I feel like that's the major hangup, I've had Firefox and Chrome working on X11 LXDM on an old single core Pentium running at 100mhz with 512mb of ram. It wasn't incredibly fast, but it did run. The 3ds has a dual-core arm11 running at 268mhz. I've had smartphones that could barely boast the same specs and still ran pretty well. I honestly feel like the 3ds receives a lot of criticism and skepticism because it's not the most powerful system out there, but yet time and time again I've seen projects where people have taken devices to the literal extreme and made them do amazing things. (Like running snes games on a GBA.) Things that nobody thought would be possible.

Basically, the possibility is there, it seems that the attitude and people required to make it happen, aren't invested.

Edit: also, someone has added the 3ds wireless drivers to the github page I believe.

All in all, right now this isn't even as functional as DSLinux used to be. I hope it gets more development and the love it deserves someday.
 
Last edited by Xeddius,
D

Deleted User

Guest
Take all this with a grain of salt. It's getting late; I might not have though everything below entirely through.

That brings me to another question, why Weston? Why not X11 with a display manager? I3, Cinnamon, Mate, Gnome, Fluxbox, LXDM, etc?
Perhaps because Weston does not require much to run (slow CPU / low RAM). Though, the same can be said about X11, so I'm not entirely sure. Personal preference, I guess.

Sure, Weston/Wayland are new and all, but they're so new nothing really works with them. I feel like that's the major hangup, I've had Firefox and Chrome working on X11 LXDM on an old single core Pentium running at 100mhz with 512mb of ram. It wasn't incredibly fast, but it did run.
LXDM requires a lot more to run compared to Weston or X11. Sure, it ran well on your -- wait, a 100mHz processor? Jeez. Well, I guess it had all of the perks of an i586 CPU compared to ARM? Of course, whatever OS you were running was most likely far more optimized for its hardware than Linux for the 3DS is.

The 3ds has a dual-core arm11 running at 268mhz. I've had smartphones that could barely boast the same specs and still ran pretty well.
Yes, and the 3DS runs pretty well on its stock firmware; Horizon is the name, IIRC. It would require a large amount of work and optimization to get Linux and a GUI running at the same speed as Horizon. Don't forget that Linux is running off of the SD card, in this case.

I honestly feel like the 3ds receives a lot of criticism and skepticism because it's not the most powerful system out there, but yet time and time again I've seen projects where people have taken devices to the literal extreme and made them do amazing things. (Like running snes games on a GBA.) Things that nobody thought would be possible.
Is Linux running natively on the 3DS not already "taken to the literal extreme"? Also, assuming you are referring to games like Super Mario Advance, those games were ported by Nintendo themselves, who has access to the source code of the original Super Mario games. I doubt they used much of it, but I'm sure having access to such a thing made the porting process far easier. We do not have access to the source code of the 3DS software, like the BootROM or Horizon, that would make it easier to port and install an entirely new operating system.

Basically, the possibility is there, it seems that the attitude and people required to make it happen, aren't invested.
Make what happen? Have the 3DS run Linux, a GUI, and a web browser at an acceptable speed? While it is possible to accomplish such a feat, it's simply impractical. Why spend countless weeks working on a secondary OS for a comparatively underpowered device when you could, for example, buy a Raspberry Pi Zero and shove it in a calculator? Actually, maybe that's not too good of an example...
The point I'm trying to make is, why waste your time on something that has, in a sense, already been done? Sure, you can't use a full-fledged web browser on a 3DS, but you can on a smartphone.
Though I guess I can't argue with "because I can;" I will admit that I have used that excuse more than once. Just this night, I got DOOM running on my Microsoft Zune HD...

Edit: also, someone has added the 3ds wireless drivers to the github page I believe.
Interesting; do you have a link? I couldn't find it in a five second Google search, so I'll probably have to connect to a VPN and crawl the dark web with Tor to find it. </sarcasm>
 

Xeddius

Member
Newcomer
Joined
Apr 8, 2018
Messages
12
Trophies
0
Age
30
XP
99
Country
United States
Also, assuming you are referring to games like Super Mario Advance...

...Interesting; do you have a link? I couldn't find it in a five second Google search, so I'll probably have to connect to a VPN and crawl the dark web with Tor to find it. </sarcasm>

No, I mean there was literally a SNES emulator for the GBA.
Google "pocketsnes"

github(dot)com/xerpi/linux_3ds is where the github for the linux drivers/kernel is located.
 
Last edited by Xeddius,

ParzivalWolfram

Well-Known Member
Member
Joined
Jun 28, 2017
Messages
294
Trophies
0
Age
54
XP
754
Country
United States
I'm trying to get gcc and make on this thing but how do I compile them without having access to them...?

(Probably shouldn't be doing this as I don't know C, nor do I mess with Linux much, but I'm trying anyway...)

Also, unrelated but weird, RetroArch 3DS reports my n3dsxl a having 4 cores... is that a dual-core ARM11 and ARM9?
 
Last edited by ParzivalWolfram,

ParzivalWolfram

Well-Known Member
Member
Joined
Jun 28, 2017
Messages
294
Trophies
0
Age
54
XP
754
Country
United States
The N3DS has an upgraded quad-core, over the O3DS's dual-core ARM11
ARM9 is never taken into consideration when in 3DS mode as it never runs anything userland related
Ah, okay. I'd imagine it'd be possible to use both processors with some tricks (and in turn the ARM7, a stretch but would be cool) to speed up emulators and such.

Does this kernel use the 9 or 11?

EDIT: It's the ARM9.
 
Last edited by ParzivalWolfram,

pcs3rd

Well-Known Member
Newcomer
Joined
Jan 10, 2017
Messages
73
Trophies
0
Location
The Absolute freak'n MIDDLE OF NOWHERE.
Website
www.google.com
XP
88
Country
United States
Currently the environment is very simple, you have Busybox (which "simulates" some programs like ls, cat, top, etc) and Weston (the Wayland compositor) plus a few Weston clients demos.

DOWNLOAD:

https://drive.google.com/open?id=0ByXgF-rsC8PTRFRwQUhGZXAzYXc

Installation:

  1. Install boot9strap or fastboot3DS (check OpenFirmInstaller)
  2. Copy the linux folder to the root of the SD card
  3. Copy firm_linux_loader.firm to the SD (if you are using Luma CFW copy it to the luma/payloads folder).
  4. Run the .firm file
  5. Profit!
Linux login:
  • User: root
  • Pass: root
Other stuff:
  • You can start Weston by running:
    # /start-weston.sh​
  • You can mount the SD card (read-only) to /media/sd by running:
    # /sdmount.sh​
  • You can change the input mode (keybord, mouse) by pressing SELECT
Sources:
Build instructions: https://gist.github.com/xerpi/3c720d345820691a2985502fcd80268f

Old downloads:

Other downloads:
Note: Currently the SD card support is read-only.
@xerpi ,May I ask what the controls are for the newer 3ds linux?
 
D

Deleted User

Guest
So a unrelated question:Is it possible to run busybox/bash/ksh etc in the 3DS OS? Not a complete OS, just a shell.
As the 3DS' builtin browser cannot download anything and you won't need multiple homebrews like ftpd as busybox have it included.
 

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,567
Trophies
2
Location
United States
Website
sites.google.com
XP
3,873
Country
United States
So a unrelated question:Is it possible to run busybox/bash/ksh etc in the 3DS OS? Not a complete OS, just a shell.
As the 3DS' builtin browser cannot download anything and you won't need multiple homebrews like ftpd as busybox have it included.
No, because HorizonOS doesn't provide a POSIX interface.
 
  • Like
Reactions: Itzumi and xerpi

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/IihvJBjUpNE?si=CsvoEbwzNKFf0GAm cool