Author Topic: Run IBM OS/2 on Android using Limbo PC Emulator  (Read 40855 times)

Dr.waka

  • Guest
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #15 on: May 06, 2021, 10:17:40 pm »
I have some experience in building Qemu from qemu.org on Linux for x86 and ARM-Linux as well as for Windows via Msys2. You can also build qemu in termux on android.

It does take a fair amount of space and requirements however the executables and program with documentation is typically less than 300-500MB.

Most of the older source versions are still available via qemu.org and its is sufficient to build with older source if needed. Ie if you dont want to build ninja first.

The current version is 5.x and most Linux distros still only include 2.4.x. So there is no reason to stick to a specific version if its causing build requirement headaches.

Qemu typically needs a kernel level hypervisor or accelerator to make full use of the hosts CPU capabilities.

IE Qemu KVM for X86 Linux and Qemu-WHPX for using windows hypervisor. Qemu can use the arm kvm modules in linux for arm guests.

I highly recommend building to a temp/ram drive, as that will save you an hour of time at least. I am just a fan of qemu and just recently bought ArcaOS for myself.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5027
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #16 on: May 06, 2021, 10:25:15 pm »
I am just a fan of qemu and just recently bought ArcaOS for myself.

Welcome to the OS2World forum !! Welcome to the OS/2 Community !!!
I get very happy to get new people around  ;D

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Ibrahim Hakeem

  • Full Member
  • ***
  • Posts: 128
  • Karma: +5/-0
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #17 on: May 07, 2021, 03:42:39 am »
I have some experience in building Qemu from qemu.org on Linux for x86 and ARM-Linux as well as for Windows via Msys2. You can also build qemu in termux on android.

It does take a fair amount of space and requirements however the executables and program with documentation is typically less than 300-500MB.

Most of the older source versions are still available via qemu.org and its is sufficient to build with older source if needed. Ie if you dont want to build ninja first.

The current version is 5.x and most Linux distros still only include 2.4.x. So there is no reason to stick to a specific version if its causing build requirement headaches.

Qemu typically needs a kernel level hypervisor or accelerator to make full use of the hosts CPU capabilities.


Thank you kindly for your input Nicolas. I did a bit of Googling and this adds up. it would appear the Qemu project switched over to Ninja as recently as version 5.2 at Dec 2020. If I'm not mistaken, any earlier versions should be compileable for OS/2 with Cmake/Sphinx. Not to mention - if most Linux distros are still running version 2.4.x, there is probably good reason for it. It would probably be easier to compile an earlier version too for what it's worth.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #18 on: May 07, 2021, 04:04:40 am »
I guess I should start by looking at ver 2.4.x (latest). I don't have the skills to write a kernel driver though, it would end being a port similar to what we have, hopefully without the SMP issues that Ivan reported.
The git repository is weird, with a whole bunch of submodules and I have no experience dealing with submodules so it seems that I can't simply check out the right tag. Git does make development easier, create a branch and commit changes.

Ibrahim Hakeem

  • Full Member
  • ***
  • Posts: 128
  • Karma: +5/-0
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #19 on: May 07, 2021, 04:21:37 am »
I guess I should start by looking at ver 2.4.x (latest). I don't have the skills to write a kernel driver though, it would end being a port similar to what we have, hopefully without the SMP issues that Ivan reported.
The git repository is weird, with a whole bunch of submodules and I have no experience dealing with submodules so it seems that I can't simply check out the right tag. Git does make development easier, create a branch and commit changes.

Forgive my ignorance, I'm not too familiar with this end of stuff. Without a kernel driver will things like audio, networking, graphical emulation (specifically DX-style 3d rendering), etc be a possibility? Effectively - what would the limitations/expectations be?
« Last Edit: May 07, 2021, 04:42:23 am by Ibrahim Hakeem »

Dr.waka

  • Guest
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #20 on: May 07, 2021, 04:41:27 am »
Qemu version 5.0.1 does not necessarily require ninja, However later versions do. You should be able to manually compile it or bootstrap Ninja if needed for something.

Most Linux distros add patches/backport to maintain features and security and avoid issues with VM's failing due to migration changes. You may want to try 4.20-5.01 if you want to build and avoid ninja.

The kernel driver mainly adds CPU pass through so that its using the hosts CPU capabilities. With HyperV/KVM pass through it can run most Linux Os's and playback youtube video decently if using OpenGL.

It can do some light gaming via OpenGL and Virgl, otherwise you would need to pass through hardware to a VM.  Then its 95+% of Baremetal performance..

I have never had to touch the source code, I just use GCC SDL or GTK then configure and make.. It has its own dependencies. The documentation has linux and windows listed as supported hosts.

Im actually trying to install it in a VM in Linux now because my spare desktop was getting an SMP error and needed TPM cleared on each boot.






Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #21 on: May 07, 2021, 06:29:48 am »
Forgive my ignorance, I'm not too familiar with this end of stuff. Without a kernel driver will things like audio, networking, graphical emulation (specifically DX-style 3d rendering), etc be a possibility? Effectively - what would the limitations/expectations be?

Basically it would have the same usability as the previous port, with hopefully the addition of working audio.
Networking would require a TAP driver I believe, which we don't have. Graphical emulation is always going to be limited due to our limited graphics drivers. Speed will be limited without a kernel driver and even with a kernel driver, the OS/2 kernel is missing stuff to take advantage of VT.
There's always the Virtual Box port for some of this stuff. It has some of the same limitations due to lack of Operating System support. Development on the OS/2 kernel basically stopped at the beginning of the century and the last things added were things like fixes for fast CPU's, along with SSEx support and the BEGINLIBPATH/LIBPATHSTRICT stuff for Mozilla development, so different DLLs with the same name could be used.
It's a 1990's operating system dragged into the 21st century.

Ibrahim Hakeem

  • Full Member
  • ***
  • Posts: 128
  • Karma: +5/-0
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #22 on: May 07, 2021, 07:34:20 am »
Honestly, having audio would be a massive win in of itself compared to the options we've currently got for any post Win3x emulation. I have a feeling that Qemu might also potentially be a bit faster compared to vBox.
« Last Edit: May 07, 2021, 10:24:38 am by Ibrahim Hakeem »

Dr.waka

  • Guest
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #23 on: May 07, 2021, 03:11:44 pm »
From Linux Mint 20 using Qemu 5.1.94 with KVM I can install and Run my copy of ArcaOS 5.06.

Audio output, video playback, and internet works.

Essentially I can load up a VM give it 8GB of RAM and 4 dedicated cpu cores and emulate a VESA adapter that uses my hosts GPU for running the video from the OS. I can add more CPUs and RAM as desired.

This works with my monitors resolution seems snappy for input and restarts cleanly. Packages updates without any issues.

I made a 2.5GB ram drive with Tempfs and installed the OS to that.  This is an example config I used.

 ./qemu-system-x86_64 -L . -M q35 -vga virtio --accel kvm -m 8096 -cpu host -smp 4,sockets=1,cores=4,threads=1   -cdrom 'dev/sr0'  -boot menu=on  -device piix4-ide -drive file=/dev/ram0,id=disk1,format=raw,if=none -device ide-hd,drive=disk1  -device e1000,netdev=net0 -netdev user,id=net0   -audiodev pa,id=ad0,out.mixing-engine=on,out.buffer-length=512,timer-period=1000 -device AC97,addr=05,audiodev=ad0

I only have 2 days experience with ArcaOS... Please keep that in mind. There is undoubtedly room for improvement in that config.
« Last Edit: May 07, 2021, 11:11:00 pm by Nicolas Wells »

Tom

  • Full Member
  • ***
  • Posts: 212
  • Karma: +6/-0
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #24 on: May 07, 2021, 06:39:53 pm »
Not really, the build requirements don't currently exist on our platform, namely Ninja, which works sorta like make.
It's also 1.4 GB's of source.

While working on qtwebengine, dmik seems to have ported Ninja to OS/2:

https://github.com/bitwiseworks/qtwebengine-os2/issues/2

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #25 on: May 08, 2021, 02:10:47 am »
Not really, the build requirements don't currently exist on our platform, namely Ninja, which works sorta like make.
It's also 1.4 GB's of source.

While working on qtwebengine, dmik seems to have ported Ninja to OS/2:

https://github.com/bitwiseworks/qtwebengine-os2/issues/2

That's what I thought, but I couldn't find it and attempting to build QT5, configure didn't mind too much the lack of Ninja. It does look like it should be in the tree judging by the commit but I can't find it.

Tom

  • Full Member
  • ***
  • Posts: 212
  • Karma: +6/-0
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #26 on: May 08, 2021, 11:07:19 am »
Not really, the build requirements don't currently exist on our platform, namely Ninja, which works sorta like make.
It's also 1.4 GB's of source.

While working on qtwebengine, dmik seems to have ported Ninja to OS/2:

https://github.com/bitwiseworks/qtwebengine-os2/issues/2

That's what I thought, but I couldn't find it and attempting to build QT5, configure didn't mind too much the lack of Ninja. It does look like it should be in the tree judging by the commit but I can't find it.

It seems to be in the tree for qtwebengine-chromium. Is this what you are looking for?

https://github.com/bitwiseworks/qtwebengine-chromium-os2/tree/master/ninja

Dave Yeo

  • Hero Member
  • *****
  • Posts: 5098
  • Karma: +117/-1
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #27 on: May 08, 2021, 06:46:30 pm »
Yes, I found it.
I've been looking at the 5.1.0 code base, it is still huge and it would obviously take more time then I currently have available. I'll play with it a bit, get configure running and such but I doubt that I'll put that much effort into it. It was as much curiosity about building it as I don't have that much interest in it, especially considering the limits such as memory on our platform .

Ibrahim Hakeem

  • Full Member
  • ***
  • Posts: 128
  • Karma: +5/-0
    • View Profile
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #28 on: May 09, 2021, 11:34:14 am »
If anybody may be interested, I am willing to start a bounty for a well-rounded release of QEMU under the following conditions:
>Stable enough for everyday use
>Smooth Windows 95/98 emulation
>Audio, preferably SB16 compatible emulation
>Semi-decent video support (I.E, can run something like Flight Simulator 98 at low-mid settings with at least 30 to 40fps)
>A reliable GUI for configuring and launching VMs

Effectively, something that's going to be solid for low-mid range Win9x gaming.

I have a hunch this will most likely be 2.4.x or earlier. Once again like others have said, there's no need to build a newer version that's going to have more compilation related headaches - especially when modern Linux distros are still going off 2.4.x code without any complaint. I understand this will require more effort than a simple compile n' go situation especially with the desired specifications listed, but I believe there to be very viable use-case for a new and reasonably stable release of Qemu for our platform

The goal wouldn't be to replace Virtualbox, but to get up to speed for one ArcaOS's aims of being a good platform for DOS and early Windows emulation, especially in lieu of ArcaOS 5.1 hopefully being on the horizon. It would be really cool to have more usable and up-to-date software for 90's era x86 emulation. Plus I'm sure many of us still wish that this wasn't a hoax  :P
« Last Edit: May 09, 2021, 05:56:27 pm by Ibrahim Hakeem »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5027
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Run IBM OS/2 on Android using Limbo PC Emulator
« Reply #29 on: May 09, 2021, 06:11:33 pm »
Hi Ibrahim.
If anybody may be interested, I am willing to start a bounty for a well-rounded release of QEMU...

I support your bounty idea. In my experience I think it will be better to find the developer first, know how much he is asking for the service and then push to get the funds.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.