Difference between revisions of "HOWTO-Debug-Endian-Issues"

Jump to navigation Jump to search
(→‎Linux big-endian PowerPC emulation with QEMU: highlight the CPU clock rate prerequisite, because it really makes a big difference)
Line 20: Line 20:
== Linux big-endian PowerPC emulation with QEMU ==
== Linux big-endian PowerPC emulation with QEMU ==


The current reference VM is a pre-configured Debian 8.11 PowerPC system. It has been modified to feature an updated C++11 toolchain (GCC 5.5.0).
The current reference VM is a pre-configured Debian 8.11 PowerPC system<ref>Modern versions of Debian are actually still built for big-endian PowerPC, but it's not a ''release'' architecture anymore, which means that it's only available through Debian ''unstable''. Debian unstable is harder to maintain than a stable release, and bugs/reliability issues often appear, especially  on non-mainstream architectures. This is why we're sticking with a Debian 8 VM for now.</ref>. It has been modified to feature an updated C++11 toolchain (GCC 5.5.0).


The VM image is quite large, so ask the rest of the team for its URL.
The VM image is quite large, so ask the rest of the team for its URL.
Line 27: Line 27:


* Security support updates have been discontinued for Debian 8 in late 2018. Older cryptographic ciphers and certificates (such as in TLS or SSH) in the base system may also cause various issues. For this reason, this VM should only be run ''on a local, trusted environment''.
* Security support updates have been discontinued for Debian 8 in late 2018. Older cryptographic ciphers and certificates (such as in TLS or SSH) in the base system may also cause various issues. For this reason, this VM should only be run ''on a local, trusted environment''.
* Modern versions of Debian are actually still built for big-endian PowerPC, but it's not a ''release'' architecture anymore, which means that it's only available through Debian ''unstable''. Debian unstable is harder to maintain than a stable release, and bugs/reliability issues often appear, especially  on non-mainstream architectures. This is why we're sticking with a Debian 8 VM for now.
* '''3D games and audio content will be hard to debug''' on this environment, since QEMU only provides a limited, unaccelerated framebuffer, and no sound card support yet<ref>Actually, audio support has been added in [https://gist.github.com/akemin-dayo/0e9bdcd74b2ad7f0bcf56e0680256103 an experimental QEMU fork]. It may also be possible to force the VM to use an external USB DAC, thanks to [https://qemu-project.gitlab.io/qemu/system/devices/usb.html QEMU USB pass-through], but this requires more work and is untested.</ref>. Make sure that the ScummVM component you want to debug/test won't be impacted by this.
* '''3D games and audio content will be hard to debug''' on this environment, since QEMU only provides a limited, unaccelerated framebuffer, and no sound card support yet. Make sure that the ScummVM component you want to debug/test won't be impacted by this.
* '''The bigger your host CPU clock rate, the better''': a 4 GHz CPU will bring noticeable improvement over a 3 GHz CPU, which is itself much better than a 2 GHz CPU, and so on. Note that QEMU emulation is mostly single-threaded, so having many CPU cores isn't really useful for this.
* '''The bigger your host CPU clock rate, the better''': a 4 GHz CPU will bring noticeable improvement over a 3 GHz CPU, which is itself much better than a 2 GHz CPU, and so on. Note that QEMU emulation is mostly single-threaded, so having many CPU cores isn't really useful for this.


149

edits

Navigation menu