Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Local effects of adb commands

A topic by cgapk created 33 days ago Views: 144 Replies: 14
Viewing posts 1 to 5

Do you know how to implement local effects of the nadb texture optimization command?

Similar to how Quest Game Tuner and Quest Games Optimizer achieve optimization for a single game rather than a global application? I need to understand how this works

Developer (2 edits)

If I understand correctly, they are implemented by adb commands that set the resolution. For example, for resolution 3072, the command would be:

adb shell setprop debug.oculus.textureHeight 3380

adb shell setprop debug.oculus.textureWidth 3072

To set the frequency, use the command:

adb shell setprop debug.oculus.refreshRate 90

It is not possible to set the resolution for a specific game, it is always set globally. In QGO and QGT different profiles are used for each game. These profiles have their own settings for resolution, frequency, FFR, etc.

Thank you very much for your answer, so do you know how the automatic restoration of the default configuration after a game is over is implemented in Android?

 QGO and QGT may be using ADB global commands to take effect for a particular game, but if the game is exited, it automatically restores the adb defaults, and I don't know how to detect if the game is exited and how to send a notification to indicate this after exiting.

Developer

Sorry for the Cyrillic in the previous post, I corrected it.

I don't know how these functions are implemented in QGO and QGT. You can talk to the developers, I talked to the author of KUGO on another topic, he is a wonderful person.

As for the functions, I would personally do it this way: before the game and when launching the QGO or QGT programs, save the current headset settings in the default profile, and restore them when the game returns.

Almost all the settings are described here:

https://developers.meta.com/horizon/documentation/spatial-sdk/ts-systempropertie...

You can also download the Kvass source code from GitHub and see what commands I use:

https://github.com/Varsett/Quas

If you have any questions, I will be happy to explain.

Unfortunately, I don't have any knowledge of Android, so I can't say how exactly to determine that the game is finished, but I think there are many options to determine the end of the process.

Thank you.

I've previously used adb dumpsys activity lru polling queries to detect if a game exits in order to restore the default configuration on execution, but they all failed. In fact, I tried multiple adb detection application scenarios such as adb shell ps -A | findstr “com.beatgames.beatsaber” and they all failed.

I also tried how to auto-scan for filling in the port number in wireless pairing so that the user only has to enter the pairing code, but that failed as well. The libadb.so I'm using is this: https://github.com/thedroidgeek/oculus-wireless-adb

I've also tried consulting the authors of QGO or QGT about how manual wireless pairing debugging works and localized game configurations related to it, but they both refused to answer any questions citing trade secrets. I just want to develop an open source free Quest image quality adjustment tool, but I can't find any documentation tutorials about it...

Developer (1 edit)

To view the application status I use this command:

adb shell dumpsys package %pkgname% | findstr /i /c:"User 0: ceDataInode"

But, unfortunately, the stopped parameter does not display the real state of the application. Perhaps there are other similar things in dumpsys, but I have not looked for them yet.

p.s. Found one clever and quick way to determine whether an application is running or not:

adb shell pidof <package_name>

If a PID is returned, the application is running. If an empty string, it is stopped.

I can probably help with the search for IP and port. For this, I use an exe file that scans devices using the mDNS protocol and displays the IP and port of the found device. This application was written at my request specifically for the Kvass program, but I do not have the source code. It is called AndroidMdnsDiscover.

But there is another option, in Python, it does about the same thing, but less convenient - there you need to pre-specify the range of ports for scanning.

These files can be taken from my cloud resource in the ADB-WiFi directory:

https://k00.fr/ucl4vfd7

In general, everything is done almost automatically through mDNS and through the service _adb-tls-connect._tcp.

There are some good ideas here:

https://stackoverflow.com/questions/65991502/adb-over-wi-fi-android-11-on-window...

Unfortunately, the image quality settings using ADB are very poor, and given the expanded displays on the Meta Quest 3 headset, the useful image is cut off very much. But yes, I have not yet seen any API or documentation in the open. The ideal option would be to implement something similar to what is done in the broadcast via the Meta Quest Developer Hub.

Have you used this program? What they do with the image there is wonderful. But this is done through the API, as far as I understand, and there is no information about it...

Thank you very much for your help.

I tried to use adb shell pidof <package_name> and it worked out perfectly to monitor if the game program exits or not, now I can achieve automatic restoration of the default configuration after exit.

At the moment I still need to work out how to automatically connect to adb after a device reboot and about how Android devices can enable the mDNS service to read ports automatically, this will take some time and I'm looking for github projects like this one

Translated with DeepL.com (free version)

Developer

I think this will help you find out how to connect:

https://source.android.com/docs/automotive/virtualization/tools?hl=en

Unfortunately, I don't know if mdns is enabled by default on smartphones or not, I only know about VR headsets for now.

Thank you very, very much.

I'm very sorry, I read https://github.com/Varsett/Quas but this project has so much content and a lot of Russian that I can't search the key content correctly, I need GPU, CPU, resolution, record, record left and right 3D video, record FOV which file are these commands viewed in? 

I hope there is an ensemble of .bat

Developer

In my program all text messages are also translated into English. You can view the code in the file quas_v4.3.2.eng.cmd starting with the label _streamingmenu.

Also note the labels _menugpucpu and _resolutionfix in the code.

Sorry for the .bat script, it's too much, can you give me a simple .bat script?

Just about using adb shell setprop to execute commands related to quality, texture, CPU, GUP, recording

Developer

Try opening the script in a text editor and searching for the line adb shell setprop. I'm sure you'll find exactly what you need.

Thanks, do you know why the WiFi page and the part where you enter the password are not recorded when recording the screen, is there an adb command to unlock it?

Developer

Unfortunately, I don't know about this.

Hi, thank you very much for your previous help, do you know about the cast part of the command?

It's the parameter commands inside this cast function: screen, left eye, right eye, resolution, etc. I think this is also an adb command