Re: ares and n64 support
David James <[email protected]> Sun, 18 Jan 2026 18:10:23 +0000
| Newsgroups | gmane.linux.debian.devel.games |
|---|---|
| Message-ID | <CLah92oan5qANt2XKPxiXiyok7DH5p1gClcDg7UHEZ9jp0R9zpnCVRrmHFOZ23hOh5cLRsGdIDKUrCQVA2XNc9J8XHuXGhb4ug78rW8dSnc=@proton.me> |
Dear Games Team, (This is going to be another long one, sorry) I have been playing around with the build system and I have made it so both v1 and v2 versions get built on amd64. Looking at the source, I notice that only amd64 and arm64 get the SIMD instructions for n64. If we have a package with n64 disabled just for amd64, it will be the case that people on x86-64-v1 won't have the n64 core, but someone with an old i386 will, performance be damned. So, the options are: * Disable the n64 on all architectures that cannot have the SIMD instructions for the n64 core (any architecture that isn't amd64 with v2 or arm64) * Enable the n64 core on all architectures. Have a separate package for x86-64-v2/arm64 (SIMD) and all other archs (SISD) and have a note in the description of the SISD package that performance of the n64 core may be affected. I'm suggesting both options because, while I can assume that an i386 system won't run n64 games full speed, modern archs like riscv64 don't get n64 with SIMD and I simply don't know what the performance would be like. As for the names, instead of ares-legacy and ares-full, which I came up with having only amd64 in mind, I propose ares-baseline and ares-performance if we go with option 1, or ares-no-n64-simd and ares-n64-simd if we go with option 2. I have tried to implement a solution that provides a smooth upgrade path for anyone using ares. Ideally, most users on amd64 would upgrade to ares-performance/ares-n64-simd, and users with only baseline v1 support would get the "x86-64-v2-support is uninstallable" message from, say, aptitude but aptitude would suggest installing ares-baseline/ares-no-n64-simd as a solution. Meanwhile arm64 users would just upgrade to ares-performance (arm64's baseline is high enough to always get n64 SIMD) and all other archs would get ares-baseline. I have gone as far in implementing the above as my inexperience will allow. I have pushed what I've got so far to a new wip-split-packages branch for your perusal. Any advice on how to implement the above in d/control, or if the current d/rules is the best way to handle the double build, would be appreciated. Regards, David James