mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 10:03:23 +09:00
- the archive freeze rule goes with the directory - code comments lose citations to the removed notes
22 lines
1.5 KiB
Bash
22 lines
1.5 KiB
Bash
#!/bin/bash
|
|
# mgrun <surface: offscreen|server> <command...> - (container, as root) run one MobileGL client as the
|
|
# desktop user inside the running Plasma session. Installed as /usr/local/bin/mgrun (push-tools.sh).
|
|
# mgrun offscreen glmark2-es2-wayland -s 1280x720 # Wayland client, presents through KWin
|
|
# mgrun offscreen eglinfo -B ; mgrun offscreen glxinfo -B # glxinfo goes through Xwayland + GLX vendor
|
|
# "server" is only for a client that owns the Android Surface itself (KWin does); everything else is
|
|
# offscreen. MobileGL is the container's system-wide vendor, so nothing selects it here: EGL comes from
|
|
# /usr/share/glvnd/egl_vendor.d/10_mobilegl.json, transport/endpoint from /etc/mobilegl/client.conf,
|
|
# the backend from /etc/mobilegl/backend (must match the server), and the GLX vendor name / GBM backend
|
|
# from /etc/profile.d/mobilegl.sh (sourced by the login shell below). Client log:
|
|
# ${MGLOG:-/tmp/mgl-run.log} -> the library writes /tmp/mgl-run.client.log (truncated per run; give
|
|
# concurrent clients different MGLOG values). Env: MGLOG, DESKTOP_USER (swung0x48).
|
|
S=$1; shift
|
|
DU=${DESKTOP_USER:-swung0x48}
|
|
U=$(id -u "$DU")
|
|
cd /tmp
|
|
exec sudo -u "$DU" env XDG_RUNTIME_DIR=/run/user/$U WAYLAND_DISPLAY=wayland-0 DISPLAY=:0 \
|
|
XAUTHORITY=$(ls /run/user/$U/xauth_* 2>/dev/null | head -1) \
|
|
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$U/bus QT_QPA_PLATFORM=wayland \
|
|
MOBILEGL_IPC_SURFACE=$S MOBILEGL_LOG_FILE_PATH=${MGLOG:-/tmp/mgl-run.log} \
|
|
bash -lc 'exec "$@"' mgrun "$@"
|