obs-vkcapture
obs-vkcapture copied to clipboard
[X11] My cursor is not captured in game
Describe the bug
Cursor not captured in game. In either Factorio (through Steam) or Minecraft (through PrismLauncher).
I didn't try any other game yet. They both show properly in OBS but with no cursor.
System (please complete the following information):
- OS: Linux Mint 22.2
- GPU: NVIDIA 3080Ti
- Mesa version: How to check?
- obs-vkcapture version: Commit
65c83d0ba3e8d554684aad83975372b7c507753b(Wed Sep 17 17:34:51 2025 +0200)
OBS log:
13:02:42.123: Using EGL/X11
13:02:42.123: CPU Name: AMD Ryzen 9 7950X 16-Core Processor
13:02:42.123: CPU Speed: 4938.433MHz
13:02:42.123: Physical Cores: 16, Logical Cores: 32
13:02:42.123: Physical Memory: 31222MB Total, 9272MB Free
13:02:42.124: Kernel Version: Linux 6.8.0-87-generic
13:02:42.124: Distribution: "Linux Mint" "22.2"
13:02:42.124: Desktop Environment: X-Cinnamon (cinnamon)
13:02:42.124: Session Type: x11
13:02:42.124: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
13:02:42.125: Qt Version: 6.4.2 (runtime), 6.4.2 (compiled)
13:02:42.125: Portable mode: false
13:02:42.161: OBS 30.0.2.1-3build1 (linux)
13:02:42.161: ---------------------------------
13:02:42.166: ---------------------------------
13:02:42.166: audio settings reset:
13:02:42.166: samples per sec: 48000
13:02:42.166: speakers: 2
13:02:42.166: max buffering: 960 milliseconds
13:02:42.166: buffering type: dynamically increasing
13:02:42.167: ---------------------------------
13:02:42.167: Initializing OpenGL...
13:02:42.315: Loading up OpenGL on adapter NVIDIA Corporation NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2
13:02:42.315: OpenGL loaded successfully, version 3.3.0 NVIDIA 580.95.05, shading language 3.30 NVIDIA via Cg compiler
13:02:42.333: ---------------------------------
13:02:42.333: video settings reset:
13:02:42.333: base resolution: 2560x1440
13:02:42.333: output resolution: 1920x1080
13:02:42.333: downscale filter: Bicubic
13:02:42.333: fps: 60/1
13:02:42.333: format: NV12
13:02:42.333: YUV mode: Rec. 709/Partial
13:02:42.333: NV12 texture support not available
13:02:42.333: P010 texture support not available
13:02:42.369: Audio monitoring device:
13:02:42.369: name: Default
13:02:42.369: id: default
13:02:42.369: ---------------------------------
13:02:42.378: Failed to load 'en-US' text for module: 'decklink-captions.so'
13:02:42.385: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
13:02:42.393: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
13:02:42.393: Failed to initialize module 'decklink.so'
13:02:42.459: [pipewire] No captures available
13:02:42.485: [linux-vkcapture] plugin loaded successfully (version 1.5.3)
13:02:42.528: NVENC supported
13:02:42.528: VAAPI: Failed to initialize display in vaapi_device_h264_supported
13:02:42.563: VAAPI: API version 1.20
13:02:42.564: FFmpeg VAAPI H264 encoding supported
13:02:42.564: VAAPI: Failed to initialize display in vaapi_device_hevc_supported
13:02:42.571: FFmpeg VAAPI HEVC encoding supported
13:02:42.611: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.3.4 | RPC Version: 1)
13:02:42.611: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.4.2 | Qt version (run-time): 6.4.2
13:02:42.611: [obs-websocket] [obs_module_load] Linked ASIO Version: 102801
13:02:42.615: [obs-websocket] [obs_module_load] Module loaded.
13:02:42.651: [vlc-video]: VLC 3.0.20 Vetinari found, VLC video source enabled
13:02:42.651: ---------------------------------
13:02:42.651: Loaded Modules:
13:02:42.651: vlc-video.so
13:02:42.651: text-freetype2.so
13:02:42.651: rtmp-services.so
13:02:42.651: obs-x264.so
13:02:42.651: obs-websocket.so
13:02:42.651: obs-transitions.so
13:02:42.651: obs-outputs.so
13:02:42.651: obs-filters.so
13:02:42.651: obs-ffmpeg.so
13:02:42.651: linux-vkcapture.so
13:02:42.651: linux-v4l2.so
13:02:42.651: linux-pulseaudio.so
13:02:42.651: linux-pipewire.so
13:02:42.651: linux-jack.so
13:02:42.651: linux-capture.so
13:02:42.651: linux-alsa.so
13:02:42.651: image-source.so
13:02:42.651: frontend-tools.so
13:02:42.651: decklink-output-ui.so
13:02:42.651: decklink-captions.so
13:02:42.651: ---------------------------------
13:02:42.651: [obs-websocket] [obs_module_post_load] WebSocket server is enabled, starting...
13:02:42.652: [obs-websocket] [WebSocketServer::Start] Not locked to IPv4 bindings
13:02:42.652: [obs-websocket] [WebSocketServer::ServerRunner] IO thread started.
13:02:42.654: [obs-websocket] [WebSocketServer::Start] Server started successfully on port 4455. Possible connect address: 127.0.0.1
13:02:42.655: QWidget::setTabOrder: 'first' and 'second' must be in the same window
13:02:42.655: ==== Startup complete ===============================================
13:02:42.699: All scene data cleared
13:02:42.700: ------------------------------------------------
13:02:42.703: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.5) 15.0.0'
13:02:42.703: pulse-input: Audio format: s24le, 48000 Hz, 2 channels
13:02:42.703: pulse-input: Sample format s24le not supported by OBS,using float32le instead for recording
13:02:42.703: pulse-input: Started recording from 'alsa_input.usb-Generic_USB_Audio-00.HiFi_7_1__hw_Audio_2__source' (default)
13:02:42.703: [Loaded global audio device]: 'Mic/Aux'
13:02:42.703: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.5) 15.0.0'
13:02:42.703: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
13:02:42.703: pulse-input: Started recording from 'discord_sink.monitor'
13:02:42.703: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.5) 15.0.0'
13:02:42.703: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
13:02:42.703: pulse-input: Started recording from 'game_sink.monitor'
13:02:42.704: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.5) 15.0.0'
13:02:42.704: pulse-input: Audio format: float32le, 48000 Hz, 2 channels
13:02:42.704: pulse-input: Started recording from 'default_sink.monitor' (default)
13:02:42.704: v4l2-input: Start capture from /dev/v4l/by-id/usb-046d_HD_Pro_Webcam_C920_95780FAF-video-index0
13:02:42.765: v4l2-input: Input: 0
13:02:42.769: v4l2-input: Resolution: 640x480
13:02:42.769: v4l2-input: Pixelformat: YUYV
13:02:42.769: v4l2-input: Linesize: 1280 Bytes
13:02:42.769: v4l2-input: Framerate: 30.00 fps
13:02:42.769: v4l2-input: /dev/v4l/by-id/usb-046d_HD_Pro_Webcam_C920_95780FAF-video-index0: select timeout set to 166666 (5x frame periods)
13:02:42.772: Switched to scene 'Main'
13:02:42.772: ------------------------------------------------
13:02:42.772: Loaded scenes:
13:02:42.772: - scene 'Main':
13:02:42.772: - source: 'Audio' (group)
13:02:42.772: - source: 'Audio - Discord' (pulse_output_capture)
13:02:42.772: - source: 'Audio - Game' (pulse_output_capture)
13:02:42.772: - source: 'Audio - Misc' (pulse_output_capture)
13:02:42.772: - source: 'Game Capture' (vkcapture-source)
13:02:42.772: - source: 'Camera' (v4l2_input)
13:02:42.772: ------------------------------------------------
13:02:43.297: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Audio - Misc)
13:02:43.297:
13:02:49.206: adding 64 milliseconds of audio buffering, total audio buffering is now 85 milliseconds (source: Audio - Game)
Game log:
Paste game terminal output here.
Make sure to set OBS_VKCAPTURE_QUIET=0 environment variable.
It's a Steam game, I not sure how to launch it through the terminal.