-
-
Notifications
You must be signed in to change notification settings - Fork 589
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
frame opacity doesn't work with experimental xrender backend #342
Comments
ok, i'll post additional info and screenshots when i'll be at home. could it be a driver issue since it's xrender, not glx? |
@mighty9245 my screenshot is from xrender. |
@yshui, hey, can you please test with opaque terminal? i mean you probably have terminal background opacity configured somewhere. what if you make terminal background opaque? |
@mighty9245
still works. |
weird... well, that's what i have you can see how the picom was launched and the results: two instances of kitty have background_opacity set to 1.0 (which means opaque background) and the third one has background_opacity set to 0.95 (which means barely transparent) but in this case frame opacity applied correctly and i can see background through it. the same issue persists for all opaque windows (e. g. browser) specs: also reproducible on amd r9 380 (amdgpu driver) do you need anything else? |
@mighty9245 and the glx background doesn't have this problem? |
@yshui, yeah, running the same command but setting backed to glx works just fine, every window got it's transparent frame. |
@yshui, hey, i think i know what the problem is. if window doesn't have any transparent parts it has 24bit depth, adding transparent parts to it (e. g. changing background opacity in terminal) changes it's depth to 32bit. as a workaround i changed xrender's copy method to set visual to 0x1b3 and depth to 32 for every image it creates and the issue is gone. however, i don't know how to fix this in a decent way. also idk if problem is really in depth or in visual, because changing depth without changing visual causes picture creation failure. i think they are tied. |
I think you are right. |
Force a 32-bit ARGB visual when cloning pixmaps for `IMAGE_OP_APPLY_ALPHA`. Fixes non-transparent frames for 24-bit windows (without alpha-channel) even when using `frame-opacity != 1`. fixes: yshui#342
Force a 32-bit ARGB visual when cloning pixmaps for `IMAGE_OP_APPLY_ALPHA`. Fixes non-transparent frames for 24-bit windows (without alpha-channel) even when using `frame-opacity != 1`. fixes: yshui#342
Force a 32-bit ARGB visual when cloning pixmaps for `IMAGE_OP_APPLY_ALPHA`. Fixes non-transparent frames for 24-bit windows (without alpha-channel) even when using `frame-opacity != 1`. fixes: yshui#342
Force a 32-bit ARGB visual when cloning pixmaps for `IMAGE_OP_APPLY_ALPHA`. Fixes non-transparent frames for 24-bit windows (without alpha-channel) even when using `frame-opacity != 1`. fixes: yshui#342
Force a 32-bit ARGB visual when cloning pixmaps for `IMAGE_OP_APPLY_ALPHA`. Fixes non-transparent frames for 24-bit windows (without alpha-channel) even when using `frame-opacity != 1`. fixes: yshui#342
picom built from last commit
picom --experimental-backends --backend xrender --frame-opacity 0.5
frame changes it's color but there is no opacity
hmu if you can't reproduce this and need additional info on my setup
The text was updated successfully, but these errors were encountered: