Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
So I have a number of suggestions/issues/bugs and I wanted to give my feedback for improving this emulator project. But since there's no issues section it seems I have to use the pull-request system as a work around, so sorry about that. I'm not that experienced with Android development so I'm not sure how much of this I could help with, but I mean, if I find some free time I guess I could try to help with some simpler things. Anyway, here they are:
Behavior
It's pretty solid overall, but there's a couple of odd quirks with this app's behavior, namely that the app freezes for a few seconds, then force-closes after stopping a VM, and worse yet, the VM list resets to
None
by default every single time you open the app. I think it should default to the last used, and secondly, I think theNone
option should be removed from the list after you create your first VM, leaving onlyNew
and your current list. Might seem minor, but hey, it's the little things that make an app feel polished.A rename option would also be nice, unless I'm missing it somewhere in the menus.
RAM
The RAM selector doesn't go very high, max 2GB. This seems a little silly in 2021. First of all I think it should be in 512 or 256MB increments, like who cares about the difference between just a few megabytes? Secondly, I realize that VMs come with some overhead so you can't use all the RAM, plus Android would probably freak out if you used way too much. But I feel like selecting up to 50% of your system RAM should be allowed. Normally, my RAM is 70% free unless I'm multitasking heavily. 50% of my RAM is 6GB, since my phone has 12GB of RAM (S21 Ultra 5G 512GB), granted 2GB is reserved for OS.
Hard drives larger than 20GB might also be a nice feature to have, given that I do have a just a bit of space to spare on my 512GB device.
Desktop Mode Support
This is the big one. Desktop mode might coming soon to Android across the board in Android 12, and users of flagships have been enjoying the glory of Desktop mode for years with the big manufacturers having their own take on it, Dex in Samsung's case. It really is an awesome experience being able to transform your phone into what's practically a full-on PC. But having the full capabilities of Windows or Linux in that environment would be amazing!
Only problem is, this app doesn't work right with it. It seems to support dynamic app resizing, which is great, but it doesn't properly work with a mouse. When you move the cursor over the window... nothing happens. You actually have to left-click and hold and drag the mouse around, which is insufferable! This happens regardless of what mouse mode you set for the VM. And if you select mouse mode in the menu bar, the same thing applies. You have to press and hold to move the mouse, and double-click for a single click!
In fact mouse mode is even more broken, because for some reason, there's this weird offset between where the real mouse cursor is and where it is in the VM. And another thing, right-click doesn't seem to work. Support for all the mouse buttons (3, 5, etc) and scroll wheel would be awesome.
Last but not least, fullscreen doesn't work in desktop mode either for some reason. When maximizing the window, it doesn't full-screen, and I can't seem to find a full-screen option in the menus. Oh yeah, and did I mention that when entering/exiting Dex mode the ENTIRE APP CRASHES? It means you have to completely restart the VM, and even pausing beforehand doesn't work, otherwise the VM just crashes with some sort of screen error on un-pausing. Super duper annoying.
Touch/Pen Support
Along with mouse support, I think this is another useful improvement to add. Multi-touch support seems broken. Despite there being an option for
usb-tablet
under mouse settings, for me that just doesn't work. Furthermore, pen pressure (ex. S-Pen on Galaxy Note or Tab devices, and now finally the main Galaxy line starting with the S21) doesn't seem to register either, despite it literally being called tablet mode, which is a shame. I mean, imagine having full Desktop photoshop on an Android phone, plus pen support... That would be something else!Extra VM Features
I'm not sure if QEMU has advanced features built-in like VMWare does, since this is my first experience with it, but if it has something like USB passthrough, OMG PLEASE SUPPORT IT! That would be amazing, being able to connect USB devices like a USB Serial port (ex. Arduino) or even better... A USB thumb drive directly into the VM would be very useful.
Another handy feature, especially these days, would be mic and camera support. I think this would be super easy to add by simply using one of many available open source camera/mic-over-network apps to forward the data straight into the guest OS over a local network port, though this might be slightly janky, not sure if there's a better way to do it with QEMU somehow.