Fledge68 / WiiFlow_Lite

My mod of the Wii USB Loader WiiFlow
459 stars 58 forks source link

Feature Request : Support for ExFat partitions. #321

Closed TomTurbine closed 1 year ago

TomTurbine commented 1 year ago

When it comes to dealing with the larger drives, it gets really frustrating when it comes to dealing with Wii and Gamecube.

Wii loaders require NTFS, Linux partitions or Fat32 which caps at 2TB unless you have a Western Digital brand hard drive that supports XP Compatibility mode. Nintendont requires ExFat or, again Fat32. And, for some reason, many gets finicky when it comes to drives with multiple partitions.

Having both USB Loaders and Nintendont supporting the same format that also supports larger drives on a single partition would resolve a lot of that.

The ability to have a 4-10TB hard drive with single partition that both of them can load would help greatly.

Figuring this out the hard way setting up a system for family and I have a 6TB external Seagate and no matter what I do, the system will not read the second partition no matter what I do. So my choice is either ExFat or NTSF and locking a single system out entirely or going Fat32 and having access to only a third of the drive.

When I try multiple partitions, USB Loader GX will either crash loading, see the partition but not read it, or not see it at all while WiiFlow Lite is a lot more forgiving and will not see it or see it but only crash when I try to access it in the explorer. Just having a single partition that both could read would resolve it for me and many others.

Thank you for your time and sorry for my rambling.

eku commented 1 year ago

I guess it's a matter of exFAT support by the underlying cIOS or devKitPro for GC/Wii. So you better open your feature request there.

TomTurbine commented 1 year ago

Ah, so it is something that would have to be implemented by the team behind d2x?

gingerbeardman commented 1 year ago

NTFS and Ext filesystems are already supported https://github.com/Fledge68/WiiFlow_Lite/tree/master/portlibs/include

exFAT is proprietary Microsoft which is a big blocker. I'm not sure anybody has a verified solution that isn't licenced from MS. For example on Switch you need to download exFAT support which allows Nintendo to keep track of how much they need to pay MS.

TomTurbine commented 1 year ago

The main issue came from the fact that while it supports NTFS and the Ext systems, Nintendont would only read Fat32 and ExFat which required you to make 2 partitions to your drives to run them both as Fat32 capped out at 2TB unless your drive supported XP Compatibility mode.

It's one of those things that would be a huge convenience for users to actually have Wii & Gamecube to be able to run from the same partition type that is also able to handle larger hard drives.

Whether that meant Nintendont supporting NTFS or one of the Ext filesystems or the loaders supporting ExFat or both of them just choosing something else, just to have them both under the same file system would be a huge benefit when it comes to managing them.

eku commented 1 year ago

@TomTurbine doesn't limit MBR partition scheme the useable size for a partition to 2TB? Are you using GPT?

TomTurbine commented 1 year ago

Most drives limit Fat32 to 2TB even when using GPT.

Had to get me a Western Digital drive and use their own formatting tool and put it into XP Compatibility mode just to get it above 2TB.

I had a Seagate Expansion drive that was 6TB and tried for over a week and nothing would do it, the Western Digital took about 60 seconds because they went out of their way to keep this mode in their software.

With the Seagate, I tried 4 different partitioning software, in MBR and GPT, even took it too NTFS and then tried to convert to fat and everything stop saying it wouldn't go over 2TB except the Western Digital drive.

At this point though, Fat32 is a dying format for larger drives because of that. Once Western Digital dumps that compatibility mode, it will be that much harder to get it.

Put in a request in the D2X CIOS forms to maybe support ExFat as well. Need a format that natively supports larger drives that the community can actually agree on.

But needing NTFS for USB Loaders , ExFat for Gamecube, and if you want Fat32 you need a specific type of hard drive or else you are limited to 2TB is needlessly convoluted. And they seem to be hit and miss on if it will like drives with multiple partitions as it refused to read the second partition on the Seagate at all without crashing in the attempt IF it even saw it.

gingerbeardman commented 1 year ago

OK, so to try to keep this on topic: your request should really be with Nintendont if your problem is with Nintendont. However, I know for a fact that they will not add NTFS as it has been requested dozens of times already.

Their reasoning: the binary for Nintendont needs to be kept very small and already they had to use an optimised, miniaturised implementation of FAT32 which barely fits. So there is no room for support for other filesystems.

However, Nintendont does support dual partition setups: FAT32 (GC games) and NTFS (Wii games), which sounds like the solution to your problem. Though they still recommend one partition and split Wii large files (which can be done automatically using a good backup manager).

specific: https://github.com/FIX94/Nintendont/issues/326

general: https://github.com/FIX94/Nintendont/issues?q=is%3Aissue+ntfs+is%3Aclosed

TomTurbine commented 1 year ago

Yes, I know, I ended up having to purchase a whole other external hard drive too because the Wii has trouble reading multiple partitions off of some of the hard drives.

Was originally trying a Seagate Expansion. The Wii would refuse to work with 2 partitions, could format the entire thing in NTFS and use Wii but no Gamecube, could go ExFat and get Gamecube but no Wii, could go Fat32 and use both but only have access to 2TB out of the 6TB on the drive because it wasn't a Western Digital which had access to an XP Compatibility mode.

Bought a 4TB Western Digital and it works fine, but was a bit much to need to do.

I knew why Nintendont didn't want to support NTFS or the Ext systems so the better option would be for the Wii stuff to support ExFat.

The issue with Fat32s size limitation will be a bigger problem as things go along, especially when it comes to drives that it doesn't like multiple partitions on.

Having the overall community support a file system that they can all use and supports larger drives without all the hoops associated with Fat32 is something that should happen eventually.

Once Western Digital actually dumps that XP Compatibility mode and Fat32 becomes that much harder to use on larger drives, things will get MUCH harder for it.

eku commented 1 year ago

GC games can also be stored on and loaded from the SD card. Why is that not an option for you?

TomTurbine commented 1 year ago

I found an alternative, I ended up buying a 4TB Western Digital drive which it has no problems with either multiple partitions or XP compatibility mode. I have worked around the issue on my end. Didn't fix the issue, just paid a little under $100 to work around it.

The problems with going from the SD Card also meant the costs of those cards get expensive as well for the bigger ones compared to a hard drive and the SD Card slot is a lot slower. I purchased that 4TB Western Digital for cheaper than a 1TB SD Card would cost.

And it still sucks I even needed to when I had a 6TB Seagate that the Wii would read and game from without issue but it just wouldn't read anything past the first partition and wouldn't do a Fat32 partition above 2TB.

The issue is one that will get worse after Western Digital removes their XP Compatibility mode eventually which will end the easier access to 2TB+ Fat32 and if mine had issues with multiple partitions, I am betting I wasn't the only one.

But having a single partition that supports larger drives that the entire homebrew community can support would make things a lot easier for everyone as a whole. What that partition type is, isn't important, just that they have one that the community can work on and supports the capacities of the drives they are on.

gingerbeardman commented 1 year ago

Sometimes adding your own criteria (unspoilt downloads) can be costly as you've seen here.

Glad you found a solution!

TomTurbine commented 1 year ago

Nintendont ALREADY supports it. Which is why I suggested others support ExFat as well.

Nintendont has a good technical reason why it can't support NTFS or the other stuff, no such limitation that I know of prevents USB Launchers and other programs from using ExFat as well which natively supports larger drives.

Wasn't so much of adding my own criteria as it was the Wii not supporting multiple partitions on some drives combined with the fragmentation of the community on partition formats it supports.

If WiiFlow were to support ExFat, it and Nintendont would be able to both support a bigger hard drive on the same partition though which is what I was trying to get at. No worries about a drive the Wii doesn't like having 2 partitions, no having to decide on having to choose between Game Cube, Wii, or cutting of half or more of the space due to Fat32 limitations outside of drives that support an XP Compatibility mode.

What I was getting at.

gingerbeardman commented 1 year ago

Sorry, I had lost sight of the original request and was focussed on NTFS for some reason, rather than exFAT.

TomTurbine commented 1 year ago

No problem. The overall issue doesn't impact me long term, the Wii U I am setting up is for a family member who also owns a Wii, Gamecube, and DS and just trying to set it up where they all run on the Wii U so no worries to sort the cords or search for the discs.

Honestly wish they could break the 300 title limit for the system and 2TB limit for the hard drive partition so I could just set them all up as injects into it.