Slightly off-topic, but the author also made gl4es, a library that basically allows all kinds of OpenGL apps to run on modern devices. Shameless plug: gl4es is what allowed me to port Neverball to the browser.
Neverball was working in the original glshim project before ptitseb forked it to gl4es. (Not to discount the significant work he's put in since, including the ES2 backend)
My bad, I completely forgot they worked off of a fork.
Did you ever try Neverball with glshim, though? Why? I'm the current maintainer of Neverball, always very interested in Neverball-related stuff.
When I was working on the Emscripten port, I tried a bunch of GL-to-OpenGL ES libraries. There were a few. I might have tried glshim, but not sure anymore, that was a couple of years ago. gl4es was the only one that worked without any obvious visual glitches.
I don't think there's a GL2ES and GL3ES? Are you thinking about GLES 2 and GLES 3? Those are graphics APIs standardized by Khronos, being versions of OpenGL for Embedded Systems (OpenGL ES).
Talking about emulation/VMs, I have recently played with multipass (from canonical) to run ubuntu VMs on my Apple M1. It works like a charm! In the past I have tried VMware and Vagrant, and while they somehow work, I’m always running into issues. More recently I tried qemu, and I spent many days trying to figure out the correct set of command line parameters to run linux.
The bad thing about multipass is that it only runs Ubuntu VMs. The good thing (besides working out of the box) is that mutipass uses qemu behind the curtains, and as part of the logs multipass spits out, one can see the complete set of command line parameters that was used to spin up the VM (so that can be used as a blueprint to run other VMs besides Ubuntu)
> tried qemu, and spent many days trying to figure out the correct set of parameters
It's really not that hard, once you get used to it. Or, if you rather not spend that precious time, there is a GUI tool that would configure those parameters for you:
Bonus: once started with virt-manager, run "ps ax | grep qemu", et voila - you have your qemu parameters, ready to copy-paste, should you wish to run exact same VM later from a script, or something...
One issue with those "shortcuts" is that you'll end up with crazy arg strings consisting of 20+ cryptic parameters.
qemu actually has sane defaults, so it's not that hard to launch a VM, if you don't need all fancy features (chances you don't).
I'm not sure if it's really worth it to spend time reading qemu manuals. I did it and I'm using shell scripts to start VMs which is easier for me than learning another qemu wrapper. And I know that I'm using bare minimum which I like.
Box86 / Box64 is however not emulation or VM. It translates X86 and X86_64 cpu code to ARM code. If anything it's very close to what Rosetta2 does on Mac.
It’s also how I sadly learned that M1/M2 chips don’t support nested virtualization. So no WSL on Windows on Arm under Mac OS Ventura. At least I could never get it to work.
We migrated from Vagrant/VirtualBox to Mutlipass and Mutagen.io for file sync. The only thing I miss is the private networking options of VirtualBox. So we pull the ip from Multipass and put it in etc/hosts for name registration.
It will work on a RPi4 but the limitations is going to be the quality of the Vulkan drivers, and the memory that can be allocated for graphics.
Also, a Rpi4 is going to be massively underpowered to run most games in any way.
A much better example is the Mini PC with a D2000 Phytium 8 cores ARM process from China, equipped with an AMD RX550 GPU - it can actually run Doom 2016 with Box86 and Box64: https://youtu.be/5JwflzpWDzk?t=614
Vulkan drivers on the RPi are kinda terrible. Only supports Vulkan 1.0. For better compatibility, a Rockchip SoC with Mali GPU and Panfrost drivers support desktop OpenGL 3.1, so you can use Wine's WineD3D on that.
https://neverball.github.io
Neverball was working in the original glshim project before ptitseb forked it to gl4es. (Not to discount the significant work he's put in since, including the ES2 backend)
Did you ever try Neverball with glshim, though? Why? I'm the current maintainer of Neverball, always very interested in Neverball-related stuff.
When I was working on the Emscripten port, I tried a bunch of GL-to-OpenGL ES libraries. There were a few. I might have tried glshim, but not sure anymore, that was a couple of years ago. gl4es was the only one that worked without any obvious visual glitches.
It's really not that hard, once you get used to it. Or, if you rather not spend that precious time, there is a GUI tool that would configure those parameters for you:
https://virt-manager.org/
Bonus: once started with virt-manager, run "ps ax | grep qemu", et voila - you have your qemu parameters, ready to copy-paste, should you wish to run exact same VM later from a script, or something...
qemu actually has sane defaults, so it's not that hard to launch a VM, if you don't need all fancy features (chances you don't).
I'm not sure if it's really worth it to spend time reading qemu manuals. I did it and I'm using shell scripts to start VMs which is easier for me than learning another qemu wrapper. And I know that I'm using bare minimum which I like.
Box86 / Box64 is however not emulation or VM. It translates X86 and X86_64 cpu code to ARM code. If anything it's very close to what Rosetta2 does on Mac.
Runs linux VMs and can run x64 via quemu or even using rosetta2 & apple virtualization framework
https://android.googlesource.com/platform/external/qemu/+/2d...
It saddens me that so many of these open source projects barely get any monetary love.
https://mac.getutm.app/
It’s also how I sadly learned that M1/M2 chips don’t support nested virtualization. So no WSL on Windows on Arm under Mac OS Ventura. At least I could never get it to work.
really cool project. runs unity games too. author is a very talented guy
Almost an understatement, he's done amazing projects throughout the years:
https://github.com/ptitSeb?tab=repositories
Also, a Rpi4 is going to be massively underpowered to run most games in any way.
A much better example is the Mini PC with a D2000 Phytium 8 cores ARM process from China, equipped with an AMD RX550 GPU - it can actually run Doom 2016 with Box86 and Box64: https://youtu.be/5JwflzpWDzk?t=614
Deleted Comment
https://mesamatrix.net/
Dead Comment