Site logo
Stories around the Genode Operating System RSS feed
  • Johannes Schlatow avatar

    Goa - Debugging with GDB


    With Goa supporting Sculpt OS as a remote test target and Sculpt supporting on-target debugging, it was time to streamline the debugging experience with Goa. In this article, I share the details about how I integrated GDB support into Goa and how it's put into use. Continue...

  • Johannes Schlatow avatar

    Goa - Using a headless Sculpt as a remote test target


    Goa's ability to run applications on a remote Sculpt system comes in handy for testing. However, switching between keyboards to control the remote-running application is a tiny inconvenience. My recent experiments with Sculpt on a ZimaBlade, which has no built-in display, thus motivated me to experiment with solutions for Sculpt as a truly remote test target. Continue...

  • Johannes Schlatow avatar

    Adding a dynamic desktop background to Sculpt


    For getting to know LVGL, I wrote a configurable desktop background for Sculpt OS that shows certain system information (e.g. clock, battery state). Continue...

  • Johannes Schlatow avatar

    Goa - Test running applications on Sculpt


    Since its first release, Goa allows test-running applications on the host. We recently added an alternative run target to Goa which enables executing a Goa application on a Sculpt system. Continue...

  • Johannes Schlatow avatar

    Goa - Porting a calculator app from Ubuntu UI Toolkit


    I ported the calculator app from Ubuntu/Lomiri UI Toolkit. In this article, I walk you through the porting procedure step-by-step to provide a blueprint for porting other apps. It also serves as an additional and more advances Goa tutorial. Continue...

  • Johannes Schlatow avatar

    Sculpt Customisation


    The modularisation of Sculpt with release 22.02 enabled us to easily build customised Sculpt images. Instead of personalising my Sculpt OS via config files on the used file system, I've been managing my customisations in a separate repository since then. In this article, I want to share what modifications have worked out for me and provide ideas to fellow Genodians. Continue...

  • Johannes Schlatow avatar

    Evaluating browser-performance limitations


    I recently collected a bunch of browser benchmark measurements on Sculpt OS to get an idea of what factors might be limiting the browsing performance. Continue...

  • Johannes Schlatow avatar

    How to install a fresh VM on Sculpt


    I recently needed to set up a new Linux VM on top of Sculpt. Since I encountered a few pitfalls along the way, I'd like to share my experiences and provide up-to-date instructions. Continue...

  • Johannes Schlatow avatar

    Zynq guide #2 - enabling the programmable logic


    After the basic board-enablement covered by the first article of this series, it’s eventually time to focus on the distinct feature of the Zynq-SoC - the FPGA aka programmable logic (PL). Continue...

  • Johannes Schlatow avatar

    Identifying network-throughput bottlenecks with trace recording


    I recently launched an investigation in order to identify bottlenecks in Genode’s network packet throughput. This endeavour sparked off a new tool, the trace recorder, for recording component traces in Genode that I want to present to you in this article. Continue...

  • Johannes Schlatow avatar

    Writing a VFS plugin for network-packet access


    Despite Genode already providing a socket API that is backed by two different Virtual File System (VFS) plugins, we have no mechanism for sending/receiving raw Ethernet frames via the libc yet. In Linux and FreeBSD, the kernel provides virtual TAP devices as an interface for this purpose. We can easily emulate this interface by implementing a new VFS plugin. In this article, I will share my experiences with this particular plugin and provide some insights in the internals of the VFS. Continue...

  • Johannes Schlatow avatar

    Zynq guide #1 - getting started


    This is the first article of a series about the Zynq-7000 SoC from Xilinx. Though not a particularly new SoC, it is still quite unique as it features an FPGA in conjunction with a Cortex-A9 CPU. This opens a bunch of interesting application scenarios since the FPGA can act as a customisable co-processor or hardware accelerator. In this article, I will guide you through the very basic board bring-up to get a first sign of life from this hardware with Genode. Continue...

  • Johannes Schlatow avatar

    Mobile networking in Sculpt


    Last year, ssumpf added basic LTE modem support to Genode. Since many Sculpt-compatible laptops come with integrated LTE modems already or can be easily upgraded, I started a little side project to equip Sculpt with easy-to-deploy mobile networking support. In this article, I summarise how to reap the fruits of this project. As a side effect, it showcases the varied possibilities of component compositions. Continue...

  • Johannes Schlatow avatar

    Dynamically changing keyboard remapping rules


    When setting up my Sculpt-based work environment, my intent was to run an unmodified Linux installation as VM in Sculpt. Being strongly accustomed to i3wm, I quickly noticed the lack of the Windows key that is used for controlling the i3 window manager but which is intercepted by Sculpt for the same job. A bit reluctant to change my habits and retrain new key combos, I needed a better solution. With advice from Norman, I came to a pretty neat solution that I would like to share with you. Continue...

  • Johannes Schlatow avatar

    Native screenshot component


    Martin had recently expressed to me that a native screenshot component using the Capture session would be really helpful. Moreover, when writing the VNC server article, I also encountered the need to make a screenshot myself. As I already got in touch with the Capture session, I briefly switched contexts to bring the screenshot component into being right away. Continue...

  • Johannes Schlatow avatar

    Remote desktop solution for Sculpt via VNC


    Thanks to alex-ab, we already have a native VNC client available in Sculpt to connect to VMs remotely. How nice would it be to also bring a VNC server to Sculpt and thereby enable remote desktop scenarios? In this article, I want to share my experiences made when developing a VNC server application with Goa and ultimately present a ready-to-use package for Sculpt. Continue...

  • Johannes Schlatow avatar

    Do you 🖤 your 💻?


    Once in a while, I come across a website that uses unicode emoji for illustration. Github is one of these that uses such symbols in the sidebar of the notification view. However, if you do not have a font installed that contains the corresponding glyphs, you will only see those beautiful inexpressive boxes ⌷ (or even whitespace). This is the case for the falkon browser packaged for Sculpt. Yet, it is pretty easy to augment it with emoji support. Continue...

  • Johannes Schlatow avatar

    Troublesome guest additions


    On my journey towards transitioning to Sculpt as a day-to-day OS, I already desribed how to access an existing Linux installation in my previous article. Since I recently struggled with installing the VirtualBox Guest Additions, I want to share my findings with a short follow up article. Continue...

  • Johannes Schlatow avatar

    Starting an existing Linux installation from Sculpt


    In the last years, I've had an on-and-off relationship with Genode mostly because other commitments kept me from spending time with the framework. Although I was keen on using Sculpt as a day-to-day OS, I didn't manage to make a smooth transition. Initially, my idea was to use my existing Linux system and install Sculpt in parallel. Ideally, I would be able to start my existing Linux system in Virtualbox on Sculpt. My first efforts were stalled by some EFI boot issues and due to a lack of time this idea slumbered for about two years...until recently. Continue...