Open haras-unicorn opened 5 months ago
same issue for me on Ubuntu with Wayland
Not sure if this will help you, but it worked for me. I have the same setup as you.
https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/99#issuecomment-1731390092
also, https://www.reddit.com/r/hyprland/comments/16p6iyj/screen_sharing_nvidia_wayland_a_heads_up/
you need to add to your hyprland monitor config bitdepth,10
at the end.
Not sure if this will help you, but it worked for me. I have the same setup as you.
hyprwm/xdg-desktop-portal-hyprland#99 (comment)
also, https://www.reddit.com/r/hyprland/comments/16p6iyj/screen_sharing_nvidia_wayland_a_heads_up/
you need to add to your hyprland monitor config
bitdepth,10
at the end.
Thank you so much, adding bitdepth,10
finally made it work
EDIT: should the original issue be reopened?
Hello @haras-unicorn and thank you for logging this issue.
I recently made several changes to how Ferdium handles screen share. These changes includes some new functionality on Wayland.
Would you be able to test the latest nightly behavior and see if this issue is fixed?
I think it should be fixed and, therefore, this issue should be closed.
Thank you very much!
Hello @haras-unicorn and thank you for logging this issue.
I recently made several changes to how Ferdium handles screen share. These changes includes some new functionality on Wayland.
Would you be able to test the latest nightly behavior and see if this issue is fixed?
I think it should be fixed and, therefore, this issue should be closed.
Thank you very much!
tried 6.7.4-nightly.9 - now i dont get the picker for the screen and it just screen shares a black screen
if it's of any use here is how i tested it - basically copied the nixpkgs
package and changed the version and hash:
{ mkFranzDerivation
, lib
, fetchurl
, xorg
, stdenv
, ...
}:
let
arch = {
x86_64-linux = "amd64";
}."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
hash = {
amd64-linux_hash = "sha256-RAd3XN6AIoMybImfVpm6nrw/WxpoMs6uqDiVTL/B9ys=";
}."${arch}-linux_hash";
in
mkFranzDerivation rec {
pname = "ferdium";
name = "Ferdium";
version = "6.7.4-nightly.9";
src = fetchurl {
url = "https://github.com/ferdium/ferdium-app/releases/download/v${version}/Ferdium-linux-${version}-${arch}.deb";
inherit hash;
};
extraBuildInputs = [ xorg.libxshmfence ];
passthru = {
updateScript = ./update.sh;
};
meta = with lib; {
description = "All your services in one place built by the community";
homepage = "https://ferdium.org/";
license = licenses.asl20;
maintainers = with maintainers; [ magnouvean ];
platforms = [ "x86_64-linux" ];
hydraPlatforms = [ ];
};
}
I wrap this package with the following:
{ nixpkgs, pkgs, ... }:
# FIXME: screen sharing
# NOTE: outlook - Self Hosted at https://outlook.office.com/mail/
# NOTE: WebRTC handling - set share all IPs so discord WebRTC works
# TODO: like with chromium?
# TODO: hardware related stuff elsewhere
let
ferdium = pkgs.symlinkJoin {
name = "ferdium";
paths = [
(pkgs.callPackage ./ferdium.nix {
mkFranzDerivation = pkgs.callPackage
"${nixpkgs}/pkgs/applications/networking/instant-messengers/franz/generic.nix"
{ };
})
];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/ferdium \
--append-flags --enable-features=WebRTCPipeWireCapturer \
--append-flags --enable-features=UseOzonePlatform \
--append-flags --ozone-platform-hint=auto
'';
};
in
{
shared = {
dot = {
desktopEnvironment.sessionStartup = [
"${ferdium}/bin/ferdium"
];
};
};
home.shared = {
home.packages = [
ferdium
];
};
}
most important part is the flags:
--enable-features=WebRTCPipeWireCapturer
--enable-features=UseOzonePlatform
--ozone-platform-hint=auto
EDIT:
confirmation that it is that version
Not sure if this will help you, but it worked for me. I have the same setup as you.
hyprwm/xdg-desktop-portal-hyprland#99 (comment)
also, https://www.reddit.com/r/hyprland/comments/16p6iyj/screen_sharing_nvidia_wayland_a_heads_up/
you need to add to your hyprland monitor config
bitdepth,10
at the end.
tried it but didn't work and borked some other apps
tried it again with new version as well but still no good
one more thing that is notable is that in all other apps a window pops up asking me which screen/window i want to share but in ferdium it doesn't like when i try teams in chromium it does that but in ferdium it just shares a black screen with nightly or asks me to share a black screen in the previous version
Avoid duplicates
Ferdium Version
6.7.1
What Operating System are you using?
Other Linux
Operating System Version
NixOS 24.05 (Uakari)
What arch are you using?
x64
Last Known Working Ferdium version
No response
Expected Behavior
When screen sharing on Teams or Discord PipeWire window for picking screen/window opens and I can screen share.
Actual Behavior
I just get a black screen option that shares a black screen (screenshot below).
Steps to reproduce
Debug link
No response
Screenshots
Additional information
env
:hyprctl --systeminfo
:nvidia-smi
: