Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix monitor hotplug #285

Merged
merged 5 commits into from
Feb 20, 2024
Merged

Conversation

matt335672
Copy link
Member

This change doesn't delete outputs or CRT controllers when the
screen configuration changes. Instead, the outputs are disconnected.

This emulates the behaviour of other virtual X servers (e.e. tigervnc)
and prevents X applications from encountering BadRROutput or
BadRRCtrc errors.
The shared memory allocation has been reworked to make the monitor
resizing codepaths easier to follow.

This has resulted in one new input message, and one obsoleted one.
Makes sure the device is resized correctly when the monitor
configuration is changed
Caller can set the fram ack value to INT_MAX to ack all frames. If this
is done, we need to reset it after a capture to prevent the capture
being overwritten while being copied.
On a GFX resize, clear the CRC areas to ensure that a full frame
is transmitted when output restarts.

Also, rename rdpClientSetSharedMemoryParameters() as
rdpClientConResizeAllMemoryAreas() as this is more descriptive
of what the routime is actually doing.
@metalefty metalefty merged commit e9a85dd into neutrinolabs:devel Feb 20, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants