• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Nvidia Treiber für Geforce GTX 1080 bauen und konfigurieren

ralli

BSD Fanboy
Themenstarter #1
Liebe Community, hallo @Yamagi, ich brauche noch mal Eure Hilfe. Ich habe meinen neuen Rechner bereits heute bekommen. FreeBSD 11 ließ sich einwandfrei installieren. Ich habe dann für die Nvidia Geforce GTX 1080 den Port /x11/nvidia-driver genommen und gebaut und dann in die /boot/loader.conf
Code:
nvidia_load="YES"
eingetragen und den Rechner neu gebootet. X wird aber nicht gestartet und taucht bei kldstat auch nicht auf. Dann habe ich in die loader.conf:
Code:
nvidia-modeset_load="YES"
eingetragen, das hat aber auch nicht funktioniert. Die Treiber Version sollte ja 375.xx sein,oder? Eine xorg.conf habe ich wie gewohnt mit nvidia-config erstellt. Was mache ich falsch? Ich schreibe hier aus einem Manjaro Linux, möchte aber gleich einen neue Installation wagen.
 

ralli

BSD Fanboy
Themenstarter #2
Ich habe mich bemüht, recherchiert, aber ich komme wirklich nicht weiter. War der Port verkehrt? Muß ich den Treiber von der Nvidia Homepage direkt herunterladen? Welche Einträge in der loader.conf müssen für diese Karte gemacht werden? Im Handbuch stehen leider nur Empfehlungen für veraltete Karten. Leider komme ich hier nicht weiter, was aber auch bedeutet, das ich FreeBSD nicht weiter benutzen kann. Das wäre nach über 4 Jahren Forenzugehörigkeit für mich sehr schade, denn ich dachte, das ich jetzt erst FreeBSD richtig benutzen kann.
 

pit234a

Well-Known Member
#3
es wird bestimmt noch jemanden hier geben, der dazu etwas besseres sagen kann, weil er vielleicht selbst eine ähnliche Karte benutzt.
Ich weiß nur, wie ich das bei meiner eigenen Karte machte, die aber sehr viel älter ist. Es kann immerhin sein, dass deine Karte zu neu ist und gar nicht wirklich unterstützt wird.
Das solltest du alles auf der nvidia-HP herausfinden. Dort habe ich damals nachgesehen, welcher Treiber für meine Karte dort gelistet wird. Mit pkg search habe ich diesen dann gefunden und installiert. Man kann auch gleich in den Ports nachsehen, wenn man ohnehin manuell bauen will. Damals wollte ich das gar nicht.
Es gibt da ja nur drei oder vier Treiber in den Ports.
Ist dann der richtige für deine Karte nicht dabei, bleibt dir wohl nicht viel anderes, als ihn direkt aus den Quellen zu bauen.
Wird ein Treiber als Paket oder aus den Ports gebaut, gibt er Installationsmeldungen ab und erklärt was dazu, welche Module da geladen werden müssen. Manchmal ist das etwas unverständlich und wenig konkret. Man kann diese Module direkt manuell laden und testen und unloaden und weiter testen.
Bei jedem Test, also bei jedem Start von X, wird die /var/log/Xorg.0.log neu erstellt und in ihr werden alle Fehler aufgeführt und man sieht auch, was geladen wird und was nicht. Ich verwende immer gleich eine xorg.conf und setze da den ctrl-alt-bacspace auf aktiv, damit ich den X-Server manuell killen kann. Das ist manchmal nötig und hilfreich, um weitere Einstellungen direkt nacheinander testen zu können.
 

pit234a

Well-Known Member
#4
was ich noch vergessen habe zu erwähnen: AGP-Art ist so eine Sache. Nutze nicht den FreeBSD AGP-Art, aktiviere das nicht und wähle es nicht als Option beim Bau. Nvidia bringt da sein eigenes Ding mit.
 

cabriofahrer

Well-Known Member
#5
Die Treiber Version sollte ja 375.xx sein,oder?
Ja, ist richtig, wird auf der Nvidia-Seite auch so angegeben für das Modell. Aber warum baust Du den Treiber aus den ports? Vielleicht ist dabei etwas schiefgegangen? Deinstallier mal und mach einfach ein "pkg install nvidia-driver". Vielleicht fehlt noch der Eintrag

linux_enable="YES"

in der /etc/rc.conf?
 

holgerw

Well-Known Member
#6
Hallo Ralph,

hier meine /boot/loader.conf
Code:
zfs_load="YES"
vfs.root.mountfrom="zfs:zbiber0/ROOT/default"
snd_envy24_load="YES"
linux_load="YES"
linux64_load="YES"
nvidia-modeset_load="YES"
Und hier meine /usr/local/etc/X11/xorg.conf.d/10-nvidia.conf
Code:
Section "Device"
        Identifier      "NVIDIA Card"
        VendorName      "NVIDIA Corporation"
        Driver          "nvidia"
EndSection
Da lasse ich nix von nvidia-xconfig erstellen, sondern die erstelle ich manuell - war mal ein Tipp vom englisch-sprachigen FreeBSD-Forum. Diese minimale 10-nvidia.conf funktioniert auf verschiedenen Rechner mit Nvidia-Karte.

Einen Eintrag linux_enable="YES" in der /etc/rc.conf habe ich nicht.

Viele Grüße,
Holger
 

pit234a

Well-Known Member
#7
man braucht das linux-Zeugs eigentlich nur dann, wenn man den Port mit der entsprechenden Option bauen möchte. Ich glaube, dass die Treiber als Pakete auch etwas aus dem Linux-System als Abhängigkeit mit installieren und diese Option auch gesetzt ist, doch der Treiber sollte auch ohne jedes Linux und linproc funktionieren und laufen.
Schaden wird es aber auch nicht.

Das automatische Erstellen einer xorg.conf ist wirklich nicht nötig, aber durchaus hilfreich. Ich finde das viel einfacher und übersichtlicher, als den "neuen Weg" über viele kleine conf.d.
Zur Funktion braucht es erst mal gar keine Konfiguration, X findet sehr viel selbst und ich denke sogar, dass auch der passende Treiber automagisch gefunden und geladen wird. Aber auch hier kann es nicht schaden, den passenden zu setzen. Ob in der xorg.conf oder wie oben gezeigt ist egal. Jede automatisch erzeugte xorg.conf kann deutlich gekürzt werden. Man braucht auch dort nur das zu konfigurieren, was nicht automatisch gemacht wird.
Ob man eine xorg.conf durch X --configure oder durch das nvidia-Tool erstellen lässt, ist ziemlich egal. Da gibt es fast keinen Unterschied. Man könnte auch eine beinahe beliebige Datei hernehmen, die man noch irgendwo hat und dann entsprechend anpassen. Es geht nur darum, ein Gerüst zu haben, damit man sich ein wenig Schreibarbeit sparen kann.
Fast alles, was in der automatisch erzeugten xorg.conf steht, braucht man nicht. Also nicht, um X zum Laufen zu bringen.

PS: ich möchte nochmal auf die /var/log/Xorg.0.log hinweisen. Die muss man ansehen, um Fehler zu finden.
 

holgerw

Well-Known Member
#8
Das automatische Erstellen einer xorg.conf ist wirklich nicht nötig, aber durchaus hilfreich. Ich finde das viel einfacher und übersichtlicher, als den "neuen Weg" über viele kleine conf.d.
Hallo Pit,

ist Ansichtssache. Ich habe mir mal so eine xorg.conf, die von dem Nvidia-Tool erzeugt wurde, angesehen, da kann von einer Überschaubarkeit im Vergleich zu dem Fünfzeiler der 10-nvidia.conf meines Erachtens keine Rede mehr sein, es wird da eine Menge reingeschrieben, was eh automatisch durch xorg passiert, und beim Troubleshooting machen solche Vielzeiler mit viel Redundanz nicht viel Freude:
Code:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig                                                                                                                         
# nvidia-xconfig:  version 378.13  (root@110amd64-default-job-16)  Sat Apr 29 22:55:02 UTC 2017                                                                                            
                                                                                                                                                                                           
Section "ServerLayout"                                                                                                                                                                     
    Identifier     "Layout0"                                                                                                                                                               
    Screen      0  "Screen0"                                                                                                                                                               
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/sysmouse"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "keyboard"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
Desweiteren erinnere ich mich an meine Schwierigkeiten mit deutschem Tastaturlayout bei Verwendung von Loginmanagern im letzten Sommer. @lme hat eine korrekt funktionierende xorg.conf.d/input.conf gepostet:
Code:
Section "InputClass"
    Identifier      "Keyboard defaults"
    Driver          "keyboard"
    MatchIsKeyboard "on"
    Option          "XkbLayout" "de"
EndSection
Eine xorg.conf hingegen mit abweichender Syntax in der Section zur Tastatur hat da bei mir nichts gebracht und ich hatte weiterhin englisches Layout (vielleicht erinnerst Du Dich an die Diskussion hier dazu, ist schon ein paar Monate her):
Code:
... schnipp ...
Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "de"
    Option         "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
...schnipp...
Ist aber Ansichtssache, Ralph kann ja verschiedene Ansätze durch testen, wenn seine Graka als unterstützt ausgewiesen wird, bekommt er das Teil sicherlich unter FreeBSD auch zum Laufen. :)

Viele Grüße,
Holger
 

pit234a

Well-Known Member
#10
Sicher doch. Jemand hat sich sicher auch etwas dabei gedacht, lieber ohne eine xorg.conf zu leben. In der Tat braucht die aber nicht mehr zu enthalten, als die einzelnen Dateien unter conf.d und von leichten Abweichungen bei der Syntax ist es vollkommen identisch und auch ein gleicher Schreibaufwand (nur eben auf mehrere Dateien verteilt). In der xorg.conf habe ich alles in einer einzigen Datei, was ich brauche.
Bei mir sähe das dann so aus, wie folgt, wobei ich tatsächlich in meiner xorg.conf noch einige weitere Dinge drin habe, an denen ich noch testen wollte. Die Maus bräuchte es sicher auch nicht, meine hat zwei Tasten mehr, als eine normale Maus und deshalb habe ich diesen Eintrag drin. Jede einzelne Section entspricht quasi einer Datei in dem neuen conf.d Verzeichnis.
Und bei mir funktioniert die DE-Tastatur und weitere Einträge so auch seit Jahren bei unterschiedlichen Karten und auch unterschiedlichen Rechnern und Systemen.
Code:
Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection


Section "ServerFlags"
    Option         "AutoAddDevices" "False"
    Option         "AllowEmptyInput" "Off"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "de"
    Option         "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/sysmouse"
    Option         "ZAxisMapping" "4 5 6 7"
EndSection

Section "Device"
    Identifier     "Card0"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"
    Identifier     "Card1"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
EndSection
 

ralli

BSD Fanboy
Themenstarter #11
So, da bin ich wieder. Leider habe ich auch mit Euren Empfehlungen keinen Erfolg gehabt. Das ist alles sehr ärgerlich. Ich hatte mich so gefreut, das ich jetzt auch hardwaremäßig mehr als aktuell bin und dann so ein Desaster. Das Binärpaket nvidia-driver läßt sich auch nicht installieren und bricht nach der Installation vom Linuxlator ab, aus den Ports funktioniert auch nicht, obwohl ich Holgers Einstellungen übernommen habe. Zu guter letzt habe ich alles deinstalliert und dann den letzten aktuellen Treiber für FreeBSD von der Nvidia Homepage herunter geladen und dann versucht zu compilieren. Leider ebenfalls ohne Erfolg. Dabei bin ich genau nach der Installationsanleitung von Nvidia vorgegangen. Jetzt werde ich mich wohl wieder Linux zuwenden, schade, aber nicht zu vermeiden. Auch wenn ich technisch nicht so versiert bin wie @Yamagi oder einige anderen Experten, so bin ich doch kein Einsteiger oder Anfänger, und habe den Nvidia Treiber viele Male automatisch und auch manuell unter allen gängigen Linux Systemen zum Laufen bekommen. Hier ist der Wurm drin und ganz sicher liegt das nicht an mir.
 

Vril

Well-Known Member
#14
Also ich würde die Flinte nicht ins Korn werfen und erstmal mit der onboard Grafik arbeiten und das System sauber aufbauen - sicher wird dir hier irgendwann jemand einen wertvollen Tipp geben, wie Du den NVIDIA Treiber installieren musst.
 

ralli

BSD Fanboy
Themenstarter #16
gibt uns doch mal konkrete Fehlermeldungen, dann kann man dir auch helfen. Notfalls vom Bildschirm abfotografiert.
Oliver, wenn das so einfach wäre.... ich komm ja nicht in X, und wie soll ich auf der Konsole den Status abfotographieren? Und wenn compiliert wird, rauscht das in unheimlichen Tempo vorrüber, so das ich nichts sehen kann. Im übrigen baut er ja den Port nvidia-driver zu Ende und installiert dann alles richtig. Offensichtlich wird das Nvidia Modul nicht geladen, denn es wird ja in mit kldstat nicht angezeigt.
Allerdings hatte ich in der loader.conf linux64_load="YES" weggelassen. Er startet x einfach nicht, aber kann er ja auch nicht, wenn das Modul nicht geladen wird. Wenn ich wenigstens mit der Onboard Grafik weiterkäme, aber dann sagt er, er käme nicht in den Framebuffer Modus. Es scheint mir dann die selbe Fehlermeldung aufzutauchen, wenn er X nicht startet, wie mein alter Rechner. Und wenn ich nicht in X komme, ob ohne Nvidia oder nur mit X, dann kann ich auch keine Fehler ins Forum posten. Oder ich muß eine Knoppix Live CD nehmen. Und den anderen Fehler hatte ich bereits beschrieben, wenn ich das Binärpaket installiere, bricht er den Installationsprozess ab, weil er angeblich linux64 braucht.
 

ralli

BSD Fanboy
Themenstarter #17
Hast Du vor der Installation ein
Code:
kldload linux
und ggf. ein
Code:
kldload linux64
ausgeführt? Sonst wird es nichts mit der Installation des binären Paketes :)

Viele Grüße,
Holger
Hallo Holger,

nein das habe ich nicht, weil ich den linuxlator 32 Bit und 64 Bit ja überhaupt nicht installiert hatte vorher. Oder wird der standardmäßig installiert? Welche Pakete sind das?

Viele Grüße Ralph
 

ralli

BSD Fanboy
Themenstarter #18
Also ich würde die Flinte nicht ins Korn werfen und erstmal mit der onboard Grafik arbeiten und das System sauber aufbauen - sicher wird dir hier irgendwann jemand einen wertvollen Tipp geben, wie Du den NVIDIA Treiber installieren musst.
Danke für die Aufmunterung @Vril :D, habe zwar nur wenig Geduld, gebe aber trotzdem normalerweise nicht so schnell auf. Wenn nvidia nicht gebaut und installiert wurde, muß er dann nicht automatisch die Onboard Grafik von Intel nehmen? Und benötigt die Onboard Grafik auch eine xorg.conf?
 

ralli

BSD Fanboy
Themenstarter #19
Außerdem ist mein neuer Monitor per HDMI direkt an die Nvidia Karte angeschlossen, wie soll das Signal denn dann empfangen werden durch die Onboard Grafik?
 

ralli

BSD Fanboy
Themenstarter #20
Was ist denn dabei schiefgegangen?
Habs ja oben schon beschrieben, also noch mal installieren, nach dem installierten Paket xorg, dann erst den linuxlator installieren und dann das Binärpaket nvidia-driver und die Eintragungen von Holgers loader.conf übernehmen? Langsam werde ich nervös...
 

OnkelHeinz

Well-Known Member
#21
Und wenn compiliert wird, rauscht das in unheimlichen Tempo vorrüber, so das ich nichts sehen kann.
Versuchs mal mit der Pause Taste.

Außerdem ist mein neuer Monitor per HDMI direkt an die Nvidia Karte angeschlossen, wie soll das Signal denn dann empfangen werden durch die Onboard Grafik?
Da sollte doch noch ein anderer Anschluß vorhanden sein, der für die OnBoard-Grafik.
 

sterum

Well-Known Member
#22
Das Kernelmodul linux.ko ist beim Generic Kernel sowieso dabei und muß zur Installation von emulators/linux_base-c6 geladen sein. emulators/linux_base-c6 ist eine Abhängigkeit von x11/nvidia-driver.
Code:
kldload linux
oder in die rc.conf
Code:
linux_enable="YES"
Das laden vom nvidia Modul funktioniert anscheinend bei einigen Systemen nicht über die /boot/loader.conf. (Bei mir geht's auch nicht)
Stattdessen einfach das Modul über die rc.conf laden.
Code:
kld_list="nvidia-modeset"
Dann funktioniert das auch mit deiner Karte. Die Einträge in der xorg.conf bzw in den einzelen Konfigurationsdateien müssen halt noch wie oben beschrieben angepasst werden.

[edit] Das Modul kann im laufenden Betrieb auch über
Code:
kldload nvidia-modeset
geladen werden
[/edit]
 

pit234a

Well-Known Member
#23
Oje.
Wenn da zwei Grafik-Karten vorhanden sind, dann kann es sein, dass erst eine im BIOS abgewählt werden muss, bzw die NVIDIA dort als Hauptgrafik eingestellt sein muss. Das wird manchmal im Netz auch als aktivieren der GraKA bezeichnet.
Nun hast du aber gar kein BIOS, sondern UEFI und ob und wie das dort geht kann ich gar nichts dazu sagen.
Vielleicht gibt es sogar gerade deshalb Probleme.

Was das alles angeht, wenn man ein KNOPPIX oder anderes GNU/Linux hat und dieses läuft, dann kann man ja da mal nachsehen, wie denn was erkannt wird. Das leistet oft wertvolle Hilfe. Man kann dort sogar unter Umständen eine komplette xorg.conf erstellen lassen und kopieren.

Sodann muss man ja unterscheiden, was geht und was nicht und das verstehe ich nicht wirklich.
Es kann natürlich nur dann eine Grafik auch funktionieren und über X angesprochen werden, wenn die passenden Treiber und X installiert sind. Das ist ja die Grundvoraussetzung. Gerade, wenn mehrere Karten an Board sind, dann ist aber die Zuordnung von Anschluss, also auch Karte und Monitor auf der einen Seite und dann Karte und Treiber auf der anderen Seite in der xorg.conf (oder den neuen conf.d -Dateien) unter Umständen sehr wichtig.
Aber, das spielt natürlich erst dann eine Rolle, wenn Treiber und X auch installiert sind. Dazu würde ich zunächst komplett auf einen Eigenbau aus den Ports verzichten. Die aktuellen Treiber aus den Paketen scheinen zwar gerade einen Fehler zu haben, das wirkt sich aber wohl nur auf Beschleunigung aus. Dies wiederum scheint als root zu funktionieren. Ich stehe immer auf dem Standpunkt, zunächst mal irgendeine Funktion ist besser als gar keine und dann kann man immer noch weiter sehen.
Also nochmal: sind die Treiber und X installiert? Ohne das ist alles andere Unsinn.
Dann eine xorg.conf erstellen lassen.
Diese ansehen und vergleichen, ob Karte, Monitor und Treiber richtig zugeordnet werden.
Option "XkbOptions" "terminate:ctrl_alt_bksp"
in der Sektion keyboard eintragen, damit man den X-Server wieder killen kann, falls er denn hoffentlich startet.
Dann X mit dieser conf starten (genau, wie wohl noch immer im Handbuch beschrieben) und auf den schwarzen Bildschirm warten. Egal ob der kommt oder nicht: es gibt dabei Fehlermeldungen und eine Xorg.0.log mit weiteren Hinweisen. Damit kann man nun arbeiten und sehen, wo es vielleicht klemmt.
Ob nvidia oder nvidia-modeset kann man dann ebenfalls testen. Ich habe das nicht genauer angesehen, glaube aber, dass ein betreffendes Modul jeweils in /boot/kernel oder vielleicht eher in /boot/modules zu finden sein müsste. Daran kann man evtl schon sehen, was gebraucht wird, bzw, was man da überhaupt laden kann. Der Nvidia-Treiber sollte das passende Modul ja mitgebracht haben. Das muss dann nicht über die /boot/loader.conf geladen werden, sondern es kann einfach mit kldload erfolgen, was auch für den linux gilt. Auf diese Weise kann man ohne Neustart testen und sehen und sich heran tasten.
Bis denn endlich der schwarze Bildschirm kommt und möglichst alle EE aus der Xorg.0.log verschwunden sind.

Das ist natürlich ein Geduldsspiel mit ungewissem Ausgang.
Es ist aber ja auch nicht so, dass wir dich verlieren müssen, wenn es denn kein FreeBSD auf diesem PC sein sollte. Man kann auch mit einem GNU/Linux hier lesen und schreiben und einige nutzen sogar proprietäre Systeme.
 
#24
Mit dem abfotografieren habe ich wirklich ein Foto gemeint. Also digikam oder Handy. Mit deiner Beschreibung sind wir nun ja schon mal ein Stück weiter. Versuche mal die Tipps der anderen und wenn das nicht geht, den machste mal ein "grep EE Xorg.0.log | less". Da sollte nicht mehr so wahnsinnig viel rauskommen, das geht auf ein, zwei Fotos.
 

pit234a

Well-Known Member
#25
Lies nochmal nach, was sterum genau ausgeführt hat.
Den Beitrag hatte ich nicht gelesen, weil ich eben am Schreiben war.
Das meint sehr genau, was ich sagen wollte.
Auch, ob das Modul in der /boot/loader.conf oder über die rc.conf geladen werden muss, ist dann ja eher nebensächlich, wenn man im direkten Betrieb überhaupt erst mal herausgefunden hat, dass es grundsätzlich funktioniert. Dazu ist dieses heranpirschen eine wichtige Sache. Nur selten hat man das Glück, dass etwas auf Anhieb schon funktioniert und die wunderbaren göttlichen Eingebungen, denen kann man nicht vertrauen.