NVIDIA denkt über offizielle Optimus-Unterstützung für Linux nach
Wie ich gerade bei Phoronix gelesen habe gibt es bei NVIDIA nun anscheinend doch Überlegungen, Optimus offiziell unter Linux zu unterstützen.
Der Entwickler Robert Morell, der unter anderem an der Tegra-Unterstützung gearbeitet hat, hat eine Kernel-Änderung vorgeschlagen und gleich einen Patch zur Verfügung gestellt. Er möchte, dass die DMA-BUF-Symbole ohne GPL exportiert werden. Somit ließe sich DMA-BUF innerhalb des proprietären NVIDIA-Linux-Treibers nutzen lassen. Das gilt natürlich auch für AMD Catalyst, Intel und so weiter.
DMA-BUF ist eine neue Funktion im Kernel 3.3. Es ist ein Mechanismus, dass Buffers einfach zwischen den Linux-Kernel-Treibern ausgetauscht werden können. Open-Source-Treiber können DMA-BUF einfach benutzen. Proprietäre Treiber scheitern aber derzeit an der damit verbundenen GPL.
NVIDIA denkt scheinbar über offizielle Optimus-Unterstützung für Linux nach. Morell spricht auch von einer möglichen Optimus-Konfiguration, die eine Tegra- mit einer GeForce-GPU zusammenspielen lässt. Also die Tegra für stromsparende Aufgaben und die GeForce, wenn es bis “11 gehen muss”.
Ob die Linux-Kernel-Entwickler diesen Vorschlag gut heißen oder absegnen, steht in den Sternen. Aber das ist Stand derzeit wohl Voraussetzung für eine offizielle Optimus-Unterstützung unter Linux. Ob die wirklich noch notwendig ist, sei dahingestellt. Bumblebee 3.0 funktioniert hervorragend, kann die NVIDIA-Karte bei Nichtverwendung automatisch deaktivieren und ist in gewisser Weise eine freie Lösung. Bei Installation wird der proprietäre NVIDIA-Treiber heruntergeladen und verwendet. NVIDIA könnte aber auch ihren Treiber unter eine Open-Source-Lizenz stellen und das Problem wäre ebenfalls gelöst – aber das wird wohl so schnell nicht passieren.
Viele Linuxer zeigten sich bitter von NVIDIA enttäuscht, als man Optimus unter Linux für “not supported” ausgeschrieben hat und fühlten sich im Stich gelassen. Ich gehöre auch dazu und habe früher immer extra geschaut, dass mien System mit NVIDIA ausgestattet waren, weil deren Treiber unter Linux einfach besser funktionier(t)en. Ich kann es für AMD nicht einmal sagen, da ich schon über 10 Jahre keine AMD/ATI mehr hatte. Am Besten wäre in meinen Augen, wenn NVIDIA das Bumblebee-Team sponsern würde – die haben geschafft, was NVIDIA bisher nicht wollte.
Hallo!
Offizielle Optimus Unterstützung ist sehr wohl noch notwendig! Das was wir momentan zur Verfügung haben ist nichts anderes als ein "dirty hack" und keine wirkliche Lösung.
Was Bumblebee macht ist einen weiteren (neben dem primären X-Sreen der mit dem integrierten GPU läuft) X-Screen auf dem dedicated GPU zu starten und diesen auf das Fenster der mit optirun gestarteten Anwendung zu begrenzen und über den ersten X-Screen drüberzulegen.
Dies führt zu einem beachtlichen Overhead und erhöhtem Ressourcen & Energieverbrauch.
Eine wirkliche Optimus Umsetzung würde so ausschauen was der Nvidia Developer da vorschlägt. Ein X-Screen wird am inegrierten GPU gestartet und verschiedene Anwendungen können "on demmand" auf den dedicated GPU zurückschalten, ohne dass dafür ein eigener X-Screen gestartet werden muss. Technisch gesehen schreibt bei einer Optimus Lösung dann also der nvidia GPU in einen intel framebuffer der es dann zum Display device transportiert.
Das funktioniert jedoch momentan noch nicht, weil in der momentanen XORG Architektur ein GPU immer mit einem X-Screen verbunden sein muss, der intel treiber keinen solchen framebuffer für den nvidia gpu zur Verfügung stellt, und der nvidia binary treiber selbst diese Funktion in einen intel framebuffer zu schreiben nicht mitbringt.
Also ist Nvidia in dem Fall auch nicht der alleinige Schuldige, ebenso würde eine Open-Source-Lizenz des nvidia treiber das Problem nicht lösen!
Aber die Entwicklung zur Problemlösung schreitet voran. Xorg Devs arbeiten bereits am angesprochenen architektonischen Problem des Xservers und wie man sieht beginnt jetzt auch nvidia die Sache anzugehen.
Beste Grüsse!
Hi,
auch ich bin in die "NVIDA-Falle" getappt und hab mir ein Notebook mit Optimus gekauft. Sogar ein Thinkpad, welches ja eigentlich besonders gut unter Linux unterstützt wird - dachte ich. Eines der größten Mankos ist eben der Grafiktreiber. Bin ich unterwegs, braucht der NVIDIA-Chip zuviel Strom und ich muss vor einem Reboot eine alternatives-Variable ändern, rebooten und im BIOS den Intel-Chip auswählen. Wenn ich wieder daheim bin das selbe umgekehrt.
Bumblebee hatte ich auch schon ausprobiert - damals Version 2.0. Diese Lösung hat jedoch einen entscheidenden Nachteil - Ich nutze zu Hause 2 Monitore. Und die Laufen nur, wenn ich ganz auf den NVIDIA-Chip setze. Bumblebee wäre für mich also nur interessant für Unterwegs wenn ich viel Grafikleistung brauche - also nie. Die Grafikleistung brauch ich zu Hause bei 5750x1080px.
So kann ich nur hoffen das dieser neue Ansatz durchgesetzt wird - ein "richtiges" Optimus wär schon was feines 😉
Gruß,
thwfreak
"But these go to eleven" einfach der geilste Rock-Film, schön das du den kennst. Der 2. beste Spruch ist noch, als er das traurige Klavierstück vorspielt "this is called: lick my love pump". 😀 Man hab ich am Boden gelegen.
Aber zum Thema. Es wäre wirklich dringend nötig, das Nvidia den Kartenwechsel unter Linux unterstützt, weil mit der nicht Unterstützung haben sie sich von "sollte problemlos laufen" zu "lass bloß die Finger davon" entwickelt. (zumindest im Laptopbereich)
Bumblebee mag auf dem einen oder anderen Laptop problemlos laufen aber eben nicht überall. Da gehört schon etwas Glück oder vorherige Recherche dazu.
Kann gar nicht genau sagen, wie oft ich den schon gesehen habe *g* ja, der Klaviersong *hihihi* ... wenn sie über die verflossenen Schlagzeuger sprechen: "well you know he died in one of these bizarre gardening accidents ..." :)))