-
Notifications
You must be signed in to change notification settings - Fork 196
Description
Describe the feature
Implement X11 multithreading to allow for multiple threads to conduct operations.
It should be implemented because
Large processes can hang the system if not taken care of properly, Artem Tashkinov writes how this causes problems, saying "Certain applications running intensive graphical operations can easily freeze your desktop (a simple easily reproducible example: run Adobe Photoshop 7.0 under Wine, open a big enough image and apply a sophisticated filter - see your graphical session die completely until Photoshop finishes its operation)." A modern display system should probably have at least one thread for input and one for drawing objects on screen.
What are the alternatives?
You could either do fork + exec, which would explode resource use of x11, or you could do nothing and continue asking the user to deal with it.
Additional context
I do not know enough about the x11 codebase to make statements about implementation, so I will have to study it more, but I do think that if namespaces are encapsulating the clients, we could default to making all programs have their own namespace to allow for better resource control so less locking is needed.
Extra fields
- I have checked the existing issues
- I have read the Contributing Guidelines
- I'd like to work on this issue