NVIDIA Optimus mittlerweile lauffähig?

Lance

Well-Known Member
Moin.
Kann jemand sagen, wie da der aktuelle Stand ist? Ich möchte es genauso nutzen können wie unter Linux. Meine Recherchen im Netz diesbezüglich führten leider zu keinem klaren Ergebnis. Die FreeBSD Wiki dazu gibt es nicht mehr , zumindest führt ein Link dorthin ins Nirvana.
 
das wäre schön, denn ich habe einen Lenovo W530 und da kann ich zur Zeit nur Intel verwenden... Ich hatte es mal probiert, aber X started mit Nvidia nicht...
VG Norbert
 
Auf bugs.freebsd.org steht dazu dass angebl. diese Methode von 2017 gehen soll:
With actual driver, I manage to use optimus with VirtualGL following https://wiki.freebsd.org/OptimusVideoSupport (for the xorg.conf.nv )

It is working with a little workaround: I have to rename libglx.so from /usr/local/lib/xorg/modules/extensions to something else : for example : notlibglxso , before starting a X session.

In my kld_list I have i915kms, so that when X start it runs with intel driver.
(but in that case it fails to get glx) .
After I start a X session, I start by loading nvidia-modeset, I rename notlibglxso to its original name. And then I start another server using the nvidia card: X -conf xorg.conf.nv -sharevts -noreset :8

I can launch a program with the nvidia card with virtualGL

/usr/local/VirtualGL/bin/vglrun -d ":8" program

With glxinfo I get information about my NVIDIA card so I guess it is working

Mir ist das aber leider zu viel gefrickle.
 
Das Thema würde mich auch interessieren. Ich habe noch einen Acer Asus v3-571g (mit 710M Nvidia Chip).
Konnte bis jetzt kein BSD auf dem Teil benutzten ,welche mir dann auch erlaubt den X Server zu starten.
geschweige denn zu ein paar Spiel zu spielen

Mit Linux läuft das alles schon seit Jahren problemlos
 
Auf meinem Thinkpad T480s mit Intel-GPU und Nvidia-GPU funktionierte es vor einem guten Jahr in Testläufen mit FreeBSD 11.2 und einem der drm-kmod Ports problemlos. Allerdings natürlich nur mit zwei X-Servern, aber alle andere ist eh unbenutzbarer Spielkram und ohne Powermanagement. Das Powermanagement-Problem könnte in 12.0 gelöst sein, da man dort Karten vom Bus werfen kann. Was anderes mache ich unter Linux auch nicht um die Nvidia-GPU abzuschalten.

Das T480s hat aber wie die meisten (alle?) neueren Laptops kein Optimus mehr, stattdessen Windows Switchable Graphics. Windows Switchable Graphics kommt ohne ACPI-Aufrufe aus, was es wesentlich handhabbarer macht...
 
Ich kenne die Entwicklungen bezüglich Grafik auf neueren Laptops leider gar nicht. Früher konnte man problemlos FreeBSD auf Laptops mit NvidiaGo-Chips oder ATI M X***-Chips betreiben. Was geht den aktuell überhaupt noch bei Laptops? Gibt es überhaupt noch welche mit normalen Nvidia-Chips, die genauso mit nvidia-driver laufen wie die Karten auf den PC's?
Frustrierend hier immer wieder zu lesen, dass es mit Linux klappt aber mit FreeBSD nicht...
 
Was geht den aktuell überhaupt noch bei Laptops? Gibt es überhaupt noch welche mit normalen Nvidia-Chips, die genauso mit nvidia-driver laufen wie die Karten auf den PC's?
Frustrierend hier immer wieder zu lesen, dass es mit Linux klappt aber mit FreeBSD nicht...
Die Intel und ich denke auch AMD haben ja alle integr. GPUs daher gibt es keine reinen NVIDIA Notebooks. Schon lange nicht mehr. FreeBSD muss auf Notebooks vernünfig laufen können! Daher sind reine Intel erste Wahl dafür.
Was mich wundert, der prop. NVIDIA Treiber für Linux kann ohne Probleme mit Optimus umgehen. Gerade für FreeBSD auch bzgl. seines Lizenzmodells sollte es doch f. nvidia kein Problem sein, die Funktionalität mit seinem FreeBSD-Treiber zu gewährleisten!?
Woran hapert's?
 
Die Intel und ich denke auch AMD haben ja alle integr. GPUs daher gibt es keine reinen NVIDIA Notebooks. Schon lange nicht mehr. FreeBSD muss auf Notebooks vernünfig laufen können! Daher sind reine Intel erste Wahl dafür.
Was mich wundert, der prop. NVIDIA Treiber für Linux kann ohne Probleme mit Optimus umgehen. Gerade für FreeBSD auch bzgl. seines Lizenzmodells sollte es doch f. nvidia kein Problem sein, die Funktionalität mit seinem FreeBSD-Treiber zu gewährleisten!?
Woran hapert's?
Nun ja, ein Intel Gemini Lake HTPC-System ist unter FreeBSD unbrauchbar, mit Linux läuft es ohne Schwierigkeiten und das, obgleich FreeBSD von Linux die Grafik DRM direkt übernommen hat.
Warum das so ist, kann ich mangels Hintergrundwissen nicht sagen.
 
Nun ja, ein Intel Gemini Lake HTPC-System ist unter FreeBSD unbrauchbar, mit Linux läuft es ohne Schwierigkeiten und das, obgleich FreeBSD von Linux die Grafik DRM direkt übernommen hat.
Warum das so ist, kann ich mangels Hintergrundwissen nicht sagen.
Wo bleibt die von Intel damals gross angekündigte bessere Treiberunterstützung?
 
Wo bleibt die von Intel damals gross angekündigte bessere Treiberunterstützung?
Das ist unterschiedlich: Intel Haswell geht z.B. auch mit FreeBSD sehr performant, was Kodi bzw. Videowiedergabe betrifft.
Vielleicht sind bei Gemini Lake auch noch andere Faktoren ausschlaggebend, für die Intel nicht viel kann, die z.B. direkt mit dem Kernel von FreeBSD zu tun haben. Im Zusammenhang mit besserem Powermanagement seitens Linux und Notebook hat @Yamagi - so glaube ich - mal was ausführlicheres gepostet. Vielleicht hat das auch bei meinem Gemini Lake HTPC System mit solchen Faktoren zu tun, aber da kann ich im Gegensatz zu @Yamagi nur Vermutungen anstellen, eventuell kann er hierzu auch noch mal detaillierter etwas schreiben.
 
Ich haue hier mal rein. Ich habe seit neustem einen Laptop mit RTX2070. Optimus funktioniert mit der NVIDIA Karte in einem eigenen Headless Xorg Prozess. Man kann auch zwei Screens in einem Xorg definieren, aber dann funktioniert die Beschleunigung nur entweder Intel oder NVIDIA.

Mit vglrun kann ich Programme im NVIDI A Xorg laufen lassen. Leider ist das langsamer als die Intel-Grafik. Wahrscheinlich durch den Overhead, schließlich ist das eigentlich eine Remote Desktop Lösung. Das ganze existiert im Moment also nur zum Energie sparen, ca. doppelte Akku-Laufzeit gegenüber deaktivieren der Karte via. devctl disable.

Die Effiziente Variante ist die NVIDIA GPU als GPUDevice im gleichen Xorg Screen zu verwenden. Dann kann man mit xrandr den Output der Karte in die Intel-Karte umleiten (siehe xrandr --listproviders etc.). So hat man DMA Rendering, das genau so performant wie unter Windows sein sollte. Leider funktioniert das im Moment nicht. Wenn ein Device keinen eigenen Screen hat, schmeißt Xorg den Treiber wieder raus. Wenn man zwei Screens in einem Prozess hat, kann man die Provider beide sehen (modesetting und NVIDIA-1) aber nicht zusammen im gleichen Kontext:

Code:
# env DISPLAY=:0.0 xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x43 cap: 0xa, Sink Output, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting
# env DISPLAY=:0.1 xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x1b9 cap: 0x0 crtcs: 4 outputs: 8 associated providers: 0 name:NVIDIA-1
 
Die Intel und ich denke auch AMD haben ja alle integr. GPUs daher gibt es keine reinen NVIDIA Notebooks. Schon lange nicht mehr.

Hm, laut diesem Artikel ( Stand 2019) gibt es wohl doch noch eine Menge Laptops mit einer NVIDIA Mobile Lösung. Auch die ATI-Lösungen werden aufgelistet, sowohl als auch ältere Chips. Somit ist der Artikel sicherlich ein guter Anhaltspunkt, um ein geeignetes Laptop für FreeBSD zu finden:

https://graphicscardhub.com/laptop-graphics-card/
 
Das T480s hat aber wie die meisten (alle?) neueren Laptops kein Optimus mehr, stattdessen Windows Switchable Graphics. Windows Switchable Graphics kommt ohne ACPI-Aufrufe aus, was es wesentlich handhabbarer macht...
Meins wohl auch (kann man das irgendwo sicher herausfinden?), aber ich finde kein Tutorial dafür. Ist das mit den 2 X-Servern eine grosse Sache oder bekommt man das recht schnell und fehlerfrei hin? Gerne Link etc dazu posten, falls möglich/vorhanden.
 
Meins wohl auch (kann man das irgendwo sicher herausfinden?), aber ich finde kein Tutorial dafür. Ist das mit den 2 X-Servern eine grosse Sache oder bekommt man das recht schnell und fehlerfrei hin? Gerne Link etc dazu posten, falls möglich/vorhanden.
Das läuft anscheinend im Linux Umfeld unter PRIME (https://wiki.archlinux.org/index.php/PRIME). Dabei handelt es sich um die GPUDevice Geschichte, die zumindest mit NVIDIA nicht unter FreeBSD funktioniert.
 
Interessant ist, dass man sich auf der Linux-Seite anscheinend endlich das Framebuffer-Problem gelöst hat. Das muss ich nächste Woche mal auf meinem T480s ausprobieren. :)
 
Zurück
Oben