Emulator Issues #8319
closedBlocking input code on X11
0%
Description
Our input code on linux has some blocking X11 calls in the hot path (on the cpu thread). This can waste lots of cpu ressources while eg the GPU is busy.
There should an event loop on an input thread which recieves this kind of data for us.
Example stack trace:
#0 0x00007f8d9b7914ed in poll () from /usr/lib/libc.so.6
#1 0x00007f8d93eff9f2 in ?? () from /usr/lib/libxcb.so.1
#2 0x00007f8d93f012ff in ?? () from /usr/lib/libxcb.so.1
#3 0x00007f8d93f01411 in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#4 0x00007f8d9a8687c7 in _XReply () from /usr/lib/libX11.so.6
#5 0x00007f8d9a85e701 in XQueryKeymap () from /usr/lib/libX11.so.6
#6 0x00000000007c7e98 in ciface::Xlib::KeyboardMouse::UpdateInput (this=0x3a3bf90)
at ../Source/Core/InputCommon/ControllerInterface/Xlib/Xlib.cpp:54
#7 0x00000000007c07bd in ControllerInterface::UpdateInput (
this=0x1770fc0 <g_controller_interface>)
at ../Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp:143
#8 0x000000000060961d in SystemTimers::UpdateInputCallback (
userdata=<optimized out>, cyclesLate=1)
at ../Source/Core/Core/HW/SystemTimers.cpp:140
Updated by magcius almost 10 years ago
as long as you keep background input, you are going to have this.
there is no workaround.
Updated by Billiard26 almost 6 years ago
- Status changed from Accepted to Questionable
- Operating system Linux added
- Operating system deleted (
N/A)
The old Xlib input backend is gone and has been replaced with "X Input Extension 2.0".
I'm guessing this has been fixed as a result?
Updated by Billiard26 almost 6 years ago
- Status changed from Questionable to Fixed