Android-x86 on Qubes

2,298 views
Skip to first unread message

3n7r...@gmail.com

unread,
Nov 7, 2016, 3:57:16 PM11/7/16
to qubes-users
Using stock android-x86_64-6.0-r1.iso from android-x86.org (cm not tested)

Issues:
1. no boot
2. mouse support
3. wake from sleep
4. private storage
5. secure clipboard

1. If HVM hangs priors to splash screen, try adding `vga=ask` to boot kernel parameters. (1024x768x16 works for me)

2. Mouse cursor needs to be dragged around inside vm.
Not aware of any workaround.
Previously reported: https://groups.google.com/d/msg/qubes-users/2GAfjsltkmk/QY9fVetKKAAJ

3. Can't figure out how to wake hvm from sleep.
Untested workaround: Disable sleep completely by adding:
"setprop sleep.state disabled" to /data/local.prop
or "sleep.state=disabled" to /system/build.prop
(https://groups.google.com/d/msg/android-x86/8iSh5pVqv4U/Fz8Nh11UDwAJ)

4. Is moving /home/ as simple as copying and editing fstab or are there qubes-specific steps that need to be taken? If yes, would appreciate it if someone could point me to qubes package that handles this.

5. No clue. I hope someone is willing to work on this.

3n7r...@gmail.com

unread,
Nov 7, 2016, 4:02:30 PM11/7/16
to qubes-users

Forgot to mention that networking works out-of-the-box.

Also, it appears the mouse issue is solved here: https://groups.google.com/forum/#!searchin/android-x86/mouse$20issue|sort:date/android-x86/iFoKcvK2xNE/nYHoR6oSBgAJ

Will report back once I've had a chance to investigate.

Chris Laprise

unread,
Nov 7, 2016, 4:19:02 PM11/7/16
to 3n7r...@gmail.com, qubes-users
On 11/07/2016 04:02 PM, 3n7r...@gmail.com wrote:
> On Monday, November 7, 2016 at 8:57:16 PM UTC, 3n7r...@gmail.com wrote:
>> Using stock android-x86_64-6.0-r1.iso from android-x86.org (cm not tested)
>>
>> Issues:
>> 1. no boot
>> 2. mouse support
>> 3. wake from sleep
>> 4. private storage
>> 5. secure clipboard
>>
>> 1. If HVM hangs priors to splash screen, try adding `vga=ask` to boot kernel parameters. (1024x768x16 works for me)
>>
>> 2. Mouse cursor needs to be dragged around inside vm.
>> Not aware of any workaround.
>> Previously reported: https://groups.google.com/d/msg/qubes-users/2GAfjsltkmk/QY9fVetKKAAJ
>>
>> 3. Can't figure out how to wake hvm from sleep.
>> Untested workaround: Disable sleep completely by adding:
>> "setprop sleep.state disabled" to /data/local.prop
>> or "sleep.state=disabled" to /system/build.prop
>> (https://groups.google.com/d/msg/android-x86/8iSh5pVqv4U/Fz8Nh11UDwAJ)
>>
>> 4. Is moving /home/ as simple as copying and editing fstab or are there qubes-specific steps that need to be taken? If yes, would appreciate it if someone could point me to qubes package that handles this.

Cool.

You are doing this as a standalone HVM? Configuring /home can be as
simple as that, esp. if you have the additional drive configured for
that VM.

Chris

3n7r...@gmail.com

unread,
Nov 7, 2016, 5:54:23 PM11/7/16
to qubes-users, 3n7r...@gmail.com, tas...@openmailbox.org
On Monday, November 7, 2016 at 9:19:02 PM UTC, Chris Laprise wrote:

> On 11/07/2016 04:02 PM, 3n7r wrote:
> > On Monday, November 7, 2016 at 8:57:16 PM UTC, 3n7r...@gmail.com wrote:
> >> 4. Is moving /home/ as simple as copying and editing fstab or are there qubes-specific steps that need to be taken? If yes, would appreciate it if someone could point me to qubes package that handles this.
>
> You are doing this as a standalone HVM? Configuring /home can be as
> simple as that, esp. if you have the additional drive configured for
> that VM.
>
> Chris

Actually, I was hoping to set up an HVM Template VM. Does that change things?


On Monday, November 7, 2016 at 9:02:30 PM UTC, 3n7r...@gmail.com wrote:
> On Monday, November 7, 2016 at 8:57:16 PM UTC, 3n7r...@gmail.com wrote:
> > 2. Mouse cursor needs to be dragged around inside vm.
> > Not aware of any workaround.
> > Previously reported: https://groups.google.com/d/msg/qubes-users/2GAfjsltkmk/QY9fVetKKAAJ
>

> Also, it appears the mouse issue is solved here: https://groups.google.com/forum/#!searchin/android-x86/mouse$20issue|sort:date/android-x86/iFoKcvK2xNE/nYHoR6oSBgAJ
>
> Will report back once I've had a chance to investigate.

I posted the link without reading fully. It was a dead-end. Sorry to waste your time.

The solution is probably over my head. AFAICT, it's an issue with how QEMU is implemented in Xen. The input device in question is passed via `-usbdevice tablet` instead of being left to the default PS/2 emulation. There doesn't seem to be any easy way to disable that parameter from within Xen?

Changing *.conf files in /var/lib/qubes has no affect. Any changes are reverted on boot.

Andrew David Wong

unread,
Nov 8, 2016, 4:09:54 AM11/8/16
to 3n7r...@gmail.com, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Cross-linking open GitHub issue:

https://github.com/QubesOS/qubes-issues/issues/2233

- --
Andrew David Wong (Axon)
Community Manager, Qubes OS
https://www.qubes-os.org
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJYIZZUAAoJENtN07w5UDAwSdYP/i2G79s4oJvY8wIhD6O5hytU
11d9vGcPjowofIjdleE5KdnAgy0FB/ny68BGC3upc0nB7TIHobdOP+2h74qzXeEa
kDryIVIDmPiL4hQNGqGPILP64LsUNvvYNhME4LTKb6Nhyb4X3IAIWv2DiLp72CP9
tpj6Mok9ybbmyuXuOgE1sddTz6Tjcbak4oxRqOCtY+uBURZe7ZqnqWtSuKrUJVCZ
5oMFwcrPliVewHEDaxv7z3uMUWS/cwfICZ2CxWVpNAqF/6vUvMwWeEn1i27wXzvH
fFapTksovg9LhG32JYGELe87zbPmz4rfzL0KNbDDdH6dTVO9dCygk42YGbt23fNU
KsaHf3a/fvVzk/GkWxDpCo4LiOgQo3Ih+dp+3HwFPs5TwZOzKp24rJEKERAtz520
6fQ2PQ/zb/khlgz+IeymKJQ5MOU6t8IUwKP88YpCTbIaX0GFhgmEuXv+zpWHihgL
NBggiHOYVCn7W89M4GtM1Uv7nD1h4Qkb5VzgffZa8OtNctRa68hoGSGkqaymb2mo
52aH91/qvYd+vbszgp2dzNSjAaUv0X2plU45zBUOtT/A9VLl/FhR2NqfM+dhsRrd
20FWVx6Wsu0i/9dScOn/16LfZ9MA771mTfzpWXE5R2Gvhf91N8piFHtqx93JKkqP
QwZ2rnu39VLaLGteznre
=nZh+
-----END PGP SIGNATURE-----

Torsten Grote

unread,
Nov 8, 2016, 8:09:52 PM11/8/16
to qubes-users
On 11/07/2016 08:54 PM, 3n7r...@gmail.com wrote:
> AFAICT, it's an issue with how QEMU is implemented in Xen. The input
> device in question is passed via `-usbdevice tablet` instead of being
> left to the default PS/2 emulation. There doesn't seem to be any easy
> way to disable that parameter from within Xen?

I would also be very interested in that! Marek, do you know?

Kind Regards,
Torsten

Torsten Grote

unread,
Nov 10, 2016, 2:46:05 PM11/10/16
to 3n7r...@gmail.com, qubes-users
Did you also manage to install Android to disk for persistent storage?

I can install it, but can't boot it afterward. So I always need to boot
from the virtual CD drive and lose all data in the process.

Kind Regards,
Torsten

Drew White

unread,
Nov 10, 2016, 6:30:25 PM11/10/16
to qubes-users, 3n7r...@gmail.com, t...@grobox.de

Did you install the GRUB bootloader?

Marek Marczykowski-Górecki

unread,
Nov 11, 2016, 10:24:29 AM11/11/16
to Torsten Grote, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
It is possible to modify config in /var/lib/qubes/appvms/, but for that
you need to copy it first, then pass its new location to qvm-start
- --custom-config=...

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJYJeKnAAoJENuP0xzK19csvpUH/iXmt08lhwbJZMdGGW649TGc
cJXRE0m+yMqXBWsSL/vgW3vsMijmQiqqEa3IHBUPgAWIlz6KY0dgEG3RXf3XBRuz
t1hrFUwcMYOp/qiDPC630O6Ipcp25c4KI0xYCopkQZo+4j5J3QFXZ8aAAyxBcM2S
x3juYgY8JVMsTeRAm8shRm5m6jgD+yiLW33DrG7TyGesdoSHriuxwZs30pRg7L8S
ewPFK03McKXS4JEQzlj0kYUzDAQ65H++K3VA4ULn3zdsRmTqea+sd2Q37e+s2Enc
yCMwF7sNZb4LycdgP/Qhw7O3c4UD5yzY7OCyYOSOIcbRgLeeF8opSC6VDJcC1Jw=
=x4/C
-----END PGP SIGNATURE-----

entr0py

unread,
Nov 11, 2016, 3:01:33 PM11/11/16
to Marek Marczykowski-Górecki, Torsten Grote, qubes-users
Marek Marczykowski-Górecki:
> On Tue, Nov 08, 2016 at 11:09:37PM -0200, Torsten Grote wrote:
>> On 11/07/2016 08:54 PM, 3n7r...@gmail.com wrote:
>>> AFAICT, it's an issue with how QEMU is implemented in Xen. The input
>>> device in question is passed via `-usbdevice tablet` instead of being
>>> left to the default PS/2 emulation. There doesn't seem to be any easy
>>> way to disable that parameter from within Xen?
>
>> I would also be very interested in that! Marek, do you know?
>
> It is possible to modify config in /var/lib/qubes/appvms/, but for that
> you need to copy it first, then pass its new location to qvm-start
> --custom-config=...
>

Thanks! With that, some progress... Deleting `<input type='mouse' bus='xen'/>` from the config file results in usbtablet being replaced with ps/2 mouse device. Now, the pointer tracks mouse movements automatically instead of requiring manual dragging. However, the mouse acceleration doesn't match and the two pointers become de-synced.

The mouse problem is not a Xen/Qubes issue. Android-x86-4.4-r5 (KitKat) works perfectly on Qubes. Input handling has changed somehow in Lollipop/Marshamallow. I would be perfectly content to use KitKat but (of course), that version doesn't emulate OpenGL (under Qubes) which breaks many Android apps - even non-3D things like Gallery, Maps, Chrome...

@Torsten: Did you see my last comment on the issue tracker? Other than that, make sure partition is bootable and use a compatible vga mode.

Torsten Grote

unread,
Nov 11, 2016, 4:21:06 PM11/11/16
to qubes-users
On 11/11/2016 06:01 PM, entr0py wrote:
> Thanks! With that, some progress... Deleting `<input type='mouse'
> bus='xen'/>` from the config file results in usbtablet being replaced
> with ps/2 mouse device.

Awesome, thanks Marek!

Is there any way to make this permanent so we don't need to start the VM
with qvm-start each time?

> Now, the pointer tracks mouse movements
> automatically instead of requiring manual dragging. However, the
> mouse acceleration doesn't match and the two pointers become
> de-synced.

It was de-synced before already I think, but it would of course be nice
if that could be adjusted as well.

> @Torsten: Did you see my last comment on the issue tracker? Other
> than that, make sure partition is bootable and use a compatible vga
> mode.

Yes, I saw that. Thanks! Didn't had time yet to try again.

Kind Regards,
Torsten

Marek Marczykowski-Górecki

unread,
Nov 11, 2016, 6:57:21 PM11/11/16
to Torsten Grote, qubes-users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Fri, Nov 11, 2016 at 07:20:55PM -0200, Torsten Grote wrote:
> On 11/11/2016 06:01 PM, entr0py wrote:
> > Thanks! With that, some progress... Deleting `<input type='mouse'
> > bus='xen'/>` from the config file results in usbtablet being replaced
> > with ps/2 mouse device.
>
> Awesome, thanks Marek!
>
> Is there any way to make this permanent so we don't need to start the VM
> with qvm-start each time?

There is a hacky way to change "conf_file" entry in qubes.xml. It may
have unknown side effects...

> > Now, the pointer tracks mouse movements
> > automatically instead of requiring manual dragging. However, the
> > mouse acceleration doesn't match and the two pointers become
> > de-synced.
>
> It was de-synced before already I think, but it would of course be nice
> if that could be adjusted as well.

AFAIR this was the main reason to use tablet device instead of mouse
there.

- --
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJYJlrbAAoJENuP0xzK19csFpwH/in3kCJGW7SEYyUH/fxgeTnM
MwlgcTO66UxBO4rd+idSIyMLa6KiYsQLi7Z9yO90kEyNKCzD90pnTuTDMLXsH2A5
Ve2LliuXZED7I7AewOvtMC7EEXIVhFTJNK7YYeiO1ji4eTMxOcJ3s6yOMfMtI+q/
z1zBlgiwaMmqU7xX3veZMuAqPeCZep8v6aa9j/3Z/VZjQNPuJbW5Hqu0PIhBX3M5
Io3VPj+tp4+nK1jYUunRpZPlrn3T/XYqaaLg7H7WjcZIUQ8WDNTnW+idSQa46ovJ
cWjhL5wHueG5oVVEvOmm3TcvrbT1szXjO1It/js/LhJ+LnfWAa1KBRGkcumLSPI=
=pCqM
-----END PGP SIGNATURE-----

Torsten Grote

unread,
Nov 19, 2016, 2:37:06 PM11/19/16
to entr0py, qubes-users
On 11/11/2016 06:01 PM, entr0py wrote:
> Thanks! With that, some progress... Deleting `<input type='mouse'
> bus='xen'/>` from the config file results in usbtablet being
> replaced with ps/2 mouse device.

I finally got around to try that and it works indeed!

> Now, the pointer tracks mouse movements automatically instead of
> requiring manual dragging. However, the mouse acceleration doesn't
> match and the two pointers become de-synced.

Yes that has other usability issues than the drag pointer. I wonder if
it is possible to change the mouse speed somehow. Maybe just temporarily
in dom0?

> The mouse problem is not a Xen/Qubes issue. Android-x86-4.4-r5
> (KitKat) works perfectly on Qubes. Input handling has changed somehow
> in Lollipop/Marshamallow. I would be perfectly content to use KitKat
> but (of course), that version doesn't emulate OpenGL (under Qubes)
> which breaks many Android apps

For me the problem with Android 4.4 is that it doesn't support ADB over
IP, so there seems to be no way to connect with the debug bridge to it.

> @Torsten: Did you see my last comment on the issue tracker? Other
> than that, make sure partition is bootable and use a compatible vga
> mode.

Yes, I saw that, but I still can't boot the installed version. If I boot
into the system right after installation it works, but if I shut it down
and try to boot later, it just maxes out the load on one CPU and hangs
at "Booting from Hard Disk..."

The partition is bootable and I installed GRUB and tried EFI GRUB 2 as
well. It doesn't even seem to reach GRUB, so maybe an incompatible vga
mode is not the problem. Do you use GPT? Which filesystem?

When trying around I could even once get GRUB2 to start only to then
fail with an error 17.

I have the same issue with Android 4 and 6. Do you remove the "CD" from
the VM config after the installation or do you always boot from the ISO?

Kind Regards,
Torsten

entr0py

unread,
Nov 19, 2016, 4:18:01 PM11/19/16
to Torsten Grote, qubes-users
Torsten Grote:
GPT: no
GRUB: yes
EFI GRUB2: no
Filesystem: whatever is the latest, EXT3/4
System: read/write (most likely irrelevant)

I always `Reboot` after install. When the GRUB loader appears, I kill the VM and clone if necessary at that point. I vaguely recall having had problems by Launching right after install.

It appears the video mode incompatibilities have been resolved since I last played with this. You should be able to proceed straight to the desktop. RemixOS is much more usable on the desktop and also has an option to disable screen timeout in Marshmallow. Damn mouse though...

Desobediente

unread,
Apr 11, 2017, 5:17:46 AM4/11/17
to qubes-users
I've tried every possibility to install or boot from live iso both cyanogen mod x86 and android-x86 and I've never had any luck.

The HVM just sits there forever with "ANDROID" spinning. It goes on for days.

Eva Star

unread,
Apr 11, 2017, 9:05:37 AM4/11/17
to qubes...@googlegroups.com
On 04/11/2017 12:17 PM, Desobediente wrote:
> I've tried every possibility to install or boot from live iso both cyanogen mod x86 and android-x86 and I've never had any luck.
>
> The HVM just sits there forever with "ANDROID" spinning. It goes on for days.

Android 4.4 x86 work and install without any problems on HVM.
Where do you have problem?


Only 3 problems related to Android that I do not know how to solve:
1) How to emulate Fake Wifi connection (Android must think that he is
connected to wifi network.

2) One installer messenger does not work. Say that "not connected". I
think it request income/outcome open UDP port. Is it possible to somehow
open them on VPN connection before android?

3) How to easy copy&paste files from HVM without Qubes Copy&Paste. I
tried to attach Usb stick to Android, but it does not see it (or does
not mount it automatically and I do not know how to mount usb stick)



--
Regards

Eva Star

unread,
Apr 11, 2017, 9:06:43 AM4/11/17
to qubes...@googlegroups.com
On 04/11/2017 12:17 PM, Desobediente wrote:
> I've tried every possibility to install or boot from live iso both cyanogen mod x86 and android-x86 and I've never had any luck.
>
> The HVM just sits there forever with "ANDROID" spinning. It goes on for days.

Android 4.4 x86 work and install without any problems on HVM.
Where do you have problem?


Only 3 problems related to Android that I do not know how to solve:
1) How to emulate Fake Wifi connection (Android must think that he is
connected to wifi network.

2) One installer messenger does not work. Say that "not connected". I
think it request income/outcome open UDP port. Is it possible to somehow
open them on VPN connection before android?

3) How to easy copy&paste files from HVM without Qubes Copy&Paste. I
tried to attach Usb stick to Android, but it does not see it (or does
not mount it automatically and I do not know how to mount )


--
Regards
Reply all
Reply to author
Forward
0 new messages