TeamForbiddenLLC / warfork-qfusion

Warfork is powered by Qfusion a 3D game engine. Qfusion is a fork of id Tech 2, popularly known as the Quake II engine. Qfusion is free and open-source software subject to the terms of the GNU General Public License.
https://warfork.com
109 stars 43 forks source link

Fixed building on Linux/aarch64 #377

Open jetaliz opened 4 months ago

jetaliz commented 4 months ago

I've recently tried building Warfork for aarch64 just for fun, but maybe these changes will be useful for upstream too. Changes to CMakeLists are kinda dirty (I have no experience with CMake and C/C++, and it's my first request pull for something not related to pet projects, heh), but they don't break x86_64 builds

Gelmo commented 4 months ago

I'm very interesting in hosting Warfork on Graviton servers so this is nice to see. This will absolutely be reviewed and we'll look into getting this merged.

Gelmo commented 4 months ago

Keeping an eye on this:

https://github.com/orgs/community/discussions/19197

Looks like ARM64 actions runners might not ever be available to organizations on a Free plan. So we either need to discuss this with GitHub to see if we can get an exception, or, try out one of the alternatives mentioned in that discussion.

Gelmo commented 4 months ago

Looks like cross compiling is an option too

pollend commented 4 months ago

just making it available doesn't seem to bad to me @Gelmo even if we can't provide compiling support. the only concern is future changes don't guarantee that this will still work since not everyone has an arm computer.

Gelmo commented 4 months ago

just making it available doesn't seem to bad to me @Gelmo even if we can't provide compiling support. the only concern is future changes don't grantee that this will still work since not everyone has an arm computer.

Yea that's the thing; we need CI testing

pollend commented 4 months ago

probably don't want to commit to master, if you want to update your master branch to be inline with upstream.

git remote add upstream <upstream-repo>
git fetch upstream
git checkout upstream/master
git checkout -b feature/my-custom-feature-branch
jetaliz commented 4 months ago

probably don't want to commit to master, if you want to update your master branch to be inline with upstream.

git remote add upstream <upstream-repo>
git fetch upstream
git checkout upstream/master
git checkout -b feature/my-custom-feature-branch

Should I leave this PR as is for now, and commit to forked master branch only if there will be other fixes for aarch64 related things?

pollend commented 4 months ago

at the end of the day i never touch the local master branch i always branch off of upstream if your contributing.

Gelmo commented 4 months ago

https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/

These runners are available to our customers on our GitHub Team and Enterprise Cloud plans. We expect to begin offering Arm runners for open source projects by the end of the year.

SO it looks like there will be a free option available later this year.