I have the same issue. On all my devices, Samsung Galaxy Tab S10+, Huawei and other older Android phones, Steam Deck, … the Virture Xr Pro glasses work everytime I plug them out/in, but with the Fairphone 5g only while connected during a reboot, but not when I plug them out and in during a running Android session.
I have a Fairphone 5g, with Android 14, Build number FP5.UT2B.B.072.20240920.
I connected to it via Wireless Debugging to grab some insights what is happening:
Logs
connecting random USB item
12-08 15:40:45.204 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:40:45.217 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:45.218 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:40:45.219 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:40:45.220 1515 1970 I UsbPortManager: USB port changed: port=UsbPort{id=port0, supportedModes=dual, audio_acc, supportedContaminantProtectionModes=5, supportsEnableContaminantPresenceProtection=false, supportsEnableContaminantPresenceDetection=false, supportsComplianceWarnings=false, status=UsbPortStatus{connected=true, currentMode=dfp, currentPowerRole=source, currentDataRole=host, supportedRoleCombinations=[source:host, sink:device], contaminantDetectionStatus=2, contaminantProtectionStatus=1, usbDataStatus=unknown, isPowerTransferLimited=false, powerBrickConnectionStatus=unknown, complianceWarnings=, plugState=0, displayPortAltModeInfo=null}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false, connectedAtMillis=3977667, lastConnectDurationMillis=0
12-08 15:40:45.219 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device 1.5A
12-08 15:40:45.223 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:45.223 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:40:45.224 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received add@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0/port0-partner
12-08 15:40:45.224 1091 2661 I android.hardware.usb@1.2-service-qti: partner added
12-08 15:40:45.224 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device 1.5A
12-08 15:40:45.225 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:45.225 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:40:45.390 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:40:45.393 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:45.393 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:1 canChangePower:1
12-08 15:40:45.394 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0/port0-partner
12-08 15:40:45.394 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device usb_power_delivery
12-08 15:40:45.395 1515 1970 I UsbPortManager: USB port changed: port=UsbPort{id=port0, supportedModes=dual, audio_acc, supportedContaminantProtectionModes=5, supportsEnableContaminantPresenceProtection=false, supportsEnableContaminantPresenceDetection=false, supportsComplianceWarnings=false, status=UsbPortStatus{connected=true, currentMode=dfp, currentPowerRole=source, currentDataRole=host, supportedRoleCombinations=[source:host, source:device, sink:host, sink:device], contaminantDetectionStatus=2, contaminantProtectionStatus=1, usbDataStatus=unknown, isPowerTransferLimited=false, powerBrickConnectionStatus=unknown, complianceWarnings=, plugState=0, displayPortAltModeInfo=null}, canChangeMode=true, canChangePowerRole=true, canChangeDataRole=true, connectedAtMillis=3977667, lastConnectDurationMillis=0
12-08 15:40:45.395 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:45.395 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:1 canChangePower:1
disconnecting random USB item
12-08 15:40:59.007 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:40:59.009 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:59.009 1091 2661 I android.hardware.usb@1.2-service-qti: connected:0 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:40:59.011 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:40:59.011 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device default
12-08 15:40:59.011 1515 1970 I UsbPortManager: USB port changed: port=UsbPort{id=port0, supportedModes=dual, audio_acc, supportedContaminantProtectionModes=5, supportsEnableContaminantPresenceProtection=false, supportsEnableContaminantPresenceDetection=false, supportsComplianceWarnings=false, status=UsbPortStatus{connected=false, currentMode=none, currentPowerRole=no-power, currentDataRole=no-data, supportedRoleCombinations=[no-power:no-data], contaminantDetectionStatus=2, contaminantProtectionStatus=1, usbDataStatus=unknown, isPowerTransferLimited=false, powerBrickConnectionStatus=unknown, complianceWarnings=, plugState=0, displayPortAltModeInfo=null}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false, connectedAtMillis=0, lastConnectDurationMillis=13792
12-08 15:40:59.012 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:59.012 1091 2661 I android.hardware.usb@1.2-service-qti: connected:0 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:40:59.012 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received remove@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0/port0-partner
12-08 15:40:59.012 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device default
12-08 15:40:59.013 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:40:59.013 1091 2661 I android.hardware.usb@1.2-service-qti: connected:0 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:40:59.140 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/003/001 was already gone
12-08 15:40:59.140 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/002/001 was already gone
connecting Viture XR Pro glasses on USB (DP Alt Mode)
12-08 15:41:13.295 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:41:13.306 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:13.307 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:41:13.310 1515 1970 I UsbPortManager: USB port changed: port=UsbPort{id=port0, supportedModes=dual, audio_acc, supportedContaminantProtectionModes=5, supportsEnableContaminantPresenceProtection=false, supportsEnableContaminantPresenceDetection=false, supportsComplianceWarnings=false, status=UsbPortStatus{connected=true, currentMode=dfp, currentPowerRole=source, currentDataRole=host, supportedRoleCombinations=[source:host, sink:device], contaminantDetectionStatus=2, contaminantProtectionStatus=1, usbDataStatus=unknown, isPowerTransferLimited=false, powerBrickConnectionStatus=unknown, complianceWarnings=, plugState=0, displayPortAltModeInfo=null}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false, connectedAtMillis=4005757, lastConnectDurationMillis=0
12-08 15:41:13.313 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:41:13.313 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device 1.5A
12-08 15:41:13.315 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:13.315 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:41:13.316 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received add@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0/port0-partner
12-08 15:41:13.316 1091 2661 I android.hardware.usb@1.2-service-qti: partner added
12-08 15:41:13.316 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device 1.5A
12-08 15:41:13.317 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:13.317 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:41:14.007 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:41:14.011 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:14.012 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:1 canChangePower:1
12-08 15:41:14.013 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0/port0-partner
12-08 15:41:14.013 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device usb_power_delivery
12-08 15:41:14.014 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:14.014 1515 1970 I UsbPortManager: USB port changed: port=UsbPort{id=port0, supportedModes=dual, audio_acc, supportedContaminantProtectionModes=5, supportsEnableContaminantPresenceProtection=false, supportsEnableContaminantPresenceDetection=false, supportsComplianceWarnings=false, status=UsbPortStatus{connected=true, currentMode=dfp, currentPowerRole=source, currentDataRole=host, supportedRoleCombinations=[source:host, source:device, sink:host, sink:device], contaminantDetectionStatus=2, contaminantProtectionStatus=1, usbDataStatus=unknown, isPowerTransferLimited=false, powerBrickConnectionStatus=unknown, complianceWarnings=, plugState=0, displayPortAltModeInfo=null}, canChangeMode=true, canChangePowerRole=true, canChangeDataRole=true, connectedAtMillis=4005757, lastConnectDurationMillis=0
12-08 15:41:14.014 1091 2661 I android.hardware.usb@1.2-service-qti: connected:1 canChangeMode:1 canChagedata:1 canChangePower:1
12-08 15:41:14.139 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/003/001 was already gone
12-08 15:41:14.262 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/002/001 was already gone
12-08 15:41:14.899 2732 2732 W SysUiState: at com.android.systemui.statusbar.CommandQueue$H.handleMessage(go/retraceme d9c8d40f71c30d35cdc42ec92fc00f354f82f77cc7422db0c1d85130467f1b7b:197)
12-08 15:41:15.331 2732 2732 W SysUiState: at com.android.systemui.statusbar.CommandQueue$H.handleMessage(go/retraceme d9c8d40f71c30d35cdc42ec92fc00f354f82f77cc7422db0c1d85130467f1b7b:181)
12-08 15:41:15.343 2732 2732 W SysUiState: at com.android.systemui.statusbar.CommandQueue$H.handleMessage(go/retraceme d9c8d40f71c30d35cdc42ec92fc00f354f82f77cc7422db0c1d85130467f1b7b:200)
12-08 15:41:16.394 1091 2661 I android.hardware.usb@1.2-service-qti: usb interface does not support autosuspend /sys/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.1.auto/usb2/2-1
12-08 15:41:16.401 1091 2661 I android.hardware.usb@1.2-service-qti: usb interface does not support autosuspend /sys/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.1.auto/usb2/2-1
12-08 15:41:16.427 1515 2731 D UsbHostManager: Added device UsbDevice[mName=/dev/bus/usb/002/002,mVendorId=13770,mProductId=4125,mClass=239,mSubclass=2,mProtocol=1,mManufacturerName=VITURE Pro,mProductName=VITURE Pro XR Glasses,mVersion=2.00,mSerialNumberReader=com.android.server.usb.UsbSerialReader@560cf53, mHasAudioPlayback=false, mHasAudioCapture=false, mHasMidi=false, mHasVideoCapture=false, mHasVideoPlayback=false, mConfigurations=[
12-08 15:41:16.541 1515 2731 E UsbAlsaManager: usbDeviceAdded(): cannot find sound card for /dev/bus/usb/002/002
12-08 15:41:16.835 26064 26064 I UsbDeviceAttachedReceiv: handling intent: Intent { act=android.hardware.usb.action.USB_DEVICE_ATTACHED flg=0x11000010 cmp=org.fdroid.fdroid/.nearby.UsbDeviceAttachedReceiver (has extras) }
12-08 15:41:16.946 26035 26035 D a : handleUsbDeviceAttached: usbdev old/new,null,/dev/bus/usb/002/002
12-08 15:41:16.946 26035 26035 D e : findUsbDevice: /dev/bus/usb/002/002
disconnecting Viture XR Pro glasses
12-08 15:41:38.777 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/002/002: VITURE Pro XR Glasses
12-08 15:41:38.793 1515 1985 I ActivityManager: Start proc 27310:com.hp.android.printservice/u0a384 for broadcast {com.hp.android.printservice/com.hp.android.printservice.usb.ReceiverUSBDeviceDetached}
12-08 15:41:38.807 26035 26035 D a : handleUsbDeviceDetached: usbdev,/dev/bus/usb/002/002
12-08 15:41:38.837 26064 26064 I UsbDeviceDetachedReceiv: handling intent: Intent { act=android.hardware.usb.action.USB_DEVICE_DETACHED flg=0x1000010 cmp=org.fdroid.fdroid/.nearby.UsbDeviceDetachedReceiver (has extras) }
12-08 15:41:38.942 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:41:38.945 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/003/001 was already gone
12-08 15:41:38.945 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/002/001 was already gone
12-08 15:41:38.945 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:38.945 1091 2661 I android.hardware.usb@1.2-service-qti: connected:0 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:41:38.945 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received change@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0
12-08 15:41:38.945 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device default
12-08 15:41:38.946 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:38.946 1091 2661 I android.hardware.usb@1.2-service-qti: connected:0 canChangeMode:1 canChagedata:0 canChangePower:0
12-08 15:41:38.947 1515 1970 I UsbPortManager: USB port changed: port=UsbPort{id=port0, supportedModes=dual, audio_acc, supportedContaminantProtectionModes=5, supportsEnableContaminantPresenceProtection=false, supportsEnableContaminantPresenceDetection=false, supportsComplianceWarnings=false, status=UsbPortStatus{connected=false, currentMode=none, currentPowerRole=no-power, currentDataRole=no-data, supportedRoleCombinations=[no-power:no-data], contaminantDetectionStatus=2, contaminantProtectionStatus=1, usbDataStatus=unknown, isPowerTransferLimited=false, powerBrickConnectionStatus=unknown, complianceWarnings=, plugState=0, displayPortAltModeInfo=null}, canChangeMode=true, canChangePowerRole=false, canChangeDataRole=false, connectedAtMillis=0, lastConnectDurationMillis=25636
12-08 15:41:38.948 1091 2661 I android.hardware.usb@1.2-service-qti: uevent received remove@/devices/platform/soc/soc:qcom,pmic_glink/soc:qcom,pmic_glink:qcom,ucsi/typec/port0/port0-partner
12-08 15:41:38.948 1091 2661 I android.hardware.usb@1.2-service-qti: uevent recieved for same device default
12-08 15:41:38.949 1091 2661 I android.hardware.usb@1.2-service-qti: port0
12-08 15:41:38.949 1091 2661 I android.hardware.usb@1.2-service-qti: connected:0 canChangeMode:1 canChagedata:0 canChangePower:0
END (logcat | grep usb)
Other logs where I used
logcat | grep -i “viture”
disconnecting Viture XR Pro glasses
12-08 15:45:59.187 1515 2731 D UsbHostManager: Removed device at /dev/bus/usb/002/002: VITURE Pro XR Glasses
12-08 15:45:59.231 1515 1973 I DisplayDeviceRepository: Display device removed: DisplayDeviceInfo{“HDMI Screen”: uniqueId=“local:4615860159156968452”, 1920 x 1080, modeId 24, renderFrameRate 60.000004, defaultModeId 24, supportedModes [{id=24, width=1920, height=1080, fps=60.000004, alternativeRefreshRates=[90.0, 120.00001], supportedHdrTypes=[2, 3]}, {id=25, width=1920, height=1080, fps=120.00001, alternativeRefreshRates=[60.000004, 90.0], supportedHdrTypes=[2, 3]}, {id=26, width=1920, height=1080, fps=90.0, alternativeRefreshRates=[60.000004, 120.00001], supportedHdrTypes=[2, 3]}], colorMode 0, supportedColorModes [0], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[2, 3], mMaxLuminance=500.0, mMaxAverageLuminance=250.0, mMinLuminance=0.0}, allmSupported false, gameContentTypeSupported false, density 213, 304.8 x 274.32 dpi, appVsyncOff 1000000, presDeadline 16666666, cutout DisplayCutout{insets=Rect(0, 110 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(930, 0 - 990, 110), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1920 displayHeight=1080 physicalDisplayWidth=1920 physicalDisplayHeight=1080 density={3.0} cutoutSpec={M -30,0 L -30,110 L 30,110 L 30,0 Z} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, touch EXTERNAL, rotation 0, type EXTERNAL, address {port=4, model=0x400ed45bdf6ddc}, deviceProductInfo DeviceProductInfo{name=VITURE, manufacturerPnpId=CVT, productId=12594, modelYear=null, manufactureDate=ManufactureDate{week=32, year=2023}, connectionToSinkType=1}, state ON, committedState ON, frameRateOverride , brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 0.5, hdrSdrRatio NaN, roundedCorners RoundedCorners{[RoundedCorner{position=TopLeft, radius=60, center=Point(60, 60)}, RoundedCorner{position=TopRight, radius=60, center=Point(1860, 60)}, RoundedCorner{position=BottomRight, radius=60, center=Point(1860, 1020)}, RoundedCorner{position=BottomLeft, radius=60, center=Point(60, 1020)}]}, FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION, FLAG_TRUSTED, installOrientation 0, displayShape DisplayShape{ spec=729782573 displayWidth=1920 displayHeight=1080 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}}
connecting Viture XR Pro glasses
12-08 15:46:10.852 1515 1973 I DisplayDeviceRepository: Display device added: DisplayDeviceInfo{“HDMI Screen”: uniqueId=“local:4615860159156968452”, 1920 x 1080, modeId 27, renderFrameRate 60.000004, defaultModeId 27, supportedModes [{id=27, width=1920, height=1080, fps=60.000004, alternativeRefreshRates=[90.0, 120.00001], supportedHdrTypes=[2, 3]}, {id=28, width=1920, height=1080, fps=120.00001, alternativeRefreshRates=[60.000004, 90.0], supportedHdrTypes=[2, 3]}, {id=29, width=1920, height=1080, fps=90.0, alternativeRefreshRates=[60.000004, 120.00001], supportedHdrTypes=[2, 3]}], colorMode 0, supportedColorModes [0], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[2, 3], mMaxLuminance=500.0, mMaxAverageLuminance=250.0, mMinLuminance=0.0}, allmSupported false, gameContentTypeSupported false, density 213, 304.8 x 274.32 dpi, appVsyncOff 1000000, presDeadline 16666666, cutout DisplayCutout{insets=Rect(0, 110 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(930, 0 - 990, 110), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1920 displayHeight=1080 physicalDisplayWidth=1920 physicalDisplayHeight=1080 density={3.0} cutoutSpec={M -30,0 L -30,110 L 30,110 L 30,0 Z} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, touch EXTERNAL, rotation 0, type EXTERNAL, address {port=4, model=0x400ed45bdf6ddc}, deviceProductInfo DeviceProductInfo{name=VITURE, manufacturerPnpId=CVT, productId=12594, modelYear=null, manufactureDate=ManufactureDate{week=32, year=2023}, connectionToSinkType=1}, state UNKNOWN, committedState UNKNOWN, frameRateOverride , brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 0.5, hdrSdrRatio NaN, roundedCorners RoundedCorners{[RoundedCorner{position=TopLeft, radius=60, center=Point(60, 60)}, RoundedCorner{position=TopRight, radius=60, center=Point(1860, 60)}, RoundedCorner{position=BottomRight, radius=60, center=Point(1860, 1020)}, RoundedCorner{position=BottomLeft, radius=60, center=Point(60, 1020)}]}, FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION, FLAG_TRUSTED, installOrientation 0, displayShape DisplayShape{ spec=729782573 displayWidth=1920 displayHeight=1080 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}}
12-08 15:46:10.858 1515 1973 I LogicalDisplayMapper: Adding new display: 10: DisplayInfo{“HDMI Screen”, displayId 10, displayGroupId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION, FLAG_TRUSTED, real 1920 x 1080, largest app 1920 x 1080, smallest app 1920 x 1080, appVsyncOff 1000000, presDeadline 16666666, mode 2760.000004, defaultMode 27, modes [{id=27, width=1920, height=1080, fps=60.000004, alternativeRefreshRates=[90.0, 120.00001], supportedHdrTypes=[2, 3]}, {id=28, width=1920, height=1080, fps=120.00001, alternativeRefreshRates=[60.000004, 90.0], supportedHdrTypes=[2, 3]}, {id=29, width=1920, height=1080, fps=90.0, alternativeRefreshRates=[60.000004, 120.00001], supportedHdrTypes=[2, 3]}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[2, 3], mMaxLuminance=500.0, mMaxAverageLuminance=250.0, mMinLuminance=0.0}, userDisabledHdrTypes , minimalPostProcessingSupported false, rotation 0, state UNKNOWN, committedState UNKNOWN, type EXTERNAL, uniqueId “local:4615860159156968452”, app 1920 x 1080, density 213 (304.8 x 274.32) dpi, layerStack 10, colorMode 0, supportedColorModes [0], address {port=4, model=0x400ed45bdf6ddc}, deviceProductInfo DeviceProductInfo{name=VITURE, manufacturerPnpId=CVT, productId=12594, modelYear=null, manufactureDate=ManufactureDate{week=32, year=2023}, connectionToSinkType=1}, removeMode 0, refreshRateOverride 0.0, brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 0.5, installOrientation ROTATION_0, layoutLimitedRefreshRate null, hdrSdrRatio not_available, thermalRefreshRateThrottling {}, thermalBrightnessThrottlingDataId default}
12-08 15:46:10.918 1515 1973 I DisplayDeviceRepository: Display device changed: DisplayDeviceInfo{“HDMI Screen”: uniqueId=“local:4615860159156968452”, 1920 x 1080, modeId 27, renderFrameRate 60.000004, defaultModeId 27, supportedModes [{id=27, width=1920, height=1080, fps=60.000004, alternativeRefreshRates=[90.0, 120.00001], supportedHdrTypes=[2, 3]}, {id=28, width=1920, height=1080, fps=120.00001, alternativeRefreshRates=[60.000004, 90.0], supportedHdrTypes=[2, 3]}, {id=29, width=1920, height=1080, fps=90.0, alternativeRefreshRates=[60.000004, 120.00001], supportedHdrTypes=[2, 3]}], colorMode 0, supportedColorModes [0], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[2, 3], mMaxLuminance=500.0, mMaxAverageLuminance=250.0, mMinLuminance=0.0}, allmSupported false, gameContentTypeSupported false, density 213, 304.8 x 274.32 dpi, appVsyncOff 1000000, presDeadline 16666666, cutout DisplayCutout{insets=Rect(0, 110 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(930, 0 - 990, 110), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]} cutoutPathParserInfo={CutoutPathParserInfo{displayWidth=1920 displayHeight=1080 physicalDisplayWidth=1920 physicalDisplayHeight=1080 density={3.0} cutoutSpec={M -30,0 L -30,110 L 30,110 L 30,0 Z} rotation={0} scale={1.0} physicalPixelDisplaySizeRatio={1.0}}}}, touch EXTERNAL, rotation 0, type EXTERNAL, address {port=4, model=0x400ed45bdf6ddc}, deviceProductInfo DeviceProductInfo{name=VITURE, manufacturerPnpId=CVT, productId=12594, modelYear=null, manufactureDate=ManufactureDate{week=32, year=2023}, connectionToSinkType=1}, state ON, committedState ON, frameRateOverride , brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 0.5, hdrSdrRatio NaN, roundedCorners RoundedCorners{[RoundedCorner{position=TopLeft, radius=60, center=Point(60, 60)}, RoundedCorner{position=TopRight, radius=60, center=Point(1860, 60)}, RoundedCorner{position=BottomRight, radius=60, center=Point(1860, 1020)}, RoundedCorner{position=BottomLeft, radius=60, center=Point(60, 1020)}]}, FLAG_ALLOWED_TO_BE_DEFAULT_DISPLAY, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION, FLAG_TRUSTED, installOrientation 0, displayShape DisplayShape{ spec=729782573 displayWidth=1920 displayHeight=1080 physicalPixelDisplaySizeRatio=1.0 rotation=0 offsetX=0 offsetY=0 scale=1.0}}
12-08 15:46:11.073 1515 1515 V MediaRouter: Selecting route: RouteInfo{ name=External Device, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=Display id 10: DisplayInfo{“HDMI Screen”, displayId 10, displayGroupId 0, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS, FLAG_PRESENTATION, FLAG_TRUSTED, real 1920 x 1080, largest app 1920 x 1856, smallest app 970 x 906, appVsyncOff 1000000, presDeadline 16666666, mode 2760.000004, defaultMode 27, modes [{id=27, width=1920, height=1080, fps=60.000004, alternativeRefreshRates=[90.0, 120.00001], supportedHdrTypes=[2, 3]}, {id=28, width=1920, height=1080, fps=120.00001, alternativeRefreshRates=[60.000004, 90.0], supportedHdrTypes=[2, 3]}, {id=29, width=1920, height=1080, fps=90.0, alternativeRefreshRates=[60.000004, 120.00001], supportedHdrTypes=[2, 3]}], hdrCapabilities HdrCapabilities{mSupportedHdrTypes=[2, 3], mMaxLuminance=500.0, mMaxAverageLuminance=250.0, mMinLuminance=0.0}, userDisabledHdrTypes , minimalPostProcessingSupported false, rotation 0, state ON, committedState ON, type EXTERNAL, uniqueId “local:4615860159156968452”, app 1920 x 906, density 213 (304.8 x 274.32) dpi, layerStack 10, colorMode 0, supportedColorModes [0], address {port=4, model=0x400ed45bdf6ddc}, deviceProductInfo DeviceProductInfo{name=VITURE, manufacturerPnpId=CVT, productId=12594, modelYear=null, manufactureDate=ManufactureDate{week=32, year=2023}, connectionToSinkType=1}, removeMode 0, refreshRateOverride 60.000004, brightnessMinimum 0.0, brightnessMaximum 1.0, brightnessDefault 0.5, installOrientation ROTATION_0, layoutLimitedRefreshRate null, hdrSdrRatio not_available, thermalRefreshRateThrottling {}, thermalBrightnessThrottlingDataId default}, DisplayMetrics{density=1.3312501, width=1920, height=906, scaledDensity=1.3312501, xdpi=304.8, ydpi=274.32}, isValid=true }
12-08 15:46:12.742 1515 2731 D UsbHostManager: USB device attached: vidpid 35ca:101d mfg/product/ver/serial VITURE Pro/VITURE Pro XR Glasses/2.00/2055368B4333 hasAudio/HID/Storage: false/true/false
12-08 15:46:12.746 1515 2731 D UsbHostManager: Added device UsbDevice[mName=/dev/bus/usb/002/002,mVendorId=13770,mProductId=4125,mClass=239,mSubclass=2,mProtocol=1,mManufacturerName=VITURE Pro,mProductName=VITURE Pro XR Glasses,mVersion=2.00,mSerialNumberReader=com.android.server.usb.UsbSerialReader@d7abae0, mHasAudioPlayback=false, mHasAudioCapture=false, mHasMidi=false, mHasVideoCapture=false, mHasVideoPlayback=false, mConfigurations=[
12-08 15:46:12.746 1515 2731 D UsbHostManager: UsbInterface[mId=2,mAlternateSetting=0,mName=VITURE Pro,mClass=2,mSubclass=2,mProtocol=1,mEndpoints=[
12-08 15:46:12.746 1515 2731 D UsbHostManager: UsbInterface[mId=3,mAlternateSetting=0,mName=VITURE Pro,mClass=10,mSubclass=2,mProtocol=0,mEndpoints=[
From these logs, it appears that the Viture XR Pro glasses are being recognized as a USB and DisplayPort Alt Mode device, but they are not successfully activating as an external display in some scenarios.