Project

General

Profile

Emulator Issues #8319

Blocking input code on X11

Added by degasus about 5 years ago. Updated over 1 year ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
Linux
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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

History

#1 Updated by magcius about 5 years ago

as long as you keep background input, you are going to have this.

there is no workaround.

#2 Updated by Billiard26 over 1 year 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?

#3 Updated by Billiard26 over 1 year ago

  • Status changed from Questionable to Fixed

Also available in: Atom PDF