TASEmulators / TASEmulators/BizHawk

Have we reached the point of needing a bizhawk-minimal package?

Open
#4,320 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Meta
Dominant language
C#
Stars
2.8k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

The download size for BizHawk-win-x64 has doubled since 2.8, now surpassing 80 MiB compressed (see also #3505).
I think that, starting with this next release (2.10.1), we should offer an alternate, stripped-down download option. Since #3937 has stalled, this would have to be in addition to the full build. But compared to the frontend code changes that I suspect will be required, preparing 3 or 4 builds instead of 2 is a trivial matter.

Open questions:

  • Which cores to omit?
    • The obvious answer is "the largest ones", which per unzip -v archived.zip | sort -nk3 would mean MAME, DOSBox-X, Encore, and UAE, and that's the download size halved.
    • I'd add that we could also omit the 3 cores planned for deletion, any cores for fantasy consoles (TIC-80, Uzem), subframe cores, and cores which only exist to emulate a few titles (DSDA-Doom, Emu83, PicoDrive, Virtual Boyee...). I haven't run the numbers but that's probably another 10 MiB at least.
  • Name?
    • I have some notes from earlier, but tl;dr I'd be fine with the conventional -min suffix.
  • Linux? Nix?
    • I don't see why Linux users shouldn't be given the exact same choice. Most of them will be manually downloading still, not that it would be difficult to copy-paste a -min package.
    • The Nix expression can be left as-is. When I get around to finishing unmanaged cores from-source, the override for that can also be used to remove core binaries. Frontend jank is acceptable in that case.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation files or tests are named. Start by reproducing the archive size comparison with unzip -v archived.zip | sort -nk3, then review #3505, #3937, and the linked naming notes. Done means the core list, package name, supported platforms, and build/frontend changes are settled and an additional stripped-down package is produced alongside the full build.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.