Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
<p>The current PDF renderer in cups-filters, namely Ghostsscript and Poppler, are much heavy weight to mobile devices as compared to MuPDF which is significantly lightweight. Implementation of MuPDF is required in the cups-filters as it will save lots of memory, storage and CPU resources in mobile devices for printing job. Filters like pdftops, pdftoopvp, pdftoraster, pdftoijs and pdftopdf have to be modified in order to add support for MuPDF without dropping existing support for Ghostscript and Poppler.</p>
CRIU can checkpoint/restore a trivial hello_word process to running Linux containers. However, with the current implementation of CRIU, it can't checkpoint/restore a process that has a memfd_secret file descriptor(s) opened. So, the purpose of the proposed project is to add new functionality to successfully checkpoint/restore any process that has memfd_secret file descriptor(s) opened.
fsck.erofs currently relies on a strictly synchronous execution path for image unpacking and verification. This design causes the main thread to become heavily bottlenecked by synchronous I/O during file extraction, which subsequently blocks the CPU-intensive decompression phase. As EROFS images scale in size, this sequential pipeline creates a significant performance barrier across container environments, embedded systems, and developer workflows. This project resolves the synchronous I/O bottleneck by introducing a multi-threaded decompression pipeline built on a producer-consumer architecture. A background workqueue will enable the main thread to handle directory walks and queue compressed blocks, while a dedicated worker thread pool processes the decompression payloads. To eliminate heavy scheduling overhead and lock contention, the project introduces dynamic pcluster batching, which groups sequential blocks into a single work unit and scales the batch size based on the specific compression algorithm in use. Additionally, the extraction process will be further accelerated by a thread-safe, LRU-bounded metadata cache protected by read-write semaphores to prevent redundant I/O and strictly bound memory usage. The deliverables for this project include a scalable, multi-threaded extraction pipeline for fsck.erofs integrated with erofs_workqueue , alongside dynamic pcluster batching heuristics optimized for LZ4, LZMA, DEFLATE, and Zstandard to minimize futex overhead. Additionally, the project will provide a thread-safe, LRU-bounded metadata cache designed to significantly reduce redundant I/O , and the implementation will be validated through comprehensive regression tests, edge-case validations for corrupted images, and Flamegraph-backed performance benchmarks.
Currently libcamera's ability to set control over each frame and stream is not reflected by the test applications. We don't have any way to set the controls using the test applications (qcam and cam). This proposal aims to address that. It would add a clear set of GUI controls to qcam and a cmd line friendly way for cam to set the control over the frames.
This project aims to improve and stabilize the racoon2 IKE daemon in NetBSD, which currently suffers from issues related to Security Association handling, connection management, NAT traversal, and lack of IPv6 support. The work will focus on fixing bugs, completing missing functionality, and ensuring correct behavior according to modern standards. Key improvements include reliable SA lifecycle management, proper connection termination, enhanced NAT-T support, IPv6 integration, and better configuration handling. The final deliverables will include a more stable and secure IKE daemon, implemented fixes for core networking components, improved tooling, comprehensive testing, and clear documentation for maintainability and future development.
The aim is to refine the capabilities of asynchronous I/O within NetBSD. A program that utilizes asynchronous I/O is able to invoke multiple file operations and continue executing without blocking on their explicit completion. The guiding principle is to keep submission cheap, coalesce work sensibly, and only spawn worker threads when the kernel would otherwise block. Today much of the path within the kernel still behaves synchronously; even so there are performance gains when working with different files, and the work lays the groundwork for future optimizations in concurrency on the same file. We are investigating practical paths forward by drawing on designs that decouple submission from waiting so the system may stall less, with a clear route towards maximal parallelism as lower layers mature (e.g. the buffer cache).
Printers are certified for version 1.1 IPP Everywhere at the moment. IPP Everywhere is about to release version 2. In version 2 To cover the newest printers, it adds new properties. All of the software offered by OpenPrinting is based on IPP Everywhere 1.x, so it must be updated in order to exploit printer functionalities supported by the current version of the standard. IPP defines the core IPP v2.0 and IPP driver replacement extension v2.0 defines IPP extension support to certain use cases, this all is done so that we do not need to use traditional driver specific software's. IPP Job Processing Extension v2.0 defines a wide range of properties and values to determine how a Printer should handle jobs and documents. This specification should cover certain use cases given the requirement for managing Jobs, setting Job processing choices, and retrieving processing status data. I have to Implement the new attributes and IPP operations in libcupsfilters and CPDB(write necessary code). My job is to update everything to comply with IPP Everywhere 2.0, IPP Driver Replacement Extensions v2.0, and IPP Job Extensions v2.1, as well as to add the new functionality in accordance with the new standards. I must ensure that the open printing software packages comprehend and use the new features and properties.
A guest operating system (OS), running inside a Confidential Virtual Machine (CVM), does not know the state information, such as log data or memory usage, of the secure module COCONUT-SVSM, which is responsible for managing the CVM. This information can be useful for the guest OS to understand the environment it is running in. A new protocol has been defined to enable the retrieval of this information. This project implements this observability protocol. The work is divided into several steps, which are also the deliverables: the implementation of a SVSM-side handler for the protocol, a guest-side handler, which is a Linux device driver, and a user-space tool, which uses the Linux device driver to retrieve and save the information.
<p>The project is about analyzing warnings reported by LDV Tools and classifying them as false-positives or real bugs. Once a warning is identified as a bug, a bug report or patch fixing the bug should be sent to the maintainers. These warnings are related to possible data race in kernel modules.</p>
<p>The project sets to add tilling support for the Adreno 3XX gallium driver, figuring out the various layouts for different types of textures, when to use them, and update the use cases. Tiled rendering greatly reduces the required memory bandwidth, which is particularly important for handheld/embedded devices and low power GPUs with restricted resources. This especially important nowadays with the advent of IOT.</p>
Print Dialogs are vital components for many users, facilitating their printing tasks efficiently. It's crucial that these dialogs remain updated with current print technologies, such as CUPS, and possess the flexibility to swiftly adopt emerging technologies. The Common Print Dialog Backends (CPDB) were introduced as an attempt at de-coupling the print technology (CUPS, print-to-file, that time also Google Cloud Print) from the GUI. The projects have to adopt the CPDB support only once and then OpenPrinting (or any upcoming cloud printing projects) takes care of the CPDB backend for the print technologies to be up-to-date with any changes. The task is to integrate CPDB with the LibreOffice print dialog.
This project focuses on completing and refining KDE Print Manager’s transition to CUPS 3.x, ensuring full compatibility with the newer printing architecture while still supporting CUPS 2.x. Although core functionality already works, several features—particularly those related to modern, driverless printing—remain incomplete. The shift in CUPS 3.x toward IPP-based print destinations instead of permanent queues requires KDE Print Manager to better handle discovery, grouping, and display of printers such as network devices, IPP-over-USB printers, Printer Applications, and shared remote queues. The interface should clearly reflect the temporary, on-demand nature of these queues. A major aspect of the work involves improving support for Printer Applications, which are replacing traditional PPD-based drivers. The system should prioritize these modern solutions in workflows like “Add Printer,” while still allowing legacy configurations when necessary. Additionally, the user interface needs refinement to clearly distinguish between classic queues, driverless printers, and Printer Applications, and to provide easy access to external configuration tools like web interfaces. Finally, the project emphasizes strengthening test coverage, especially for newer CUPS 3.x features such as IPP destination handling and Printer Applications. By integrating comprehensive unit tests into the CI pipeline, the goal is to ensure long-term stability and reliability as the Linux printing ecosystem continues to evolve.
Leverage OCI hooks to obtain container start/stop events and container details for KubeArmor, replacing the current UNIX domain socket file method. Integrate Podman support for unorchestrated environments, ensuring policy enforcement and alerts/telemetry validation. Design the implementation to gather necessary container information and verify functionality with Podman as well as Containerd without Unix Socket. Expected Outcome: Work with Podman in rootless mode and Eliminate exposing UNIX domain sockets for other container runtimes
I plan to focus on three concrete deliverables during GSoC: an advanced fuzzing tool, an image injection tool, and a new GitHub Actions workflow for periodic fuzzing. My goal is not only to implement these components, but also to make them understandable, reproducible, and genuinely useful for long-term EROFS development. The expected implementation order is to first establish a format-aware fuzzing workflow, then build an image injection tool that helps reproduce and analyze specific issues, and finally connect the resulting workflow to periodic CI-based robustness testing.
<p>I want to improve the kernel environment model by developing models for operations with strings. Also I want to reduce rate of wrong verdicts to LDV and CPAchecker projects</p>
<p>The task is to catch bugs due to race conditions in Linux Kernel 5.4 device drivers. A software verification framework called <em>Klever</em> automates the verification against a concurrency safety requirement specification. Using the <em>Klever</em> web interface, the generated error traces are analyzed and classified as false warnings or real bugs. In case of bugs, a bug fix patch is prepared and sent to the driver subsystem developers, or a bug report is sent. Causes of the false warnings are also determined to improve the tool's environment models.</p>
Virtio-net device uses Control Virtqueue(CVQ) for changing device parameters. For some devices, such as vDPA, its CVQ is passed from Guest’s driver directly to Host driver, which makes it difficult for QEMU to track the status of these devices. To solve this problem, QEMU introduces Shadow Virtqueue(SVQ) for vdpa device, which shadows the CVQ via QEMU instead of being assigned directly to Guest. During QEMU Live migration, to restore the vdpa device in the destination VM to the state in the source VM, SVQ can use CVQ’s interface and send the state as regular CVQ commands. Due to some CVQ commands for vDPA are missing at present, this project aims to achieve support for a subset of CVQ commands, including VIRTIO_NET_CTRL_RX family commands, VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET command, VIRTIO_NET_CTRL_VLAN_ADD command, VIRTIO_NET_CTRL_MQ_HASH_CONFIG command and VIRTIO_NET_CTRL_MQ_RSS_CONFIG command for vDPA.
This project is related to two stages. Its aim is to make Kworkflow Stronger. The first stage is to fix bugs as many as possible and the next stage is adding another distribution support.
Currently, Haiku's Bluetooth stack only supports basic device pairing, with no Bluetooth profiles implemented yet. I plan to implement the Hands-Free Profile (HFP), which will enable users to connect their earphones or headphones to listen to audio and make hands-free calls. The deliverables for this proposal include working implementations of the HFP and SPP profiles, as well as RFCOMM and SCO. Additionally, the RFCOMM implementation will lay the groundwork for other profiles, such as the File Transfer Profile (FTP).
Device trees tell the Linux kernel how hardware is laid out. Currently, many of the rules for these device trees are written in plain .txt files. Because they are just text, they cannot be tested automatically, which forces maintainers to manually hunt for typos and missing properties during code review. The goal of this project is to convert a large number of these legacy text bindings into strict YAML schemas. Moving to YAML allows the build tools to automatically validate the hardware descriptions before the code is ever merged, saving everyone a lot of time. In addition to converting the bindings, the project includes tracking down and fixing the older hardware .dts files that inevitably fail when tested against these new, stricter rules, ensuring that everything builds and validates perfectly.
Print Dialogs are one of the most used features for many people, and it is important that they stay up to date with the current print technologies (like CUPS) and be able to quickly adopt any new such upcoming technology ,any bugs should be able to be fixed right away by the programmers of the print technology, The Common Print Dialog Backends (CPDB) aims to de-couple the GUI from the print technologies. Instead of directly connecting to each print technologies separately, the GUI projects only must adopt CPDB support once, and then OpenPrinting takes care of the CPDB Backend for the print technologies to be up to date with any changes . task is to get CPDB into the print dialogs upstream, the UI of them does not need to be changed. Dialogs to be treated are Mozilla for Firefox and Thunderbird, Chromium/Chrome, LibreOffice, and any other application-specific dialog
NetBSD's syscall emulation was implemented with individual programs in mind, and so lacks predictability. By taking a more systematic approach to testing and syscall implementation, this project aims to add support for Go binaries.
<p>Integrate the Phoronix Test Suite (PTS) with NetBSD by porting the available test profiles & suites, in order to automate and web-host the regression and performance benchmarking of kernel and userland libraries.</p>
<p>Add clang-format configuration ‘NetBSD’ reflecting KNF (Kernel Normal Form) NetBSD style and upstream it to the LLVM project. Find and specify missing style rules in clang-format based on the /usr/share/misc/style file. Find missing clang-format rules demanded by the NetBSD style and implement these rules in the upstream tool, and integrate it with NetBSD distribution, shipping it with MKLLVM=yes.</p>