← / J.1.106 K.1.105 (La Fontaine) K.3.201 K.3.401 K.3.601 K.4.201 K.4.401 K.4.601 H.1301 (Cornil) H.1302 (Depage) H.1308 (Rolin) H.1309 (Van Rijn) H.2111 H.2213 H.2214 H.2215 (Ferrer) H.3242 H.3244 AW1.120 AW1.121 AW1.125 AW1.126 UA2.114 (Baudoux) UA2.118 (Henriot) UA2.220 (Guillissen) UB2.147 UB2.252A (Lameere) UB4.132 UB4.136 UB4.228 UB5.132 UB5.230 UD2.120 (Chavanne) UD2.218A UD2.110 UD2.208 (Decroly) UD6.203 UD6.205 UD6.215 Janson
09:00 Welcome to the FOSDEM 2025 RISC-V DevRoom
 
 
09:15
 
 
09:30
 
 
09:45 Unstoppable Force Behind Linux on RISC-V
 
 
10:00
 
 
10:15
 
 
10:30 Zero Downtime vs. Zero Data Loss: Insights from Large-Scale S3 Migrations Welcome to the Nix and NixOS devroom! Org mode witchcraft at Spritely Confidential Computing devroom welcome Welcome to the Modern Email DevRoom 💌 Welcome to the Legal and Policy Issues DevRoom What's new in Nextcloud? RISC-V Hardware - Where are we? Announcement of LibreOffice 25.2 Finding an AOSP developer community Creating an Open Knowledge Graph for Climate Welcome to the Radio Devroom Augurs: a time series toolkit for Rust Syd: An Introduction to Secure Application Sandboxing for Linux Open Source Firmware, BMC and Bootloader devroom - intro What the Spec?!: New Features in Apache Iceberg™ Table Format V3 The state of Go Cache me if you can: P2P Image Sharing in Kubernetes with Spegel The State of OpenJDK MicroCode: Live, Portable Programming for Children Learn to build your own mobile app with MIT App Inventor Enhancing Testing Strategies for Critical Systems: Statistical Path Coverage
  A New Approach to Callee-Saved Registers in LLVM aerc, an email client for the discerning hacker Europe's Way to Mandatory B2B-E-Invoices ODF and its Toolkit Multi-Profile UKIs and other ways to supercharge your Unified Kernel Images Compassionate Open Source Community Building (The Tauri Model)
  Confidential Computing’s Recent Past, Emerging Present, and Long-Lasting Future
10:45 NixOS @ Doctors Without Borders (MSF) - how we use it and why AOSP bring-up using Software Rendering Using AI hardware accelerators for real-time DSP on embedded devices - NPU, TPU etc,
  LibreOffice Accessibility on Linux, Windows and macOS
  Model for Economic Tipping point Analysis (META) - a climate-economy integrated assessment model in Julia
11:00 CLI Magic Tricks for Docs Projects Parula - Presenting the new email client Is There Really an SBOM Mandate? Languages and LibreOffice Boosting the Developer productivity using APEX in AOSP Tightening every bolt wolfBoot: resilient, quantum-resistant secure boot for all architectures The Inner Workings of Go Generics A new cgroup cpu.max.concurrency controller interface file ZGC: Paving the On-Ramp The Trustable Software Framework: A new way to measure risk in continuous delivery of critical software
  Moving work into the middle end Intelligent Tiering for RGW Confidential Virtual Machines Demystified: A Technical Deep Dive into Linux Guest OS Enlightenment Bridging the Gap: Regional OSPO Networks as Catalysts for Open Source and Local Community Collaboration
  How reproducible is NixOS? Introducing Glow Effect for texts in shapes Graph Databases after 15 Years – Where Are They Headed? Bringing application containers to Incus
11:15 ABI Extractor - Understanding ABI compatibility between compilers targeting RISC-V Building a watt-meter esp-rs and a rocket backend
  Improved comments & @mentions JOSSCast: Experimenting with Storytelling in Open Research
  Building firmware with firmware-action
11:30 Improving compile-time computation of object size Patterns for maintainer and tech writer collaboration ManaTEE: an Open-Source Private Data Analytics Framework with Confidential Computing Structured Email: Building blocks and implementation guidance How Does Heinz Have 80% of a Commodity Market?* – Leveraging Trademarks in Free Software Testing the QA instructions Keeping up with the AOSP Kintsugi: A Decentralized E2EE Key Recovery Protocol Swiss Maps in Go Writing a kubernetes controller… But in Rust Generational Shenandoah Update: Relevance and Best Practice Recommendations KernelCI - upgrading Linux development and integration workflows
  Six months with Nix & devenv and counting Build a Great Business on Open Source without Selling Your Soul
  Accelerating Storage with Ceph NVMe-oF: Architecture, Challenges, and Performance LibreOffice Technology atomic / threading improvements M17 and OpenRTX: one year later Huge graph analysis on your own server with WebGraph in Rust
11:45 Why don't we have `libsync` yet? Do we need another open source software taxonomy?
  O_o [ Flang + WASM ] o_O LibreOffice's Python API: Working around limitations of the Pythonic approach Building flashless servers with Open Source Firmware for higher security and better flexibility Apache XTable - Interoperability Across Apache Hudi, Apache Iceberg, and Delta Lake State of Checkpoint/Restore in Kubernetes
  Supporting Confidential Computing on Arm with Open Source Software
12:00 Things are coming together for Flang tooling Building an LTE router with a $60 (new!) laptop and a single file Evolving real-world AsciiDoc into a specification and how it will help the ecosystem Stalwart Mail Server Is FCC-motivated lockdown justified? We built a wireless router to find out Add RISC-V support to your favorite Operating System Exploring the deprecated parts of LibreOFfice API Accelerating Android Releases: An Unofficial Guide to Trunk Stable Nothing to see here - practical advice to avoid tunnel vision and similar decloaking techniques against VPNs Privilege Separation In Go Project Lilliput - Looking Back and Ahead Concurrency Testing using Custom Linux Schedulers
  Pick My Project! Lessons Learned from Interviewing and Writing 20+ End User Case Studies
  LOWA, In Need Of a VCL Plug Guix + Software Heritage: Source Code Archiving to the Rescue of Reproducible Deployment container-snap: Atomic Updates from OCI Images using Podman’s Btrfs Driver
12:15 Understanding Ceph: A Journey from Metrics to Tracing CryptPad: Recent Advances in Privacy and Collaboration GRUB - Project Status Update Learn Python programming using Hedy Program a Tiny Computer!
  Updates on Coconut SVSM: Secure Services and Stateful Devices for Confidential Virtual Machines Beautiful remote web dialog widgets built on LOT Immutable All the Way Down - using System Extensions to ship Kubernetes
  An introduction to Torch-MLIR Remote Execution with Buck2 and Nix Bringing terminal aesthetics to the Web with Rust (and vice versa)
12:30 Docs Straight from the Code: AST-Powered Automation Mox and simplifying mail server setup & management Managing copyrights in free software projects - discussion panel with GNU maintainers Distributed real-time collaboration for Writer - a first prototype Forking Android considered harmful The SELinux problem that cast a months long shadow Exactly-Once Event Processing E2E: Bridging Apache Flink and Kafka for Reliable Data Streams Go-ing Easy on Memory: Writing GC-Friendly code (Almost) everything I knew about Java performance was wrong Continuously Update Everything two years later
  Closed data, open software: building new ways into the French web archives The AFF3CT framework for building numerical communication chains The Psychology Behind Communities: Why Do We Really Contribute?
  Latest implementation of AMD SEV-SNP in OVMF
12:45 Trust No One: Secure Storage with Confidential Containers RISC-V Unified Database: Streamlining the Ecosystem with a Centralized Source of Truth Automatic Documents, packed with content and signed
  MLIR-based Data Tiling and Packing for Ryzen AI NPU Scaling Ceph-SMB connections Play with Kube using Podman
  Optimizing AutoText & settings for multi-tenant collaboration Unlocking the Power of Property-Based Testing
13:00 No more broken docs: keep docs accurate with Doc Detective How to Deploy Full-Scale Secure On-Prem E-Mail Security Cluster as IaC To Mine Or Not To Mine - Training of (Generative) AI Models under the TDM Exception in EU Copyright Laws Ethersync – Real-time Collaboration in Your Text Editor! Towards a purely open AOSP: Adding Android-like functionality to AOSP Preserving LHC Analyses with Rivet: A Foundation for Reproducible and Reusable Particle Physics Research A Practical Introduction to using sq, Sequoia PGP's CLI Build better Go release binaries Monitoring Security Operations with JDK Flight Recorder Events
  New, shiny WebGL presentations in the browser Six Degrees of Kevin Bacon - Open Source Community Edition
  RA-WEBs: Remote Attestation for WEB services Abusing reborrowing for fun, profit, and a safepoint garbage collector Accelerating QuestDB: Lessons from a 6x Query Performance Boost Comparing Fuchsia components and Linux containers Automating Low-Level Firmware Validation with Robot Framework
13:15 Go in the Nix ecosystem: vulnerability scanning and experiments towards a next-gen builder NextGraph : Build collaborative, local-first and decentralized apps COOL – LibreOffice Technology in the browser
 
  SMB3.11 Unix Extensions current status LibreOffice-based document editing in XWiki through COOL CartABl: instrumenting the authoring of interactive maps and figures
13:30 API documentation testing with AI user simulation Enhancing Email Spam Detection with LLMs: Practical Experience with Rspamd and GPT Panel: When is an AI system free/open? Panel : Integration between collaborative applications Towards seamless Python package installation on riscv64 Second chance: Upgrading devices from Android 9 to Android 14 HAMNET - Status Update Using DPoP to use access tokens securely in your Single Page Applications TrenchBoot - project status update A database for your program state Quo Vadis, class space? A look at class metadata storage in the Hotspot JVM Enhancing delivery using Kubernetes Gateway API and Istio
  Spock : a software-based RISC-V TEE Unearthing the impact of survivorship bias on women in FOSS to build more inclusive communities
  My Nix-Powered Homelab Nextcloud Office: On collaborating across FOSS projects Declarative Networking in Declarative World, ver. 2025
13:45 Programming is fun; Testing is needed; Infra is …
  Opening the Unlocked Manuscript Chest: A Compact Edition Template for Visualizing Archival HTR Material ODBC Takes an Arrow to the Knee
  COOL UI / UX command tracking & analysis Type tips and tricks
14:00 9,800 Sandboxes and Counting: Transforming Documentation with Interactive Learning Environments Running Mushroom on Intel TDX Advanced mail security - our experience with automated reputation sharing in communities and pre-queue deep threat analyzers Hijack Launcher3! Breaking Barriers: The Art of (Free) Gamified Security Training High performance gRPC Incus cluster: private cloud with system containers Native memory tracking for all - Extending NMT beyond Hotspot Modsoup : Recipe and ingredients - Creating a modpack/gamepack for Luanti/Minetest Snap!GPT: Exploring Generative AI Through Visual Programming Fuzzing databases is difficult
  State of CephFS: Three Easy Pieces NixOps4: new, sustainable platform for deployment technology LibreOffice on mobile with the Collabora Office app Open Source in Industrial Control Systems: A Cultural Challenge
  Profile-Guided Optimization (PGO) in LLVM: current challenges from the adopter perspective
14:15 How to quickly build an AI startup on open source RISC-V Cores Explore large image datasets with Panoptic
  WoA laptops: a quest for getting the right DTB
  RF Swift: A Swifty Toolbox for All Wireless Assessments
14:30 TLSRPT comes to Open Source Auditing Web Trackers with the EDPB's Open-Source Website Compliance Tool Collabora Online - richer collaboration TKey, an open source/open hardware security token Apache Arrow tensor arrays: an approach for storing tensor data Katzenpost: developing privacy software in Go Implementing a rootless container manager from scratch Reduce the size of your Java run-time image Advanced Test Harness Infrastructure for Validating ARM and FPGA-based Systems
  How a City Platform Became a Global Community
  Case Insensitive Trees in CephFS How Open-Source Software is Shaping the Future of Healthcare How I optimized zbus by 95% Open Source Firmware, BMC and Bootloader devroom - outro
14:45 How we built a new powerful JSON data type for ClickHouse
 
 
15:00 Welcome to the GCC (GNU Toolchain) devroom Engaging the Open-Source Community: Exploring the OpenSIPS Community Edition Projects The state of eBPF docs Welcome to the Swift ecosystem! DMARCaroni: where do DMARC reports go after they are sent? A Free Software App Store for iOS: the App Fair Project's perspective on the DMA From Rust-VMM to KataContainers: THE DEVELOPMENT OF H EXT. BASED SOFTWARE ECOSYSTEM getaddrinfo sucks, everything else is much worse How FreeBSD security audits have improved our security culture Devroom welcome Federated Blogging with WriteFreely Welcome to the web performance dev room Hardware backed SSH keys: ssh-tpm-agent Welcome to the Microkernel and Component-Based OS Devroom Developing a modern shell and programming language with Go Sandbox IDs with Landlock InvokeDynamic in Practice with JRuby Squashing the Heisenbug with Deterministic Simulation Testing
  Pushing the Sega Dreamcast with GCC Active Tigger: Accelerating Collaborative Text Annotation for Social Sciences and Beyond Building the next generation of Cloud Native Database HelenOS: 20 years of past history, 20 years of future vision From Side Projects to Sustainable Open Source
  Why Swift is the Next Big Thing for IoT How browsers REALLY load Web pages
15:15 OAuth Authentication and Identity Validation in SIP Systems
  CERN CTA Service: writing LHC data to tape with opensource software on commodity hardware bpftrace: a path to the ultimate Linux tracing tool Blink them to death using Embedded Swift Kernel support for Mobile Linux: The missing 20% PICO Scholar: Advancing Open Research and Systematic Literature Reviews with an Inclusive Open-Source AI Platform SDR++, a modular, cross-platform SDR utility
  From DNS Headaches to DNS Hero: How I Secured My Family’s Internet Programming ROS 2 with Rust volesti: sampling efficiently from high dimensional distributions
15:30 Building a Ferrofluidic Music Visualizer with Embedded Swift Breaking tech monopolies in Europe: A fireside chat with the European Commission Cristal - A flexible wiki UI Mobilizon: Decentralizing Event Management for a Privacy-Respecting Social Web Sigsum: Detecting rogue signatures through transparency Celebrating kernel diversity with Genode An Intro to eBPF with Go: The Foundation of Modern Kubernetes Networking Running Containers Under Systemd: Exploring Podman Quadlet Inner Workings of the FFI API in the JVM Testing Support for Multiple Authentication Methods in ClickHouse Using Combinatorics and Behavioral Models
  Enabling AI-Powered Conversations at Scale with Kamailio, FreeSwitch, and RTPEngine Wake up, FreeBSD! Implementing Modern Standby with S0ix Human-Computer Counter-Choreographies Reusing PostgreSQL codebase in a Distributed SQL Architecture (YugabyteDB) Empowering Communities and Local Tech Companies with Government-Supported FOSS Localization Project
  First contributions to GCC: from plugins to trunk Bpftrace OOM Profiler
15:45 age-plugin-se: Building a lean cross-platform cryptogaphy tool RISC-V Linux bug hunting Weather and emergency alerts Physics count game using ZIM The Magic of Making a Radio Remote Controller
  DNS for enterprise domains: FreeIPA and Samba AD experience Lessons from rewriting systems software in Rust Could we actually replace containers?
  Tutorial: How to add a builtin function to the GCC backend From Particle Collisions to Physics Results: EOS Open Storage at CERN RTCP, Racecars, video and 5g Why Swift is the best language for building modern applications on the backend Tracking bulk builds in pkgsrc - from Cloud to NetBSD Native Making Sense of the Long Animation Frames (LoAF) API
16:00 Auto-instrumentation for GPU performance using eBPF Authentication and autoconfig for email - Update on standardization efforts Let's talk about anti-trust! Collaborative editing in a MediaWiki environment Serving a Sustainable Coding Community: The INBO Coding Club Story Friendica - under the radar since 2010 An overview on detecting Login Anomalies with BuffaLogs MACHINA: Lessons and Insights from Reimplementing the Mach Microkernel WebAssembly for Gophers: from Wasm to Asm and back! Foreign Function and Memory APIs and Swift/Java interoperability Accelerating CI Pipelines: Rapid Kubernetes Testing with vCluster
  Designing YDB: Constructing a Distributed cloud-native DBMS for OLTP and OLAP from the Ground Up dbt-score: a linter for your dbt model metadata Disability Inclusion is Us: Building Inclusive Open Source Communities Through Intentional Action
  Bringing Oniro to Mobile: Challenges in Hardware Enablement DNF manifest: A new way to replicate your package configuration, debug customer issues, manage container files and more
16:15 SIP-V+T=❤️? Tales of taking VoIP out of SIP and adding TCP instead, or Proxy All Things NetBox DNS - Single source of truth for DNS Research 101: Promoting Diversity Through Open Science Literacy Broadband data transfer over USB for GNU/Linux: 1-2 GHz (L-band) SDR receiver dedicated to GNSS (and other) reception, interfacing with PocketSDR, GNU Radio and gnss-sdr
  Extracting reliable data for short-lived processes using eBPF for Linux Security Threat Analysis Live coding a streaming ChatGPT proxy with Swift OpenAPI—from scratch! Mirror Hall: Building virtual network displays to bridge mobile and desktop Build your own timeline algorithm Kubernetes outside of the cloud: Lessons learned after 3 years
  Using the Valgrind error manager for file descriptor tracking High Performance Packet filtering in BSD. A holistic review CMRX: Microkernel-based RTOS with memory isolation on MMU-less architectures
16:30 Advancing Large Scale Scientific Collaborations with Rucio The EU CRA and Copyleft From Open Collaboration to Customized Control: Transitioning from Wikidata to Wikibase How good is RISC-V: Comparing benchmark results Building Bridges Between Researchers, Technologists, and Infrastructure Non-Microblogging Software Design on the Fediverse Managing Vulnerabilities in Open-Source Dependencies Playing games without a computer: Hardware fun with TinyGo Project Leyden - Past and the Future Advanced Build Tools and Remote Execution API
  WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update phosh: Yet another year around the sun! Migrating Massive Aurora and MySQL Databases to Vitess Kubernetes Clusters with Near-Zero Downtime Writing safe PostgreSQL extensions in Rust: a practical guide Talking to Robots: Uses and Abuses of LLMs in Communities
  Latest kprobe and uprobe development Scheduling HTTP streams
16:45 How to put Swift in a box: Building container images with swift-container-plugin Sxmo: A mobile UI for hackers Open Source Business Intelligence - Introduction to Apache Superset
  Obtaining Safety & Security Certifications for L4Re Syd+Youki=Syd-OCI: Introduction to a Secure Container Runtime for Linux
  Cobol is the Original Safe Language Kamailio 6.0 (development) update A packet's journey through pf Voluntary data sharing is broken: Data donation for scientific research as site of digital repair
17:00 Performance evaluation of the Linux kernel eBPF verifier (Avoid) Implementing STARTTLS Legislative overlay: anticipating and navigating through regulatory vectors Cypht integration in Tiki: Email as a first-class citizen Fediscovery: Improving Search and Discovery on the Fediverse What if Log4Shell were to happen today? Implementing parallelism: how we added threading and multicore support in TinyGo Valhalla Stage 2 - Nullness Emotion
  Prove website, domain, and network ownership Tracing the Internals of a Cloud-Native Database Open Source Governance for Software Engineers
  Making NooBaa Resilient by Eliminating Single Points of Failure imquic, a QUIC library for real-time media Building Truly Native Cross-Platform Desktop Apps (With a Focus on GNOME) Meshtastic - off-grid communication for everyone
17:15 A wiki as shared collaboration arena for humans and artificial agents? Open-Source CPU: Deep-dive into RISC-V CFU and Zephyr
  Optimizing switch statements: Overview and what's new Using Trusted Compilation from Safe Rust to Mitigate Bugs in the eBPF Verifier Your First AWS Lambda Function The conundrum challenges for Research Software and Research Data in Open Science Rust-ifying the Linux kernel scheduler (in user space) A Formal Specification of the NOVA Microhypervisor Less overhead, strong isolation: Running containers in minimal specialized Linux VMs
  Mobile Browsers: the Best of Times, the Worst of Times Chromium on Android: How we doubled Speedometer & developed the LoadLine benchmark Enhancing Airflow for Analytics, Data Engineering, and ML at Wikimedia
17:30 Chatting on IRC in 2025: grandpa, what's up? Post-Quantum Cryptography in OpenPGP Secure credential collaboration with Passbolt Modern zone data replication using LMDB and Lightning Stream Making NetBSD as a fast(er) booting microvm How Threat Actors Are Weaponizing Your Favorite Open-Source Package Registry Return Of Go Without Wires Advancing Java Profiling: Achieving Precision and Stability with JFR , eBPF and user context
  Distributed SQL Technologies: Raft, LSM Trees, Time, and More Digital Public Goods - Incentivizing Collaboration
  Incremental LTO in GCC Building your eBPF Program with Rust and Aya Manyfold: Federating 3d models Dangerzone: Containers that contain containers that contain attackers
17:45 Optimizing Longhorn for high performance hardware „Which is which, and who is who?” - Building a new Swift unqualified name lookup library End-to-end Entreprise Search with Datafari Community Edition Beyond Compliance: Assessing Modern Slavery Statements using the Wikirate platform
  Call fraud prevention through traffic trends monitoring using CGRateS libobscura: Cameras are STILL difficult Cancelling POSIX syscalls in Managarm - an asynchronous microkernel-based OS
  How to make BIND 9 fast(er)
18:00 CRC detection and optimization Five silly things to do when benchmarking your BPF program Distributed Tracing in Server-Side Swift Organizer's Panel Upstream Embedded Linux on RISC-V: The Good, the Bad and the Ugly Hunting for GitHub Actions bugs with zizmor Go Lightning Talks Unpick performance mysteries benchmarking GraalVM native executables Refining the Release Strategy of a Custom Linux Distro
  AI for Meetings Writing about FreeBSD Distributed Databases: Essential or Optional? Yet another new SDR runtime? Adventures in oxidizing Arch Linux Package Management Developing Custom UIs to Explore Graph Databases Using Sigma.js Become a Hiro
  Research Software, Sustainability, and RSEs D4C: Leveraging Delta Encodings for Faster and Lighter Container Image Updating.
18:15 How hard is it to bring a professional level, sustainable, advanced CMS to market? Mobian, "upstream first", and the Greater Good POSIX Signals in User Space on the Redox Microkernel
  Operating OpenStack Swift in real life Writing a Minimal Scheduler with eBPF, sched_ext, and C Honey, I shrunk DNSdist Unlocking Global Resilience using Cloud Native Distributed Datastore
  Debug fission - Separating debug symbols from executables A Universal and Stable API to Everything: XMPP Building reliable and scalable apps with Distributed Actors
18:30 Chatmail server networks for anonymous end-to-end encrypted messaging Rethinking the Web CMS and Finding the Excitement Running Mattermost on YugabyteDB Networked Journalism: Bringing long-form publishing to the Fediverse Enhancing artifact security with GitHub Artifact Attestations TuxBake: Image Wrangler Understanding the GraalVM Native Image Build Process
  FreeBSD audit source and other syslog-ng news Applying the "Do No Harm" Principle to Open* Practices and Technology
  An Introduction to Netkit: The BPF Programmable Network Device postmarketOS: what is it and what's new? Migrating 3B rows to TiDB for a high-traffic application Trusted boot with the Genode OS Framework
18:45 Cross-platform JIT compilers with GNU Lightning A long, short history of realtime AI agents Object-Capability Security with Spritely Goblins for Secure Collaboration A Business Intelligence architecture for Social and Solidarity Economy.
  I Like To Move IT, Move IT - Replication in TiDB & MySQL
 
19:00