XQZ Enabler
A minimal Android app that enables the Sony XQZ-IV01 Vlog Monitor by sending the vendor heartbeat, then lets the phone's built-in secondary-display mirroring show the screen on it. No MediaProjection, Sony code, or audio routing.
Confirmed on a Galaxy S23 (One UI, DeX auto-start off): the monitor mirrors the Samsung Camera app, scaled/letterboxed to 1280×720.
Features
- Requests USB permission for the monitor's control device (
054c:0e48). - Claims its vendor interface and sends
showevery 400 ms from a foreground service (the DP sink disappears after 1 s without it). - Auto-reconnects when the monitor is replugged while the service is running.
- Quick Settings tile: add “XQZ monitor” for one-tap start/stop.
- Notification with a Stop action; 4-hour partial wake lock.
- Sends
stopon teardown; logsflip/ACKs to logcat (XQZEnabler).
Not included: audio input, FLIP handling, MediaProjection, or DeX control.
Install
XQZEnabler.apk is release-signed (version 1.0). If you already installed the
earlier 0.1 spike, uninstall it first — the signing key changed.
adb install -r XQZEnabler.apk
Or transfer the APK to the phone. If Samsung Auto Blocker blocks it, allow installs for the file manager or temporarily disable Auto Blocker.
Use
- On the S23, turn off DeX auto-start: Settings → Connected devices → Samsung DeX → “Auto start when HDMI is connected” = off.
- Turn the monitor's screen switch ON, then connect the XQZ-IV01 to the phone with its USB-C cable.
- Open XQZ Enabler, tap Start, allow USB access.
- Open the Samsung Camera app. The monitor should show a scaled/letterboxed mirror of the phone screen.
- Optional: add the XQZ monitor Quick Settings tile for one-tap toggling.
If DeX starts instead of mirroring, switch to Screen mirroring from the notification, or turn off DeX auto-start and reconnect.
Troubleshooting
- Black camera preview only: the camera app is using a secure window. The next step would be a MediaProjection mirror or a custom Camera2 preview.
- No display: check that
showis running (app status / notification) and that the monitor's screen switch is on. - Monitor replugged but not enabled: if Android dropped the USB permission, open XQZ Enabler and tap Start to grant it again.
Build
Requires Android SDK platform 35 and build-tools 35.0.0 at $ANDROID_HOME
(default ~/Android/Sdk):
./build.sh
The APK is written to ./XQZEnabler.apk.
Signing: release.keystore is local and gitignored. The committed APK is signed
with it. Keep that file to sign future updates that install over this build; if
it is missing, build.sh generates a new key and the resulting APK will not
update over the committed one.
Source layout:
src/ee/wut/xqz/enabler/MainActivity.java— UI, USB permission, start/stop.src/ee/wut/xqz/enabler/HeartbeatService.java— USB claim, 400 msshow, reconnect handling, notification/wake lock.src/ee/wut/xqz/enabler/MonitorTileService.java— Quick Settings tile.