taj-ny / kwin-effects-forceblur

Blur any window on KDE Plasma 6
GNU General Public License v3.0
107 stars 7 forks source link

Won't show up in Desktop Effects #22

Closed kawazoe closed 3 months ago

kawazoe commented 3 months ago

I tried installing the AUR package and it doesn't appear in the Desktop Effects even after a reboot.

It looks like the files are in the right location, and I'm getting this warning in journalctl so I'm assuming the plugin is getting loaded:

win_wayland[4528]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kwin/effects/plugins/forceblur.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed

EDIT: I just noticed it is showing up in the list of "unsuported effects". I'm running KDE 6.0.2 on wayland. Here's the output from the infocenter wayland Window Manager section:

KWin Support Information:
The following information should be used when requesting support on e.g. https://discuss.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like https://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 6.0.2
Qt Version: 6.6.2
Qt compile version: 6.6.2
XCB compile version: 1.16.1

Operation Mode: Xwayland

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes
HAVE_GLX: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 12302004
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.kwin.aurorae
Theme: __aurorae__svg__Sweet-Dark-transparent
Plugin recommends border size: No
onAllDesktopsAvailable: false
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 5, 4, 3
decorationButtonsRight: 
borderSize: 3
gridUnit: 10
font: Fira Sans,10,-1,5,700,0,0,0,0,0,0,0,0,0,0,1,Bold
smallSpacing: 2
largeSpacing: 10

Output backend
==============
Name: DRM
Atomic Mode Setting on GPU 0: true

Cursor
======
themeName: Sweet-cursors
themeSize: 24

Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
activeMouseScreen: true
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: false
focusStealingPreventionLevel: 1
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateRaiseAndPassClick
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: true
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: AutoSwapStrategy
glPlatformInterface: 2
windowsBlockCompositing: true
allowTearing: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
timeThreshold: 75
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Active screen follows mouse:  yes
Number of Screens: 3

Screen 0:
---------
Name: DP-1
Enabled: 1
Geometry: 3072,0,3072x1728
Scale: 1.25
Refresh Rate: 59997
Adaptive Sync: incapable
Screen 1:
---------
Name: DP-2
Enabled: 1
Geometry: 6144,0,3072x1728
Scale: 1.25
Refresh Rate: 59997
Adaptive Sync: incapable
Screen 2:
---------
Name: DP-3
Enabled: 1
Geometry: 0,0,3072x1728
Scale: 1.25
Refresh Rate: 59997
Adaptive Sync: incapable

Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 17.0.6, DRM 3.57, 6.8.1-zen1-1-zen)
OpenGL version string: 4.6 (Core Profile) Mesa 24.0.2-arch1.2
OpenGL platform interface: EGL
OpenGL shading language version string: 4.60
Driver: Unknown
GPU class: Unknown
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 24.0.2
X server version: 1.23.2
Linux kernel version: 6.8.1
Direct rendering: Requires strict binding: no
Virtual Machine:  no
OpenGL 2 Shaders are used

Loaded Effects:
---------------
screenshot
outputlocator
colorpicker
zoom
screenedge
contrast
sessionquit
logout
login
slidingpopups
windowaperture
slide
magiclamp
squash
scale
morphingpopups
maximize
fullscreen
frozenapp
fadingpopups
dialogparent
windowview
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
screentransform
kscreen

Currently Active Effects:
-------------------------
contrast

Effect Settings:
----------------
screenshot:

outputlocator:

colorpicker:

zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
focusTrackingEnabled: false
textCaretTrackingEnabled: false
focusDelay: 350
moveFactor: 20
targetZoom: 1

screenedge:

contrast:

sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false

logout:
pluginId: logout
isActiveFullScreenEffect: false

login:
pluginId: login
isActiveFullScreenEffect: false

slidingpopups:
slideInDuration: 150
slideOutDuration: 250

windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false

slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true

magiclamp:

squash:
pluginId: squash
isActiveFullScreenEffect: false

scale:
pluginId: scale
isActiveFullScreenEffect: false

morphingpopups:
pluginId: morphingpopups
isActiveFullScreenEffect: false

maximize:
pluginId: maximize
isActiveFullScreenEffect: false

fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false

frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false

fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false

dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false

windowview:
activeView: 
delegate: 
animationDuration: 300
layout: 1
ignoreMinimized: false
mode: 
partialActivationFactor: 0
gestureInProgress: false
searchText: 
selectedIds: 

tileseditor:
activeView: 
delegate: 
animationDuration: 200

overview:
activeView: 
delegate: 
animationDuration: 300
layout: 1
ignoreMinimized: false
filterWindows: true
organizedGrid: true
overviewPartialActivationFactor: 0
overviewGestureInProgress: false
transitionPartialActivationFactor: 0
transitionGestureInProgress: false
gridPartialActivationFactor: 0
gridGestureInProgress: false
desktopOffset: 
searchText: 

highlightwindow:

blendchanges:

startupfeedback:
type: 1

screentransform:

kscreen:

Loaded Plugins:
---------------
BounceKeysPlugin
StickyKeysPlugin
buttonsrebind
krunnerintegration
nightcolor
screencast

Available Plugins:
------------------
BounceKeysPlugin
StickyKeysPlugin
buttonsrebind
krunnerintegration
nightcolor
screencast
taj-ny commented 3 months ago

Works for me on Plasma 6.0.2. Does the stock blur effect also not show up when you exclude unsupported effects?

kawazoe commented 3 months ago

No, the stock blur is supported and works as expected.

taj-ny commented 3 months ago

I have no idea what could be the cause. I tested it on a fresh Arch installation in a VM and it worked. Maybe there's an issue with the KWin config? Rename ~/.config/kwinrc to something else and log out.

If that doesn't work, try building the develop branch. I made it so that BlurEffect::supported() always returns true.

EDIT: What happens if you just enable the effect even though it's unsupported? Does it work?

kawazoe commented 3 months ago

EDIT: What happens if you just enable the effect even though it's unsupported? Does it work?

Nah, nothing happens, though I can go into the config panel and change settings.

The dev build works just fine too. I wanted to check into the supported function. I'm not setup to debug C++ so I tried to use qCWarning to log the return value of the three function calls you do in the supported() method, but I can't see them in journalctl. Where do I need to go to check those logs?

EDIT: Scratch that... It looks like my new build isn't getting loaded without restaring the plasma workspace. I'll get back to you once I get that working.

EDIT2: Ok, I did not expect that:

kwin_wayland[7626]: kwin_effect_forceblur: GLFramebuffer::blitSupported() ->  true
kwin_wayland[7626]: kwin_effect_forceblur: GLFramebuffer::supported() ->  true
kwin_wayland[7626]: kwin_effect_forceblur: effects->isOpenGLCompositing() ->  true

And that build works.

Could there be an issue with the AUR package?

taj-ny commented 3 months ago

Try the AUR package again, maybe it was just necessary to rebuild the effect due to some package updates (if you updated the system after installing it). Make sure to force a rebuild, otherwise the package manager may just install the already built version.

kawazoe commented 3 months ago

Welp... Ok, I just learned a few things <_<

I'm on Garuda, which uses chaotic-aur. I don't know why I never noticed, by I was installing your package from the chaotic-aur repo instead of building it locally. Forcing paru to use the AUR package with paru -Sa kwin-effects-forceblur gives me a build error:

==> ERROR: Cannot find the debugedit binary required for including source files in debug packages.
error: failed to build 'kwin-effects-forceblur-1.1.1-2':
error: packages failed to build: kwin-effects-forceblur-1.1.1-2

Obviously I have all of the dependencies listed in the PKGBUILD, and I can build it manually. My best guess is that there's something wrong with the PKGBUILD, maybe some missing dependency that chaotic has by default on an older version in the container image they use to build packages. This could explain why they have a valid build, but it doesn't actually work when you install it.

Installing debugedit makes the AUR build pass, and the resulting package is working as expected.

D3SOX commented 3 months ago

@kawazoe It is an issue on your side. You need to have base-devel installed to build packages

Also if you don't know this: You have to rebuild any compiled package (for example with paru -S --rebuild) if you update a dependency from the repos. That's just how Arch works. A way to get notified of this is to use https://github.com/maximbaz/rebuild-detector

taj-ny commented 3 months ago

Looks like the Chaotic-AUR package was built for Plasma 6.0.1, so that's probably why it doesn't work. https://builds.garudalinux.org/repos/chaotic-aur/logs/kwin-effects-forceblur.log