mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-03-31 17:17:16 +09:00
Prefer drm cursor over x11 on x11, to fix correct position and size when x11 output is scaled
This commit is contained in:
@@ -94,9 +94,9 @@ void for_each_active_monitor_output_x11_not_cached(Display *display, active_moni
|
||||
if(out_info && out_info->crtc && out_info->connection == RR_Connected) {
|
||||
XRRCrtcInfo *crt_info = XRRGetCrtcInfo(display, screen_res, out_info->crtc);
|
||||
if(crt_info && crt_info->mode) {
|
||||
// We want to use the current mode info width/height instead of crtc info width/height becuase crtc info is scaled if the monitor is scaled
|
||||
// (xrandr --output DP-1 --scale 1.5). Normally this is not an issue for x11 applications, but gpu screen recorder captures the drm framebuffer
|
||||
// instead of x11 api. This drm framebuffer which doesn't increase in size when using xrandr scaling.
|
||||
// We want to use the current mode info width/height (mode_info->width/height) instead of crtc info width/height (crt_info->width/height) because crtc info
|
||||
// is scaled if the monitor is scaled (xrandr --output DP-1 --scale 1.5). Normally this is not an issue for x11 applications,
|
||||
// but gpu screen recorder captures the drm framebuffer instead of x11 api. This drm framebuffer which doesn't increase in size when using xrandr scaling.
|
||||
// Maybe a better option would be to get the drm crtc size instead.
|
||||
const XRRModeInfo *mode_info = get_mode_info(screen_res, crt_info->mode);
|
||||
if(mode_info && out_info->nameLen < (int)sizeof(display_name)) {
|
||||
|
||||
Reference in New Issue
Block a user