Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
None
-
6.9.0
-
None
-
- Arch Linux with Wayland/SwayWM
- OBS-Studio 31.0.3
QT:
- qt6-5compat 6.9.0-1
- qt6-base 6.9.0-2
- qt6-declarative 6.9.0-2
- qt6-graphs 6.9.0-1
- qt6-location 6.9.0-1
- qt6-multimedia 6.9.0-1
- qt6-multimedia-ffmpeg 6.9.0-1
- qt6-networkauth 6.9.0-1
- qt6-positioning 6.9.0-1
- qt6-quick3d 6.9.0-1
- qt6-quicktimeline 6.9.0-1
- qt6-scxml 6.9.0-1
- qt6-sensors 6.9.0-1
- qt6-serialbus 6.9.0-1
- qt6-serialport 6.9.0-1
- qt6-shadertools 6.9.0-1
- qt6-svg 6.9.0-1
- qt6-tools 6.9.0-2
- qt6-translations 6.9.0-1
- qt6-virtualkeyboard 6.9.0-1
- qt6-wayland 6.9.0-2
- qt6-webchannel 6.9.0-1
- qt6-webengine 6.9.0-7
- qt6-websockets 6.9.0-1
```
% swaymsg -t get_seats
Seat: tablet0
Capabilities: 5
Devices:
Wacom HID 5115 Finger
Wacom HID 5115 Pen
Seat: seat0
Capabilities: 3
Devices:
Logitech MX Master 2S
Logitech MX Master 2S
Logitech MX Keys
Logitech MX Keys
SONiX USB DEVICE Keyboard
SONiX USB DEVICE Keyboard
SONiX USB DEVICE
ThinkPad Extra Buttons
AT Translated Set 2 keyboard
Intel HID 5 button array
Intel HID events
Intel Virtual Switches
Intel Virtual Buttons
PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2
PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2
PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2
PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2
PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2
Sleep Button
Lid Switch
Power Button
Video Bus
```- Arch Linux with Wayland/SwayWM - OBS-Studio 31.0.3 QT: - qt6-5compat 6.9.0-1 - qt6-base 6.9.0-2 - qt6-declarative 6.9.0-2 - qt6-graphs 6.9.0-1 - qt6-location 6.9.0-1 - qt6-multimedia 6.9.0-1 - qt6-multimedia-ffmpeg 6.9.0-1 - qt6-networkauth 6.9.0-1 - qt6-positioning 6.9.0-1 - qt6-quick3d 6.9.0-1 - qt6-quicktimeline 6.9.0-1 - qt6-scxml 6.9.0-1 - qt6-sensors 6.9.0-1 - qt6-serialbus 6.9.0-1 - qt6-serialport 6.9.0-1 - qt6-shadertools 6.9.0-1 - qt6-svg 6.9.0-1 - qt6-tools 6.9.0-2 - qt6-translations 6.9.0-1 - qt6-virtualkeyboard 6.9.0-1 - qt6-wayland 6.9.0-2 - qt6-webchannel 6.9.0-1 - qt6-webengine 6.9.0-7 - qt6-websockets 6.9.0-1 ``` % swaymsg -t get_seats Seat: tablet0 Capabilities: 5 Devices: Wacom HID 5115 Finger Wacom HID 5115 Pen Seat: seat0 Capabilities: 3 Devices: Logitech MX Master 2S Logitech MX Master 2S Logitech MX Keys Logitech MX Keys SONiX USB DEVICE Keyboard SONiX USB DEVICE Keyboard SONiX USB DEVICE ThinkPad Extra Buttons AT Translated Set 2 keyboard Intel HID 5 button array Intel HID events Intel Virtual Switches Intel Virtual Buttons PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 PRIMAX ThinkPad X1 Tablet Thin Keyboard Gen 2 Sleep Button Lid Switch Power Button Video Bus ```
-
-
Linux/Wayland
Description
Hi,
I ran into this problem recently while trying to stream from a system with a Wacom graphics tablet connected and was able to reproduce it on a Thinkpad X1 Tablet Gen 2.
Right after starting it, OBS crashes with a following error:
wl_seat#56: error 0: wl_seat.get_keyboard called when no keyboard capability has existed
warning: The Wayland connection experienced a fatal error: Protocol error
and the OBS-people send me here, since this is apparently a QT issue according to them.
I've so far been unable to get more information, if you need anything, I'll help as best as I can.
How to reproduce:
On wayland/swaywm (wlroots based compositors):
1. Create a additional seat for touch/tablet input that does not have a keyboard attached
This shows that I have only 2 devices attached to the second seat, none of them are a keyboard (touch and tablet_tool):
% swaymsg -t get_seats --raw [12:09:09]
[
{
"name": "tablet0",
"capabilities": 5,
"focus": 13,
"devices": [
{
"identifier": "1386:20757:Wacom_HID_5115_Finger",
"name": "Wacom HID 5115 Finger",
"type": "touch",
"libinput":Unknown macro: { "send_events"},
"vendor": 1386,
"product": 20757
},
{
"identifier": "1386:20757:Wacom_HID_5115_Pen",
"name": "Wacom HID 5115 Pen",
"type": "tablet_tool",
"libinput":Unknown macro: { "send_events"},
"vendor": 1386,
"product": 20757
}
]
},
{
"name": "seat0",
"capabilities": 3,
"focus": 7,
"devices": [
{ ...
2. Try to start OBS
Workaround
I can get OBS to start by removing the second seat and attaching touch and pen input to `seat0`, but that is really annoying to work with since it will constantly warp my normal pointer back to the graphics tablet with every touch of the pen.
Solution?
Is it possible to listen on all available seats or look for a seat with a keyboard attached?
Thank you!