IIUC, you want to stream the screen via OBS.
a. You can do this from a specific qube. That is, this way, you can stream only windows from apps from a specific qube. Maybe this fits your needs, maybe it doesn't.
b. You can stream the dom0 screen to a qube and then capture it in OBS. I have managed doing so using few terrible hacks, but there is a noticable CPU load and low FPS on my machine (Ryzen 5800X, 1440p). Also you might need some work if you have multiple screens. If you are interested in it, I can share more when I am at PC.
c. You can record (not stream!) the screen either from dom0. I think I have succeeded with gtk-recordMyDesktop.
I have tried several tools that can allow streaming dom0 screen to a domU. I don't have notes about that, so I am writing just what I got from my memory:
* Some of them looked useful, but they are not in the offici repositories and I didn't want to add any extra repository to dom0. Especially ffmpeg looked promising, but there were more such tools.
* Some recording apps insist on saving the output to a file with a specific suffix. There is usually a workaround like ln -s /dev/stout /tmp/output.mp4.
* Many recording apps tend to encode the data. For transferring from dom0 to domU, you would probably rather want raw data for multiple reasons: 1. Quality loss, 2. Latency and 3. CPU load.
* I think there are some apps that record the data in /tmp and postprocess them. This makes real-time streaming impossible unless you inspect the internal data.
* There are also some screenshoting apps. You can expect low FPS and high CPU usage, but this somehow works.
* Once you manage to capture the data in dom0, you can play then in domU using ffplay. From domU perspective, you might want to have it always-on-top and fullscreen, from dom0 perspective, you might want it hidden. Both is possible. I can share scripts for that. Some manual work is still needed, but they can be useful.
Regards,
Vít Šesták 'v6ak'