waycrate / xdg-desktop-portal-luminous Goto Github PK
View Code? Open in Web Editor NEWA xdg-desktop-portal for wlroots based compositors implementing zwlr_screencopy. Written by @decodetalkers
License: GNU General Public License v3.0
A xdg-desktop-portal for wlroots based compositors implementing zwlr_screencopy. Written by @decodetalkers
License: GNU General Public License v3.0
The Settings
part of the portal seems to be working perfectly, but when I try to initiate a ScreenCast
, I get the following error:
2023-12-29T10:54:58.517785Z INFO
dispatch_message {
msg=Msg {
type: MethodCall,
sender: UniqueName(Str(Borrowed(":1.15"))),
path: ObjectPath("/org/freedesktop/portal/desktop"),
iface: InterfaceName(Str(Borrowed("org.freedesktop.impl.portal.ScreenCast"))),
member: MemberName(Str(Borrowed("CreateSession"))), body: Signature("oosa{sv}")
}
}:dispatch_method_call {
msg=Msg {
type: MethodCall,
sender: UniqueName(Str(Borrowed(":1.15"))),
path: ObjectPath("/org/freedesktop/portal/desktop"),
iface: InterfaceName(Str(Borrowed("org.freedesktop.impl.portal.ScreenCast"))),
member: MemberName(Str(Borrowed("CreateSession"))),
body: Signature("oosa{sv}")
}
}:dispatch_method_call_try {
msg=Msg {
type: MethodCall,
sender: UniqueName(Str(Borrowed(":1.15"))),
path: ObjectPath("/org/freedesktop/portal/desktop"),
iface: InterfaceName(Str(Borrowed("org.freedesktop.impl.portal.ScreenCast"))),
member: MemberName(Str(Borrowed("CreateSession"))),
body: Signature("oosa{sv}")
}
}:
xdg_desktop_portal_luminous::screencast:
Start shot:
path :/org/freedesktop/portal/desktop/request/1_77/obs4,
appid: thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: Connect(NoWaylandLib)', src/screencast.rs:194:63
I am running the binary from the development shell provided through flake.nix
, so I assume, that the Wayland library should be present, as it's among the nativeBuildInputs
. Also, wayshot
works without any issues.
While Luminous portal works fine without config file it fails when the directory is also missing like on the first start by a new user or inside jail/sandbox. Found while packaging and testing in a pristine environment.
$ rm -rf ~/.config/xdg-desktop-portal-luminous/
$ RUST_BACKTRACE=1 /usr/libexec/xdg-desktop-portal-luminous
INFO xdg_desktop_portal_luminous: luminous Start
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: Generic("No such file or directory (os error 2)"), paths: [] }', src/main.rs:137:46
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::result::unwrap_failed
3: xdg_desktop_portal_luminous::main::{{closure}}::{{closure}}
4: tokio::runtime::task::raw::poll
5: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
6: tokio::runtime::task::raw::poll
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Abort trap
I just use ashpd to test keyboard and pointer, keyboard works, and screencast is also work.
if there is any problem , you should post issue, or to make pr, thanks
I do not know how may people use remote interface..
|
124 | / cpp_class!(
125 | | /// Wrapper around [`QColor`][class] class.
126 | | ///
127 | | /// [class]: https://doc.qt.io/qt-5/qcolor.html
128 | | #[derive(Default, Clone, Copy, PartialEq)]
129 | | pub unsafe struct QColor as "QColor"
130 | | );
| |_^ the trait `CppTrait` is not implemented for `QColor`
|
= note: this error originates in the macro `$crate::__cpp_class_internal` which comes from the expansion of the macro `cpp_class` (in Nightly builds, run with -Z macro-backtrace for more info)
For more information about this error, try `rustc --explain E0277`.
in the environment of pkgbuild, slint will never be built
_pkgname=xdg-desktop-portal-luminous
pkgname="${_pkgname}-git"
pkgver=r78.7118cbe
pkgrel=1
url='https://github.com/waycrate/xdg-desktop-portal-luminous'
pkgdesc='xdg-desktop-portal backend for wlroots based compositors, providing screenshot and screencast'
arch=('x86_64' 'aarch64')
license=('BSD-2-Clause')
depends=('xdg-desktop-portal' 'slurp' 'qt5-base')
provides=("xdg-desktop-portal-impl")
makedepends=('git' 'ninja' 'meson' 'rust' 'clang' 'qt5-base')
source=("${_pkgname}::git+${url}.git")
sha256sums=('SKIP')
build() {
cd "${_pkgname}"
meson setup build \
-Dprefix=/usr \
-Dlibexecdir=lib \
-Dbuildtype=release
meson compile -C build
}
package() {
cd "${_pkgname}"
DESTDIR="${pkgdir}" ninja -C build install
}
pkgver() {
cd "${_pkgname}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}
While I was trying to build xdg-desktop-portal-luminous
for wayshot
. I kept getting a cargo build error
Following is the output of ninja -C build
with CARGO_LOG=TRACE
Downloaded roxmltree v0.18.1
8.795794092s TRACE cargo::ops::cargo_read_manifest: read_package; path=/home/utkarsh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/roxmltree-0.18.1/Cargo.toml; source-id=registry `crates-io`
8.795800868s TRACE cargo::util::toml: read_manifest; path=/home/utkarsh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/roxmltree-0.18.1/Cargo.toml; source-id=registry `crates-io`
8.811647043s WARN cargo::util::rustc: failed to update rustc info cache: failed to write `/home/utkarsh/xdg-desktop-portal-luminous/target/.rustc_info.json`
8.811727403s DEBUG cargo: exit_with_error; err=CliError { error: Some(failed to download replaced source registry `crates-io`
Caused by:
0: failed to read `/home/utkarsh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/roxmltree-0.18.1/Cargo.toml`
1: No such file or directory (os error 2)), exit_code: 101 }
8.811758534s DEBUG cargo: display_error; err=failed to download replaced source registry `crates-io`
Caused by:
0: failed to read `/home/utkarsh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/roxmltree-0.18.1/Cargo.toml`
1: No such file or directory (os error 2)
error: failed to download replaced source registry `crates-io`
Caused by:
failed to read `/home/utkarsh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/roxmltree-0.18.1/Cargo.toml`
Caused by:
No such file or directory (os error 2)
FAILED: xdg-desktop-portal-luminous
/home/utkarsh/.cargo/bin/cargo build && cp /home/utkarsh/xdg-desktop-portal-luminous/target/debug/xdg-desktop-portal-luminous xdg-desktop-portal-luminous
ninja: build stopped: subcommand failed.
To check whether the root cause was roxmltree
I created a brand new package with same version of roxmltree
and could not also build the same.
This is ultimately caused by the following dependency tree:
screenshotdialog
└─ slint v 1.3.2
├── i-slint-backend-selector v 1.4.1
│ ├── i-slint-backend-linuxkms v 1.4.1
│ └── i-slint-common v 1..4.1
│ └── fontdb v 0.16.2
│ └── fontconfig-parser v 0.5.3
| └── roxmltree v 0.18.1
Is there anyway around this or this can be only solved with a dependency update?
PS Tried upgrading slint straight away and didn't fixed it.
KDE connect uses the remotedesktop portal for mouse and keyboard input. It fails with the below output
kdeconnect.plugin.mousepad: Unable to handle remote input. RemoteDesktop portal not authenticated
kdeconnect.plugin.mousepad: authenticating "/org/freedesktop/portal/desktop/request/1_3353/kdeconnect3112798555"
kdeconnect.plugin.mousepad: configuring "/org/freedesktop/portal/desktop/request/1_3353/kdeconnect2341811113"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.