Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Initial support for framebuffer backend #2410

Closed
wants to merge 4 commits into from

Commits on Oct 23, 2020

  1. session: change find_gpus() to generic find_devs()

    Move all logic from wlr_session_find_gpus() to a new find_devs()
    function. In addition to finding DRM devices, this will be used
    to find framebuffer devices when introducing the fbdev backend.
    ollieparanoid committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    5e06c0e View commit details
    Browse the repository at this point in the history
  2. backend/fbdev: add initial support for framebuffer

    Allow running modern wlroots based compositors on downstream kernels of
    old Android phones/tablets. In theory, this makes over a billion
    devices with hopelessly outdated Android stacks [1] useful again: after
    swapping out the userspace with postmarketOS + wlroots, they can at
    least be used for raspberry-pi-with-touchscreen like projects.
    
    It would be best to run mainline Linux on those devices, then run
    wlroots on DRM instead of framebuffer. We are following this approach in
    postmarketOS too, but it's too time consuming to be done for more than
    a small percentage out of the countless Android devices in existence.
    
    Run the backend by setting WLR_BACKENDS="fbdev,libinput" for now. I have
    tried to add it to wlr_backend_autocreate to run it automatically when
    no DRM devices are found, but this needs further refactoring: after
    failing to create the DRM backend, the session/wlr_backend can't be
    reused.
    
    [1]: https://www.which.co.uk/news/2020/03/more-than-one-billion-android-devices-at-risk-of-malware-threats/
    ollieparanoid committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    5feafe5 View commit details
    Browse the repository at this point in the history
  3. logind: add WLR_SESSION_LOGIND_NO_WAIT_CAN_GRAPHICAL

    Allow to skip waiting for logind to mark the session with CanGraphical.
    When using fbdev backend, it never happens.
    ollieparanoid committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    c65573c View commit details
    Browse the repository at this point in the history
  4. CI: build fbdev-backend

    Enable the fbdev backend in Alpine and Arch Linux. While at it, put each
    -D arg into its own line to improve readability.
    ollieparanoid committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    8c93231 View commit details
    Browse the repository at this point in the history