0

Rosenzweig: Writing an open source GPU driver – without the hardware

 2 years ago
source link: https://lwn.net/Articles/882974/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Rosenzweig: Writing an open source GPU driver – without the hardware

[Posted January 28, 2022 by corbet]
Here's a war story from Alyssa Rosenzweig on the process of writing a free driver for Arm's "Valhall" GPUs without having the hardware to test it on.

In 2021, there were no Valhall devices running mainline Linux. While a lack of devices poses an obvious obstacle to device driver development, there is no better time to write drivers than before hardware reaches end-users. Developing and distributing production-quality drivers takes time, and we don’t want users to be reliant on closed source blobs. If development doesn’t start until a device hits shelves, that device could reach “end-of-life” by the time there are mature open drivers. But with a head start, we can have drivers ready by the time devices reach end users.


(Log in to post comments)

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 28, 2022 3:20 UTC (Fri) by mcon147 (subscriber, #56569) [Link]

I'm surprised ARM doesn't feel motivated to provide a driver themselves

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 28, 2022 4:15 UTC (Fri) by JoeBuck (subscriber, #2330) [Link]

They provide a proprietary driver, which is part of what is being reverse engineered here.

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 28, 2022 7:16 UTC (Fri) by Fowl (subscriber, #65667) [Link]

Amazing work!

I wonder who the client/who is funding this work, given that there are are already both released Android and ChromeOS devices. Or does Collabora have some sort of "in between projects", "20% time" or "giving back" type program?

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 28, 2022 9:51 UTC (Fri) by atnot (subscriber, #124910) [Link]

I would expect the way it works is that Collabora has customers for Panfrost, which funds maintainance and development to keep the driver relevant to current and future clients.

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 28, 2022 15:00 UTC (Fri) by daniels (subscriber, #16193) [Link]

Yeah. We can’t always talk about the specific commercials of each project, but for our larger work (Panfrost, Wayland, GStreamer, kernel hardware enablement, etc) it’s always a mix of customer-funded and work we just do ourselves.

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 28, 2022 18:08 UTC (Fri) by tuna (guest, #44480) [Link]

Maybe you can't answer this, but who pays for the work you "just do ourselves"?

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 29, 2022 10:24 UTC (Sat) by farnz (subscriber, #17727) [Link]

Not a Collabora employee, but have worked in tech firms a long time; lots of software consultancies (and Collabora is a consultancy) do a certain amount of work paid for out of their profit margins on paid jobs as a form of advertising their own abilities.

The point for Collabora is that much of their paid work will be under NDAs, and thus they can't show it to potential customers. The work they do out of their own profit margin is not under NDA, and thus can be shown to potential customers. This blog post is a perfect example - Collabora is paid to provide a driver with full source for some ARM Mali GPUs to a customer under NDA. If we knew which SoCs were involved, it wouldn't be that hard to work out who the customer is - but that's something Collabora can't let out of the bag due to its NDA. By working on Mali drivers out of its own funds, too, Collabora has a set of examples of how it can produce Mali drivers for any SoC of interest to you without putting itself anywhere near the customers with NDAs.

This is important to potential customers; they want to know that Collabora is able to respect the NDAs it signs, and they also want to know that Collabora can do the job they want to hire them for. If Collabora was only able to show off SoCs it did drivers for under consulting NDAs, then there's a good chance that Collabora customers under NDA would be identified, which is bad for Collabora's business. If it had nothing to show off, then how do I convince management that Collabora can do the job? Hence paying out of profits to ensure that sales can go in with something I can show management, and that doesn't give their existing customers' legal teams the heebie-jeebies (which is bad for maintaining relationships).

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 29, 2022 11:35 UTC (Sat) by mjg59 (subscriber, #23239) [Link]

Also not a Collabora employee, but did a small amount of contract work for them in 2008, and for a period in 2005 the company was running out of my living room: all of this is true, but there's also a social aspect to this. Consultancies like Collabora have an incentive to work on enhancing free software because that's a good way to attract potential employees who are interested in free software, and demonstrating that they'll be paid to do so even if some of their work is on NDAed proprietary code distinguishes them from many alternative options. Companies don't just signal to customers, they signal to talent.

Rosenzweig: Writing an open source GPU driver – without the hardware

Posted Jan 28, 2022 18:57 UTC (Fri) by swilmet (guest, #98424) [Link]

I remember this:
"Vetter: Upstream Graphics: Too Little, Too Late"
https://lwn.net/Articles/806892/

> For some hardware upstreaming early enough is possible, but graphics simply moves too fast: By the time the upstreamed driver is actually in shipping distros, it’s already one hardware generation behind.

So I think the situation is getting better, technical solutions are found, that's good news for the open-source Linux graphics stack!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK