Posted on 20/12/2018 by Mark Filion
As one year ends and another begins, Collabora is proud to be once again an Includer sponsor for the latest round (#17) of Outreachy internships, which began earlier this month! More specifically, Collabora is sponsoring the Linux kernel projects for the December 2018 – March 2019 semester, which are detailed below. In addition to sponsoring, one of our best kernel engineers, Helen Koike, is mentoring one of the three projects for the semester!
Outreachy is an internship program which helps people from groups traditionally underrepresented in free and Open Source software get involved by providing a supportive community for beginning to contribute any time throughout the year and offer focused internship opportunities twice a year with a number of free software organizations.
During each round of internships, participants blog once every two weeks to provide updates on their project. You can check out each participants' blog by clicking on their name below. You can also visit Planet Outreach, or follow Collabora on Twitter, Google+, LinkedIn or Facebook where we'll be sharing their blog posts from time to time throughout the semester!
Congrats again to all the participants who were selected for this round's internships, and best of luck for your projects!
Outreachy Round 17 Linux kernel projects:
- Adding support for stateless codecs in the Virtual Codec Driver (vicodec)
Intern: Dafna Hirschfeld (Tel-Aviv, Israel)
Mentors: Helen Koike and Hans Verkuil
The kernel abstracts the underlying hardware to userspace through APIs (system calls). To access any kind of hardware, be it a touch pad, a monitor, the ram memory, the disk, the network card or the webcam, applications perfom system calls using an API or protocols specified by the corresponding subsystem.The video codec API is a relatively recent addition to the kernel, it is an extension of the video4linux2 API and it is maintained by the kernel Media subsystem team. If your computer has a hardware video codec, then the video codec API exposes this hardware to userspace, allowing your operating system to use hardware acceleration to encode a video (convert it from a raw frame format such as RGB, to a compressed format such as MPEG or H.264) or to decode it. The Virtual Codec Driver (vicodec) emulates codec hardware. This is useful for developers who do not have codec hardware available to test their application in userspace and want to be sure their code would work with a real codec. Then, instead of buying real hardware, the developer could just use the vicodec driver to emulate one. Read more.
- Dri-devel aka kernel GPU subsystem (2 internsips)
Interns: Shayenne Moura (São Paulo, Brazil) and Mamta Shukla (Maharashtra, India)
Mentor: Daniel Vetter, Rodrigo Siqueira, Harry Wentland and Manasi Navare
In laptops, tablets, phones and lots of other places GPU/display uses more silicon die space than everything else combined (humans are mostly visual people after all), dri-devel (and the wider set of projects under the X.org Foundation's umbrella) is the community that makes this all work and shine. We have a bunch of janitorial-type projects collected in https://dri.freedesktop.org/docs/drm/gpu/todo.html, varying from fairly mechanical to really challenging. We're also taking the usual array of checkpatch and coccinelle driven cleanup patches (they're great newbie starter patches). For an internship this means there's a lot of "build your own internship program", and we're definitely open to other projects. Just chat with mentors to start scoping a good project and what might be interesting for you. Bit more PR for dri-devel: We're the subsystem that implemented the new shiny kernel-doc tooling and pushed for the conversion. We're the first ever kernel subsystem with a real CoC (and yes it's enforced). We're running our main trees with a much more participative model where all regular contributors have direct commit rights to relevant repos (instead of having to always jump through maintainers to get anything landed). In short, we take newbie's and our contributor's needs in general very serious and try to care for them.
- Enhance graphic experiences for Linux VMs on Hyper-V
Intern: Gizzy d'Rast (London, England)
Mentor: Haiyang Zhang
To run Linux guests on Hyper-V, the hypervisor from Microsoft, we have a set of drivers to enhance the performance of storage, network, and graphics, etc. We will work together with the intern student to get familiar with the driver design, and submission process to Linux community. This project will also have a focus on enhancing the frame buffer, hyperv_fb driver, for graphic experiences. For example, to reduce the overhead when screen area is being updated, improve tuning capability for end users. Other drivers may also be worked on for the mutual interest of the intern and our [Microsoft's] team.
- Improve Linux kernel support for running as a guest on the Hyper-V hypervisor (2 internships)
Interns: Maya Nakamura (Seattle, WA.) and K. Brown (United States)
Mentor: Sasha Levin, Long Li and Michael Kelley
Improve the core Linux kernel support for running as a guest on Microsoft’s Hyper-V hypervisor, as well as the Hyper-V specific device drivers for the VMbus and related synthetic devices. The work includes some bug fixing to get started and then moves on to more substantial enhancements to improve performance and functionality.