Ansicht umschalten
Avatar von Felix Schwarz
  • Felix Schwarz

mehr als 1000 Beiträge seit 19.01.2001

Linux-Kompatibilität innerhalb der BSD-Kernel

Recluce schrieb am 03.05.2017 10:20:

Felix Schwarz schrieb am 03.05.2017 08:53:

PS: Zum Beispiel verwenden die BSDs idR einfach die Linux-Grafiktreiber und haben dafür im Kern die Linux-APIs ausreichend gut nachgebaut. Das geht, weil die "Linux"-Entwickler bei AMD/Intel darauf achten, dass auch ihr Linux-Kernel-Code unter einer BSD-ähnlichen Lizenz steht.

OK, Du hast keine Ahnung von BSD. Ich werde es nicht schaffen, Dich aufzuklären und es ist mir auch ehrlich egal. Zum Thema Grafiktreibern empfehle ich Dir die FreeBSD Dokumentation. Kurz: Du schreibst einen enormen Unfug. Schönes Leben noch!

Ok, ich habe versucht, nicht darauf zu antworten, bin aber gescheitert...

Auch wenn BSDs für mich in der Vergangenheit nicht wirklich interessant waren, wäre ich an Hinweisen interessiert, wo ich konkret Fehlinformationen aufgesessen bin.

Zunächst einmal gibt es da den Artikel "Graphics drivers and the BSDs" vom Oktober 2014 (https://lwn.net/Articles/616097/), ein Bericht über Vorträge von BSD-Entwicklern auf der XDC 2014.

Aus dem LWN-Artikel zu DragonFly BSD:

Graphics drivers are a complex and fast-moving target, so it makes more
sense to just use the Linux APIs. In a way, he said, he was porting DragonFly
to the DRM drivers, rather than porting the drivers to the OS.

OpenBSD:

(...) the DRM/KMS drivers for Intel and Radeon are also based on the Linux 3.8
versions. One downside to importing Linux code is that it won't be reviewed by
OpenBSD kernel developers because they won't read code that does not conform
to the BSD coding style.

FreeBSD:

In 2012, the Intel i915 KMS driver from the 3.2 (or, possibly, 3.4) Linux kernel was
imported into FreeBSD. (...)The use of Linux-specific APIs and data structures was
converted to use FreeBSD equivalents. That driver was available in FreeBSD 9.1.
...
The use of FreeBSD APIs and data structures, variable renaming, and an incomplete
implementation of DRM all make it difficult to import new code from the Linux drivers.
...
In the longer term, he plans to use a Linux API wrapper to make it easier to bring
changes over from Linux, but he will need to convince the other FreeBSD developers
in order to do so.

Nun, 1 ½ Jahre später (Mai 2016) schreibt Scott Long (FreeBSD-Committer, https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-scott-long/) auf der Intel-Grafik-Mailingliste folgendes:

Jean-Sébastien and other developers have been discussing a new approach
for post-3.8.13 updates. Instead of maintaining a large set of changes,
the plan is to keep the driver as close as possible to the upstream Linux
version, and use straightforward shims to adapt to interfaces provided by
FreeBSD where possible.
...
The focus is on creating a linux KPI compatiblity layer for FreeBSD that will
allow the DRM and KMS drivers to work with minimal changes.

Quelle: https://lists.freedesktop.org/archives/intel-gfx/2016-May/095581.html

Wenn ich nochmals auf den LWN-Artikel zugreife, ist dies für mich auch die einzig mögliche Entwicklung:

The FreeBSD graphics team is small, with just two kernel and two ports developers,
not all of whom are fully dedicated to graphics work. There is a lack of X11 expertise
and of understanding of the graphics stack, Pédron said.

Es gibt also nur vier Entwickler, die in FreeBSD an Grafiktreibern (+ Mesa) arbeiteten und das nicht einmal Vollzeit (Stand Oktober 2014). Allein an den AMD-Linux-Treibern arbeiten wesentlich mehr Vollzeitentwickler und das Intel-Linux-Team ist mindestens 3x so groß wie das AMD-Team.
Dazu kommen noch freie Entwickler für Nouveau (+ Nvidia-Beiträge für Tegra), Qualcom-Entwickler (freedreno), Eric Anholt für Broadcom/VC4 (Raspberry Pi) sowie weitere Aktivitäten im Bereich anderer embedded-Grafik-Chipsätze.

Und selbst mit diesen Ressourcen liegt der Linux-Grafikstack noch deutlich hinter den Windows-Stacks von AMD und Nvidia. Da kann ein BSD-Projekt mit nur 4 Entwicklern einfach nichts reißen. Entweder verzichten sie auf Grafikunterstützung (bzw. immer mehr Features) oder sie importieren den Linux-Code quasi unbesehen.

Inwiefern habe ich also "enormen Unfug" geschrieben? Wie geschrieben, ich bin in den BSDs nicht so drin, eventuell habe ich ja alles falsch interpretiert?

Das Posting wurde vom Benutzer editiert (06.05.2017 16:07).

Bewerten
- +
Ansicht umschalten