TASEmulators/BizHawk

[🐧] Core build/rebuild checklist for Linux port

Opened this issue · 9 comments

update 2022-01: we have new cores also I haven't actually done any work on this oops
update 2021-02: I need to add something like the following to each unmanaged core's build scripts so they respect $BIZHAWK_HOME:

if [ -z "$BIZHAWK_HOME" ]; then
	export BIZHAWK_HOME="$PWD/../../BizHawk/submodule/output"
	# print a warning? haven't thought about it enough
fi

Looking to get these to "built recently" status or higher by 2.5.2:

Cygne (libbizswan.dll.so)

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

Gambatte (libgambatte.dll.so)

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

Handy (libbizlynx.dll.so)

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

mGBA (libmgba.dll.so)

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

Octoshock

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

QuickNes (libquicknes.dll.so)

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

And now for the moonshots:

Mupen64Plus

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

Waterbox cores

  • built
  • built recently
  • build scripts respect $BIZHAWK_HOME
  • automated
  • Nix derivations are pure and reproducible

see also #990 re: Windows binaries

Why is Octoshock a moonshot? I had that building fine for macOS in 1.x
Did it get significantly more complicated than 1.x, or is it just harder on Linux for some reason?

Every waterbox core was built recently, so that can be scratched off (except for the automated part).

Our Octoshock build setup requires VS. In fairness, Gambatte is the same and I shouldn't separate them.

I finished setting up CI for the four unmanaged libraries: GitLab repo. The binaries I commited in c0b755a were the build artifacts from this Pipeline.

I looked at the repo and found you attempted to build melonds? If it helps, here are the commits where suuper attempted to do it himself melonDS-emu/melonDS@0747e45

I tested gambatte, and I don't know if it works because under config-cores-gb i have gambatte enabled but when a rom is loaded gbhawk shows up in the status indicator instead. I can't tell if its gambatte or gbhawk but I do notice a low framerate so it must not be loading gambatte. I was testing Pokémon red

That's off-topic, but Gambatte will not load on Linux as of 2.5.2. The core name in the status bar is correct.

re: melonDS, there's nothing I can do until Suuper rebases.

Any progress on octoshock?

nope