Skip to content

Multithreading on xlibre #1284

@clhin

Description

@clhin

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageThis needs to be reviewed and categorized.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions