Krfb merge requestshttps://invent.kde.org/network/krfb/-/merge_requests2024-03-26T23:12:09Zhttps://invent.kde.org/network/krfb/-/merge_requests/64Fix assertion error when noWallet used2024-03-26T23:12:09ZGuillaume ChampagneFix assertion error when noWallet usedKrfb fails to startup if "noWallet" is in the config since
`walletOpened()` is called without a wallet, triggering the `Q_ASSERT`
at the beginning of the function.
Fix this by adding function to read passwords from the config directly
r...Krfb fails to startup if "noWallet" is in the config since
`walletOpened()` is called without a wallet, triggering the `Q_ASSERT`
at the beginning of the function.
Fix this by adding function to read passwords from the config directly
rather than reusing the `walletOpened()` slot.https://invent.kde.org/network/krfb/-/merge_requests/63pw: Improve fb allocation code.2024-03-14T01:16:57ZAleix Pol Gonzalezpw: Improve fb allocation code.Don't set the video size using the data coming from xdp, instead use the
data coming from pipewire, which is what matters.
Also make sure setVideoSize is called before using the buffer rather
than after.Don't set the video size using the data coming from xdp, instead use the
data coming from pipewire, which is what matters.
Also make sure setVideoSize is called before using the buffer rather
than after.https://invent.kde.org/network/krfb/-/merge_requests/62DMA-BUF size may not match size from handleRemoteDesktopStarted()2024-03-12T00:28:31ZJordan PrydeDMA-BUF size may not match size from handleRemoteDesktopStarted()See !61 for discussion.
I recently upgraded my laptop to Fedora Rawhide and found that Krfb immediately crashed with a segfault upon opening, after accepting the request from xdg-desktop-portal.
Upon some troubleshooting I determined t...See !61 for discussion.
I recently upgraded my laptop to Fedora Rawhide and found that Krfb immediately crashed with a segfault upon opening, after accepting the request from xdg-desktop-portal.
Upon some troubleshooting I determined the root cause was that the `PWFrameBuffer::videoSize` did not match my screen resolution (or more importantly the DMA-BUF size). This led to an undersized buffer being passed to `DmaBufHandler::downloadFrame()` from kPipewire. The resulting behavior ranged from EGL errors, to segfaults, to a kwin compositor crash (which recovered all QT-based clients automatically).
I'm not sure why https://invent.kde.org/network/krfb/-/blob/master/framebuffers/pipewire/pw_framebuffer.cpp?ref_type=heads#L337 isn't returning a valid size. It may be worth determining that before accepting this patch.
```cpp
setVideoSize(qdbus_cast<QSize>(streams.first().map[QStringLiteral("size")].value<QDBusArgument>()));
```https://invent.kde.org/network/krfb/-/merge_requests/61DMA-BUF size may not match size from handleRemoteDesktopStarted()2024-03-12T18:23:25ZJordan PrydeDMA-BUF size may not match size from handleRemoteDesktopStarted()I upgraded my laptop to Fedora Rawhide this weekend and found that Krfb immediately crashed with a segfault upon opening, after accepting the request from xdg-desktop-portal.
Upon some troubleshooting I determined the root cause was tha...I upgraded my laptop to Fedora Rawhide this weekend and found that Krfb immediately crashed with a segfault upon opening, after accepting the request from xdg-desktop-portal.
Upon some troubleshooting I determined the root cause was that the `PWFrameBuffer::videoSize` did not match my screen resolution (or more importantly the DMA-BUF size). This led to an undersized buffer being passed to `DmaBufHandler::downloadFrame()` from kPipewire. The resulting behavior ranged from EGL errors, to segfaults, to a kwin compositor crash (which recovered all QT-based clients automatically).
I'm not sure why https://invent.kde.org/network/krfb/-/blob/master/framebuffers/pipewire/pw_framebuffer.cpp?ref_type=heads#L337 isn't returning a valid size. It may be worth determining that before accepting this patch.
```cpp
setVideoSize(qdbus_cast<QSize>(streams.first().map[QStringLiteral("size")].value<QDBusArgument>()));
```
This merge request was tested on Fedora Rawhide 2024-03-03 nightly build on an AMD Framework 13. They are using kPipewire 6.0 and Krfb 24.02. I confirmed there were no downstream patches.
This merge request is for 24.02 but the patch should apply cleanly to master.
This will also resolve the related bug post on Mesa's side: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10395https://invent.kde.org/network/krfb/-/merge_requests/60wayland: Add support for the persistence feature of the remote desktop portal2024-03-19T09:35:18ZPrajna Sariputrawayland: Add support for the persistence feature of the remote desktop portalSame idea as https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/639, v2 of the remote desktop portal can accept and return a restore token that we can use to avoid constantly asking the user for permission every time Krfb is ...Same idea as https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/639, v2 of the remote desktop portal can accept and return a restore token that we can use to avoid constantly asking the user for permission every time Krfb is started.
Note that there's a bug in `xdg-desktop-portal-kde` that breaks persistence if it's restarted for whatever reason, for example when rebooting (see https://bugs.kde.org/show_bug.cgi?id=480235 and https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/639#note_859651 for more details), so at the moment this only works when restarting Krfb in the same session.https://invent.kde.org/network/krfb/-/merge_requests/59Drop unused kcrash dependency2024-02-06T17:14:02ZAntonio RojasDrop unused kcrash dependency(cherry picked from commit f4e97af144a3b8f0d645b6164ba0ca31de0ee4a2)(cherry picked from commit f4e97af144a3b8f0d645b6164ba0ca31de0ee4a2)https://invent.kde.org/network/krfb/-/merge_requests/58pw: Keep alternative for KPipeWire 6.0 and 6.12024-01-31T23:37:14ZAleix Pol Gonzalezpw: Keep alternative for KPipeWire 6.0 and 6.1https://invent.kde.org/network/krfb/-/merge_requests/57[CI] Add Flatpak2024-03-25T10:54:58ZJulius Künzel[CI] Add Flatpakhttps://invent.kde.org/network/krfb/-/merge_requests/56Fix pipewire.h include not found2024-01-31T06:11:04ZMaxime Roussin-BelangerFix pipewire.h include not foundWithout linking directly on PkgConfig::PipeWire, the header isn't found.
It isn't found because KPipeWire doesn't expose that dependency publicly.
Plasma-workspace uses the same code:
https://invent.kde.org/plasma/plasma-workspace/-/bl...Without linking directly on PkgConfig::PipeWire, the header isn't found.
It isn't found because KPipeWire doesn't expose that dependency publicly.
Plasma-workspace uses the same code:
https://invent.kde.org/plasma/plasma-workspace/-/blob/master/CMakeLists.txt?ref_type=heads#L186
https://invent.kde.org/plasma/plasma-workspace/-/blob/master/libtaskmanager/declarative/CMakeLists.txt#L37https://invent.kde.org/network/krfb/-/merge_requests/55Don't search for non-existant Qt6XkbCommonSupport2024-02-06T16:43:48ZAntonio RojasDon't search for non-existant Qt6XkbCommonSupporthttps://invent.kde.org/network/krfb/-/merge_requests/54Drop unused kcrash dependency2024-02-06T17:10:30ZAntonio RojasDrop unused kcrash dependencyhttps://invent.kde.org/network/krfb/-/merge_requests/53Port to Qt62024-01-08T13:11:04ZNicolas FellaPort to Qt6https://invent.kde.org/network/krfb/-/merge_requests/52Adjust to KWayland moving to Plasma2023-11-08T08:51:41ZNicolas FellaAdjust to KWayland moving to Plasmahttps://invent.kde.org/network/krfb/-/merge_requests/51Draft: Move Flatpak CI to GitLab2023-08-31T14:52:54ZJulius EnriquezDraft: Move Flatpak CI to GitLab- /.flatpak-manifest.json
- /.gitlab-ci.yml
Adds Flatpak manifest from [flatpak-kde-applications](https://invent.kde.org/packaging/flatpak-kde-applications) and Flatpak job definition for switching to GitLab CI.- /.flatpak-manifest.json
- /.gitlab-ci.yml
Adds Flatpak manifest from [flatpak-kde-applications](https://invent.kde.org/packaging/flatpak-kde-applications) and Flatpak job definition for switching to GitLab CI.https://invent.kde.org/network/krfb/-/merge_requests/50Remove unused parts of pipewire backend2023-08-03T13:10:51ZDavid EdmundsonRemove unused parts of pipewire backendDirect wayland paths to start streams for windows and outputs became
deprecated when xdg-portal support was added and this code is therefore
unused.
Creating virtual monitors via the direct approach remains in use.Direct wayland paths to start streams for windows and outputs became
deprecated when xdg-portal support was added and this code is therefore
unused.
Creating virtual monitors via the direct approach remains in use.https://invent.kde.org/network/krfb/-/merge_requests/49CI: Add flatpak2023-08-04T02:16:49ZJustin ZobelCI: Add flatpakhttps://invent.kde.org/network/krfb/-/merge_requests/48pipewire: Drop dependencies that remained after the port to KPipeWire2023-04-23T22:53:25ZAleix Pol Gonzalezpipewire: Drop dependencies that remained after the port to KPipeWirehttps://invent.kde.org/network/krfb/-/merge_requests/47fix: Fix the problem of tearing the pipewire image2024-01-22T02:28:33Zliuzheng liuzhengfix: Fix the problem of tearing the pipewire imageThe problem of image tearing is solved by controlling the copying and refreshing of pipewire data through locks.
log: Fix the problem of tearing the pipewire imageThe problem of image tearing is solved by controlling the copying and refreshing of pipewire data through locks.
log: Fix the problem of tearing the pipewire imagehttps://invent.kde.org/network/krfb/-/merge_requests/46fix: Fix the problem of tearing the pipewire image2023-04-03T13:43:18Zliuzheng liuzhengfix: Fix the problem of tearing the pipewire imageThe problem of image tearing is solved by controlling the copying and refreshing of pipewire data through locks.
log: Fix the problem of tearing the pipewire imageThe problem of image tearing is solved by controlling the copying and refreshing of pipewire data through locks.
log: Fix the problem of tearing the pipewire imagehttps://invent.kde.org/network/krfb/-/merge_requests/45Remove module prefix from KF include2023-03-28T23:50:55ZFriedrich W. H. KossebauRemove module prefix from KF includeGIT_SILENTGIT_SILENT