Open piyushyadav0191 opened 3 weeks ago
@vaxerski will have hard time finding the essence of this bug within this huge "xdph replacement" tutorial :D
@dr0bz True :joy:
I will still try and bisect because I like the way xdph allows you to pick region, windows, and screens regardless of this wlr fix
@dr0bz @deepanchal Should I close this issue?
I think we can leave it open for now till we can find a good and bad commit with bisect
I see multiple issues that look like this, but none of them have described the following:
Sharing the screen works if the program that starts the portal is on the screen which I want to share.
Sharing the screen does not work if I share a screen which does not contain the current active window.
Can anybody reproduce?
@spikespaz Yes, I have a similar behavior on my end. More details in my comment: https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/251#issuecomment-2317638899
Edit: In my case, if the window is on my primary monitor (0,0 coords) and I want to share my primary monitor, it works fine, however, if my window is on secondary monitor and I want to share my secondary monitor, it doesn't work for some reason
I can screenshare with wlr but not hyprland
Screen sharing shows this for me on Hyprland from pipewire:
@spikespaz Yes, I have a similar behavior on my end. More details in my comment: #251 (comment)
Edit: In my case, if the window is on my primary monitor (0,0 coords) and I want to share my primary monitor, it works fine, however, if my window is on secondary monitor and I want to share my secondary monitor, it doesn't work for some reason
I second this, here's a dump from attempting to start share on a different monitor.
I have the same issues, I'll just share my findings in hope it will help someone with debug. System: EndeavourOS x86_64 Method of installation: official arch repos When the problem started: when I installed Hyprland, but it was fixable until an update to 1.3.3
Setup: Lenovo ThinkPad T480s (20L7001HRT) 1 monitor (built-in panel) with 1.6 scaling Screen sharing testing is performed in Firefox 129.0.2 + google meet and https://mozilla.github.io/webrtc-landing/gum_test_aec.html
Some parts of my config:
monitor=eDP-1,2560x1440@60,0x0,1.6,bitdepth,10
env = XDG_CURRENT_DESKTOP,Hyprland
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
On version 1.3.2-2 + Hyprland 0.41.2-3:
Screen sharing works perfectly, but only with bitdepth,10
in monitor configuration.
Without this bit it's like this:
Failed attempts in screen sharing corresponds to the following error:
[screencopy/pipewire] Out of buffers
On version 1.3.3-x + Hyprland 0.42.0-x:
Screen sharing doesn't work even with bitdepth
fix.
The same error appears in the logs:
[screencopy/pipewire] Out of buffers
My "nuclear" script, that I always try when screen sharing fails:
#!/usr/bin/zsh
killall -e xdg-desktop-portal-hyprland
killall -e xdg-desktop-portal
systemctl restart --user pipewire.service
sleep 1
systemctl restart --user pipewire-pulse
sleep 1
/usr/lib/xdg-desktop-portal-hyprland &!
sleep 2
/usr/lib/xdg-desktop-portal &!
On version 1.3.2-2 + Hyprland 0.41.2-3: Screen sharing works perfectly, but only with
bitdepth,10
in monitor configuration. Without this bit it's like this:
This explains why I had bitdepth set again. I had to have it for a previous version of sharing and now I can't have it set to share in current version... If I remove bitdepth,10 I can screen share on the same monitor and any region, at least.
On version 1.3.2-2 + Hyprland 0.41.2-3: Screen sharing works perfectly, but only with bitdepth,10 in monitor configuration. Without this bit it's like this:
@dlussky or @khaneliman Do you know the commit hash for 1.3.2-2? I have xdph dev env setup. I will try it on my end with that commit hash when I get a chance
@deepanchal PKGINFO for the package I have installed right now (1.3.2-2, working sharing with bitdepth fix) has this lines:
pkgver = 1.3.2-2
pkgdesc = xdg-desktop-portal backend for hyprland
url = https://github.com/hyprwm/xdg-desktop-portal-hyprland
builddate = 1720876192
I assume all the hashes I've found nearby are from the actual package, not the source, but you can check the package here: https://archive.archlinux.org/packages/x/xdg-desktop-portal-hyprland/xdg-desktop-portal-hyprland-1.3.2-2-x86_64.pkg.tar.zst
So I guess that it's just the 1.3.2 tag (24be4a26f0706e456fca1b61b8c79f7486a9e86d)
*I'm not that well versed in Arch packages yet, sorry
@deepanchal Huh! I just did a little bit more testing, and it seems like it's not a xdg-desktop-portal-hyprland
regression, but hyprland
regression. I just tried the latest package for desktop-portal (1.3.3-2) with hyprland 0.41.2-3 and screensharing works perfectly. But after I updated hyprland to 0.42.0-2 it stopped working.
And I've found a new error in the logs:
<<< I start screensharing, and it's successfull the first time
[LOG] [toplevel] (activate) locks: 2
[LOG] [screencopy] New session:
[LOG] [screencopy] | /org/freedesktop/portal/desktop/request/1_14/webrtc_909764166
[LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_14/webrtc_session1060977253
[LOG] [screencopy] | appid:
[LOG] [screencopy] SelectSources:
[LOG] [screencopy] | /org/freedesktop/portal/desktop/request/1_14/webrtc858043722
[LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_14/webrtc_session1060977253
[LOG] [screencopy] | appid:
[LOG] [screencopy] option persist_mode to 1
[LOG] [screencopy] unused option multiple
[LOG] [screencopy] unused option types
[LOG] [screencopy] restore data invalid / missing, prompting
[LOG] execAndGet: WAYLAND_DISPLAY='wayland-1' QT_QPA_PLATFORM='wayland' XCURSOR_SIZE='32' HYPRLAND_INSTANCE_SIGNATURE='9a09eac79b85c846e3a865a9078a3f8ff65a9259_1725398683_950082741' XDPH_WINDOW_SHARING_LIST='<redacted>' hyprland-share-picker 2>&1
[LOG] [sc] Selection: /screen:eDP-1
[LOG] [screencopy] SHAREDATA returned selection 0
[LOG] [screencopy] Start:
[LOG] [screencopy] | /org/freedesktop/portal/desktop/request/1_14/webrtc1049093682
[LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_14/webrtc_session1060977253
[LOG] [screencopy] | appid:
[LOG] [screencopy] | parent_window:
[LOG] [pw] Building modifiers for dma
[LOG] [screencopy] Sharing initialized
[LOG] [pw] Building modifiers for dma
[LOG] [pw] Building modifiers for dma
[ERR] [pipewire] no buffer in enqueue <<<this is a new one, I wasn't seeing before
<<< at this point I stop the screensharing and then start it again
[LOG] [screencopy] Stream destroyed
[LOG] [screencopy] Session destroyed
[LOG] [toplevel] (deactivate) locks: 1
[LOG] [toplevel] (activate) locks: 2
[LOG] [screencopy] New session:
[LOG] [screencopy] | /org/freedesktop/portal/desktop/request/1_14/webrtc_1888130687
[LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_14/webrtc_session163999232
[LOG] [screencopy] | appid:
[LOG] [screencopy] SelectSources:
[LOG] [screencopy] | /org/freedesktop/portal/desktop/request/1_14/webrtc1979962182
[LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_14/webrtc_session163999232
[LOG] [screencopy] | appid:
[LOG] [screencopy] option persist_mode to 1
[LOG] [screencopy] unused option multiple
[LOG] [screencopy] unused option types
[LOG] [screencopy] restore data invalid / missing, prompting
[LOG] execAndGet: WAYLAND_DISPLAY='wayland-1' QT_QPA_PLATFORM='wayland' XCURSOR_SIZE='32' HYPRLAND_INSTANCE_SIGNATURE='9a09eac79b85c846e3a865a9078a3f8ff65a9259_1725398683_950082741' XDPH_WINDOW_SHARING_LIST='<redacted>' hyprland-share-picker 2>&1
[LOG] [sc] Selection: /screen:eDP-1
[LOG] [screencopy] SHAREDATA returned selection 0
[LOG] [screencopy] Start:
[LOG] [screencopy] | /org/freedesktop/portal/desktop/request/1_14/webrtc973095825
[LOG] [screencopy] | /org/freedesktop/portal/desktop/session/1_14/webrtc_session163999232
[LOG] [screencopy] | appid:
[LOG] [screencopy] | parent_window:
[LOG] [pw] Building modifiers for dma
[LOG] [screencopy] Sharing initialized
[LOG] [pw] Building modifiers for dma
[LOG] [pw] Building modifiers for dma
[LOG] [screencopy/pipewire] Out of buffers
<<< screen sharing fails the second time (blank screen)
I returned to the v0.42.0 tag, and everything is fine now
I've updated to latest git release for hyprland and xdph.
Overall experience was much better. On my setup regular screen share now works every time except in one reproducible use case:
I have two-monitor setup:
Steps:
Result: Screen share is being crashed.
Reproduced 100% with webrtc. On OBS it occasionally works.
If I start on monitor with scaling and select source on monitor without one - everything works just fine.
If both monitors have scaling factor 1 - everything works.
Reproduced only with initial screen with factor = 1
and source screen with factor != 1
At least it's workable and I can return to xdph 🥳
Additional info on my setup:
I've tried installing hyprland-git
and xdg-desktop-portal-hyprland-git
from AUR, and sharing doesn't work even for regions (with or without bitdepth fix). Also, there are no suspicious errors/messages in the portal log. Reverted to hyprland 0.41 and it's working again.
I'm on Arch, hyprland-git (v0.43.0-13-g155d4401), nvidia-open. The 10bit fix didn't work for me. But yesterday I found out how to reliably fix screensharing:
In this guide https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist, in step 6, you check if XDG is aware of what your compositor is, using the following command
< "/proc/$(pidof xdg-desktop-portal)/environ" tr '\0' '\n' | grep '^XDG_CURRENT_DESKTOP='
turns out that for me, it returned an empty variable. As soon as I set the variable and restarted the services using the following commands:
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland
systemctl --user restart pipewire pipewire.socket xdg-desktop-portal xdg-desktop-portal-hyprland
Screenshare works immediately and reliably for me. I even had this dbus-update-activation-environment command added to my Hyprland config, but the variable does not get set on boot. Perhaps Hyprland is executed after the services run, and thus the environment doesn't get set/updated?
P.S. the above guide is a wonderful collection of troubleshooting steps, and they can be applied to Hyprland setups as well.
< "/proc/$(pidof xdg-desktop-portal)/environ" tr '\0' '\n' | grep '^XDG_CURRENT_DESKTOP='
Mine was already set to Hyprland. Never worked.
@deepanchal xdp-Wlr is not working now!! Is it working in yours?
On the hyprland-git adding env = XDG_CURRENT_DESKTOP,Hyprland
fixes this issue
env = XDG_CURRENT_DESKTOP,Hyprland
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = dbus-update-activation-environment --systemd --all
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
and screen sharing works again
For me, XDG_CURRENT_DESKTOP
is already Hyprland
and screen sharing does not work.
I have not tried setting env =
, so I will try that and we can determine if this is an issue with Hyprland's environment handling. I think it is, because I know for a fact that my QT theme is set up correctly for NixOS but doesn't work with Hyprland. I think maybe nobody knows how systemd environment passing is supposed to work.
@deepanchal xdp-Wlr is not working now!! Is it working in yours?
I am still using xdp-wlr v0.7.1
with Hyprland v0.43.0
and my screensharing is working fine. I am not sure how hyprland is packaged in aur, but if you upgraded your hyprland to 0.43.0, maybe it added xdph back to your system and it's trying to use xdph instead of xdp-wlr for screensharing :man_shrugging:
I did that but didn't worked so Now I have moved to Endeavor Os because of this instability. I hoped that Maintainer will take a close look on this problem but no response from him either.
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland systemctl --user restart pipewire pipewire.socket xdg-desktop-portal xdg-desktop-portal-hyprland
I executed the commands, still didn't work 😔
@munim The first one is supposed to be in an exec_once
line in Hyprland's config, not run by you in a shell.
Is there a way to fix it?
in hyprland 0.43 screen sharing not working in zoom with xdp-wlr, but working in firefox google meet. xdph not working at all
Is there a way to fix it?
in hyprland 0.43 screen sharing not working in zoom with xdp-wlr, but working in firefox google meet. xdph not working at all
just downgrade to 0.42. Worked for me and a bunch of other people:
sudo pacman -U /var/cache/pacman/pkg/hyprland-0.42.0-2-x86_64.pkg.tar.zst
if you have the file in cache in the first place
Regression?
Yes
System Info and Version
System/Version info
```sh ble controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Picasso/Raven 2 [Radeon Vega Series / Radeon Vega Mobile Series] [1002:15d8] (rev c4) (prog-if 00 [VGA controller]) os-release: NAME="EndeavourOS" PRETTY_NAME="EndeavourOS" ID="endeavouros" ID_LIKE="arch" BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://endeavouros.com" DOCUMENTATION_URL="https://discovery.endeavouros.com" SUPPORT_URL="https://forum.endeavouros.com" BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation" PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2" LOGO="endeavouros" plugins: ======Config-Start====== Config File: /home/ranker/.config/hypr/hyprland.conf: Read Succeeded # ░▒▒▒░░░░░▓▓ ___________ # ░░▒▒▒░░░░░▓▓ //___________/ # ░░▒▒▒░░░░░▓▓ _ _ _ _ _____ # ░░▒▒░░░░░▓▓▓▓▓▓ | | | | | | | __/ # ░▒▒░░░░▓▓ ▓▓ | |_| | |_/ /| |___ # ░▒▒░░▓▓ ▓▓ \__ |____/ |____/ # ░▒▓▓ ▓▓ //____/ $scrPath = $HOME/.local/share/bin # set scripts path # █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ # █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ # See https://wiki.hyprland.org/Configuring/Monitors/ monitor=,preferred,auto,1,bitdepth,10 # █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█ # █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█ # See https://wiki.hyprland.org/Configuring/Keywords/ exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH exec-once = dbus-update-activation-environment --systemd --all # for XDPH exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps exec-once = waybar # launch the system bar exec-once = blueman-applet # systray app for Bluetooth exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media exec-once = nm-applet --indicator # systray app for Network/Wifi exec-once = dunst # start notification demon exec-once = wl-paste --type text --watch cliphist store # clipboard store text data exec-once = wl-paste --type image --watch cliphist store # clipboard store image data exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon exec-once = $scrPath/batterynotify.sh # battery notification # █▀▀ █▄░█ █░█ # ██▄ █░▀█ ▀▄▀ # See https://wiki.hyprland.org/Configuring/Environment-variables/ env = PATH,$PATH:$scrPath env = XDG_CURRENT_DESKTOP,Hyprland env = XDG_SESSION_TYPE,wayland env = XDG_SESSION_DESKTOP,Hyprland env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,qt6ct env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 env = QT_AUTO_SCREEN_SCALE_FACTOR,1 env = MOZ_ENABLE_WAYLAND,1 env = GDK_SCALE,1 # █ █▄░█ █▀█ █░█ ▀█▀ # █ █░▀█ █▀▀ █▄█ ░█░ # See https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = us follow_mouse = 1 touchpad { natural_scroll = no } sensitivity = 0 force_no_accel = 1 } # See https://wiki.hyprland.org/Configuring/Keywords/#executing device { name = epic mouse V1 sensitivity = -0.5 } # See https://wiki.hyprland.org/Configuring/Variables/ gestures { workspace_swipe = true workspace_swipe_fingers = 3 } # █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀ # █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█ # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ dwindle { pseudotile = yes preserve_split = yes } # See https://wiki.hyprland.org/Configuring/Master-Layout/ master { new_status = master } # █▀▄▀█ █ █▀ █▀▀ # █░▀░█ █ ▄█ █▄▄ # See https://wiki.hyprland.org/Configuring/Variables/ misc { vrr = 0 disable_hyprland_logo = true disable_splash_rendering = true force_default_wallpaper = 0 } xwayland { force_zero_scaling = true } # █▀ █▀█ █░█ █▀█ █▀▀ █▀▀ # ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄ source = ~/.config/hypr/animations.conf source = ~/.config/hypr/keybindings.conf source = ~/.config/hypr/windowrules.conf source = ~/.config/hypr/themes/common.conf # shared theme settings source = ~/.config/hypr/themes/theme.conf # theme specific settings source = ~/.config/hypr/themes/colors.conf # wallbash color override source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static # Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults Config File: /home/ranker/.config/hypr/animations.conf: Read Succeeded # ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█ # █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█ # See https://wiki.hyprland.org/Configuring/Animations/ animations { enabled = yes bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winOut, 0.3, -0.3, 0, 1 bezier = liner, 1, 1, 1, 1 animation = windows, 1, 6, wind, slide animation = windowsIn, 1, 6, winIn, slide animation = windowsOut, 1, 5, winOut, slide animation = windowsMove, 1, 5, wind, slide animation = border, 1, 1, liner animation = borderangle, 1, 30, liner, loop animation = fade, 1, 10, default animation = workspaces, 1, 5, wind } Config File: /home/ranker/.config/hypr/keybindings.conf: Read Succeeded # █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀ # █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█ # See https://wiki.hyprland.org/Configuring/Keywords/ # & https://wiki.hyprland.org/Configuring/Binds/ # Main modifier $mainMod = Super # super / meta / windows key # Assign apps $term = kitty $editor = code $file = dolphin $browser = firefox # Window/Session actions bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window bind = $mainMod, Delete, exit, # kill hyprland session bind = $mainMod, W, togglefloating, # toggle the window between focus and float bind = $mainMod, G, togglegroup, # toggle the window between focus and group bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen bind = $mainMod, L, exec, swaylock # launch lock screen bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar # Application shortcuts bind = $mainMod, T, exec, $term # launch terminal emulator bind = $mainMod, E, exec, $file # launch file manager bind = $mainMod, C, exec, $editor # launch text editor bind = $mainMod, F, exec, $browser # launch web browser bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top) # Rofi menus bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer # Audio control bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume # Media control bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause bindl = , XF86AudioNext, exec, playerctl next # media next bindl = , XF86AudioPrev, exec, playerctl previous # media previous # Brightness control bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness # Move between grouped windows bind = $mainMod CTRL , H, changegroupactive, b bind = $mainMod CTRL , L, changegroupactive, f # Screenshot/Screencapture bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen) bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture # Custom scripts bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint # Move/Change window focus bind = $mainMod, Left, movefocus, l bind = $mainMod, Right, movefocus, r bind = $mainMod, Up, movefocus, u bind = $mainMod, Down, movefocus, d bind = Alt, Tab, movefocus, d # Switch workspaces bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 # Switch workspaces to a relative workspace bind = $mainMod+Ctrl, Right, workspace, r+1 bind = $mainMod+Ctrl, Left, workspace, r-1 # Move to the first empty workspace bind = $mainMod+Ctrl, Down, workspace, empty # Resize windows binde = $mainMod+Shift, Right, resizeactive, 30 0 binde = $mainMod+Shift, Left, resizeactive, -30 0 binde = $mainMod+Shift, Up, resizeactive, 0 -30 binde = $mainMod+Shift, Down, resizeactive, 0 30 # Move focused window to a workspace bind = $mainMod+Shift, 1, movetoworkspace, 1 bind = $mainMod+Shift, 2, movetoworkspace, 2 bind = $mainMod+Shift, 3, movetoworkspace, 3 bind = $mainMod+Shift, 4, movetoworkspace, 4 bind = $mainMod+Shift, 5, movetoworkspace, 5 bind = $mainMod+Shift, 6, movetoworkspace, 6 bind = $mainMod+Shift, 7, movetoworkspace, 7 bind = $mainMod+Shift, 8, movetoworkspace, 8 bind = $mainMod+Shift, 9, movetoworkspace, 9 bind = $mainMod+Shift, 0, movetoworkspace, 10 # Move focused window to a relative workspace bind = $mainMod+Ctrl+Alt, Right, movetoworkspace, r+1 bind = $mainMod+Ctrl+Alt, Left, movetoworkspace, r-1 # Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓] $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive binded = $mainMod SHIFT $CONTROL, left,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l binded = $mainMod SHIFT $CONTROL, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r binded = $mainMod SHIFT $CONTROL, up,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u binded = $mainMod SHIFT $CONTROL, down,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d # Scroll through existing workspaces bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/Resize focused window bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, Z, movewindow bindm = $mainMod, X, resizewindow # Move/Switch to special workspace (scratchpad) bind = $mainMod+Alt, S, movetoworkspacesilent, special bind = $mainMod, S, togglespecialworkspace, # Toggle focused window split bind = $mainMod, J, togglesplit # Move focused window to a workspace silently bind = $mainMod+Alt, 1, movetoworkspacesilent, 1 bind = $mainMod+Alt, 2, movetoworkspacesilent, 2 bind = $mainMod+Alt, 3, movetoworkspacesilent, 3 bind = $mainMod+Alt, 4, movetoworkspacesilent, 4 bind = $mainMod+Alt, 5, movetoworkspacesilent, 5 bind = $mainMod+Alt, 6, movetoworkspacesilent, 6 bind = $mainMod+Alt, 7, movetoworkspacesilent, 7 bind = $mainMod+Alt, 8, movetoworkspacesilent, 8 bind = $mainMod+Alt, 9, movetoworkspacesilent, 9 bind = $mainMod+Alt, 0, movetoworkspacesilent, 10 Config File: /home/ranker/.config/hypr/windowrules.conf: Read Succeeded # █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█ █▀█ █░█ █░░ █▀▀ █▀ # ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀ █▀▄ █▄█ █▄▄ ██▄ ▄█ # See https://wiki.hyprland.org/Configuring/Window-Rules/ windowrulev2 = opacity 0.90 0.90,class:^(firefox)$ windowrulev2 = opacity 0.90 0.90,class:^(Brave-browser)$ windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$ windowrulev2 = opacity 0.80 0.80,class:^(Code)$ windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$ windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$ windowrulev2 = opacity 0.80 0.80,class:^(kitty)$ windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$ windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$ windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$ windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$ windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$ windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$ windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$ windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$ windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$ windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$ windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$ windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$ windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$ windowrulev2 = opacity 0.70 0.70,class:^(steamwebhelper)$ windowrulev2 = opacity 0.70 0.70,class:^(Spotify)$ windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Free)$ windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$ windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$ windowrulev2 = float,title:^(About Mozilla Firefox)$ windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ windowrulev2 = float,class:^(firefox)$,title:^(Library)$ windowrulev2 = float,class:^(kitty)$,title:^(top)$ windowrulev2 = float,class:^(kitty)$,title:^(btop)$ windowrulev2 = float,class:^(kitty)$,title:^(htop)$ windowrulev2 = float,class:^(vlc)$ windowrulev2 = float,class:^(kvantummanager)$ windowrulev2 = float,class:^(qt5ct)$ windowrulev2 = float,class:^(qt6ct)$ windowrulev2 = float,class:^(nwg-look)$ windowrulev2 = float,class:^(org.kde.ark)$ windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$ windowrulev2 = float,class:^(blueman-manager)$ windowrulev2 = float,class:^(nm-applet)$ windowrulev2 = float,class:^(nm-connection-editor)$ windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$ windowrulev2 = float,class:^(Signal)$ # Signal-Gtk windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk # █░░ ▄▀█ █▄█ █▀▀ █▀█ █▀█ █░█ █░░ █▀▀ █▀ # █▄▄ █▀█ ░█░ ██▄ █▀▄ █▀▄ █▄█ █▄▄ ██▄ ▄█ layerrule = blur,rofi layerrule = ignorezero,rofi layerrule = blur,notifications layerrule = ignorezero,notifications layerrule = blur,swaync-notification-window layerrule = ignorezero,swaync-notification-window layerrule = blur,swaync-control-center layerrule = ignorezero,swaync-control-center layerrule = blur,logout_dialog Config File: /home/ranker/.config/hypr/themes/common.conf: Read Succeeded # █▀▀ █░█ █▀█ █▀ █▀█ █▀█ # █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄ exec = hyprctl setcursor Bibata-Modern-Ice 20 exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice' exec = gsettings set org.gnome.desktop.interface cursor-size 20 # █▀▀ █▀█ █▄░█ ▀█▀ # █▀░ █▄█ █░▀█ ░█░ exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10' exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9' exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba' exec = gsettings set org.gnome.desktop.interface font-hinting 'full' # █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░ # ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄ decoration { dim_special = 0.3 blur { special = true } } Config File: /home/ranker/.config/hypr/themes/theme.conf: Read Succeeded exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-green' exec = gsettings set org.gnome.desktop.interface gtk-theme 'Decay-Green' exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' general { gaps_in = 3 gaps_out = 8 border_size = 2 col.active_border = rgba(90ceaaff) rgba(ecd3a0ff) 45deg col.inactive_border = rgba(86aaeccc) rgba(93cee9cc) 45deg layout = dwindle resize_on_border = true } group { col.border_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg col.border_inactive = rgba(86aaeccc) rgba(93cee9cc) 45deg col.border_locked_active = rgba(90ceaaff) rgba(ecd3a0ff) 45deg col.border_locked_inactive = rgba(86aaeccc) rgba(93cee9cc) 45deg } decoration { rounding = 10 drop_shadow = false blur { enabled = yes size = 5 passes = 4 new_optimizations = on ignore_opacity = on xray = false } } layerrule = unset,waybar Config File: /home/ranker/.config/hypr/themes/colors.conf: Read Succeeded Config File: /home/ranker/.config/hypr/monitors.conf: Read Succeeded # █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀ # █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█ # Set your monitor configuration here # See https://wiki.hyprland.org/Configuring/Monitors/ # For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2 Config File: /home/ranker/.config/hypr/userprefs.conf: Read Succeeded # █░█ █▀ █▀▀ █▀█ █▀█ █▀█ █▀▀ █▀▀ █▀ # █▄█ ▄█ ██▄ █▀▄ █▀▀ █▀▄ ██▄ █▀░ ▄█ # Set your personal hyprland configuration here # For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2 ======Config-End======== ```Description
Screensharing used to work but it's not working now even after enabling bitdepth 10 and followed https://gist.github.com/brunoanc/2dea6ddf6974ba4e5d26c3139ffb7580 still not working
How to reproduce
Google meet screen share
Crash reports, logs, images, videos
After screensharing, screen share button gets disabled