| Summary: | x11 plugin needs porting/rewriting to xcb | ||
|---|---|---|---|
| Product: | [Applications] krfb | Reporter: | Albert Astals Cid <aacid> |
| Component: | general | Assignee: | George Goldberg <grundleborg> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | alexey.min |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://commits.kde.org/krfb/b2cb3e8204aa86a11f9f597f2a5d8a7a22f387fc | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Albert Astals Cid
2017-03-23 23:24:13 UTC
Alexei kind of volunteered to try to fix it :) (In reply to Albert Astals Cid from comment #1) > Alexei kind of volunteered to try to fix it :) https://phabricator.kde.org/D5211 I hope it at least get a chance to get a review till Applications 17.08. A month has passed, I'm starting to forget what I did there... Anything I can do to help? Yes i know, it's on my todo list, just wasn't very prioritary since it came in too late for 17.04, i'll get to it "soon" (TM) if nobody beats me to it. Git commit b2cb3e8204aa86a11f9f597f2a5d8a7a22f387fc by Albert Astals Cid, on behalf of Alexey Min. Committed on 15/06/2017 at 21:21. Pushed by aacid into branch 'master'. Implement XCB framebuffer plugin (port from x11) Previously used x11 plugin does not compile with Qt5, because Qt5 does not use Xlib, it uses xcb. Rewrite screen capture plugin from Xlib to xcb. I made xcb libs compile required dependency, but availability of X shared memory extension is checked at runtime. It is used to effectively get image pixels data, instead of transfering 8Mb over the wire. Xdamage is used to limit image getting operations only within actually changed rectangles of screen. Tested on single-monitor system and dual-monitor, where primary monitor does not start at (0,0) coordinate. Image transfer works fine. Dual-monitor only has problems with receiving mouse cursor position and clicks, but this should be fixed outside of framebuffer plugin. Differential Revision: https://phabricator.kde.org/D5211 M +11 -10 CMakeLists.txt M +3 -1 framebuffers/CMakeLists.txt A +28 -0 framebuffers/xcb/CMakeLists.txt A +107 -0 framebuffers/xcb/krfb_framebuffer_xcb.desktop A +81 -0 framebuffers/xcb/krfb_framebuffer_xcb.json A +685 -0 framebuffers/xcb/xcb_framebuffer.cpp [License: GPL (v2+)] A +48 -0 framebuffers/xcb/xcb_framebuffer.h [License: GPL (v2+)] A +46 -0 framebuffers/xcb/xcb_framebufferplugin.cpp [License: GPL (v2+)] A +45 -0 framebuffers/xcb/xcb_framebufferplugin.h [License: GPL (v2+)] M +1 -1 krfb/krfb.kcfg https://commits.kde.org/krfb/b2cb3e8204aa86a11f9f597f2a5d8a7a22f387fc |