Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android Desktop Mode Support #134

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

Pecacheu
Copy link

@Pecacheu Pecacheu commented Jun 26, 2021

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:

  1. 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 the None option should be removed from the list after you create your first VM, leaving only New 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.

  2. 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.

  3. 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.

  4. 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!

  5. 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.

@anumerico
Copy link

Hi there! I'm interested in the USB passhtrough feature: "being able to connect USB devices like a USB Serial port (Arduino..)".
Is that currently posible with something like the -usb-host or -usb-serial flags?
Where is the serial port in the android host?: ttyACM, ttyUSB, ttysmd ?
Android host, windows guest in my case.
Can someone help iron the details of that please?

@PhilienTaylor
Copy link

Hi there,
I'm also interested in not just 3, but 5 as well.

I think this app is revolutionary to the future of the world and I pray you developers are healthy, safe, and thriving soon enough to return. Limbo is going to be a cornerstone of my work with virtual machines on mobile, and I can see many users wanting to be in charge of their Android VMs. 💖

I plan on seeing NFC passthrough, users running in a Desktop mode, and users having USB devices interacting with their Android machines which would be running Limbo (in desktop mode and mobile display modes)

Thank you all for the gift of Limbo. I treasure I yet have this large library and base to use and develop with, even in your absence. Assalamu alaikum.

Copy link

@Axelmj2006 Axelmj2006 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PhilienTaylor
Copy link

HiddenApi-master.zip

Hey, Um, who are you and what is this? :) your pull request change didn't seem to include anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants