1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

X Server startet nach Neuinstallation nicht mehr

Dieses Thema im Forum "FreeBSD - Installation" wurde erstellt von ralli, 18 April 2017.

  1. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Ich habe FreeBSD 11 neu installiert. Als GraKa kommt meine Nvidia Geforce 9600 GT zum Einsatz. Ich habe den Nvidia-driver-340 aus den Ports installiert. Mit nvidia-xconfig habe ich eine neue xorg.conf installiert. Jetzt startet X nicht mehr mit der Fehlermeldung, das eine ABI Funktion nicht mehr vom X Server unterstützt wird. Der Bildschirm bleibt schwarz. Dann habe ich die xorg.conf gelöscht und kann jetzt arbeiten, aber nur mit einer miserablen Auflösung von 1024x768. Ich vermute, das eine neue Xserver Version zum Einsatz kommt. Ein neuerer Nvidia Treiber dürfte allerdings das Problem lösen, unterstützt aber meine derzeitige Graka nicht mehr. Was muß ich ändern, vorher lief ja auch alles zufriedenstellend und meine Hardware hat sich ja nicht geändert.
     
  2. joneum

    joneum FreeBSD Committer

    Registriert seit:
    30 September 2004
    Beiträge:
    774
    Ort:
    Essen
  3. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Hat leider nicht geklappt, er bricht mit derselben Fehlermeldung ab:

    This server has a video driver ABI version of 20.0 that is not supported by this NVIDIA driver. Please check

    http://www.nvidia.com/ for driver updates or downgrade to an X server with a supported driver ABI.

    NVIDIA: Use the -ignoreABI option to override this check.

    Wo und ich welcher Datei muß ich die -inoreABI Option eintragen und wie genau?

    Ich habe schon über eine Stunde gegoogelt, bin aber nicht fündig geworden.
     
  4. joneum

    joneum FreeBSD Committer

    Registriert seit:
    30 September 2004
    Beiträge:
    774
    Ort:
    Essen
    und mit dem Nvidia-driver-304 treiber?
     
  5. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Danke für Deine Unterstützung @joneum, hatte ich auch schon erfolglos ausprobiert.
     
  6. Kamikaze

    Kamikaze Bottom Poster Mitarbeiter

    Registriert seit:
    26 Mai 2005
    Beiträge:
    10.860
    Ort:
    /Earth/Europe/Germany/Karlsruhe
    Hast Du mal das nvidia-modesetting Modul ausprobiert?
     
  7. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Hallo @Kamikaze, nein habe ich noch nicht, kenn mich damit auch nicht aus. Muß das Modul extra installiert werden, oder nur aktiviert?
     
  8. Kamikaze

    Kamikaze Bottom Poster Mitarbeiter

    Registriert seit:
    26 Mai 2005
    Beiträge:
    10.860
    Ort:
    /Earth/Europe/Germany/Karlsruhe
    Du musst das statt dem nvidia-Modul laden, das sollte so mit installiert werden.
     
  9. Ego

    Ego Der Teufel im Detail

    Registriert seit:
    24 Dezember 2004
    Beiträge:
    24
    Ich habe mein System vorletztes WE auch neu aufgesetzt mit FreeBSD 11 aufgrund komplett neuer Hardware bis auf Grafik und hab wie immer den nvidia-driver-340 mit meiner Graka (GT 740) seitdem ohne Probleme mit 2 Monitoren laufen.
    Ich gehe mal davon aus, dass System und X aktuell sind. Was mir jetzt so spontan noch einfällt: Hast du den 340 mit oder ohne Linux-Unterstützung? Bei mir ohne, da ich den ganzen Linuxkram nicht brauche.
     
  10. Fusselbär

    Fusselbär Makefile Voyeur

    Registriert seit:
    6 August 2004
    Beiträge:
    2.181
    Ort:
    Köln
    Im einfachsten Fall kann der Schalter -ignoreABI dem startx mitgegeben werden:
    Code:
    startx -- -ignoreABI
    Bei Verwendung von KDM etwa für KDE kann der Schalter in die kdmrc hinein editiert werden:
    Code:
    ServerCmd=/usr/bin/X -br -novtswitch -quiet -ignoreABI
    
    Bei KDE4x wohnt die kdmrc dort: /usr/local/share/config/kdm/kdmrc

    Damals, 2007 gab es das nämlich auch schon mal, da habe ich mich noch dran erinnert:
     
  11. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Zumindest funktioniert jetzt startx -ignoreABI mit geladenen normalen Nvidia Modul, aber ohne xorg.conf. Allerdings beträgt die Auflösung nur 1024x768. Schnell genug ist es, Videos ruckeln nicht. Aber irgendwie scheint da noch was faul zu sein. Installiert ist der Treiber 340xx.
     
  12. Ego

    Ego Der Teufel im Detail

    Registriert seit:
    24 Dezember 2004
    Beiträge:
    24
    Ich habe jetzt bei mir nochmal rumprobiert und mal von nvidia-xconfig eine config erstellen lassen; diese funktioniert auch ohne jede Fehlermeldung. Was ich nicht ausprobiert habe, ist den 340 mit pkg zu installieren. Bei der config in den ports habe ich alles rausgenommen. Vllt wäre es noch einen Versuch in der Richtung wert...
     
  13. pit234a

    pit234a Well-Known Member

    Registriert seit:
    8 Juli 2006
    Beiträge:
    2.925
    Das hört sich aber stark nach Versions-mismatch an.
    Hast du die richtigen Ports zu deiner FreeBSD-Version genommen und hast du den Xserver mit der gleichen Ports-Version gebaut, mit der dann der Treiber und das Zubehör gebaut wurden?

    Die Installationsmeldungen erklären normalerweise auch, welche Module geladen werden sollten. Bei meiner Karte musste ich von #nvidia-modeset_load="YES" zu nvidia_load="YES" ändern, damit es irgendwann mit einem neueren Treiber noch funktionierte.
    Ich benutze immer noch eine xorg.conf in /etc/X11 und dagegen spricht gar nichts. Ich lasse sie auch mit Xorg -- configure erzeugen, bzw mit dem nvidia-Tool. Dann habe ich erst mal ein Grundgerüst. Daraus entferne ich ziemlich viel, füge hinzu, was mir wichtig ist. Ich füge das mal hier ein:

    Man denke sich code-Blöcke, ich finde mich auf dieser Tastatur nicht zurecht und keine eckige Klammer:
    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 "Monitor"
    Identifier "Monitor0"
    VendorName "Monitor Vendor"
    ModelName "Monitor Model"
    EndSection

    Section "Monitor"
    Identifier "Monitor1"
    VendorName "Monitor Vendor"
    ModelName "Monitor Model"
    EndSection

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

    Section "Device"

    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
    ### <percent>: "<f>%"
    ### [arg]: arg optional
    Identifier "Card1"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    EndSection

    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection

    Section "Screen"
    Identifier "Screen1"
    Device "Card1"
    Monitor "Monitor1"
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection
    code-ende

    Die beiden screen-Sektionen wollte ich immer mal noch für ein Experiment nutzen und habe sie deshalb drinnen gelassen.
    Für mich ist die xorg.conf einfacher, als mit vielen kleinen Dateien zu arbeiten, aber das ist grundsätzlich egal und alles sollte auch mit der neueren Methode gelingen. Mir ist wichtig, meine zusätzlichen Optionen zu haben und das Keyboard präziser zu bestimmen, dann teile ich die Monitore den Grafik-Karten, bzw den Ausgängen zu. Das will ich auch so haben, um flexibler zu bleiben, wenn sich da mal schnell was ändern muss.
     
  14. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Zunächst mal danke ich Euch allen für Eure Unterstützung. dieses Howto https://forums.freebsd.org/threads/52311/ funktioniert bei mir nicht. Habe danach mal versuchsweise mit Xorg -configure eine frische xorg.conf erstellt und nach /etc/X11 kopiert. Dort stand allerdings vesa drin, damit funktioniert es. Diese xorg.conf ist der von @pit234a sehr ähnlich. Tausche ich vesa gegen nvidia aus, funktioniert es nicht. Mit dem nvidia_load="YES" in der /boot/loader.conf und der xorg.conf mit vesa funktioniert es und ist auch nicht langsam. Allerdings ist, wie ich schon geschrieben habe, die Auflösung auf 1024x768 beschränkt. Natürlich habe ich auch startx mit dem Schalter -ignoreABI ausprobiert, das geht garnicht. Nun nach reiflicher Überlegung denke ich, das ich xorg nicht mehr als Binärpaket installieren darf, sondern selber bauen muß, damit Inkompatibiliäten mit dem Nvidia-Driver-340 aus den Ports vermieden werden. Na ja, ich bin arbeitsfähig und Viedeos ruckeln nicht und Fenster beim Verschieben auch nicht. Mit dem Selbstbau von Paketen fange ich erst an, wenn ich einen neuen stärkeren Rechner bekomme, alles andere macht keinen Sinn. Bei kleineren Sachen geht der Eigenbau aus den Ports, aber bei größeren Sachen dauert es mir dann doch zu lange, dafür habe ich keine Geduld.
     
  15. Yamagi

    Yamagi Possessed With Psi Powers Mitarbeiter

    Registriert seit:
    14 April 2004
    Beiträge:
    8.655
    Ort:
    Schleswig-Holstein
    Du braucht nvidia-driver-340 in Version 340.102, aus den Paketen bekommst du wahrscheinlich noch die ältere 340.101. Die ist mit dem letztens aktualisierten X.org aber nicht kompatibel. Da der Nvidia-Treiber praktisch keine Abhängigkeiten hat, kann man ihn sich ohne viel Aufwand selbst bauen. Du brauchst die Systemsourcen in /usr/src und aktuelle Ports in /usr/ports:
    • cd /usr/ports/x11/nvidia-driver-340
    • make
    • make deinstall reinstall clean
    • pkg lock nvidia-driver-340
    Das sollte auch auf einem Pentium 4 nur ein paar Minuten dauern. Sobald die aktuelle Version in den Paketen angekommen ist, musst du das Paket wieder entsperren, um wieder Updates auf es zu bekommen:
    • pkg unlock nvidia-driver-340
    Ich habe schmerzhaft lernen müssen, dass man nach einem Update des Nvidia-Treibers rebooten sollte. Das Kernelmodul einfach neuzuladen führt zumindest bei mir eher früher als später zu einem Absturz des ganzen Systems.
     
  16. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Danke @Yamagi, in meinen Ports ist noch die Version 340.93. Woher muß ich mir den von Dir empfohlenen Treiber 340.102 besorgen? Direkt von der Nvidia Homepage? Oder die Ports aktualisieren? Habe ich auch noch nie gemacht. Und wenn ich dann den aktuellen Treiber habe, gehe ich nach Deinen Angaben vor und installier anschließend den Treiber 340.102? Oder wird der, wenn ich Deine Schritte abarbeite, dann automatisch aktualisiert?
     
  17. Yamagi

    Yamagi Possessed With Psi Powers Mitarbeiter

    Registriert seit:
    14 April 2004
    Beiträge:
    8.655
    Ort:
    Schleswig-Holstein
    Jau, du musst die Ports aktualisieren: http://www.freshports.org/x11/nvidia-driver-340/ Wenn du das gemacht hast, kannst du wie von mir beschrieben vorgehen und bekommst dadurch die aktuelle Version installiert. Hinterher würde ich wie gesagt einmal rebooten. Wie du aktuelle Ports bekommst, hängt davon ab, wie du sie ursprünglich erstellt hast. Sind sie per portsnap geholt worden, reicht idealerweise:

    Code:
    portsnap fetch update
    
    Hast du sie anders geholt oder steigt portsnap mit Fehlermeldung aus, würde ich neu anfangen:

    Code:
    rm -Rf /usr/ports /var/db/portsnap # Alten Kram löschen
    mkdir /var/db/portsnap /usr/ports
    portsnap fetch extract # Holt die Ports und entpackt sie nach /usr/ports
    
    Später kannst du sie dann einfach mit

    Code:
    portsnap fetch update
    
    aktualisieren.
     
  18. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Danke, ich bin schon dabei. Wenn das nicht funktioniert, installiere ich neu und aktualisiere als erstes die Ports nach der Grundinstallation. Dann installier ich das fertige xorg Paket und dann bau ich den Nvidia Treiber aus den aktualisierten Ports. So müßte es ja richtig sein, oder?
     
  19. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    @Yamagi, es hat alles nach Deinen Vorgaben funktioniert.:D Vielen Dank nochmals. In Zukunft werde ich nach einer Grundinstallation immer zuerst die Ports aktualisieren.
     
  20. Yamagi

    Yamagi Possessed With Psi Powers Mitarbeiter

    Registriert seit:
    14 April 2004
    Beiträge:
    8.655
    Ort:
    Schleswig-Holstein
    Sie am besten erst gar nicht über bsdinstall installieren. Man müsste sie eh löschen, da portsnap sonst nicht funktioniert.
     
  21. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Ganz genau, aber das habe ich mir dann auch schon so gedacht.
     
  22. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Ich habe noch eine Frage. Wenn ich zukünftig portsnap fetch und danach portsnap extract verwende, bekomme ich dann immer den derzeit aktuellsten Schnappschuß des Portstree oder muß ich dann trotzdem noch portsnap update verwenden?
     
  23. Yamagi

    Yamagi Possessed With Psi Powers Mitarbeiter

    Registriert seit:
    14 April 2004
    Beiträge:
    8.655
    Ort:
    Schleswig-Holstein
    Du musst nur noch 'portsnap fetch update' verwenden. fetch holt die Daten vom Server, und update schreibt sie nach /usr/ports. Ein 'portsnap fetch extract' braucht man nur, um /usr/ports beim ersten Mal zu erstellen und wenn es zu weit hinter den Server zurückgefallen ist, weil man zu lange keine Aktualisierungen eingespielt hat.
     
  24. ralli

    ralli Well-Known Member

    Registriert seit:
    1 Juni 2012
    Beiträge:
    1.334
    Danke, habe das gerade meiner Dokumentation für FreeBSD Installationen hinzugefügt. Aber ist natürlich auch leicht zu merken.
     
  25. pit234a

    pit234a Well-Known Member

    Registriert seit:
    8 Juli 2006
    Beiträge:
    2.925
    nebenbei hat der von mir verwendete nvidia Treiber derzeit auch ein Problem und das wird mit der nächsten Version behoben ( die wohl schon in den Ports vorhanden ist).
    Auch der Xserver wird wohl demnächst wieder eine neue Version bekommen.
    Bei mir ist die Einschränkung vernachlässigbar, so dass einfach abwarte und nicht erst noch aus den Ports baue.

    Es ist aber extrem wichtig, immer aktuelle Versionen der Ports zu haben. Das wird umso wichtiger, desto mehr man aus den Ports bauen will.
    Wenn es mal einen Versions-Mismatch zwischen Ports und Paketen gibt, der eine Vielzahl an Bauten aus den Ports bedeuten würde, dann warte ich auch lieber bis die Pakete so weit sind. Meist kann ich das abwarten, ich brauche eigentlich ja überhaupt keine System-Updates.
    Als ich früher noch ausschließlich Ports benutzte, da lernte ich sehr schnell, was es bedeuten kann, mit veralteten Ports zu arbeiten. Das konnte schon mal locker bedeuten, dass es nach vielen Tagen Rechnerei an einer Stelle haperte und die Konsequenz der nächste Neubau der soeben installierten SW war.