Scrcpy is not working on the latest Meta Quest OS versions (Meta Horizon OS >= 74) - Update: Workaround found, but no fix
Environment
OS: Windows Scrcpy version: 3.1 Installation method: Windows release Device model: Meta Quest 2/3 Android version: 12
Describe the bug
I tested scrcpy on Quest 2 and the Quest 3 with the latest OS version (74) and I have now a black screen. It was working fine with the previous OS versions. Do you have any news about Meta blocking tools such as scrcpy ?
Update (17/11/25):
A workaround has been found for this issue : https://github.com/Genymobile/scrcpy/issues/5913#issuecomment-3092268785
Please note that this is only a workaround — not a perfect solution, and not a definitive fix for the issue.
Update: It seems it is blocking scrpcy only when Quest for Business is installed and configured on the headset
Update: I reached the Meta technical support who told me : "The scrcpy to our knowledge uses hidden AOSP (Android open source project, which is the foundation of the Horizon OS in Meta Quest devices) features, so changes in either can result in the scenario you've encountered. As scrcpy is a third party solution, from Meta's side we are unable to provide any support for it." So I guess this the end of the scrcpy compatibility (with the pro plan at least)
I'm having this problem with Horizon OS 74 and scrpy 3.1 but do not have Quest for Business installed afaik. (Also where do you check to make sure it's not installed, and/or remove it to test this)
Meta lists scrcpy in their docs, maybe you can send them this link and request them to escalate?
https://creator.oculus.com/create-build/capturing-video-from-a-quest-headset/#stereoscopic-capture
I'm having this problem with
Horizon OS 74but do not haveQuest for Businessinstalled afaik. (Also where do you check to make sure it's not installed, and/or remove it to test this)
I also had the issue on non quest for business devices recently, so it seems this issue will concern everyone eventually. You need to pay for the quest for business mode, so it can't be enabled by accident
Meta lists scrcpy in their docs, maybe you can send them this link and request them to escalate?
https://creator.oculus.com/create-build/capturing-video-from-a-quest-headset/#stereoscopic-capture
Thanks for the link, I will send it to Meta
The crop feature does not work anymore
It should work with scrcpy 3.x. (#4162, fixed by #5455)
Update: Meta support told me they were investigating the issue
v3.x does work! But anything before 3 does not.
3.1 does not work for me 🤔
3.1 does not work for me 🤔
You mean cropping is not applied? 🤔
I mean i get a blank screen. (see the issue description)
I'm not sure how it's related to cropping
Describe the bug I tested scrcpy on Quest 2 and the Quest 3 with the latest OS version (74) and I have now a black screen. It was working fine with the previous OS versions. Do you have any news about Meta blocking tools such as scrcpy ? If so, that really sucks.
I got it working with a Quest3 (v76) with Meta For Business MDM, by passing the device id 0 --display-id=0
When listing the displays:
[server] INFO: Device: [Oculus] oculus Quest 3 (Android 14)
[server] INFO: List of displays:
--display-id=0 (4128x2208)
--display-id=9 (4128x2208) <-- probably this was creating the issue
--display-id=11 (1020x125)
--display-id=107 (1280x800)
--display-id=121 (1280x800)
--display-id=137 (1280x800)
--display-id=141 (1280x800)
--display-id=167 (1x1)
by passing the device id 0 --display-id=0
0 is the default, so passing --display-id=0 should have absolutely no impact.
I just tested this morning (without the --display-id argument) and scrcpy was suddenly working again with the MDM. Go figure.
Yes, now I am getting mixed results, I recorded a video with some examples.
https://github.com/user-attachments/assets/c8485f1e-8fe3-4ea7-811a-f00a1557514f
Also see #5946.
just want to mention that quest 3 is now on meta os v76 android 14 which now has the flickering issue when you use cropping previous issues persist though (if headset was not awake, the streaming will not start, it's now empty / blank / black) window
I can confirm that Q3S and Q2 on Android 14 have the same issue.
I also got the flickering issue this morning (Quest 2, v76)
I can confirm that Scrcpy command that used to work before just gives gives me black screen on Quest 3 after OS update.
same here, flickering. Would be good if they addressed that or we had a workaround. scrcpy is miles better than their cast thingy
A workaround I found is to not use scrcpy cropping (which seems to cause more flickering) and to start casting only after the headset is worn (when the light sensor detects presence).
Just to verify does the crop take place on device before the data is streamed, or does the full video get streamed over and cropped on the device running scrcpy?
Just to verify does the crop take place on device before the data is streamed
Of course.
We Have Flickering right after we use or open a Meta UI window in VR. Even if we have no crop no nothing just blank start of scrcpy. It happens on quest 2&3 seems the firmware patch causes it on both
did someone tried to do a firmware downgrade?
It seems that screen flickering occurs when certain UI elements within the Meta OS in VR are triggered. For example:
Pointing at the Horizon Feed app button with the controller pointer
Pointing at the Messenger window with the controller pointer
Opening the Settings menu and closing it with the X Ui button
These interactions with the Meta UI appear to interfere with how scrcpy captures the screen.
Recently, minor issues like a small white rectangle appearing in the lower left have also been observed. However, these issues do not appear on non-VR Android devices, which suggests that Meta OS may have introduced behavior affecting screen capture differently from standard Android, likely due to recent updates.
Ideally, I’d like to roll back to a Meta OS version where this problem didn’t occur, but Meta no longer allows OS downgrades, so that isn’t an option. For now, I’m mitigating the issue by restarting scrcpy whenever the screen flickers.
Even after the recent Meta OS v77 update, scrcpy 3.2 continues to show flickering when interacting with Meta UI. The biggest issue is that once the flickering starts, it doesn’t stop until scrcpy is restarted. I’m currently exploring possible ways to address this.
I am also having issues with scrcpy 3.2 and Quest 3 on v76.
It seems related to on device graphics filtering. When --angle or --crop is present then I get heavy flickering, like a double buffering that is out of phase or something like that.
I will leave these commands out for now and do my processing in OBS.
I have the same issue. I de-activated the buton for automatic OS updates on my remaining VR meta headset which still have previous OS version, but Meta whaterver will force all headset to migrate at a defined date in several weeks.
According to you guys, is it an intentionnal moove from Meta to avoid third parties to get screen mirroring or is it an hazardous consequence from those last updates ?