How to run Daydream apps on unsupported hardware 4


Daydream partially works on my Samsung Galaxy S5. The Daydream “Home” app crashes but I can use any Daydream compatible app (tried Street View, CNN VR, Wonderglade).

daydream-street-view-samsung-s5

Basically you are required to:

  • Get all required apks (Daydream, Google VR Services) – from Apk mirror site or directly from Google Play (put “android.hardware.vr.high_performance” and “android.software.vr.mode” in /system/etc/permissions, requires root and clearing of GMS)
  • Have Android 7.x (or CyanogenMod 14.1)
  • Have the Daydream controller or use the official controller emulator running on second phone (requires enabling developer menu)
  • Have the Daydream headset or enable skip check in Daydream developer menu (may require scanning QR code of some other headset and redoing Daydream setup)

How to enter Daydream?

Daydream “Home” (the VR interactive launcher) crashes on my Samsung Galaxy S5 but you can just start specific installed app from the Daydream Library. Double tam an app to launch it.

How to spoof Daydream compatibility to get apps directly from Google Play?

Get or enable root on your phone (with root for ADB) and run following commands.

# Connect to the phone terminal
adb shell
# Switch to root
su

# The rest can be executed in one go
mount -o rw,remount /system
echo '<?xml version="1.0" encoding="utf-8"?><permissions><feature name="android.hardware.vr.high_performance" /></permissions>' > /system/etc/permissions/android.hardware.vr.high_performance.xml
echo '<?xml version="1.0" encoding="utf-8"?><permissions><feature name="android.software.vr.mode" /></permissions>' > /system/etc/permissions/android.software.vr.mode.xml
chmod 644 /system/etc/permissions/android.hardware.vr.high_performance.xml
chmod 644 /system/etc/permissions/android.software.vr.mode.xml
mount -o ro,remount /system
pm clear com.google.android.gms
pm clear com.android.vending
reboot

Google Play Store doesn’t pick up the changes immediately so clear Play Store cache, restart phone and wait up to one hour.

Youtube VR isn’t available on Play Store and doesn’t install

Youtube VR requires 64-bit CPU which for example Samsung S5 doesn’t offer.

Is Vulkan required?

It’s not for 3rd party apps but the crash of Daydream Home seems like a GPU related issue.

How to use controller emulator and different headset?

There is already written enough about that so check the article on slashgear.

I can’t start Daydream after restart

Developer settings in Daydream are reverted after a restart so you will need to set that again.

What’s next?

When Xposed will be compatible with Nougat, it will allow us permanently disable some of the controller/headset check. That’s quite important because Google is planning on removing controller emulator support from Daydream soon.

 

Update: There are detailed instructions on reddit by Mulelish.


Leave a comment

4 thoughts on “How to run Daydream apps on unsupported hardware

  • Video Hog

    Thanks for the tutorial, I followed your instructions on a nexus 6p but unfortunately the changes I made don’t seem to have affected my ability to download apps off the play store. I still can’t download the arcslinger or Wonderglade… still getting a “Item is not available. Reason: 9” which seems to be due to missing these permissions. When I open the “Hardware Info” app I can see that I have these features however it’s like the play store is using an old cached data?

  • David

    Anybody have any luck fixing the crash on the Daydream “home” screen? Maybe it’s an attempted call to some hardware function that doesn’t exist in non-Daydream phones 🙁