27 October 2020

667. XP PEN/virtual whiteboard during a lecture -- mirroring an application window on linux

The situation:

We're allowed to teach on campus at the moment, but we're also strongly encouraged to adopt a hybrid model where we stream everything via zoom so that students don't show up if they have flu/cold-like symptoms.

We've spent the past few years killing off ppt and transitioning to whiteboard/chalk-and-talk. The students love it -- the pace is better, and the lectures become more interactive since we can adjust our teaching to the students' learning. Good stuff. But horrible for streaming -- you can't just point a webcam at a whiteboard and expect a good outcome (although if need be, it can be done -- just use a good camera and write large with a dark pen).

I have an XP Pen Artist 13.3 Pro (https://www.parkablogs.com/content/review-xp-pen-artist-133-pro-pen-display ) which is fantastic for drawing. A lot of fun, and a potential solution to the whiteboard quandary.

The Problem:

Both the students in the class room and those following the lecture on zoom need to be able to see what you're doing. And since the pen display is a DISPLAY, you need to have your drawing program open on the pen display, and not on the projector (which is also a display).

The Solution:

1. Open your drawing window (xournal, or xournal++ or openboard or krita) on your pen display ... display. 

2. Then run xwininfo (part of x11-utils) and click on your window. You get a window id, e.g. 36000a

Then run x11vnc:
x11vnc -id 36000a

Note the port number -- likely 5900.

The window is now being shared via vnc. 

3. To see it, use e.g. vinagre, click Connect, set the protocol to vnc and the port to 5900 (and you're presumably connecting to localhost). 

Make sure to enable 'scaling', since many old video projectors have a 4:3 resolution ratio, whereas e.g. the xp pen 13.3 has a 16:9 ratio.

Drag this window to the projector.

4. Share the original window via zoom

Note that I've had issues getting the pen display to map correctly when all three display (laptop, xp pen, and projector) are connected. Turning off the laptop screen solved it.


A script:

I've made a script called mirror.sh which starts the x11vnc with the correct id:

winid=`xwininfo |grep "Window id"|gawk '{print $4}'`
x11vnc -id  $winid




No comments:

Post a Comment