I made logitech spotlight system-agnostic! #223
gbdlin
started this conversation in
Show and tell
Replies: 1 comment
-
👍 Awesome, thank you for sharing - nice setup. And yeah - the functionality that I put together with Qt and X.org - with Wayland and Qt is not really possible as far as I know - which is a bummer - this took the wind out of the project a little bit for me as I don't have the time an focus to do a rewrite for Wayland based systems in my current situation in work and life. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The biggest advantage of Logitech spotlight is that it's visible on any display capture (for example for event streaming or recording), compared to a normal laser pointer which would require recording the projector screen with a camera.
The biggest disadvantage of it is: it needs drivers... So if you hold an event where you have multiple speakers with their own laptop, you'd need each of them to install some drivers on their devices, which is sometimes not possible as some of them will have corporate restrictions or just refuse to do it or you don't have enough time to coordinate it.
Well, not anymore!
I created a setup where the spotlight is connected to a raspberry pi, then both raspberry and speaker laptop are connected to Blackmagic Atem Mini that combines 2 HDMI signals into one. To make that work, you either need to use 2 HDMI ports from raspberry pi and configure it to display a separate transparency channel on one of them, and the actual overlay on the other one... Or just use a green desktop background on a raspberry pi and chroma key it out!
But that means switching back and forward using the remote doesn't work anymore. This fortunately can be fixed, as raspberry pi 4, 5 or zero can act as USB Peripheral device, so I've configured my Raspberry pi 4 to act as a HID keyboard and I'm just passing left and right arrow presses to the speaker laptop that way.
And, of course, I'm using Projecteur, which compiles just fine on a Raspberry Pi!
Demo: https://github.com/jahnf/Projecteur/assets/4162325/7cb6f677-f2f1-463b-8d32-227754de5a54
Demo was recorded using Raspberry Pi 4B with 4GB ram, which unfortunately was a bit too slow and you can see a noticeable delay between remote movement and the circle moving on the screen. Since then I swapped it to a Raspberry Pi 5 and it is much better.
One trap you may encounter when replicating this setup is: new Raspberry Pi OS releases will use Wayland by default, and Projecteur currently doesn't work well on Wayland. You need to switch to X.org, which can be done using
raspi-config
command line tool.Other problem with using this setup is: Raspberry Pi 4 and 5 are powered from the same USB-C connector that can be used for it to act as USB Peripheral. This isn't ideal in a scenario where you need to disconnect it from one laptop and connect to another, as it'd need to reboot. To fix that, I'm using this simple board: https://thepihut.com/products/usb-c-data-power-splitter that separates power from data, allowing you to easily power Raspberry Pi from a separate source. Other methods would involve making your own cable that does the same thing, or just a cable with power input line disconnected (note: you still need to connect ground! Only disconnect the 5V power line!) and powering the Raspberry Pi from GPIO pins (for example using PoE).
This will NOT work with raspberry pi 1-3, only with 4, 5 and Zero, as 1-3 have all USB connections driven through a HUB that can't reverse its operation. Raspberry Pi zero doesn't have a HUB at all, and Raspberry Pi 4 and 5 uses a separate USB 3.0 controller connected via PCI Express, where the native USB port from the SoC goes straight to the usb-c connector.
Beta Was this translation helpful? Give feedback.
All reactions