Proposed Patches Would Let Linux GPU Drivers More Easily Know When User Input Occurs

Why should the Linux Direct Rendering Manager drivers be looking out for user-initiated input events? Ultimately it's about speculatively trying to reduce latency. If the system has been idle but an input event just occurred, chances are there will be text or a portion of the rendered display changing.
Due to the power-savings Panel Self Refresh (PSR) on modern laptops potentially taking "10s of milliseconds" with some hardware to exit the power-reducing mode, knowing user-initiated input is taking place can -- at the driver's choosing -- proactively exit the mode. Similarly, for some GPUs with very low power-savings modes or where portions of the chip are even turned off while idle, it may take some time to fully power on the graphics processor. So in modes like this, the drivers could opt into this proposed input helper library to know about the system receiving new input events and decide to proactively wake up the GPU or exit any power-savings modes in order to provide a more responsive user experience.
Android and Chrome OS already employ similar functionality. The patches posted this week would introduce a new "drm_input_helper" library for display and GPU-related input watching. The patches then wire up support for input-boosted Panel Self Refresh exiting. See this patch series if curious about the proposed functionality.
11 Comments