lgblgblgb / fake86

Fake86+: fork of Fake86 (a 8086 PC emulator), being reworked, extended, seriously work-in-progress ...
https://github.com/lgblgblgb/fake86/wiki
GNU General Public License v2.0
29 stars 4 forks source link

Building fails on armv7 #2

Open Elentirith opened 2 years ago

Elentirith commented 2 years ago

Makefile compilation fails with errors related to kvm.h. Including various paths from the linux-headers--common didn't help.

To reproduce: Git clone project, run make.

Device: Raspberry Pi running Raspios (32-bit) with kernel 5.10.x

lgblgblgb commented 2 years ago

Yes, that is not surprising since it's x86 only, this repository is my "playground" only, by forking the official Fake86. Not so much meant as general usage. But thanks for the info, honestly I've never tried on anything else than x86 based Linux too much because of the mentioned reason. Using KVM (Kernel-based Virtual Machine) is (/was) an experiment of mine not to use CPU emulation but a lightweight virtual machine, however KVM does not present on Linux kernels using ARM processors, what Raspberry has for example.

By the way, you may want to edit src/config.h and removing or commenting out the line #define USE_KVM. Honestly I haven't got so much time since about two years on project, though for sure planned/plan to make these kind of things automatic without user interaction to be able to compile the project cleanly without major headache.

Elentirith commented 2 years ago

I see, that's fair enough. I was surprised to not find any 8088 emulation available in the debian repositories and when I did a general search this project came up. I think there's another one called i8086 but it has all GTK2 bindings which no longer work. Qemu also has very difficult to grasp documentation. I couldn't figure out which was the oldest intel model it emulated, like 286 for example.

lgblgblgb commented 2 years ago

Well, fake86 was a kind of "experimental" and "feels-to-be-half-finished" project of the author. So I wouldn't think it's a good general purpose "PC emulator". I am not sure if PCem is better, which is much more mature of course with tons of emulated CPUs and hardware components. But for general PC emulation for running DOS based stuff, maybe DOSBOX is ideal already. To be honest, I haven't tried anything "PC emulating" on the raspberry pi yet. My Fake86 fork (this repository) is just an experiment to see how the original one worked (and what's better way to study it, than trying to modify it!) and maybe help to write my own PC emulator later, but it's neither a serious competitor for being a "good old-school PC emulator", I have to admit ...