-
-
Notifications
You must be signed in to change notification settings - Fork 175
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
xpra desktop has psychotic update habits in a local terminal #4319
Comments
What the heck. The embedded video can't be played? I opened the bug report specifically to have a rendezvous point to show that video. As I see it, the video is entirely greyed out, no controls are active to my mouse. |
Use |
I haven't looked at the video yet but from your description, this sounds an awful lot like #4201 |
Just to be clear... |
Both. It should be listed as a server-driven option, meaning that the client cannot enable encodings that the server has not enabled. |
I still have my 36439 build available, and installed that; the problem does not occur with 36439. So whatever has happened has been after 36439 and up to 36448 -- I hope that can help you determine where the cause is. |
Re-installed 36448, can confirm Also, I can't quantify or document this exactly, but I have an impression that, only in 36448, moving windows within the desktop, i.e. any of the several terminal windows there, is ... jerky. The windows don't move smoothly, they jump several pixels at a time as I grab a title bar and they are moved from one spot on the desktop to another. No idea if this is related. |
@karlkleinpaste is 0cac56a enough to make things mostly work again? Looking at the recent opengl commits, eddc282 is the only other commit that is suspicious. |
I just rebuilt 36472 and restarted that desktop. Unfortunately, the moment I open the first local terminal and start writing commands, it's leaving behind garbage visual traces. The white blocks at the end of "noRecall" and beneath "Last login" should not be there, being apparent incomplete remnants of the block cursor that was briefly there. As I do other random activity in the terminal, garbage spots like this clear themselves up, but they come back irregularly. This is without opengl=no, of course. |
Assuming that the revision scripts work exactly the same way on your systems as they do on mine: Obtained by running: git checkout eddc282c348b3c4bb5bae00588eb3d32b6dd66b6
rm xpra/src_info.py
./fs/bin/add_build_info.py | grep REVISION Looking at these 9 commits, the only drawing related entries are: |
OK, so I managed to reproduce some very strange behaviour by using desktop scaling, and this allowed me to bisect #4324 (comment) - leading back to #2467, which is nowhere near the commits above... but, the same fix also worked for #4201 |
I'll get to it later today. |
I think we're there. I'm not using |
Unfortunately, I am still seeing occasional issues where the opengl renderer gets wedged. :( Reproduced by just running |
there are many different types of scaling.. the ones that matter here are: * the "scale factor" given to us by the opengl backend, which usually comes from the OS and converts from the GTK window geometry to the actual geometry used on-screen, * the ratio between the backing's size and the render size, this is normally set using the desktop-scaling option I have no idea why we need to call glClear only when scaling, but not doing so produces garbage in the window, despite glBlitFramebuffer coming afterwards and covering the same area..
Well, that turned out to be a nightmare and I still don't know why the fix was needed: 775d435 (the geometry fixes aren't actually important since we always use double-buffered visuals and those always paint the whole window - so although the arguments were the wrong ones, the result was not) |
there are many different types of scaling.. the ones that matter here are: * the "scale factor" given to us by the opengl backend, which usually comes from the OS and converts from the GTK window geometry to the actual geometry used on-screen, * the ratio between the backing's size and the render size, this is normally set using the desktop-scaling option I have no idea why we need to call glClear only when scaling, but not doing so produces garbage in the window, despite glBlitFramebuffer coming afterwards and covering the same area..
Large local xpra desktop, managed by fvwm, within which I maintain a bunch of terminals for this and several other machines, where I do things like sysadmin tasks together.
Within that desktop, I have xpra-driven terminals for the other machines, but a local terminal started out of fvwm menus. So the terminal, on its own, has no special display properties that it wouldn't have if it were displayed on the native desktop.
Activity on that terminal shows deeply aberrant redisplay of old content as I perform routine tasks, in this case, a
dnf update
download. Attached .mp4 shows what happens.Entirely fedora39 36448. Entirely local, no remote access.
XPRA_LOG_PREFIX=[minor:28] xpra start-desktop :28 --attach=no --resize-display=5112x1362 --start-child=vfvwm
XPRA_LOG_PREFIX=[minor:28] xpra attach :28 --border=turquoise,2
Do stuff in the terminal. It will mis-"remember" old content. As the
dnf
command works, content that was in the terminal from an early point keeps coming back up. When the command ends, the final state is again garbage, but when I hit a fewEnter
keys, it suddenly reverts to the state that it should and does actually have.Apologies for the fuzzy video; github wouldn't accept the 12Mbyte original, so I downsized with with
ffmpeg -vf "scale=iw/2:ih/2"
.xpra-desktop-terminal-insane-half-size.mp4
The text was updated successfully, but these errors were encountered: