4 ms·
This absolutely thrilled me. Right up until I realized that there's a closed-source, binary-only dependency (FBX SDK). I guess my dreams of playing this game
by ninefathom 6y ago
This absolutely thrilled me. Right up until I realized that there's a closed-source, binary-only dependency (FBX SDK). I guess my dreams of playing this game (which I do, in fact, already own a copy of - twice over, actually) on Linux/aarch64 are still a ways off. AutoDesk indicated as of ~2017 that Linux/ARM support for the FBX SDK wasn't on their road map, and nothing seems to have changed since then.
Still- major kudos to Frictional for doing this. It's 100% an appreciated move, and very much in the right direction. The choice of FBX SDK is just, in hindsight, unfortunate, but that doesn't diminish the helpful nature of what they've done here.
(fingers crossed - maybe FBX SDK is just needed for the editor? Hope springs eternal...)
- lux 6y agoWith it being open source now, someone may be able to write a new asset loader using either GLB or UDZ and convert any FBX assets to one of those formats.
- Arelius 6y agoDoes it actually use the FBX SDK during runtime? Most engines I've worked in just use the FBX SDK to convert assets from a DCC into engine specific assets. If that's the case you might just be able to disable it?
- aspaceman 6y agoThis all sounds very fixable, and one of my first programming projects was actually interacting with the FBX SDK. I’ll take a look at it tonight, could be fun.
- tus88 6y agoTheir own website incidcates Linux support: FBX Python SDK Windows FBX Python SDK Windows Mac FBX Python SDK Mac Linux FBX Python SDK Linux
- cfcosta 6y agoHe meant Linux/ARM64.
- ninefathom 6y agoJust got the HPL2 engine from TDD to build on Linux/aarch64 right up until it needs to link against the FBX SDK. Only real PITA was getting Newton on ARM going. After that it was a few cmake hacks in HPL2, and a few symlinks in the lib/linux directory of the dependencies archive. Looks like the culprits are "MeshLoaderFBX.cpp" and "LowLevelResourcesSDL.cpp" - any workarounds for FBX SDK would need to rework and/or replace those.
- voltagex_ 6y agoI wonder if box86 [1] could be made to emulate only calls to FBX. 1: https://github.com/ptitSeb/box86 https://github.com/ptitSeb/box86
- jacobush 6y agoWow. That's a neat project. It should also be a good way to run Windows binaries on Wine on ARM.
- badsectoracula 6y agoIndeed people do exactly that to run Steam on Raspberry Pi. Check this video by LowSpecGamer: https://www.youtube.com/watch?v=wxxpNfOeOCE https://www.youtube.com/watch?v=wxxpNfOeOCE
- CursedUrn 6y agoI thought GPL wasn't compatible with closed source binaries?
- chii 6y agoand who is going to sue them? They are the copyright holders.
- Polylactic_acid 6y agoIt works in the other way. A closed source program can't rely on GPL code (without special permission) but a GPL program can rely on closed source code since you need permission from the closed source license anyway. GPL just sets a base level of permission that you get, the rights owner is still free to grant any exemptions they want.
- CursedUrn 6y agoSo you could fork this repo and add dependencies on other closed source libraries?
- Polylactic_acid 6y agoAs long as those other libraries allow you to
- jacobush 6y agohttps://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF https://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF It's complicated, but essentially yes, you can. But you may not be able to distribute the compiled work, just the source code, without bundling the closed source libraries.
- versteegen 6y agoNo, you can't distribute a binary under the GPL if it's been linked to GPL-incompatible (e.g. closed source) code. Unlike the LGPL, it doesn't make any difference whether/which part of the program is included from a library. However, the Amensia devs aren't distributing the compiled game under the GPL, they're only distributing the source code, which doesn't include FBX. You're free to distribute code under the GPL which can't actually be compiled/linked. That said, what you wrote doesn't make sense to me anyway, maybe I misunderstood it.
- Ace17 6y agoThe Assimp library can load FBX. Considering how well Frictional's code is architectured this should be pretty easy to fix.
- ninefathom 6y agoThat... was actually very helpful. Thanks - I'm having a look at it now.
- erikbye 6y agohttps://www.protondb.com/app/57300 https://www.protondb.com/app/57300
- szatkus 6y agoDoes Proton have ability to convert x86 code to aarch64?
- captn3m0 6y agoCurious to know why aarch64? Desktop gaming on linux is still very much x86_64 from my experience.