Skip to content
  • Alyssa Rosenzweig's avatar
    asahi: add broken bits of unstable Linux UAPI · ece3896d
    Alyssa Rosenzweig authored and Marge Bot's avatar Marge Bot committed
    Rebasing around this patch has been a significant burden for development.
    Staging patches to asahi/mesa helps somewhat but 1. it's still really
    frustrating to have this much divergence with upstream, and 2. ideally we
    wouldn't have to do that.
    
    The kernel upstreaming is stalled for various reasons.  This patch adds
    compile-only code to speak the unstable Linux UAPI for the SOLE purpose of
    reducing my rebase pain... NOT to actually work.
    
    It is NOT for users OR distro maintainers. asahi will refuse to probe on
    upstream Mesa to protect against regressions. The uapi is NOT STABLE and
    upstream Mesa CANNOT be used with it. Attempting to bypass this WILL give you a
    broken system.
    
    This patch employs several layers of deterrents against system-breaking
    enablement. With a lot of warning text at the relevant sites.  Hopefully that is
    good enough to prevent people from breaking systems. And if people brazenly
    ignore all of the above ... they get to pick up the pieces.
    
    You have been warned.
    
    ---
    
    There is significant prior art for Mesa including downstream kernel uapi
    supports in-tree:
    
    * powervr (downstream android driver)
    * turnip (downstream kgsl android driver)
    * asahi ... ironically (prop macOS kernel driver)
    * maybe vc4?
    
    Linux is only special because of distros shipping tagged Mesa releases. The
    several layers of guards here guarantee that no tagged Mesa release would
    possibly probe even on an asahi downstream kernel. A distro would need a
    significant scary patch to make it probe. If/when it breaks, that's on them
    and they pick up the pieces.
    
    I make a stability guarantee ONLY for Fedora Asahi Remix -- where we push
    packages for both a downstream kernel and Mesa in tandem, while we patiently
    wait for upstreaming -- and that is *it*. It will be a nice future when this all
    works upstream, but unfortunately we're not there yet.
    
    Acked by Dave [1] and Sima [2]
    
    [1] !29620 (comment 2444189)
    [2] !29620 (comment 2445155)
    
    
    
    Signed-off-by: default avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
    Co-developed-by: default avatarAsahi Lina <lina@asahilina.net>
    Signed-off-by: default avatarAsahi Lina <lina@asahilina.net>
    Co-developed-by: default avatarSergio Lopez <slp@sinrega.org>
    Signed-off-by: default avatarSergio Lopez <slp@sinrega.org>
    Co-developed-by: default avatari509VCB <git@i509.me>
    Signed-off-by: default avatari509VCB <git@i509.me>
    Part-of: <!29620>
    ece3896d