Recently I have been using the Pico G2 4K, a 3DOF device with one controller which works pretty well for enterprise use cases such as 360 video or simple training use cases.

Compared to other headsets it is a lot more open when it comes to working with and managing the operating system, in developing for the headset there were occasions when I needed to share or record the screen to show others what I was seeing.

As with sharing the Quest, previously written about here, Screen Copy (scrcpy) came in very handy with the right configuration for the headsets display.

One thing that is rather annoying about the Pico is that it loves to change screen resolution when you are using it, mainly when accessing what was previously a 2D android based app or settings dialog etc.  In VR you wont really notice the difference as they do a great job of handling the 2D apps and giving you an immersive space to work with them but when using scrcpy you often see the output completely change.  The only workaround I have found for this is that when a 2D screen appears and messes up the screen display, just run scrcpy with no parameters.  This will default to the resolution of the screen and show you the 2D dialog, as soon as you go back into VR mode though you will need to relaunch scrcpy in the below way otherwise you will get a 2 Eye output.

But for most experiences in VR you can use the below instructions to display and record the screen.

Initial Install and Setup

  1. Plug the USB-C cable into your computer and the Pico G2 4K.
  2. If its your first time plugging into this computer you will need to accept the prompt within the device that allows you to access the device from the computer and check the box to always allow if you want to skip this section in the future
  3. For Windows download and unzip the latest build of scrcpy from a direct link for the current version when writing this is here:
  4. For Mac the application is available in Homebrew. Install it using the following from a terminal window:
  5. brew install scrcpy
  6. You will also need adb. you can install this by running the following from a terminal window:
  7. brew cask install android-platform-tools

Sharing the Screen connected via cable

  1. Open a command prompt (cmd.exe) or and CD into the extracted folder from above
  2. Run the following command:
  3. scrcpy --crop 1280:1776:400:60-m 1600 -b 25M

Sharing the Screen connected wirelessly

You will still need a cable to make an initial connection and start the client on the Quest and then you can disconnect and use wirelessly, use the following steps to connect wirelessly:

  1. Follow steps 1-4 above in the setup section
  2. Open a command prompt (cmd.exe) and CD into the extracted folder from above
  3. While the device is connected via a cable run the following to find out what your Quests IP address is in the src section:
  4. adb shell ip route dev wlan0  proto kernel  scope link  src
  5. Now run the following replacing the IP address below ( as yours:
  6. adb tcpip 5555
    adb connect
  7. Disconnect the cable from the PC and with the device disconnected run the command to connect to the device as below
scrcpy --crop 1280:1776:400:60 -b 25M

Sharing Window

If everything worked above a new window should appear showing the device screen, you can then maximize this for a better demo window.

Testing was done with variations of the scrcpy command but the above was found to be the best viewing size to enable a good demo.

Recording the screen

There is also a great way to capture the screen while mirroring, add the following command options to the end of the scrcpy command above to do this:

 --record file.mp4

To disable mirroring while recording:

 --no-display --record file.mp4


Connection Issues

If you get a blank window or are unable to connect when device is plugged in you should be able to run the following command from the same folder above:

PS C:\Users\alan\Downloads\scrcpy-win64-v1.10> .\adb.exe devices
List of devices attached
1PASH9AF839266 device

The device should show above rather than:

PS C:\Users\alan\Downloads\scrcpy-win64-v1.10> .\adb.exe devices
List of devices attached
1PASH9AF839266 unauthorized

If you get the latter then make sure you have enabled developer mode and authorized the device as per step 1-3 above.

Target Machine refused connection when in wireless

If you receive a message like the following: “cannot connect to No connection could be made because the target machine actively refused it. (10061)”

Reconnect the Pico to the computer and go from Step 3 in the wireless connection steps above, this is caused because the client on the Pico stopped, normally as you reset the device.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.