FOSSCOMM 2020, and a status update on EXT_external_objects(_fd) extensions [en, gr]

FOSSCOMM (Free and Open Source Software Communities Meeting) is a Greek conference aiming to promote the use of FOSS in Greece and to bring FOSS enthusiasts together. It is organized entirely by volunteers and universities and takes place in a different city each year. This year it was virtual as Greece is under lockdown, and although we’ve missed all the fun of the gathering, there were many interesting talks to watch.

My talk was very similar to the one I’ve given in XDC 2020 about OpenGL and Vulkan Interoperability. It was an update on the EXT_external_objects and EXT_external_objects_fd OpenGL extensions status on various mesa drivers, and Igalia‘s work on them.

As the audience was different this time, I’ve slightly increased the number of slides to explain some graphics concepts at the beginning.

My updated slides (in Greek):



and the video (also in Greek):

For people who might find all these Greek “Greek to them” here’s a quick update on the current status of the extensions:

iris driver (feature implemented by Igalia and Intel):

Some parts of the feature are upstream (semaphores, drivers compatibility check branch) and some are WIP or under review (memory object parts). In the WIP/under review branches we can support color image and buffer exchange but from the depth/stencil images we can only import the depth buffer correctly thanks to Tapani Palli (Intel developer who improved and reviewed most of our patches for the feature). No other mesa drivers support external depth or stencil buffers.

radeonsi driver (feature implemented by AMD, buffers support implemented by Igalia):

Here the feature was implemented by AMD since a long time ago. The Piglit tests we’ve written for the extension revealed problems in importing buffer memory objects and depth/stencil buffers. At XDC supporting buffer memory objects was WIP and now it’s upstream. Depth and stencil import still fail and this is unfortunely a problem that we have in all mesa drivers with combined depth/stencil (DS) formats.

freedreno driver (feature implemented by Igalia):

The feature was upstream before XDC, but like all other mesa drivers freedreno can’t fully support combined DS formats.

i965 driver (feature implemented by Collabora):

There have been some fixes following the development of the iris driver but the branch is still under review (we’ve reviewed some parts of this work before XDC). Unfortunately the branch has the same issues with DS images that we see on freedreno and radeonsi.

Piglit tests and Vulkan framework (written by Igalia, with some patches coming from Intel and AMD):

All tests that were previously under review or WIP are now upstream except of the one that checks the import of the stencil buffer images. This one will most probably remain under review until at least one mesa driver is capable of importing the stencil buffer correctly.

All contributors and reviewers and all other people who helped us in the development are mentioned in slides 9/20 and 14/20 of the presentation.

Slide 9/20 where I thank the Mesa contributors is mostly in English:

In slide 14/20 about Piglit work:
I first mention the people who contributed to the Piglit tests or Vulkan framework directly (with patches) or indirectly (we used some of their patches as a reference) in the table, and then (in the bullets) I thank the people who helped us with reviews or remarks or in the background.

Thanks to everyone and particularly to Tapani Pälli from Intel for his help with the development of the extensions for the iris driver and for his reviews, patches and remarks for our Piglit work.

Also thanks to my colleagues who helped with the feature development:

Juan Suárez Romero (co-author of the iris extension, co-author of the first Piglit test)
Eduardo Lima Mitev (he worked on the freedreno implementation and I used one of his patches on iris)
Hyunjun Ko (he worked on the freedreno implementation, and co-authored that Edu’s patch)
Germán Poo Caamaño (he helped me put an order in my initial Vulkan framework patches and taught me several Git tips that saved me a lot of time later).

I really hope that I have aknowledged everyone’s contributions and help in the slides and haven’t accidentally skipped any name when I was checking the MRs!

Back to the FossComm talks:

I’d like to thank the organizers for their great work for us to enjoy this conference under the covid-19 circumstances, as well as the people who attended it and watched my presentation.

All other conference talks can be found here (some of them are in English but as the official conference language was Greek most of them are in Greek):

and these are my picks from each day, the talks I liked the most:

From Day 1:

Epidose, by Diomidis Spinellis.

From the description:
Epidose is an open source software reference implementation for an epidemic dosimeter. Just as a radiation dosimeter measures dose uptake of external ionizing radiation, the epidemic dosimeter tracks potential exposure to viruses or bacteria associated with an epidemic. The dosimeter measures a person’s exposure to an epidemic, such as COVID-19, based on exposure to contacts that have been tested positive. The epidemic dosimeter is designed to be widely accessible and to safeguard privacy. Specifically, it is designed to run on the $10 open-hardware Raspberry Pi Zero-W computer, with a minimal user interface, comprising LED indicators regarding operation and exposure risk and a physical interlock switch to allow the release of contact data. The software is based on the DP3T contact tracing “unlinkable” design and corresponding reference implementation code.

Selected open source projects from a robotics competition for school students of all ages, presented by school teachers and/or their students.

Individual students, teams and teachers presented some of the top-ranked projects of the competition that were all implemented using free software. The age of the students varied from 4 to 17. Most demos were remarkable given the age and the experience of the participants.

From Day 2:

Xlivebg: live wallpapers for the X window system, by Ioannis Tsiompikas.

From the description:
Xlivebg brings live animated wallpapers to the X window system. It’s lightweight, efficient, with minimal dependencies, and aims to work equally well with all window managers and desktop environments across all UNIX systems with X11. Live wallpapers in the context of xlivebg, are plugins which use OpenGL to draw onto the desktop.

I hope next year we can watch even more talks on Free Software and join the traditional geek gathering without the pandemic still being around!

See you!

Leave a Reply

Your email address will not be published. Required fields are marked *