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

[capture] Capture one specific App #1669

Open
yuacui01 opened this issue Aug 19, 2024 · 8 comments
Open

[capture] Capture one specific App #1669

yuacui01 opened this issue Aug 19, 2024 · 8 comments
Labels
android P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash.

Comments

@yuacui01
Copy link

Describe the capture bug:
When there are multi-app was opened at the same time, if user only want to capture one specific App, then you can do it by setting the
App progress name.

@yuacui01
Copy link
Author

you created a PR for it "#1670"

@MarkY-LunarG
Copy link
Contributor

@ziga-lunarg @mikes-lunarg : Is this a problem where our Android usage documentation need to be updated? Isn't this the issue where we currently document enabling the layer globally, but it should be enabled for a specific application?

@KarenGhavam-lunarG KarenGhavam-lunarG added the P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash. label Aug 19, 2024
@mikes-lunarg
Copy link
Contributor

@MarkY-LunarG There is already a way to limit capture to a specific package using the gpu_debug_app setting, which is in the current docs.

@yuacui01 Can you give any more details about why that option doesn't work for you?

@yuacui01
Copy link
Author

sometimes, gpu_debug_app doesn’t work in earlier Android versions.

@bartosz-muszarski-arm
Copy link
Contributor

We're observing this problem as well when capture is set up via settings, as in the docs:

adb shell settings put global enable_gpu_debug_layers 1
adb shell settings put global gpu_debug_app ${Package Name}
adb shell settings put global gpu_debug_layers VK_LAYER_LUNARG_gfxreconstruct
adb shell settings put global gpu_debug_layer_app com.lunarg.gfxreconstruct.replay

The problem is on some devices this simply does not work, the layer is not loaded by the target app.
Sadly, I can't provide any more details on why this happens - not even sure it's related to the android version.
However, if we try to set it up globally via setprop:

adb shell setprop debug.vulkan.layers VK_LAYER_LUNARG_gfxreconstruct

The layer gets loaded properly, but we end up with another issue - all new apps will attempt to load the capture layer.
This gets even worse with skiavk enabled as the android ui keeps crashing.
Another thing we tried is forcing skiagl, but I don't think we can rely on this option for long.
Also, with this approach gpu_debug_app has no effect, so we need another way of specifying the app to capture on android.

@ziga-lunarg
Copy link
Contributor

the layer is not loaded by the target app

In adb shell settings put global gpu_debug_layer_app com.lunarg.gfxreconstruct.replay
Are you setting gpu_debug_layer_app or gpu_debug_layers_app? Notice the difference in the extra s.

We had a bug in the usage doc, where the name of the setting was wrong and it was fixed just recently: https://github.com/LunarG/gfxreconstruct/pull/1649/files

@yuacui01
Copy link
Author

@ziga-lunarg , If the target App is not debuggable, is the method still applicable?

@ziga-lunarg
Copy link
Contributor

In that case this method wont work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
android P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash.
Projects
None yet
Development

No branches or pull requests

7 participants