This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

I'd like to use MGD on Vulkan device equipped with ARM GPU. Where can I get interceptor layer?

I have access to an Android device with ARM GPU. I'd like to use MGD for Vulkan application. According to MGD manual I have to contact you here. So, please tell me where can I download interceptor layer for vulkan for MGD?

Thank you.

Parents
  • Hi valentyn,

    Apologies for the roundabout method here, but we weren't sure when we shipped 3.4.1 what the final method of using Vulkan layers on Android would look like, it will be improved for the next release.

    The MGD interceptor libraries for OpenGL ES/EGL/OpenCL actually contain the Vulkan layer.

    So if you:

    1. Get the correct libGLES_mgd.so from: <MGD installation folder>/target/android/<correct architecture>/libGLES_mgd.so
    2. Rename it to libVkLayerMGD.so

    You will have an MGD Vulkan layer.

    To install:

    If you have root:

    1. Put it in /data/local/debug/vulkan/
    2. Enable the layer using adb shell setprop debug.vulkan.layers VK_LAYER_ARM_MGD:
    3. Every Vulkan app launched from that point on will be intercepted

    We've tested this on a Samsung Galaxy S7.

    If you don't have root then package it with your app and enable it using the Vulkan API. We haven't actually had a chance to try this approach yet so I can't guarantee this will work.

    As the documentation says the MGD daemon (or damon app for non-rooted devices) still needs to be installed and running in the normal way.

    Hope that helps, let me know if it's not clear or it doesn't work.

    Thanks,

    Jon.

Reply
  • Hi valentyn,

    Apologies for the roundabout method here, but we weren't sure when we shipped 3.4.1 what the final method of using Vulkan layers on Android would look like, it will be improved for the next release.

    The MGD interceptor libraries for OpenGL ES/EGL/OpenCL actually contain the Vulkan layer.

    So if you:

    1. Get the correct libGLES_mgd.so from: <MGD installation folder>/target/android/<correct architecture>/libGLES_mgd.so
    2. Rename it to libVkLayerMGD.so

    You will have an MGD Vulkan layer.

    To install:

    If you have root:

    1. Put it in /data/local/debug/vulkan/
    2. Enable the layer using adb shell setprop debug.vulkan.layers VK_LAYER_ARM_MGD:
    3. Every Vulkan app launched from that point on will be intercepted

    We've tested this on a Samsung Galaxy S7.

    If you don't have root then package it with your app and enable it using the Vulkan API. We haven't actually had a chance to try this approach yet so I can't guarantee this will work.

    As the documentation says the MGD daemon (or damon app for non-rooted devices) still needs to be installed and running in the normal way.

    Hope that helps, let me know if it's not clear or it doesn't work.

    Thanks,

    Jon.

Children