Homebrew Proposed SD directory restructuring for homebrew

Garcia98

Hey! Listen!
Member
Joined
Sep 8, 2015
Messages
361
Trophies
0
Location
Salamanca
Website
github.com
XP
267
Country
Having a folder called homebrew to have another folder inside called apps is stupidly redundant IMO, and app data should always go in the app folder alongside the 3dsx (or alone if you're using a CIA).

However it's true that there's a huge problem with some CIA homebrew developers (or at least some months ago there was a problem) who doesn't want to put his app data into 3ds folder and use root and that needs to change to avoid cluttering our SD card.

PS: I also think that 3ds was not the best name that could've been chosen to name that folder and apps was a much better one but meh.
 
  • Like
Reactions: gnmmarechal

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
app data should always go in the app folder alongside the 3dsx (or alone if you're using a CIA).
I don't agree with this. If the app data and the app itself are in two different locations, it allows users to delete a homebrew app if they don't need it for now, but still keep their configs. It's why on Linux systems, config is in /etc/, and on Windows, config is in %appdata%.

However it's true that there's a huge problem with some CIA homebrew developers (or at least some months ago there was a problem) who doesn't want to put his app data into 3ds folder and use root and that needs to change to avoid cluttering our SD card.
I'm one of those devs, and it's not so much a problem as the accepted community standard up to this point. The /3ds/ folder was created for .3dsx homebrew, HBL will list all folders inside it, so if something like CIAngel were to create a folder inside /3ds/, it would show up in HBL, cluttering the list.

PS: I also think that 3ds was not the best name that could've been chosen to name that folder and apps was a much better one but meh.
/3ds/ implies the intent of the folder, to contain 3ds "stuff", in this case homebrew. If it was named "apps" and you found an SD card in 6 months sitting around with that folder name on it, you'd have no idea what that folder was without browsing around it looking for files that can identify it.
 
  • Like
Reactions: clank and faku1810

faku1810

Well-Known Member
Member
Joined
Mar 10, 2014
Messages
893
Trophies
0
Age
32
XP
328
Country
Argentina
I like the 3ds/apps proposal. Though I'm not entirely sold regarding the need for a separate data folder. I understand it's caused because HBL won't filter "only" the 3dsx but rather show folders if they exist, making it possible to show a bunch of folders that have no relevance to what the Homebrew launcher can run. But then, can't that be changed in the source code so HBL only shows 3dsx files if they exist under the folders they scan? And maybe only show a folder if it contains more than one 3dsx file?

Somehow I can't imagine people actually sharing the same SD in their 3ds with the wii and wiiu since it's annoying taking out a sd from one place to another. But even if that's actually the case, as others have already stated, it wouldn't make a difference. They won't be changing two or three scenes standards just to suit that particular scenario. So I think it's best we focus on making the folder structure suit the 3ds scene as much as possible, while still providing the "less clutter" feeling they want.
 

Joel16

Ils ne passeront pas
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,283
Country
United States
There's only one project that I'm currently working on for 3DS, and it doesn't use the root of the SD in any way apart from reading files in the file manger. It saves data only to '/3ds/Cyanogen3DS'.
I'd also like to agree with the guy on reddit. I guess things like CFWs would be more suitable to use the root, but homebrews and such should belong under the '/3ds' folder. It just seems well organized that way.
 

faku1810

Well-Known Member
Member
Joined
Mar 10, 2014
Messages
893
Trophies
0
Age
32
XP
328
Country
Argentina
I don't agree with this. If the app data and the app itself are in two different locations, it allows users to delete a homebrew app if they don't need it for now, but still keep their configs. It's why on Linux systems, config is in /etc/, and on Windows, config is in %appdata%.

Assuming HBL was changed to only display 3dsx apps (or a folder if it contains more than one 3dsx); wouldn't it be possible to make homebrew create their own data or config folder? That way people would still be able to delete them separately based on their needs.

Example:
3ds/freeshop/ ; contains only configuration files because it's a cia only release. Doesn't show up in hbl.
3ds/Desmume/desmume.3dsx ; contains the 3dsx so it shows the app in HBL. It uses Desmume/data for the config and maybe a roms folder for the ds files.
3ds/JKSM/ ; contains either the 3dsx and a data folder, or just the data folder for the cia version.

I think that would comply with everyone's requirements, as it still allows for distinction if the SD is used in a different console.
 

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
Having a folder called homebrew to have another folder inside called apps is stupidly redundant IMO, and app data should always go in the app folder alongside the 3dsx (or alone if you're using a CIA).
Then your 3dsx dir (and HBL menu) will be littered with irrelevant data meant for CIA homebrew or arm9 utilities. It's already enough of a pain in the ass to navigate HBL with 50+ relevant items, let alone irrelevant ones
I like the 3ds/apps proposal. Though I'm not entirely sold regarding the need for a separate data folder. I understand it's caused because HBL won't filter "only" the 3dsx but rather show folders if they exist, making it possible to show a bunch of folders that have no relevance to what the Homebrew launcher can run. But then, can't that be changed in the source code so HBL only shows 3dsx files if they exist under the folders they scan? And maybe only show a folder if it contains more than one 3dsx file?
I thought about that too. And while that solves one problem of getting rid of clutter on the root directory and HBL, it then causes clutter elsewhere. Ideally, the HBL should have all of its games in one directory alone. Putting everything homebrew related in /3ds/ is like installing system software to system32. It could work, but it's nice to have that location only contain certain expected files.

Depending on people further thoughts, making improvements to HBL could be second best option that doesn't require more wide-spread changes. However, because of what I mentioned I don't think any devs will start putting their stuff in directories like /3ds/Emunand9/ since most devs don't like that lack of separation. That directory is expected to be for homebrew launchers and not necessarily for firm binaries, configuration files, and such.
 
Last edited by TheCruel,

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
Assuming HBL was changed to only display 3dsx apps (or a folder if it contains more than one 3dsx); wouldn't it be possible to make homebrew create their own data or config folder? That way people would still be able to delete them separately based on their needs.
HBL has the ability to browser the SD card, which would be required for this idea to work. If it only showed things with .3dsx then it would hide "/3ds/apps/" if it defaulted "/3ds/", or if you go up to the root of your SD card, it would hide the "/3ds/" folder since it doesn't directly contain a .3dsx file. Doing anything like recursive checking would be resource intensive, and could cause issues for people who share their 3DS with other things (Camera, WiiU, etc)
 

Demirramon

Active Member
Newcomer
Joined
Jul 1, 2016
Messages
36
Trophies
0
Age
27
XP
102
Country
IMO this suggestion is better than adding the /homebrew/ folder (yeah, I suggested it on reddit, but after reading this I changed my mind).
I think something like this will be pretty good and won't break anything even if some devolpers don't fix it (if it becomes a standard, they eventually will):

/3ds/app/ -> homebrew apps (folders with 3dsx and files that the app needs to run)
/3ds/data/ -> files that the apps will generate (each app would use their own folder inside this one)
/3ds/a9lh/ -> arm9 payloads? Idk if this would be necessary or not but why not

This wouldn't even break the current version of HBL (as stated in some posts above this one), we would just have to open the "app" folder and there we have our homebrew.
 

Tjessx

Well-Known Member
Member
Joined
Dec 3, 2014
Messages
1,160
Trophies
0
Age
27
XP
952
Country
Belgium
/homebrew/3ds sounds really convenient: using /homebrew/ as a "root" and having just 2 folders on your real root. That's an extra work for a number of devs however

Having a folder called homebrew to have another folder inside called apps is stupidly redundant IMO, and app data should always go in the app folder alongside the 3dsx (or alone if you're using a CIA).

However it's true that there's a huge problem with some CIA homebrew developers (or at least some months ago there was a problem) who doesn't want to put his app data into 3ds folder and use root and that needs to change to avoid cluttering our SD card.

PS: I also think that 3ds was not the best name that could've been chosen to name that folder and apps was a much better one but meh.

I'm not a 1000% sure, but i believe that the foldername was set to 3ds for the small name, so that it would be easier to fit in a payload
 

Shadowhand

Slim, Alternative Dev.
Member
Joined
Feb 27, 2016
Messages
522
Trophies
0
Age
31
XP
1,958
Country
United Kingdom
/3ds/ implies the intent of the folder, to contain 3ds "stuff", in this case homebrew. If it was named "apps" and you found an SD card in 6 months sitting around with that folder name on it, you'd have no idea what that folder was without browsing around it looking for files that can identify it.

/3ds/ doesn't make sense and it does not convey its purpose:
What it does: House .3dsx format homebrew and maybe their data.
What it conveys: 3DS... stuff... on my SD... Alright then.

Whereas, /homebrew/3ds/ literally tells you what it does in the first glance:
What it does: House homebrew for 3DS.
What it conveys: House homebrew for 3DS.
 
  • Like
Reactions: evandixon

Tjessx

Well-Known Member
Member
Joined
Dec 3, 2014
Messages
1,160
Trophies
0
Age
27
XP
952
Country
Belgium
/3ds/ doesn't make sense and it does not convey its purpose:
What it does: House .3dsx format homebrew and maybe their data.
What it conveys: 3DS... stuff... on my SD... Alright then.

Whereas, /homebrew/3ds/ literally tells you what it does in the first glance:
What it does: House homebrew for 3DS.
What it conveys: House homebrew for 3DS.
I'm not a 1000% sure, but i believe that the foldername was set to 3ds for the small name, so that it would be easier to fit in a payload
 

Joel16

Ils ne passeront pas
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,283
Country
United States
/3ds/ doesn't make sense and it does not convey its purpose:
What it does: House .3dsx format homebrew and maybe their data.
What it conveys: 3DS... stuff... on my SD... Alright then.

Whereas, /homebrew/3ds/ literally tells you what it does in the first glance:
What it does: House homebrew for 3DS.
What it conveys: House homebrew for 3DS.

Sounds awfully reversed to me.
I think /3ds/homebrew/ would suit it better. (Coming from the psp, Sony had it set up like PSP/GAME but the way you're saying it seems odd to me).
Even if Sony didn't have it like that, I'd still think /3ds/homebrew seems better. I mean you can also have /3ds/audio/ or /3ds/pictures/
 
  • Like
Reactions: TheCruel

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
/3ds/ doesn't make sense and it does not convey its purpose:
What it does: House .3dsx format homebrew and maybe their data.
What it conveys: 3DS... stuff... on my SD... Alright then.

Whereas, /homebrew/3ds/ literally tells you what it does in the first glance:
What it does: House homebrew for 3DS.
What it conveys: House homebrew for 3DS.
Heh, so is there non-homebrew 3ds stuff people are putting on their SD card or something? If not, then /homebrew/3ds/ is the same thing except 1) trying to use it will not work with current HBL and 2) it doesn't actually propose any separation of 3dsx and non-3dsx homebrew files. Unless you mean to imply that you would be using /homebrew/3ds/apps/ or something.
 
  • Like
Reactions: clank and Joel16

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
30
XP
4,687
Country
United States
Having a single /homebrew/ folder on the root would be best. This way you can just throw all of the .3dsx and .smdh files without needing to name folder inside of that homebrew folder.
 
Last edited by Xenon Hacks,

Shadowhand

Slim, Alternative Dev.
Member
Joined
Feb 27, 2016
Messages
522
Trophies
0
Age
31
XP
1,958
Country
United Kingdom
I'm not a 1000% sure, but i believe that the foldername was set to 3ds for the small name, so that it would be easier to fit in a payload
No actually I was told that it's /3ds/ because NDS devs used /nds/ for their thing.

Sounds awfully reversed to me.
I think /3ds/homebrew/ would suit it better. (Coming from the psp, Sony had it set up like PSP/GAME but the way you're saying it seems odd to me).
Even if Sony didn't have it like that, I'd still think /3ds/homebrew seems better. I mean you can also have /3ds/audio/ or /3ds/pictures/
My initial idea was just /homebrew/. No /3ds/ after it. But I was swiftly told that people somehow use their SDs for several devices, and that some big-name devs out there would not support just /homebrew/, but they would support /homebrew/3ds/.
/homebrew/3ds hits all the criteria I want:
1) It conveys its purpose loud and clear, at a single glance.
2) It prevents clutter from SD root.
3) It has room for expansion so if wiiu scene decides, they can use /homebrew/wiiu/ without cluttering the SD root with /wiiu/

Heh, so is there non-homebrew 3ds stuff people are putting on their SD card or something? If not, then /homebrew/3ds/ is the same thing except 1) trying to use it will not work with current HBL and 2) it doesn't actually propose any separation of 3dsx and non-3dsx homebrew files. Unless you mean to imply that you would be using /homebrew/3ds/apps/ or something.
I propose current /3ds/ folder should be moved to /homebrew/3ds/hbchannel or maybe /homebrew/3ds/3dsx, or heck, /homebrew/3ds/apps/ or bins/ would be fine as well.

Having a single /homebrew/ folder on the root would be best.This way you can just throw all of the .3dsx and .smdh files without needing to name folder inside of that homebrew folder.
That's not how that works. That'll create more chaos than it solves.
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
Why not just force linux-like FHS on everybody? Name the root folder 'usr' and have 'bin' (3dsx), 'sbin' (arm9), 'share', 'var' (for cache) etc under it. Shaft all the uncompliant stuff under 'opt' since it won't work anyways. Sort of serious, but j/k

I'll just say that if everyone can actually decide where the hell to put stuff in a rational manner that has no ambiguity, I'll gladly change the path on Corbenik. Oh, and we all should seriously start using argc and argv on arm9 instead of pathchangers (but that fell on dead ears, sadly.)
 

Tjessx

Well-Known Member
Member
Joined
Dec 3, 2014
Messages
1,160
Trophies
0
Age
27
XP
952
Country
Belgium
If we keep 3ds a s the base folder, then it will be backwards compatible with people that don't update their homebrew channel.
I think what was proposed in the
First post is the best option here
 

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
My initial idea was just /homebrew/. No /3ds/ after it. But I was swiftly told that people somehow use their SDs for several devices, and that some big-name devs out there would not support just /homebrew/, but they would support /homebrew/3ds/.
/homebrew/3ds hits all the criteria I want:
1) It conveys its purpose loud and clear, at a single glance.
2) It prevents clutter from SD root.
3) It has room for expansion so if wiiu scene decides, they can use /homebrew/wiiu/ without cluttering the SD root with /wiiu/


I propose current /3ds/ folder should be moved to /homebrew/3ds/hbchannel or maybe /homebrew/3ds/3dsx, or heck, /homebrew/3ds/apps/ or bins/ would be fine as well.
Your way does not with with the current HBL, and would cause headaches if someone is using homebrew that doest get updated. The way suggested in OP covers both these cases. Can you really not look at the folder /3ds/apps/ and infer that it may contain 3ds homebrew?

You can't even get the 3ds scene to agree with you, I find it highly unlikely you could convince any other scene to switch to your /homebrew/ idea.

And you should ask the devs who have gotten on board with your idea whether they think TheCruels idea is better, I'm curious what they say.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    OctoAori20 @ OctoAori20: Not a lot, just relaxing