Screencasting over Wi‑Fi on GNOME

On GNOME we usually had no good way of using remote display devices like Chromecast, Miracast or AirPlay. VLC for example does support streaming to Chromecast, but the Miracast implementations were all not integrated well enough to be usable. Also, at least Miracast requires the use of the H264 or H265 codecs, which have been problematic due to licensing requirements.

I have been working on a gnome‑screencast application, which currently has working support for Miracast devices. It requires a current development version of NetworkManager, but should work out of the box otherwise. If you are on Fedora, you can try out gnome‑screencast by using my copr repository.

To stream to a Miracast (revision 1) device, a few things need to happen. First we need to establish a Wi‑Fi Direct connection. We also need to start an RTSP server that the sink can connect to. And finally, once the sink is connected, a GStreamer pipeline is used to fetch the screen content from mutter, encode it and send it to the Miracast sink.

For the encoding, gnome-screencast will make use of the OpenH264 and Frauenhofer FDK ACC codecs that are available on Fedora. If you have better encoders installed, then these may be used automatically.

When available, gnome‑screencast will make use of the Mutter Screencasting API which allows it to grab the screens content on Wayland. The API is still improving in mutter, and in the future it will be possible to add support to stream the cursor separately.

One major piece that was missing for Miracast devices is integrated support for Wi‑Fi Direct (a.k.a. Wi‑Fi P2P) in our platform. While this was supported in the lower parts of the stack (Kernel and wpa_supplicant), we were lacking the required bits in NetworkManager to enable the usage in GNOME. I worked on adding the required support and thanks to Thomas Haller this has now been merged into NetworkManager 1.16.

With all this in place, it is possible to implement proper support for screen-casting using Miracast in GNOME. The below video shows gnome-screencast in action streaming my laptop screen with the Blender short film “Caminandes 3: Llamigos“ playing.

If you have a Miracast compatible device, then please try out the copr repository. You can report issues on github. Also, feel free to comment here or write me a mail with your experiences.

Girls’ and Boys’ day in the Munich Red Hat Office

A while ago we opened the Red Hat office in Munich to girls and boys aged 12-16 from schools in the region. This was part of the Girls’ Day and Boys’ Day initiatives backed by a lot of organisations including the German government. The goal is to introduce the girls and boys to careers that are dominated by the opposite gender which has been shown to considerably decrease the gender afinitiy in girls when asked about their favourite career choices.
We also had the chance to participate in Boys’ Day as the Munich office mainly houses non-engineering parts of the company including human resources and marketing.

The day started with Emilie giving a summary about Red Hat as a company and what open source is and means. After that, we split the groups and the boys worked together with the marketing team for the rest of the day. With the girls we spent the day connecting a few LEDs and a button to an arduino like microcontroller and creating basic programs on it. We deliberatly kept the tasks quite simple, focusing on showing the direct link between the program and result. During the time the girls incrementally learned to program the LEDs and finally build a simple traffic light application which turns the light to green when the button is pushed.

Oliver with a group of pupils
Oliver with a group of pupils

At the end of the day we gave the full set of electronics to each of the girls. This includes the NodeMCU, breadboard, LEDs and push button. We also included the flash drive with the customised Fedora live image containing the development environment.

Many thanks goes to Miriam, Oliver and Jens who did much of the preparation work, from registering us as an organisation, building the live image to working out the tasks for the day and getting the hardware. Christian Kellner and Helene also helped before and on the day allowing us to host up to 15 girls.

This was the first year that we participated, and the feedback has been positive. We believe it worked out well and would like to participate again next year.

Looking forward to GUADEC

GUADEC is approaching quickly and we just spend a whole day finalizing the planning so that everything will go smoothly during the conference. A few announcements for the conference are still in the pipeline including the social events and the complete talk schedule. So watch out for more announcements during the next two weeks.

Registration will remain open, however if you are not registered yet, then please do so now to speed up handling for everyone on the day. If you are arriving early for the core days then you can also still sign up for one of our workshops.

I am looking forward to seeing you here in Karlsruhe!

Badge: I'm organizing GUADEC