Alle klassischen OpenGL-Treiber wurden aus dem Mesa-Code entfernt, und die Unterstützung der Infrastruktur für deren Betrieb wurde eingestellt. Die Pflege des Codes der alten Treiber wird in einem separaten Branch namens „Amber“ fortgesetzt, jedoch werden diese Treiber nicht mehr in den Hauptzweig von Mesa aufgenommen. Außerdem wurde die klassische xlib-Bibliothek entfernt, stattdessen wird empfohlen, die gallium-xlib-Variante zu verwenden.
Die Änderung betrifft alle verbleibenden Mesa-Treiber, die nicht das Gallium3D-Interface verwendeten, einschließlich der i915- und i965-Treiber für Intel-GPUs, r100 und r200 für AMD-GPUs sowie Nouveau für NVIDIA-GPUs. Anstelle der genannten Treiber wird empfohlen, Treiber auf Basis der Gallium3D-Architektur zu verwenden, wie Iris (Gen 8+) und Crocus (Gen4-Gen7) für Intel-GPUs sowie radeonsi und r600 für AMD-Karten, nvc0 und nv50 für NVIDIA-Karten. Das Entfernen der klassischen Treiber wird zur Einstellung der Unterstützung einiger älterer Intel-GPUs (Gen2, Gen3), AMD Radeon R100 und R200 und älterer NVIDIA-Karten führen.
Die Architektur Gallium3D vereinfacht die Entwicklung von Mesa-Treibern und beseitigt die typischen Code-Duplikate klassischer Treiber. In Gallium3D werden Aufgaben zur Speicherverwaltung und Interaktion mit der GPU auf separate Module des DRM-Kernels (Direct Rendering Manager) und DRI2 (Direct Rendering Interface) ausgelagert, während Treibern ein fertiger Status-Tracker mit Unterstützung für den Cache wiederverwendeter Ausgabedaten zur Verfügung gestellt wird. Klassische Treiber erfordern die Pflege ihres Backends und Status-Trackers für jede Hardware-Plattform, sind jedoch nicht an die DRI-Module des Linux-Kernels gebunden, wodurch sie in Betriebssystemen wie Solaris verwendet werden können.
Quelle: opennet.ru
