Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Linux X11/Xvfb: auto-sample cursor telemetry when ScreenCast METADATA is unavailable

未關閉
#1,415 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

@Jasonsu22 已經在處理了。

開始於 2026年10月28日。

  • #1 來自 @Jasonsu22 —— 未關閉
  • #1416 來自 @Jasonsu22 —— 未關閉

評估

難度
5/5
預估耗時
一週以上
新手友好度
25/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
electron, linux, typescript

研究方向

Start by reading the existing openscreen record --cursor editable-overlay and openscreen export --auto-zoom paths, then inspect the fork implementation linked in the issue. Determine how X11 pointer samples can produce the v2 sidecar when ScreenCast METADATA is unavailable, and confirm the schema with maintainers; done means automatic sampling and sidecar output work on the described X11 setup.

由索引模型根據 Issue 內容生成。

描述

Summary

On some Linux cloud-agent desktops (X11 + Xvfb), the xdg-desktop-portal ScreenCast interface reports empty source/cursor modes (AvailableSourceTypes=0 / no METADATA cursor mode). OpenScreen’s live editable-cursor capture therefore cannot write a .cursor.json sidecar even though the screen can still be recorded and the pointer can be sampled separately.

Agents can still:

  1. Record with ffmpeg x11grab (draw_mouse off) or OpenScreen’s non-METADATA path
  2. Sample pointer positions + clicks (Electron screen.getCursorScreenPoint(), xdotool / xev / xinput / libinput)
  3. Drive openscreen export --auto-zoom from a v2 <video>.mp4.cursor.json sidecar

We implemented an automatic fallback on our fork and would like to contribute it upstream.

Environment (repro host)
Item Value
Host Grok Bot cloud Linux box (grok-bot-vm-316768464)
Kernel Linux 6.12.94+ x86_64
OS Debian GNU/Linux 13 (trixie)
CPU / RAM 8 vCPU / ~15 GiB
Session X11 on DISPLAY=:2 (Xvfb 1920x1200x24 + Mutter/GNOME pieces)
Wayland No
Portal xdg-desktop-portal (+ gnome/gtk) present; ScreenCast reports no usable METADATA cursor mode (AvailableSourceTypes=0 / empty cursor modes in practice; CreateSession / editable capture fails)
GPU Mesa llvmpipe (software Vulkan/GL); OpenScreen export falls back to CPU
OpenScreen Linux AppImage 2.1.2
PipeWire Present (pipewire + wireplumber)
Pointer tools xdotool, xev available
Proposed behavior

When ScreenCast METADATA cursor capture is unavailable on X11:

  • Automatically sample the pointer during record
  • Write <recording>.mp4.cursor.json (v2: timeMs, normalized cx/cy, move|click|mouseup) next to the video
  • So openscreen export --auto-zoom needs no manual import

Optional CLI for external ffmpeg tracks: openscreen cursor import --csv … --clicks … --video …

Env knobs: OPENSCREEN_DISABLE_X11_CURSOR=1, OPENSCREEN_FORCE_X11_CURSOR=1

Workaround today (without the PR)

ffmpeg x11grab + CSV/clicks → converter → sidecar → openscreen export --auto-zoom

Ask
  1. Accept auto X11 sampling when METADATA is missing (primary path for agent hosts)
  2. Document the sidecar / optional CLI import path
  3. Confirm preferred schema fields beyond { version: 2, samples: [...] }

Happy to adjust the PR to maintainer preference.

Related
主要語言
TypeScript
星號
3.7k
分支
231
平均合併
15 小時 10 分鐘
30 天內合併 PR
324

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

getopenscreen/openscreen 的其他 Issue

查看 getopenscreen/openscreen 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。