Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

freerdp: Add support for USB redirection #53202

Closed
wants to merge 1 commit into from
Closed

freerdp: Add support for USB redirection #53202

wants to merge 1 commit into from

Conversation

dasJ
Copy link
Member

@dasJ dasJ commented Jan 2, 2019

Motivation for this change

I needed USB redirection

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@peterhoeg
Copy link
Member

What is the closure size impact? If it's small we might as well enable this by default.

@dasJ
Copy link
Member Author

dasJ commented Jan 7, 2019

Not sure if I'm doing something wrong, but it reports 154.82 MB for both closures. I ran nix-build -I nixpkgs=/path/to/nixpkgs -I nixpkgs-overlays=/ '<nixpkgs>' -A freerdp && nix path-info -S ./result. Is there something wrong with that?

@jtojnar
Copy link
Contributor

jtojnar commented Jan 7, 2019

Looks like the build system cannot find udev and dbus-glib:

-- Adding dynamic channel client "urbdrc": USB Devices Virtual Channel Extension
-- UDev not found.
-- UDev: You can specify includes: -DUDEV_PATH_INCLUDES=/var/empty/udev/include
--  currently found includes: UDEV_INCLUDE_DIR-NOTFOUND
-- UDev: You can specify libs: -DUDEV_PATH_LIB=/var/empty/udev/lib
--  currently found libs: UDEV_LIBRARIES-NOTFOUND
-- Could NOT find dbus-glib (missing: DBUS_GLIB_INCLUDE_DIR) 
-- Adding dynamic channel client "video": Video optimized remoting Virtual Channel Extension
-- Could NOT find DocBook XSL stylesheets (missing: DOCBOOKXSL_DIR) 

I am not very familiar with CMake but I am almost certain dependencies are not supposed to be found using find_path:

https://github.com/FreeRDP/FreeRDP/blob/eb1727bb875f27d7e02d47e0cc02f2e6546153e1/cmake/FindUDev.cmake
https://github.com/FreeRDP/FreeRDP/blob/eb1727bb875f27d7e02d47e0cc02f2e6546153e1/cmake/FindDbusGlib.cmake

@peterhoeg
Copy link
Member

You don't need this any longer?

@dasJ
Copy link
Member Author

dasJ commented Jul 30, 2019

No, I use ~2 RDP sessions per year and the USB-forwarding stuff was just a one-time thing

@peterhoeg
Copy link
Member

What hardware is needed to test this out? It would make sense to get this functionality in.

@dasJ
Copy link
Member Author

dasJ commented Jul 30, 2019

Well, any USB device that you don't need on your host. In my case, it was a signature pad, but as it turns out, it cannot be RDP forwarded, even with the native Microsoft mstsc client.
A USB thumbdrive would probably be good enough for testing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants