From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <9front-bounces@9front.inri.net> X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from 9front.inri.net (9front.inri.net [168.235.81.73]) by inbox.vuxu.org (Postfix) with ESMTP id B2875256FF for ; Mon, 5 Aug 2024 11:15:45 +0200 (CEST) Received: from sirjofri.de ([5.45.105.127]) by 9front; Mon Aug 5 05:12:54 -0400 2024 Received: from dummy.faircode.eu ([31.16.254.19]) by sirjofri.de; Mon Aug 5 11:12:48 +0200 2024 Date: Mon, 5 Aug 2024 11:12:45 +0200 (GMT+02:00) From: sirjofri To: 9front@9front.org Message-ID: <208074e3-fa5c-4c30-8235-8108d4106d9a@sirjofri.de> In-Reply-To: References: <7003a121-ae98-4a24-b0dc-778c3b086310@sirjofri.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Correlation-ID: <208074e3-fa5c-4c30-8235-8108d4106d9a@sirjofri.de> List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: progressive compliant API firewall-based core standard-scale control Subject: Re: [9front] Thoughts on Wayland? Reply-To: 9front@9front.org Precedence: bulk 05.08.2024 10:58:57 Noam Preil : > Of course, for e.g. treason, it's trickier, since frame buffers are > decoded on the CPU side, and the entire frame buffer gets uploaded to > devdraw. > > Best case, with gpufs, would be tossing the encoded data instead - > which _would_ be a major bandwidth reduction. That might actually be > sufficient for treason over 9p? It could even be better: you can probably stream the data of a few frames. It could decode asynchronously what's there, which is likely more than just that one frame. You'd end up with a few frames before you need them, and you only have to clock the frames to get the exact frame you need (e.g. from a swapchain). Older frames can just safely be discarded. Even better would be, streaming the data and decode it using the builtin GPU "hardware" decoders. That way you could also decode DRM-protected stuff, but I think those are also bound to direct display from the GPU on a monitor that supports DRM/HDCP/whatever. DRM stuff is horrible... That feature is also currently not planned, I want the GPU as just a giant array of compute shaders with its own fast memory (GPGPU). Theoretically, you can call it gpgpufs, but since it's likely ending up in /dev as a driver and not as a client program, it's probably more like devgpu. Gpufs could be a client program for cpu emulation to make programs work without GPUs. It might even make more sense to allow access to the GPU at an even lower level (basically the individual API calls) and have filesystems for the higher level stuff (e.g vulkanfs), but since that would mean more 9p messages that would probably decrease performance even more. sirjofri