28

Which Android version supports exFat, if at all? The web seems unclear about that. Thanks!

1
  • 2
    I assume your real question is "Since which Android version is exFat supported?" - only this way it makes sense.
    – Robert
    Nov 28, 2016 at 18:51

2 Answers 2

14

It seems that, according to here, It's been supported since KitKat (whether using apps or not) But (as always) it's down to The OEM's discretion if a device can Run it. Chances are, If a device supports SD cards bigger than 32Gb, It supports SDXC, which has a exFAT filesystem (First Graph here)

6
  • That makes sense, also the OEM's omission of support if a device does not have an SD card reader. Nov 29, 2016 at 10:23
  • Glad to be of service.
    – Dan Brown
    Nov 29, 2016 at 12:47
  • 10
    I have found my Pixel in 2018 on Android 8.1 does not support exFat.
    – jonallard
    Aug 20, 2018 at 22:45
  • From this post it indicates Samsung devices are compatible. Apr 1, 2020 at 23:56
  • @Adam Hurwitz hi there! I'll have to invite you to read the post again; I noted that it's OEM's discretion on whether it's supported or not. Also, your links is about NTFS while this question is about ExFat.
    – Dan Brown
    Apr 2, 2020 at 20:24
12

As of today (03-Apr-2020), exFAT is not yet officially supported in AOSP.

exFAT - a filesystem developed by Microsoft - was (is?) not open-source, so it was never a part of Linux (and hence Android) kernel over patent issues. However a FUSE-based driver (exFAT-FUSE) has been around since long. But it's not a proper in-kernel driver, so lags in performance. Also there are properly licensed commercial-grade and for home users exFAT implementations from authorized Microsoft partners like Tuxera and Paragon.

Following a leaked release of exFAT filesystem source code, Samsung properly open-sources an exFAT driver back in 2013. It's available as exFAT-nofuse Linux kernel module. In 2018 another exFAT driver was released as part of Samsung Galaxy S8+ source. It's available as exFAT-Linux out-of-tree kernel module.

However none of the above drivers were ever merged to mainline Linux tree because of license issues. The other answer correctly states that it's up to OEM's discretion if they include exFAT driver in their kernel (and executables in userspace) after having an agreement with Microsoft or their partners. But almost every custom ROM includes one or more of the above drivers. exFAT-FUSE support is also available as a Magisk module: vold-posix which can be used almost with any ROM (at least after some modifications). With Android 9, a very basic support was also added to AOSP:

"Android doesn't natively support exFAT, but we're at least willing to try mounting an exFAT filesystem if we detect the Linux kernel supports it, and if helper binaries are present."

There came a big news from MS in 2019:

"Microsoft ♥ Linux – we say that a lot, and we mean it! Today we’re pleased to announce that Microsoft is supporting the addition of Microsoft’s exFAT technology to the Linux kernel."

And with that a community user (who already developed an exFAT driver for Linux based on 2013 release) made the initial commits to staging (unofficial, going to be part of mainline kernel) tree. After getting into "real" shape, it's being merged to Linux kernel v5.7-rc1 (test release). Hopefully exFAT is going to be a part of future Linux/Android kernel stable/LTS releases. It can possibly be backported to current Android LTS releases (3.18 or 4.*) but there can be license issues, I'm not sure of, as Paragon states: "Microsoft’s statement is related to future versions of the Linux Kernel."

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .