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
chromium flashes translucent for a while; xpra crashes #3410
Comments
Can you reproduce the problem with
Crashes are "good" in that gdb should be able to tell us what's wrong. Which chromium is this? ie: How do I install it? |
A crash dump analyzed briefly by The problem became rather more peculiar, due to seeing in this coredump that crash occurs in a video codec. I am able to cause crashes on demand by invoking
I wanted to experiment with video encodings to see if I could alter the behavior, but unfortunately none of the "help" invocations work:
Nonetheless I tried Oh, look: Using These machines are all maintained in absolute lockstep in terms of their RPM complements: The laptop was generated in F35 first and then its filesystems were carried to other machines with changes only for hostname, IP address, VPN config, and fstab. So the only consequential differences are in the video/graphics hardware supported in each. |
Thanks!
It isn't lying! Try a mode! ie: xpra attach --encoding=help The encodings are different depending on whether you run a server (eg:
That's still a server bug: no invalid capability should ever be able to trigger a codec crash.
Yes. Looking at your coredump, the problem is unfortunately obvious once again:
vaapi is so brittle that I regret ever enabling it by default, even after restricting it to newer versions / kernels in 55be7e7. The temporary workaround is really simple: xpra start --video-encoders=all,-ffmpeg ... This should also work:
The next version will have it disabled by default, as it should have always been. |
Harumph.
nvidia 2070 has no vaapi support at all? Am I missing a necessary lib? |
Ugh. I'll fix those ugly warnings.
NVidia 2070 has nvenc support, which is much better / faster than vaapi. And more importantly, it is stable. |
Regret to inform you... Running without vaapi is fine -- no crash -- but chromium is still doing the translucent flash thing in the absence of |
Using With Perhaps you can identify the screen updates that cause this flickering? |
I don't know if or how much it matters, but I'm using I haven't had to do anything specific. Start it (and being configured to resume from where I last quit, it re-opens the 2 tabs I typically keep there), and watch it begin to flash. |
I've just tried Does it happen if you open it with a blank static page? (ie: the google search page) |
xpra-blank-page.mp4It flashes the portion according to the boundary of the window behind itself, plus the tab bar. |
How odd! I just remembered something similar: #1438 (comment) If that's the case, turning off (or on?) opengl client acceleration may resolve the issue if the problem is client side: the non-opengl renderer always goes via RGB. It could also be something quirky like the premultiplied alpha getting unpremultiplied twice, though that's far less likely. |
Using Specifically: |
I tried all of |
It is a server flag. xpra control :73 debug enable compress
These messages go in the server log.
Damn. |
server.log Watching the flashing again, I was wrong earlier: It is flashing the entire browser window, not just the portion of the immediately-behind window. Unrelated: Not sure why there are complaints of inability to forward sound. I have yet to try to use sound in any way within xpra. |
From your log:
It's trying to setup a pipeline for I see a mix of |
new.log The pattern, as I watched from another terminal, tail'ing server.log and watching the browser flicker, is that translucence happens during the many entries of I tried
|
Just for giggles, I tried removing |
I am still unable to reproduce any problems on my test systems. That said, the commits above fix two issues that could have an impact:
The problem with this is that When I run a browser in xpra and use
And the xpra server does pick it up:
Which means that the server correctly discards the alpha channel and we can see
Somehow, it looks like on your system one of these steps isn't working and you end up with an alpha channel. Did you try turning opengl on or off in the client to see if that helps with the flickering? Rant: the opaque region stuff uses an X11 window property, which has no replacement in Wayland... so that's going to get worse as they gradually remove X11 features to even things out with Wayland and claim (lack of) feature partity.
It is enabled by default and you should turn it off if you're not using it as it uses CPU and bandwidth. |
I expect this will make you unhappy:
The browser is 18, which I know because I just restarted it and did I had neglected to experiment with So far, I think that makes either |
This should also work:
Ah! So it's probably a case of alpha channel being discarded.
Or the fixes above. (new beta builds are on the way) |
I believe that the changes above were in r30805 or later, server side. There were no client-side fixes.
FYI:
It's probably using I've just tried it in a Fedora 35 VM and altough the opaque region attribute is present when running in Xwayland, it is missing when running in xpra. I was hoping that 4ec525a would help but it doesn't. (it also doesn't show up on Fedora 34 at all - not even in a plain X11 session..) That said, I'm still not seeing any transparency issues client side. Perhaps it is an OpenGL rendering problem? Then there's also another problem with |
There are yet more problems on Fedora 35:
|
Yesterday was too busy to look at this. Back at it now.
OK, now running 4.4-r30818 everywhere and have done server And the browser no longer flickers. Yay? Is this a final fix? Or is this an intermediate code test configuration? Client's If the current degraded state of Wayland continues, I will stay with X11 essentially forever. If Wayland's failures begin to infect X11, I don't know what I'll do. Maybe retain old copies of relevant RPMs, and hand-install and -maintain them in newer systems? |
Excellent.
"If it works, ship it!" (tm)
No, this is now the default: b3c7c87
I don't think so, vaapi is just very brittle, with all cards. Just look at the screen sideways and it will crash.
That's already happening via GTK. Let's close this ticket since all the issues are fixed. Thank you very much for your help! |
Once again, regret to mention, but my browser flashing problem is back with a vengeance. |
This commit should help with that: e2d606d |
Appears to be a good heuristic:
|
Started a couple terminals, a couple widgets, and chromium.
Chromium flashes translucent irregularly, exposing the content of the terminal behind itself.
Sometimes it stops and stays steady for a while, then later resumes translucent flashing.
Eventually xpra crashes. But the underlying dummy X server continues.
To Reproduce
ssh pinkchip xpra start :27 --start-child=mate-terminal
xpra attach ssh://pinkchip/27
-rw-r-----+ 1 root root 43087375 Jan 4 15:14 /var/lib/systemd/coredump/core.\x2fusr\x2fbin\x2fxpra\x20s.5271.24a5c5b9cb654d519acab75c3aaf8493.528495.1641327282000000.zst
System Information (please complete the following information):
F35 and 4.4-10.r30771 at both ends
xpra.mp4
The text was updated successfully, but these errors were encountered: