Currently the only way to match the resolution between the target device and the deviced used to access it and achieve pixel parity is to set the same resolution on both and use full-screen. E.g. I am accessing a Mac M4 Mini using a Windows PC, the Windows PC is using a 1440p monitor. When i set the EDID to 1440p and use full-screen, I get a nice and sharp image.
However, sometimes I want to have the Mac desktop in a smaller window on my Windows PC desktop, so I set the EDID to a 1080p resolution. This should now make the remote window smaller, so that it uses 1920x1080 pixels out of the 2560x1440 pixels on my native monitor.
What it does instead, is zoom it to whatever size the browser window currently has, or zoom it to full screen, so that 1080p content is stretched to 1440p size, resulting in poor image quality.
There should be an option to force it to use the native resolution and don't scale, regardless of the client window size. And that should actually default to be on, because who wants blurry images?
When that option is enabled: If the remote feed is smaller, just make it use a smaller area within its window. If it is bigger, show scroll bars.
This is exactly my problem as well.
I can have a better picture quality when I detach the video from the main browser window, however, I lose all the mouse and keyboard actions on it.
IMHO the ideal would be to set window size to EDID size and NOT resize the content.
Another very annoying issue is that if I manage to set let's say the horizontal 1920 size when I increase the height of the browser window, the whole picture scales!.
So, all in all, I don't want scaling. I want to set the size, I would expect the KVM to advertise this size to the remote PC and present me with a fixed size, no scale at all.
I'm surprised there still isn't a response from staff. I took a minute to look at the page source that was controlling this.
Below is a very basic script that can be added in Tampermonkey to stop the video from scaling up past 100%. It will however scale down if the window is too small to avoid cutting off if you have the flyout menu enabled.
Honestly it would be really nice to see this as the default behavior. It doesn't make sense to scale a window larger than 100% of its size.
// ==UserScript==
// @name Comet KVM viewport scaling fix
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Adjust stream window styles and remove bg-default class
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Disable scaling above 100%
const style = document.createElement('style');
style.textContent = `
div#stream-window.stream-window-inited {
text-align: center !important;
}
#stream-window #stream-box {
width: auto !important;
height: auto !important;
}
`;
document.head.appendChild(style);
// Remove the white background from the video
const observer = new MutationObserver(() => {
const streamWindow = document.getElementById('stream-window');
if (streamWindow) {
streamWindow.classList.remove('bg-default');
}
});
observer.observe(document.body, { childList: true, subtree: true });
})();