Moving to an embedded version of FreeRDP
To distribution maintainers @dktrkranz @Hubbitus (maybe @weberhofer ?). Please @antenore add as many people as you like to the list.
After some internal discussion, discussions with other senior programmers, we decided to embed a specific version of FreeRDP into the code of remmina. Currently you can find this version in the "remmina_freerdp" branch, and it's working. We hope that we will be able to merge into "next" branch in the next days, after listening to your opinions.
Some note on the embedded version:
- FreeRDP libraries will be built statically, to avoid conflicting .so names with your system installed freerdp
- You can still disable the embedded version with -DWITH_EMBEDDED_FREERDP=off cmake parameter. This will not build the embedded FreeRDP version and will link as usual with your libfreerdp.so.
- The embedded FreeRDP version is an old version with a couple of patches applied. All patches done by the Remmina team has been already pushed upstream to FreeRDP.
Why we did it ?
- ABI breakages and devel bugs of FreeRDP: there is no afficial freerdp ABI/API around, so FreeRDP programmers are free to do anything they want with their API/ABI. We only had minor problems with this, and immediately fixed. But having more stability in the code will help a lot to lower end-user confusion.
- Some distributions repository (Arch AUR) will update only when a FreeRDP release update is released. But the FreeRDP team will not release a 1.2 version in a short period of time: https://github.com/FreeRDP/FreeRDP/issues/2678. So AUR is currently stuck and not working well.
- In some other distributions (Fedora ?) there are packages which still need FreeRDP 1.1 (guacamole) and Remmina 1.2 wants FreeRDP 1.2. This is a problem for distribution packagers that cannot include two versions of freerdp in one distribution.
We would like to hear the opinion from distribution package maintainers.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information