this post was submitted on 22 Oct 2024
37 points (97.4% liked)
Linux Gaming
15335 readers
4 users here now
Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME
away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.
This page can be subscribed to via RSS.
Original /r/linux_gaming pengwing by uoou.
Resources
WWW:
Discord:
IRC:
Matrix:
Telegram:
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The vfs of MO2 isn't the thing that's hard to port. FUSE would make it fairly straightforward and the main reason USVFS is complicated in the first place is that there's not a way to make a fast VFS under Windows due to the higher overhead of going back and forth between kernel and user mode, so it has to resort to hooking most of the multitude of functions in the Win32 and NT filesystem APIs instead of just providing about twenty callbacks like you'd do with FUSE.
A mod manager looks much simpler than it is as it looks like you're just keeping track of lists of files, but mods come in the most insane packaging formats ever devised (e.g. with mad compression schemes and custom scripting languages) and mod managers need to selectively pretend to have all the bugs of every other mod manager as mods get made that rely on a particular bug in the mod manager their author used.
MO2 has a particular extra complexity when thinking about porting it to Linux in that it uses Win32 APIs in lots of places it doesn't really need to, and also does so in a few places where it's genuinely much more convenient that it does. It also uses a custom build system generator generator because its CMake and dependencies are too complicated for a human to practically deal with, so it would take loads of work to even build a completely unusable binary on Linux. We have people volunteer to do the work a few times a year and read a warning I write that looks like this comment and claim to have the willpower to do it anyway, but none of them have ever submitted a single commit.