Back to GSoC 2025
Kaushik VeeraraghavanKaushik Veeraraghavan
Passed
Mentors:Till KamppeterTill KamppeterShivam MishraMohit Verma
GSoC 2025

GNOME Control Center: List and handle IPP print services for the New Architecture

Work Summary

Finalized the new printing architecture for GNOME, creating a merge request for GCC 50 that adds support for driverless IPP printers and printer applications with intuitive grouping. Resolved duplicate printer entries by updating discovery from cupsGetDests() to cupsEnumDests().

2 minute read

Introduction

1 contributor full-size (350 hours), Level of difficulty: Hard

Modern printing on Linux is centered around driverless IPP printers and Printer Applications. Instead of managing traditional queue-centric workflows, desktop tooling now needs to discover, group, and manage IPP print services in a way that matches the new printing architecture.

This project extended GNOME Control Center to better support that model. The work focused on presenting driverless IPP printers and Printer Applications cleanly inside the desktop printer settings experience, improving service discovery behavior, and reducing duplicate entries.

Project Goals

  • Add support for the new OpenPrinting architecture in GNOME Control Center.
  • Improve discovery and grouping of driverless IPP printers and Printer Applications.
  • Resolve duplicate printer listings and make the UI more intuitive.
  • Prepare the work for upstream integration in newer GNOME Control Center releases.

Current Outcome

The project was completed successfully in GSoC 2025. The resulting work finalized the new printing architecture support for GNOME Control Center, including an upstream merge request for GCC 50 and a discovery update from cupsGetDests() to cupsEnumDests() to avoid duplicate printer entries.

Mentors

Till Kamppeter, Shivam Mishra, Mohit Verma

Desired knowledge

C/C++, GTK, DNS-SD/Avahi, CUPS/IPP

Code License

GPL-2+ and LGPL-2+