On 2017-03-13 11:01, Soumyadeep Kundu wrote:
> Hello Sir,
Hello! I'm sorry for the late reply, I've been barely conscious this
week thanks to a bad case of flu.

> I am Soumyadeep Kundu, a second year undergrad pursuing Computer Science
> and Engineering at Jadavpur University, Kolkata, India.
> I am very much  interested to contribute to QubesOS.
> I have already introduced myself in the mailing list. There I have been
> told to contact you.
> I am specially interested in :
> 1. Audio support for Qubes Windows Tool
> 2. Improve Windows GUI agent performance and stability.
> 3. GUI agent for Windows 8/10.
> All of these projects are under you.
> In the past few days, I was getting myself well acquainted with QubesOS.
> I was also learning about the Windows APIs, as it is a prerequisite for
> the projects.
> Can you please guide me in what should I do next, or if you can give me
> a starting task so that I can start with.
> Thanking You,
> Regards,
> Soumyadeep Kundu
> 
I think 1) or 2) would be the easiest projects to try.

Investigating GUI agent performance would require knowing how Windows
windowing and input APIs work as well as how to operate a system
profiler. You can find the agent's code here:
https://github.com/QubesOS/qubes-gui-agent-windows/tree/master
It has two main components: a custom video driver and a background
service. The driver manages display memory and provides the service with
address of the framebuffer (and notifies when a refresh occurs). The
service either maintains a list of application windows (in seamless
mode) or just a desktop window and sends this info to dom0. Service also
receives input events from dom0 and "replies" them in the Windows VM. I
think the last part (input simulation) is the main case of poor
performance, but you would need to double check this.

As for audio support, I think implementing a pulseaudio endpoint on
Windows and connecting it to dom0 would be your best bet. I don't know
the details on how the audio works for Linux VMs, but feel free to ask
on this mailing list if you want to know more. See this for Linux
implementation:
https://github.com/QubesOS/qubes-gui-agent-linux/tree/master/pulse
I'm not sure how well pulseaudio runs on Windows so that would be the
first thing to check.

I hope that helps!

-- 
Best Regards,
Rafał Wojdyła
Invisible Things Lab

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-devel/8c16cc0e-06b1-d6e7-fd6f-b5150a2fed84%40invisiblethingslab.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to