-
-
Notifications
You must be signed in to change notification settings - Fork 177
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
Downscaled shadow monitor window contains "background garbage" #2903
Comments
2020-10-16 12:39:38: stdedos uploaded file
|
SHOCKING NEWS 😱 I found a solution to hiding that tasteless gray area that works like a broken xerox. If I use the scaleup shortcut, the scaled down window will now fill the whole area (original viewport + gray area). There may be an initialization error (or race condition?) on the code that controls the viewport and the shadow window size. I would also be interested on "what on earth" is that gray area, and why does it "work" like that (i.e. capturing the last pixels that were projected on it). With scaling started at 75%, it goes to 100% and then down to 67%. |
The padding area is meant to be re-painted with either white or black, depending on whether the window is transparent or not. |
OpenGL is always off because Intel 4000 HD (can't find the exact name, no open xpra window mentions it anywhere) |
…ame value as base for video downscaling
FYI: First thing of interest in the log, lots of:
This means that xpra tried to use a video encoder, failed and then used a picture codec instead. This is a waste of time and makes the server re-evaluate all the possible video pipelines for every single screen update! (only to fail because the best one is the same.. the failing one) So the version of ffmpeg in Ubuntu Focal has Then I noticed the screen updates are getting downscaled, but not by the same amount used on the client side:
a437a9e fixes that - it will now be a multiple of whatever scaling value the client is using. Is this to force authentication again when an xpra client connects?
I assume that this a Finally, wrt to
Are you saying that going through these specific values does something that |
Yes but, at that state, it's neither. Bug or feaure? 😕 Can you forcefully limit the application at the constraints it requests, and then explicitly fill the rest with a color? black? use the majority of the color that touches the borders (i.e. for gnome-terminal and Ubuntu: purple)?
I have it
I'll try to get a ffmpeg ppa installed with >=4.3, and see what happens.
I didn't try to start with 2/3, because I wanted 75% 😛 |
Bug.
Window geometry is hard.
That is exactly what is meant to happen already.
It is doable with OpenGL and
Don't. That may break things further. (reminder: 4.4 is required, 4.3 won't work) |
Solid advice as, the only available PPA (https://launchpad.net/~savoury1/+archive/ubuntu/ffmpeg4) managed to block vp[89] codecs from being used
and managed to silently crash the xpra server of my main session (no logs, no cores, no nothing) continuously. Luckily, not the one of my side session. |
I think I have seen the problem.
So the "padding" ends up being pixels in the backing we never populate since they do not exist on the server side. |
Sounds like memzero is what it should be done before/instead memcpy 😕 |
That was already the case, as I said:
The problem actually came from how cairo copies the old backing to the new resized one. The commit above fixes that. I'm still not 100% happy with how GTK sends us so many window resize events for just a single maximization... but whatever. |
Sorry about that 😕 I was thinking pure C rather than an API above it.
I don't know how that translates in-code; however, I think I literally see it live - and it's so annoying. |
The garbage has disappeared 😀 |
It seems that, after all, the problem I was focusing with this seems to be with initialization: whether scaling is at 2/3 or 0.75, the screen window is initialized by xpra as if there's no scaling at all. Tinkering with scaling (and/or passing through a non-scaling state) seems to alleviate the aforementioned problem. |
This fix may (finally) explain this bug: 28cd217. |
I think (part of) this was #3140 - which is now resolved 😀 |
Issue migrated from trac ticket # 2903
component: client | priority: minor
2020-10-16 10:00:45: stdedos created the issue
The text was updated successfully, but these errors were encountered: