Google Summer of Code 2022 Ideas
This page lists the project ideas for Google Summer of Code.
Table of Contents:
1. Make Gnome Display Manager (GDM) Scroll Bar Support Touch Gestures
Pardus uses GDM as its login screen. This is where the user enters her credentials and creates a desktop session. We would like Pardus to work flawlessly in touch enabled devices particularly since smart boards in k12 schools are among our most important user bases.
There is a bug manifested in GDM that impairs the use of touch input when scrolling down the user names. The bug is reported at https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2366.
This task will be considered successfully completed when a patch fixing this issue is submitted to gnome org through their gitlab repositories and emerging code review comments are addressed.
You will follow the steps below which we will guide you through:
- Set up a reproduction environment.
- Find the root cause.
- Consider potential fixes and implement a viable one.
- Submit your patch to gnome org.
This bug fix will benefit the GNOME users worldwide therefore give you a high visibility.
Reqired skills / knowledge
JavaScript, C
Difficulty
Medium
Expected Time To Complete
175 Hours
Potential mentors
2. Enable sssd service to work with TR locale
It is an important scenario for us that Pardus clients work in a domain environment. Domain support is enabled by using sssd service which is an open source component maintained by Redhat. We install sssd in Pardus clients which almost always use TR locale by default.
Sssd does not work with TR locale properly. Although there are some workarounds to get it work, it appears to be possible to fix the root cause.
See the bug report at https://bugzilla.redhat.com/show_bug.cgi?id=1743531 created to track this issue. It reveals that the issue is tracked down to libldb library. Source code for libldb is at https://salsa.debian.org/samba-team/ldb
We ask you to submit a patch fixing this issue to debian org and address the code review comments.
You will follow the steps below through which we will guide you:
- Set up a reproduction environment.
- Find the root cause in the code.
- Consider potential fixes and implement a viable one.
- Submit your patch to debian org.
Reqired skills / knowledge
Python, C
Difficulty
Medium
Expected Time To Complete
175 Hours
Potential mentors
3. Improve Linux Driver for USB-to-HDMI Dongles to Enable External Displays
Monitors connected via USB dongles currently is not handled by default by the Linux Kernel. There is an open source driver for handling USB-to-HDMI dongles which should be compiled and installed whenever needed.
The source code is at https://github.com/klogg/fl2000_drm
This driver code needs a couple of fixes for us to use it in the field. Kernel 5.10+ support should be implemented and some high impact bugs such as https://github.com/klogg/fl2000_drm/issues/12 should be fixed.
Taking up this task, you will deep dive into driver implementation and Linux internals.
Reqired skills / knowledge
Python, C
Difficulty
Hard
Expected Time To Complete
350 Hours
Potential mentors
4. Develop a GNOME Shell Extension (a.k.a widget) to Turn On/Off Screen Keyboard
Pardus is extensively used with touch screens. Our users sometimes prefer to use a physical keyboard and like to disable screen keyboard. The toggle to enable/disable screen keyboard is currently available among a list of other toggles under the accessibility widget. We believe that it worths to be made a seperate widget of its own to improve user experience.
This task will require you to develop GNOME shell extension. Many examples can be seen at https://extensions.gnome.org. We will mentor you along the task. This experience will set you up to be a GNOME developer.
Reqired skills / knowledge
Javascript
Difficulty
Easy
175 Hours
Potential mentors