====== ADB Commands ======
===== Android Settings =====
* [[https://forum.xda-developers.com/t/the-settings-facebook-doesnt-want-you-to-see.4231545/#post-84773847|xda-developers]]
* This allows access to some Android-specific settings
* This can be used to clear cache data for apps
* :!: This can be used to change the timezone if it's incorrect
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
===== 120Hz =====
****
adb shell "setprop debug.oculus.refreshRate 120"
===== Performance =====
* [[https://developer.oculus.com/documentation/native/android/mobile-power-overview/|Power Management]]
* This disables dynamic clocks and forces max clocks on CPU and GPU
* :!: This will increase heat and battery/power usage
* There's an undocumented level 5: https://old.reddit.com/r/OculusQuest/comments/11e1u2z/quest_2_undocumented_5th_cpugpu_level/
adb shell "setprop debug.oculus.cpuLevel 5"
adb shell "setprop debug.oculus.gpuLevel 5"
adb shell "setprop debug.oculus.adaclocks.force 0"
adb shell "setprop debug.oculus.phaseSync 1"
==== Performance AIO ====
* Sets CPU and GPU performance level to ''5'', enables [[https://developer.oculus.com/documentation/native/android/mobile-phase-sync/|Phase Sync]] globally, and minor Developer Options tweaks
adb shell "setprop debug.oculus.cpuLevel 5 && setprop debug.oculus.gpuLevel 5 && setprop debug.oculus.adaclocks.force 0 && setprop debug.oculus.phaseSync 1 && settings put global always_finish_activities 0 && settings put global wifi_scan_throttle_enabled 1 && settings put global window_animation_scale 0.25 && settings put global transition_animation_scale 0.25 && settings put global animator_duration_scale 0.25 && sync"
adb shell "setprop debug.oculus.refreshRate 120 && sync"
==== Verify ====
adb shell "getprop debug.oculus.cpuLevel"
adb shell "getprop debug.oculus.gpuLevel"
adb shell "getprop debug.oculus.adaclocks.force"
adb shell "getprop debug.oculus.phaseSync"
adb shell "settings get global always_finish_activities"
adb shell "settings get global wifi_scan_throttle_enabled"
adb shell "settings get global window_animation_scale"
adb shell "settings get global transition_animation_scale"
adb shell "settings get global animator_duration_scale"
====== Notes ======
* :!: Developer mode needs manually re-enabled from Oculus app on mobile after Factory Reset ((any issues with pairing will prevent enabling Dev mode; [[https://www.reddit.com/r/OculusQuest/comments/1bkixqx/adb_not_finding_quest_3/kw0q2tj/|possible workaround]]))
* Hold PWR + Vol- to access bootloader menu to perform Factory Reset on-device
* ''%localappdata%\Oculus'' contains Logs
* :?: Since it's Qualcomm, EDL mode could be interesting to dump and flash partitions
===== IPD Expander =====
* The lenses spread a few mm more past 68mm just enough to make the VR experience significantly better for me around 71mm!
* Take a bottle cap and jam it in-between the facial interface and proximity sensor so that it keeps the lenses spread as-far over
* :!: Disable the option to automatically wake the headset when you put it on since the proximity sensor is always-covered
====== Oculus Link ======
===== Graphics Preferences =====
==== RTX 3060 ====
* DCH 516.63
* Oculus 42.0.0.136.285
* Wired Link with H.264
* Windows 10 Enterprise LTSC (19044.1806)
=== Default ===
* 1.0x
* 72Hz: 3616 x 1840
* 80Hz: 3456 x 1744
* 90Hz: 3264 x 1648
* 120Hz: 2816 x 1424
=== Lowest ===
* 2432 x 1216
* 72Hz: 0.7x
* 80Hz: 0.7x
* 90Hz: 0.7x
* 120Hz: 0.9x
=== Highest ===
* 5408 x 2736
* 72Hz: 1.5x
* 80Hz: 1.6x
* 90Hz: 1.7x
* 120Hz: 1.9x
==== RX 6600 XT ====
* Adrenalin 22.5.2
* Oculus 41.0.0.88.353
* Wired Link with H.264
=== Default ===
* 1.0x
* 72Hz: 3616 x 1840
* 80Hz: 3456 x 1744
* 90Hz: 3264 x 1648
* 120Hz: 2816 x 1424
=== Lowest ===
* 2432 x 1216
* 72Hz: 0.7x
* 80Hz: 0.7x
* 90Hz: 0.7x
* 120Hz: 0.9x
=== Highest ===
* 5408 x 2736
* 72Hz: 1.5x
* 80Hz: 1.6x
* 90Hz: 1.7x
* 120Hz: 1.9x
===== Encode Resolutions =====
==== Notes ====
* Width x Height
* If entering into Oculus Debug Tool, only the first part (width) gets inputted into ''Encode Resolution Width'' under ''Oculus Link''
* :!: This needed manually set if using Air Link with a RX 580
* :!: These numbers need retrieved from wired Link periodically with Link changes
=== Numbers ===
- Connect Quest with wired Link cable with desired Refresh Rate set
- Go to the Oculus folder below
- Find the last-modified ''Service'' text file
- Search for the text line ''Converted encode resolution''
%localappdata%\Oculus
Converted encode resolution
==== RTX 3060 ====
* DCH 516.63
* Oculus 42.0.0.136.285
* Wired Link with H.264
* Windows 10 Enterprise LTSC (19044.1806)
* Last updated: 2022/07/11
* :!: The same max ''3664'' resolution is usable 72Hz-120Hz as-reported by Oculus
* 72Hz = ''3680, 1920'' (3664 selected)
* 80Hz = ''3680, 1920'' (3664 selected)
* 90Hz = ''3680, 1920'' (3664 selected)
* 120Hz = ''3680, 1920'' (3664 selected)
3680
=== NvcEncode ===
* Last updated: 2022/07/11
* :!: TODO
* Latency at H.264 is 4ms at 1080p@144, 6ms at 1440p@144, and 10ms at 4K@30 ((HEVC tests didn't run on 22.5.2))
* It looks ideal to either use 120Hz, or limit encode resolution for lower refresh rates to ~2560 in order to avoid the 4ms spike
==== RX 6600 XT ====
* Adrenalin 22.5.2
* Oculus 41.0.0.88.353
* Wired Link with H.264
* Last updated: 2022/06/07
* 72Hz = ''3680, 1920'' (3664 selected)
* 80Hz = ''3520, 1920'' (3504 selected)
* 90Hz = ''3200, 1760'' (3200 selected)
* 120Hz = ''2752, 1440'' (2736 selected)
3680
3520
3200
2752
07/06 22:21:11.099 {DEBUG} [xrstreaming] No hevc support found
07/06 22:21:11.099 {INFO} [xrstreaming] RemoteHeadset/HEVC not set, Using AVC
07/06 22:21:11.099 {DEBUG} [xrstreaming] Creating AMD HP3D d3d11 device
07/06 22:21:11.099 {DEBUG} [xrstreaming] Reported AMD amdlvr64.dll version 1.0.16.0
07/06 22:21:11.099 {DEBUG} [xrstreaming] AMDALVRFactory::Create: ALVRInit(1.0.15.0, &factory) succeeded.
07/06 22:21:11.141 {DEBUG} [xrstreaming] AMDALVRDisplayFactory::Create: ALVRInit(1.0.15.0, &factory) succeeded.
=== AmaEncode ===
* Last updated: 2022/06/07
* Latency at H.264 is 4ms at 1080p@144, 6ms at 1440p@144, and 10ms at 4K@30 ((HEVC tests didn't run on 22.5.2))
* It looks ideal to either use 120Hz, or limit encode resolution for lower refresh rates to ~2560 in order to avoid the 4ms spike
==== RX 580 ====
* Last updated: 2021/10/26
* Oculus client ''34.0.0.53.185''
* :!: H.264/AVC
* 72Hz = ''1984, 1120''
* 80Hz = ''1824, 960''
* 90Hz = ''1664, 960''
* 120Hz = ''1376, 800''
1984
1824
1664
1376
====== APKs ======
* [[https://www.apkmirror.com/apk/jagex-games-studio/old-school-runescape/|Old School RuneScape]]
* [[https://github.com/GPUOpen-LibrariesAndSDKs/Radeon-ReLive-VR/releases|Radeon ReLive VR]]
* [[https://github.com/alvr-org/ALVR-nightly/releases|ALVR Nightlies]] ((useful for Linux testing))
* [[https://app.circleci.com/pipelines/github/diasurgical/devilutionX|DevilutionX]] ((seems playable with paired Xbox One controller))
====== Game Data ======
* File sizes are rounded-up
===== RTCWQuest =====
* https://www.rtcwquest.com/
* https://sidequestvr.com/app/1446/return-to-castle-wolfenstein-vr
* https://github.com/DrBeef/RTCWQuest
* Full RTCW install
* Venom VR 6.5.2 with improved AI ''sp_vpak9.pak''
* 2021/08/31: 1.24 GB
sdcard\RTCWQuest\Main\pak0.pk3
sdcard\RTCWQuest\Main\sp_pak1.pk3
sdcard\RTCWQuest\Main\sp_pak2.pk3
sdcard\RTCWQuest\Main\sp_pak3.pk3
sdcard\RTCWQuest\Main\sp_pak4.pk3
sdcard\RTCWQuest\Main\sp_vpak5.pk3
sdcard\RTCWQuest\Main\sp_vpak6.pk3
sdcard\RTCWQuest\Main\sp_vpak7.pk3
sdcard\RTCWQuest\Main\sp_vpak8.pk3
sdcard\RTCWQuest\Main\sp_vpak9.pk3
sdcard\RTCWQuest\Main\z_pak1.pk3
===== QuakeQuest =====
* https://www.quakevr.com/
* https://sidequestvr.com/app/93/quakequest
* https://github.com/DrBeef/QuakeQuest
* Both pak files from Q1 install
* https://docs.google.com/document/d/1npgZjIF33fKJdthm6xSnlIbrbB0mM0Cd6ZskzE3t5NM/edit
* 2021/08/31: 812 MB
sdcard\QuakeQuest\id1\IP_Weapons_Ruohis_Key_Plague(altered).pk3
sdcard\QuakeQuest\id1\mindgrid_audio_sound.pk3
sdcard\QuakeQuest\id1\PAK0.pk3
sdcard\QuakeQuest\id1\PAK1.pk3
sdcard\QuakeQuest\id1\QR_2048_QuakeBestiary_Alfader_Nergal.pk3
sdcard\QuakeQuest\id1\QRP_item_textures_v.0.73_dp.pk3
sdcard\QuakeQuest\id1\QRP_map_textures_v.1.00.pk3
===== Lambda1VR =====
* https://www.lambda1vr.com/
* https://sidequestvr.com/app/124/lambda1vr-half-life-in-vr
* https://github.com/DrBeef/Lambda1VR
* Entire ''valve'' folder
* Entire ''valve_hd'' folder dropped into ''valve'' folder
* ''HL_Gold_HD'' added
* ''commandline.txt'' optimized settings with HL_Gold_HD
* 2021/08/31: 2.12 GB
sdcard\xash\HL_Gold_HD\*
sdcard\xash\valve\*
sdcard\xash\commandline.txt
===== Doom3Quest =====
* https://www.doom3quest.com/
* https://sidequestvr.com/app/2651
* https://github.com/DrBeef/Doom3Quest
* Just the base files needed (no extras or mods)
* 2021/08/31: 1.56 GB
sdcard\Doom3Quest\base\game00.pk4
sdcard\Doom3Quest\base\game01.pk4
sdcard\Doom3Quest\base\game02.pk4
sdcard\Doom3Quest\base\game03.pk4
sdcard\Doom3Quest\base\pak000.pk4
sdcard\Doom3Quest\base\pak001.pk4
sdcard\Doom3Quest\base\pak002.pk4
sdcard\Doom3Quest\base\pak003.pk4
sdcard\Doom3Quest\base\pak004.pk4
sdcard\Doom3Quest\base\pak005.pk4
sdcard\Doom3Quest\base\pak006.pk4
sdcard\Doom3Quest\base\pak007.pk4
sdcard\Doom3Quest\base\pak008.pk4
===== QuestZDoom =====
* https://www.questzdoom.com/
* https://sidequestvr.com/app/796
* https://github.com/DrBeef/QuestZDoom
* 2021/08/31: 63 MB
sdcard\QuestZDoom\wads\DOOM.WAD
sdcard\QuestZDoom\wads\DOOM2.WAD
sdcard\QuestZDoom\wads\HERETIC.WAD
sdcard\QuestZDoom\wads\HEXDD.WAD
sdcard\QuestZDoom\wads\HEXEN.WAD
===== Quake3Quest =====
* https://quake3.quakevr.com/
* https://sidequestvr.com/app/8601/quake3quest
* https://github.com/DrBeef/ioq3quest
* 2022/05/18: 858 MB
sdcard\ioquake3Quest\baseq3\pak0.pk3
sdcard\ioquake3Quest\baseq3\pak1.pk3
sdcard\ioquake3Quest\baseq3\pak2.pk3
sdcard\ioquake3Quest\baseq3\pak3.pk3
sdcard\ioquake3Quest\baseq3\pak4.pk3
sdcard\ioquake3Quest\baseq3\pak5.pk3
sdcard\ioquake3Quest\baseq3\pak6.pk3
sdcard\ioquake3Quest\baseq3\pak7.pk3
sdcard\ioquake3Quest\baseq3\pak8.pk3
sdcard\ioquake3Quest\missionpack\pak0.pk3
sdcard\ioquake3Quest\missionpack\pak1.pk3
sdcard\ioquake3Quest\missionpack\pak2.pk3
sdcard\ioquake3Quest\missionpack\pak3.pk3
====== Saved Game Data ======
===== Beat Saber =====
sdcard\Android\data\com.beatgames.beatsaber\files\AvatarData.dat
sdcard\Android\data\com.beatgames.beatsaber\files\PlayerData.dat
===== Until You Fall =====
sdcard\Android\data\com.schellgames.untilyoufall\files\Profile1\CampaignSaveData.cls
sdcard\Android\data\com.schellgames.untilyoufall\files\Profile1\EconomySaveData.cls
sdcard\Android\data\com.schellgames.untilyoufall\files\Profile1\RunSaveData.cls
sdcard\Android\data\com.schellgames.untilyoufall\files\Profile1\SettingsSaveData.cls
sdcard\Android\data\com.schellgames.untilyoufall\files\Profile1\TutorialSaveData.cls
===== Gladius =====
* Need to re-set Gladiator name on first-start, but progress will be loaded
sdcard\UE4Game\GladiusQuest\GladiusQuest\Saved\SaveGames\GladiusInstance.sav