# gsoc2026

Published articles for gsoc2026.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## GSoC 2026 Final Report | Modernizing Haiku's Bluetooth Stack: HID Profile Implementation

DevFeed: [GSoC 2026 Final Report | Modernizing Haiku's Bluetooth Stack: HID Profile Implementation](<https://devfeed.tech/articles/gsoc-2026-final-report-modernizing-haiku-s-bluetooth-stack-hid-profile-implementation-34781.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/mohammedrattia/2026-09-01_gsoc_2026_final_report/>)

Author: mohammedrattia

Published: 2026-09-06T12:00:24Z

Content type: article

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [drivers](<https://devfeed.tech/tags/drivers.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [gsoc2026](<https://devfeed.tech/tags/gsoc2026.md>), [haiku](<https://devfeed.tech/tags/haiku.md>), [hid](<https://devfeed.tech/tags/hid.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [input](<https://devfeed.tech/tags/input.md>), [report](<https://devfeed.tech/tags/report.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This final GSoC 2026 report describes work to improve Haiku's Bluetooth stack and implement the HID profile. It reports that Bluetooth mice and keyboards are functioning and that the core stack is ready for additional profiles, while noting that Low Energy Bluetooth remains unimplemented and further work is needed.

### Source excerpt

Hello! Finally, GSoC is done for me. This is the final report for my project. The project was focused on improving the Bluetooth stack and making it useful. Hopefully, the Bluetooth stack is now in a much better state than before GSoC 2026. It still needs much work to be fully developed. However, currently Bluetooth mice and keyboards are functioning. In addition, the core of the stack is ready for implementing other profiles. This report will include the following: Project Overview What I Did Future Work Conclusion Project Overview The State of Bluetooth on Haiku Before GSoC 2026 Although the Bluetooth stack was outdated (based on version 2.0 and 2.1 of Bluetooth) before GSoC, it contained many core components that helped us focus less on starting from scratch and more on making the already built stack useful. However, that's true only for BR/EDR (Basic Rate / Enhanced Data Rate) Bluetooth, not Low Energy Bluetooth, which isn't implemented yet in Haiku. The BR/EDR Bluetooth core stack is divided into several core modules that provide services for the Bluetooth profiles, which in turn provide services to users like human interface devices, audio, file transfer, etc. Some of those core modules and their state in Haiku are: L2CAP: Functional, but needed some fixes. HCI (Host Controller Interface): Functional, but on an old Bluetooth version, as stated above. Transfer Layer (h2generic): Functional, but required further extension to cover vendor-specific devices. Preferences Application: Functional, but it lacked some features, such as changing the Bluetooth friendly name, canceling inquiry and pairing, and adding devices to a block list. Security Manager: Not complete; it's blended into the Bluetooth Server, and most of its functions were missing. Service Discovery Protocol (SDP): Not implemented. The state mentioned above meant the Bluetooth stack couldn't yet offer much practical functionality to users, because none of the Bluetooth profiles were implemented. In addi

## \[GSoC 2026\] Expanding the functionality of the Haiku Devices Application - Final Report

DevFeed: [\[GSoC 2026\] Expanding the functionality of the Haiku Devices Application - Final Report](<https://devfeed.tech/articles/gsoc-2026-expanding-the-functionality-of-the-haiku-devices-application-final-report-34778.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/aquamatic123/2026-08-21_gsoc_2026_expanding_the_functionality_of_the_haiku_devices_application_-_final_report/>)

Author: aquamatic123

Published: 2026-08-21T15:52:01Z

Content type: article

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [USB](<https://devfeed.tech/topics/usb.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [api](<https://devfeed.tech/tags/api.md>), [application](<https://devfeed.tech/tags/application.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [devices](<https://devfeed.tech/tags/devices.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [gsoc2026](<https://devfeed.tech/tags/gsoc2026.md>), [gui](<https://devfeed.tech/tags/gui.md>), [haiku](<https://devfeed.tech/tags/haiku.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [report](<https://devfeed.tech/tags/report.md>), [software](<https://devfeed.tech/tags/software.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

This final report describes a Google Summer of Code 2026 project that expanded Haiku's Devices application from a basic hardware list into a more capable management utility. The work added driver mapping, USB and HID descriptor inspection, packaged-driver blocking with safety checks, unit tests, alphabetical sorting, improved attribute organization, and persistent selection.

### Source excerpt

Hello everyone! As Google Summer of Code 2026 comes to a close, it's time to summarize the work I've done over the summer on expanding the functionality of the Haiku Devices application. Overview Haiku's Devices application previously provided a basic list of connected hardware, but lacked the features necessary to function as a true management utility. My project aimed to transform Devices into a more capable hardware manager, allowing users to view detailed technical specifications and perform administrative tasks directly from the GUI. Over the course of the summer, I focused on implementing new visualization features, improving the user experience, and pulling more detailed hardware information directly from the system. Completed Objectives & Work Accomplished Here is a breakdown of what was accomplished this summer: Driver Mapping: Integrated the GUI with the kernel structures to display the active driver module name and its absolute path (/dev). This involved extending the device_manager module by adding a new device attribute and being able to fill that attribute when possible. Extract USB descriptors: Enhanced the application's ability to inspect USB devices. By utilizing the BUSBDevice API, the app now builds a tree with all USB attributes descending the USB hierarchy. We first loop through the configurations, then the interfaces, and finally the endpoints. The app can also display HID descriptors. State Management (Packaged Driver Blocking): Added a new GUI button to disable or re-enable packaged drivers. This required implementing the backend logic to read, modify, and write to the system's Packages configuration file. I also added safety checks to prevent users from accidentally disabling drivers essential to the system, and added warnings to guide the user through the process. Unit Tests: Although not explicitly part of my initial proposal, I took the initiative to write unit tests for the application. This was a fantastic learning experience for unders

## GSoC Bluetooth Improvement Midterm Recap

DevFeed: [GSoC Bluetooth Improvement Midterm Recap](<https://devfeed.tech/articles/gsoc-bluetooth-improvement-midterm-recap-34780.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/mohammedrattia/2026-07-18_gsoc_bluetooth_improvement_midterm_recap/>)

Author: mohammedrattia

Published: 2026-07-17T23:06:42Z

Content type: article

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>)

Tags: [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [commands](<https://devfeed.tech/tags/commands.md>), [devices](<https://devfeed.tech/tags/devices.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [gsoc2026](<https://devfeed.tech/tags/gsoc2026.md>), [haiku](<https://devfeed.tech/tags/haiku.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [interface](<https://devfeed.tech/tags/interface.md>), [midterm](<https://devfeed.tech/tags/midterm.md>), [recap](<https://devfeed.tech/tags/recap.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This midterm recap describes improvements to Haiku's Bluetooth stack during a Google Summer of Code project. The work includes updating outdated Host-Controller Interface commands and events, implementing mandatory Bluetooth functionality, adding a setting for the device's friendly name, and adding support for canceling device inquiries.

### Source excerpt

Hello! The GSoC's midterm (at least for me) has just passed, so I thought of making a recap post about the improvements I've made so far. I'll try to keep the post brief to make it easier for readers (foreshadowing: I realized that's impossible :P). I've already posted an introduction about me and the project. You can read it here if you haven't already. Host-Controller Interface (HCI) Commands and Events The Host-Controller Interface (HCI) is the specification for how the operating system (the host, in our case, is Haiku) communicates with the Bluetooth controller. The Bluetooth controller is basically the firmware on the Bluetooth chip. So, it's vital to implement at least most of the mandatory HCI commands and events from the Bluetooth specification for Bluetooth to function properly. HCI commands and events were mostly outdated, dating back to version 2.0 or 2.1, so updating them was the first step to get the Bluetooth stack back to life. The Bluetooth SIG provides an Implementation Conformance Statement (ICS) for HCI, which can be used as a checklist for what's mandatory and what's optional. So, I started by completing what Haiku's Bluetooth stack lacked from the mandatory list. I'll mention here the features that users will be using without getting into internal details, so please feel free to contact me if you want to know more. Set Friendly Name Honestly... I personally don't think this would affect the user experience that much, but it's not me who decides anyway. It was mandatory in HCI, so I implemented it in the Bluetooth settings. Anyway, users can now set any name they want for their Haiku's Bluetooth device. Thanks to Máximo for solving a crash this caused later on and to KitsunePrefecture for reporting the crash :) Cancel Inquiry Discovering Bluetooth devices in Haiku wasn't working before the GSoC application phase. It lacked the handling of critical events needed to understand modern devices. Some GSoC applicants had already fixed a great part of it

## \[GSoC 2026\] Bluetooth: HCI Improvements & HID Profile | Haiku Project

DevFeed: [\[GSoC 2026\] Bluetooth: HCI Improvements & HID Profile | Haiku Project](<https://devfeed.tech/articles/gsoc-2026-bluetooth-hci-improvements-hid-profile-haiku-project-34779.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/mohammedrattia/2026-05-03_gsoc_2026_bluetooth_hci_improvements__hid_profile__haiku_project/>)

Author: mohammedrattia

Published: 2026-05-03T13:46:03Z

Content type: article

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Computer science](<https://devfeed.tech/topics/computer-science.md>), [Development](<https://devfeed.tech/topics/development.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [google-summer-of-code](<https://devfeed.tech/tags/google-summer-of-code.md>), [gsoc](<https://devfeed.tech/tags/gsoc.md>), [gsoc2026](<https://devfeed.tech/tags/gsoc2026.md>), [haiku](<https://devfeed.tech/tags/haiku.md>), [hci](<https://devfeed.tech/tags/hci.md>), [hid](<https://devfeed.tech/tags/hid.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [profile](<https://devfeed.tech/tags/profile.md>), [programming](<https://devfeed.tech/tags/programming.md>), [project](<https://devfeed.tech/tags/project.md>), [software](<https://devfeed.tech/tags/software.md>), [software-engineer](<https://devfeed.tech/tags/software-engineer.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

A GSoC 2026 proposal for Haiku aims to modernize the operating system's Bluetooth stack and implement the Bluetooth HID profile. The planned work includes completing HCI commands, improving pairing and Link Key persistence, and handling disconnection and timeout events.

### Source excerpt

Hello! I'm Mohammed R. Attia, a 2nd-year Computer Science Student. I've been accepted into Google Summer of Code (GSoC) 2026 with Haiku, with my proposal titled "Modernizing Haiku's Bluetooth Stack: HCI Completion and HID Profile Implementation." About Me I consider myself a competitive programmer and a software engineer. I haven't decided on a specific specialization in software engineering just yet; rather, I'm interested in systems development and low-level programming. You can check my GitHub for more information about my latest projects. I go by the handle mohammedrattia in many places on the internet, so feel free to reach out :). How did I get here? I first learned about Haiku while searching for GSoC organizations to contribute to. It was my first time learning about a desktop operating system other than the famous trio: Windows, macOS, and Linux. So, I started by reading the GSoC guide and joining IRC. I remember that the process was smooth because the guide contained everything, and people on IRC were welcoming and supportive. Then, I started working towards building Haiku, and I got my first commit merged into Haiku after several days. Current Goals The main goal of my proposal in GSoC is to modernize the Bluetooth stack. Currently, the Bluetooth stack in Haiku can't communicate effectively with modern Bluetooth devices because of the outdated standards it uses. However, making the Bluetooth core perfectly align with modern standards won't benefit Haiku users because it would still need a Bluetooth Profile to perform a useful task. One of the most common uses of Bluetooth is Human Interface Devices (HID) (e.g., keyboards and mice). Accordingly, this project will build the HID Bluetooth profile to provide useful functionality for Haiku users. The following three sub-sections contain a brief specification for the goals of the project from my GSoC proposal. Modern HCI Event & Command Handling Build upon the recent SSP/EIR groundwork by implementing the remai