Freebsd 7.0 (7.1) und eine Radeon 4850

kashee Opeiah

FreeBSD rockz
Hallo,
ich möchte mir eine Grafikarte hohlen und wollte wissen obmit eine rRadeon 4850 DRM und somit 3F Anwendung möglich sind oder nicht. Ansonsten würde ich mir eine Nvidia holen, aber da gibt es doch keinen Treiber für die 64 Bit Version von FreeBSD oder?

Mfg KO
 
Also, die HD4850 ist zu neu. Der radeonhd-Treober wird zwar in absehbarer Zeit - also einem Jahr oder so - 3D liefern können, nur im Moment geht da noch nicht viel. Du bekommst ein Bild, aber keine 2D- oder gar 3D-Beschleunigung. Bei nVidia sieht es auch nicht viel besser aus. Der Blob (nvidia-driver) läuft nur unter FreeBSD/i386, nicht unter FreeBSD/amd64. Bei Karten bis einschließlich zur GeForce 7xxx Reihe geht der freie nv-Treiber halbwegs, er kann zumindest 2D beschleunigen, aber kein 3D. Multihead geht auch. Bei neueren Karten ab 8xxx bekommt man zwar ein Bild, aber mehr nicht. Keinerlei Beschleunigung, kein XVideo, nichts.

Also kurz: Die Wahl ist Pest oder Cholera. nVidia und FreeBSD/i386 und dafür alles oder AMD/ATI und FreeBSD/amd64, dafür aber warten. Eine besser unterstützte Alternative wäre Intel, da es diese aber nur als Onboard-Lösung gibt für dich eher keine Möglichkeit.
 
Das liegt daran, dass, ob es 3D-Beschleunigung gibt, entscheidet libdrm und mesa, und nicht der Treiber. Der Treiber radeonhd ist, meiner Ansicht nach, um einiges robuster.

3D-Support gibt es inzwischen bis R5xx und RS6xx, so wie ich das verstehe. R6xx, RV6xx und alle 700er fehlen, weil Dokumentation fehlt. AMD macht eifrig die Doku sauber, aber es dauert noch.
 
Ich will ja nicht klugscheißern, aber ob es 3D gibt hängt auch vom DRI ab, welches vom Xorg-treiber bereitgestellt wird.

Der Mangel an weitergehender 3D--Fähigkeiten liegt AFAIK nicht nur an AMD, die DOku für die R600er ist doch schon da, es dauert nur das umzusetzen.
 
Hi,
danke für eure Antworten.
D.h. also für mich wenn ich bei FreeBSD bleiben möchte (ich will kein GNU), müsste ich mir eine Nvidia Karte hohlen und bei 32 bit bleiben um mindestens 2D Beschleunigung zu haben.
Das ATI keine Treiber für FreeBSD rausbringt, ist eine Frechheit, bei Linux machen die das auch.

Zu was würdet ihr mir denn raten? Ist es abzusehen das bald ein Nvidia frei oder unfrei kommt der auf 64 bit die Karten ab 8000 unterstüzt? Oder das ATI Treiber erscheinen.

MFG KO
 
ATI kannst du keinen Vorwurf machen. Mal davon abgesehen, dass Blobs eh immer so eine Sache sind, lohnt es sich schlicht nicht für eine Nischenplattform wie FreeBSD Treiber zu schreiben. Selbst Linux dürfte schon hart an der Grenze sein und ist eher ein Entgegenkommen als eine betriebswirtschaftliche Entscheidung. Gleiches gilt für nVidia. Den 32-Bit Blob gab und gibt es nur, da man den Linuxblob praktisch mit Nullaufwand übernehmen kann. Der 64-Bit Blob müsste allerdings angepasst werden, das werden sie aber nie machen. Stattdessen versucht man dem FreeBSD Projekt den schwarzen Peter zuzuzschieben und verlangt den Kernel an den Treiber anzupassen. Ein Widerspruch in sich.

Werden wir freie Treiber für nVidia sehen? Ich denke eher nicht. nVidia wird den Blob nicht opensourcen und sie werden die Karten auch nicht dokumentieren. Wollten sie dies, hätten sie es längst getan. Den freien nv-Treiber entwicklen sie ja ebenfalls selbst, man sieht welche Begeisterung dahinter steckt. Es ist ein Wunder, dass das Ding überhaupt irgendwie funktioniert.

Also bleibt für dich: FreeBSD/i386 und den nVidia-Blob oder FreeBSD/amd64 und auf radeonhd warten. Alternativ alles in die Tonne treten und Intel, aber das würde ich persönlich sicher auch nicht machen. Zu teuer, und überhaupt. Vielleicht noch eine alte R500 Radeon, wenn du noch eine findest. Ist im Handel die X800 Serie. Die hätte 3D per radeonhd. Unter amd64 müsste man basteln (Xorg 7.5 wird benötigt, sollte eh im Januar in den Ports landen, bis jetzt inoffiziell verfügbar), aber es geht.
 
Zuletzt bearbeitet:
Ich würde dir raten eine low-budget-RadenHD der R500er Generation zu nehmen. Da gibts welche im Bereich von 40-50€ die unter FreeBSD laufen. Dann hast du erstmal akzeptables 3D, auch wenns kein High-End ist.
Sobald die Treiber neuere Modelle unterstützten kannst du dann auf eine neue Karte umsteigen.
 
Ich habe hier einen Rechner unter FreeBSD mit einer Radeon 4850, derzeit bekomme ich den X-Server entweder nur mit Vesa zum laufen oder mit den derzeitigen RadeonHD-Treibern unter /ports/x11/xf86-video-radeonhd-devel. Das Problem ist nur, das bei den radeon Treibern ich keinen Zugriff mehr auf die Konsole habe. Der Monitor meldet bei einem Wechsel auf die Konsole das die Eingangsfrequenz "out of range" ist. Weiss jemand vielleicht Abhilfe?!
 
Ich will ja nicht klugscheißern, aber ob es 3D gibt hängt auch vom DRI ab, welches vom Xorg-treiber bereitgestellt wird.

Bei den Radeon-Karten wurde immer betont, dass DRI von Mesa abhängt. Für DRI braucht die Radeon, so wie ich es verstanden habe, fast kompletten 3D-Support.

Einfache 2D-Beschleunigungen gibt es bei radeonhd mit der Command Submission (CS). Deswegen ist der Desktop ziemlich schnell, so dass man DVDs Fullscreen auf 1600x1200 mit Software-Support gucken kann ohne dass irgendwas ruckelt. Für XV braucht man jedoch eben DRI und für DRI den 3D-Support.

die DOku für die R600er ist doch schon da, es dauert nur das umzusetzen.

Lies den vorletzten Absatz:
http://www.phoronix.com/scan.php?page=news_item&px=NjkyNQ
 
Der Monitor meldet bei einem Wechsel auf die Konsole das die Eingangsfrequenz "out of range" ist. Weiss jemand vielleicht Abhilfe?!

Das ist immer noch viel zu schwammig. Weißt Du, ob X noch läuft, wenn er out-of-range ist (evtl. per ssh einloggen)? Hast Du mal in /var/log/Xorg.0.log geschaut was am Ende so passiert? VT-Switch sollte eigentlich ganz gut gehen (das ist auch genau der Grund warum ich radeonhd gegenüber radeon/ati xorg-Treibern bevorzuge).
 
Gleiches gilt für nVidia. Den 32-Bit Blob gab und gibt es nur, da man den Linuxblob praktisch mit Nullaufwand übernehmen kann.

Das halte ich für ein Gerücht.

Der 64-Bit Blob müsste allerdings angepasst werden, das werden sie aber nie machen. Stattdessen versucht man dem FreeBSD Projekt den schwarzen Peter zuzuzschieben und verlangt den Kernel an den Treiber anzupassen. Ein Widerspruch in sich.

Nur mal so als Hinweis: Der FreeBSD-Treiber existierte VOR dem Solaris-Treiber. In dem Interview auf BSDTalk meinten die Leute von Nvidia sogar, dass der FreeBSD-Treiber hilfreich für die spätere Entwicklung des Solaris-Treibers war. Unter Solaris ist ein 64-Bit Treiber aber kein Problem.

Wieso?

Weil der Solaris-Kernel ähnliche Funktionen wie der Linux-Kernel hat. Ich kenne mich da im Detail nicht aus, aber es scheint so, als verfügten Linux UND Solaris über die Dinge, die unter http://wiki.freebsd.org/NvidiaFeatureRequests aufgelistet sind. Wahrscheinlich nicht in derselben Form, aber zumindest so, dass es für den Treiber benutztbar ist.

Selbst Linux dürfte schon hart an der Grenze sein und ist eher ein Entgegenkommen als eine betriebswirtschaftliche Entscheidung. Gleiches gilt für nVidia.

Da wär ich mir nicht so sicher...

Frage: Was kostet es Nvidia, eine Handvoll Leute zu bezahlen, die den Linux/FreeBSD-Treiber pflegen/weiterentwickeln?

Nächste Frage: Wie viele Linux/FreeBSD-user kaufen Nvidia-Karten, weil sie wissen, dass der Treiber ganz ordentlich funktioniert?
Ich weiß, ich bin einer davon.
 
Auch spielt eine die subjektivität von den Menschen die beraten und entscheiden eine rolle..

Viele der Leute, die sich "mit Computern auskennen" benutzen non-Windows betriebssysteme, und wenn Nvidia demjenigen dann aufn Sack geht, weil bei ihm nichts richtig funktioniert wird er wahrscheinlich den Leuten die ihn fragen keine Nvidia Hardware empfehlen. Analog dazu in Unternehmen.
 
Damit hast du durchaus recht, FreeBSDuser.
Es gibt auch unter Windows gute Gründe, die für Nvidia sprechen. Zum Bespiel hat Nvidia die beste Kompatibilität was "ältere" Spiele angeht. Ich würde wetten, dass ein Spiel aus dem Jahr 1997 mit einer aktuellen Nvidia-Karte einwandfrei funktioniert, bei ATI hat man evtl. kleinere Grafikfehler..
Sowas lässt sich natürlich schwer verallgemeinern, aber meine eigene Erfahrung über viele Jahre hinweg stützt die Aussage eher.

Wenn mich also Bekannte fragen, welche Karte ich empfehlen kann, sage ich so gut wie immer Nvidia ;)
 
sniket schrieb:
Nur mal so als Hinweis: Der FreeBSD-Treiber existierte VOR dem Solaris-Treiber. In dem Interview auf BSDTalk meinten die Leute von Nvidia sogar, dass der FreeBSD-Treiber hilfreich für die spätere Entwicklung des Solaris-Treibers war. Unter Solaris ist ein 64-Bit Treiber aber kein Problem.
Ähm... Sun hat nVidia eine Menge Geld dafür in den Allerwertesten geschoben, damit der Blob auf ihr System portiert wird. Sprich, sie haben für die Entwicklung des Treiber gezahlt, woraufhin nVidia natürlich liebend gern in die Tasten gehauen hat. Und das es einen 64Bit Treiber für Solaris gibt, liegt nicht zuletzt auch daran, dass es sicher ebenfalls ein Teil des Deals war, das Sun gewisse Anpassungen am Kernel vornimmt.

Was die berüchtigten fünf Forderungen von nVidia betrifft, die sind längst erfüllt oder treffen den Punkt nicht. Zwei davon sind durch Superpages erfüllt. Device Cloning gibt es bereits ewig. Und vmap(). Man kann im Kernel inzwischen Speicher sicher unterhalb der 4GB Grenze zuweisen. Wenn man mal davon absieht, dass nVidia hier selbst Schuld hat. Wieso bauen sie im Jahr 2008 noch Hardware mit 32Bit DMA? Wenn die neueren inzwischen 64Bit haben sollten, wieso den alten Kack überhaupt noch unterstützen? Die Zeit bleibt schließlich nicht stehen.

Dann kamen da ja gewisse Details darüber ans Licht, dass sich der Blob unter Linux wie ein besseres Rootkit verhält. Ich sage nur das Rumfummeln an irgendwelchen sehr grundlegenden Speicherstrukturen zur Laufzeit. MIR kommt das Ding nicht mehr ins System, da es sicherlich ein ähnliches Verhalten unter FreeBSD an den Tag legt, was die Stabilitätsprobleme mit dem Dingens erklären würden. Panic hier, Deadlock da.

So, und wenn nVidia wirklich noch Interesse an FreeBSD hätte, wieso ist der Blob immer noch auf dem Stand von RELENG_5? Aufgrund der Rückkompatiblität? Sicher nicht. Das Ding hängt im GIANT und zwar vollständig. Es ist ein sehr intensiv arbeitendes Modul, welches nicht vernachlässigbare Mengen CPU-Zeit konsumiert. Das völlig überholte Locking bremmst das ganze System aus, führt wunderbaren Races um GIANT und mehr. Leistungsverlust allein durch das Laden von nvidia.ko unter einem FreeBSD 7.0 etwa zwischen 30% und 45%. Es wäre in ihrem ureigenen Interesse da zu aktualisieren, sie machen es aber einfach nicht. Im Gegenteil. Wo die Linuxer mit jeder Kerneländerung innerhlab weniger Tage eine neue Version bekommen, dürfen wir FreeBSDdler den Opensource-Teil des Treiber - übrigens nur einen Wrapper um den generischen Teil - grundsätzlich erstmal selbst patchen. Patches die dann irgendwann(tm) mal Teil des offiziellen Paketes werden.

Nein, nVidia war vor 2 Jahren noch erste Wahl. Gezwungenermaßen. AMD hat aber nicht gechlafen, die propitären Treiben für Linux und Windows stehen inzwischen nVidia in nichts mehr nach. Für uns FreeBSDler haben sie etwas viel schöneres als einen dreckigen Blob, Dokumentation. Die Radeons werden noch in 15 Jahren mit X.org einwandfrei laufen, wenn radeonhd erst einmal fertig ist. mVidia-Karten dank Blob sicher nicht. Es ist ja heute schon eine Katastrophe eine 5er Geforce zum Laufen zu bekommen. ATI-Karten verheizen einen Bruchteil des Stroms großer Gerforces. Von dem Abgrund der Chipsätze, berüchtigt für ihre Hardwarefehler und mieserable Unterstützung aufgrund mangelnder Doku, sprechen wir hier erst lieber gar nicht.
 
Hi,
ist ja lustig was aus einer Einfach frage für eine Disskusion entsteht.
Ich habe mir jetzt die 4850 geholt, weil Pres Leistungmäßig kommt keine Nvidia Karte daran.
Und bevor ich auf 32 Bit rumeiere warte ich lieber noch nen bissel bis radeonhd die Graifkarte unterstützt. Auf Arbeit habe ich eine Nvidia Graka mit dem Nvidia Treiber und soviele abstürtze des Systems hatte ich noch nirgendswo anders, da wird auch kein Nvidia Treiber benutzt.
So kommt wenigstens alles aus einer Hand, AMD Prozessor, Grafikarte und Chipsatz
Mit der Dokumentation wusste ich garnicht ... alos nehme ich meine aussage von oben zurück. Nvidia bekommt es nichtmal gebacken ordentliche Treiber für FreeBSD zu entwickeln geschweige denn Dokus zu liefern. Sowas unterstützte ich nicht :huth:

Mfg KO
 
Das ist immer noch viel zu schwammig. Weißt Du, ob X noch läuft, wenn er out-of-range ist (evtl. per ssh einloggen)? Hast Du mal in /var/log/Xorg.0.log geschaut was am Ende so passiert? VT-Switch sollte eigentlich ganz gut gehen (das ist auch genau der Grund warum ich radeonhd gegenüber radeon/ati xorg-Treibern bevorzuge).

Also im Xorg Log steht folgendes nach einem wechseln mittels STRG+F1
Code:
(II) RADEONHD(0): Calling EnableCRTC
(II) RADEONHD(0): EnableCRTC Successful
(II) RADEONHD(0): Calling EnableCRTCMemReq
(II) RADEONHD(0): EnableCRTCMemReq Successful
(II) RADEONHD(0): Calling EnableCRTC
(II) RADEONHD(0): EnableCRTC Successful
(II) RADEONHD(0): Calling EnableCRTCMemReq
(II) RADEONHD(0): EnableCRTCMemReq Successful
(II) RADEONHD(0): Calling SetPixelClock
(II) RADEONHD(0): SetPixelClock Successful
(II) RADEONHD(0): Calling SetPixelClock
(II) RADEONHD(0): SetPixelClock Successful
(II) RADEONHD(0): Query for Restore Registers: failed
(II) RADEONHD(0): Query for Restore Registers: failed
(II) RADEONHD(0): Query for Restore Registers: failed

Beim wechsel Zurueck zum Desktop mittels STRG+F9:

http://bsdforen.pastebin.com/m2a5d77cd

Danach kann ich wie gewohnt weiter arbeiten unter X. Beim Herunterfahren des X-Servers passiert selbiges.
 

Das sieht alles nicht so ganz ok aus. Kannst Du bitte die neue Version aus dem git nehmen und so wie im README beschrieben installieren? Wenn der Fehler noch vorkommt, brüll mal auf der Mailingliste von radeonhd (Xorg.0.log mitposten). Das ist auf jeden Fall ein interessantes Problem. Bei sowas sollte man mithelfen.
 
Habe nun die Treiber aus dem GIT verwendet....immer noch das gleiche Problem :(

Wie gesagt. Die OpenSuSE-Mailingliste zum Thema radeonhd wird von radeonhd-Entwicklern sehr gut betreut. Bei fatalen Problemen wie dem bei Dir, helfen sie normalerweise ganz schnell.

Bei meinen Meckereien leider nicht so ganz schnell. Ich glaube, dass die die Hardware nicht haben.
 
nun habe ich meine böse nvidea auch rausgeschmissen und eine ati hd4550 gekauft.
Also, das ist so, daß die interne Intell-Karte (Chip) zwar voll gut unterstützt wird, aber einen Fehler auf dem DVI-Kanal hat, der mir immer seltsame Muster und Sternchen ins Bild bringt. Der "VGA" (also analoge DSub) Anschluß ist sauber, doch ich wollte für den Monitor der Wahl einen DVI haben.
Also nahm ich eine nvidea, weil mir jeder sagte, die seien so gut und ich hatte in einem i386er System eben eine ältere verbaut und die lief wirklich gut. Nun fand ich aber im amd64 die bekannten Probleme mit der nvidea Karte, konnte aber damit gut leben. Sie zeichnete mir gelegentlich Streifen ins Bild, merkwürdige Aussetzer, die wie kurze Kontaktprobleme aussehen (Kabel hatte ich natürlich alle schon getauscht).
Nun will ich mir einen Fileserver zusammenbauen und da überlegte ich, daß es vielleicht trotzdem gut sei, wenn der eine Grafikkarte eingebaut hat, weil damit einfacher Bootmeldungen zu sehen sind und jedenfalls, bis das System mal mit Netzwerk läuft, alles leichter ist. Außerdem denke ich daran, einen X-Server zu installieren.
Nun, die billigste GraKa, die ich bekommen konnte, war diese ATI und die hat bessere Daten, als die nvidea und so tauschte ich sie aus und nutze sie nun auf meinem amd64.
Die Streifen sind immer noch da.
Ich nutze den radeonhd Treiber, der ansonsten keine Probleme zu machen scheint.
Die ATI scheint auf Anhieb die gleichen Bilder zu liefern, wie die Intel, also was Farbe und Helligkeit und Kontrast und Größe der Darstellung ausmacht. Für die nvidea hatte ich da einiges umstellen, also anpassen müssen. Alleine das ist schon seltsam genug, sollte man im digitalen Zeitalter denken und es mag zeigen, daß die Hardware-Komponenten und die nötigen Treiber doch deutliche Unterschiede machen. Eigentlich ärgerlich, daß sowas nicht geregelt werden kann.
Die ATI bleibt bei der Darstellung auch Langzeitstabil, die nvidea fing an, Kanten auszufleddern, die Intel auch, ganz leicht und vielleicht für die meisten Betrachter nicht erkennbar.

Was labere ich nur wieder rum, also, was ich wissen wollte: wie nutzt ihr eigentlich die 3D Beschleunigung? Ich vermisse da gar nichts und kann mir nicht vorstellen, wie das mir meine Filme und Bilder schöner machen soll, weil da ja niemals ein 3D dabei ist. Ist das nicht etwas, das rein auf manche Spiele-Anwendungen beschränkt ist? oder gibt es dafür auch andere Anwendungen, etwas, das mir das Bild verschönen könnte und mich deshalb diese Option vermissen lassen würde? Ich sehe nämlich gar nicht, wozu ich die brauchen könnte, weil mein Bildschirm doch nur 2D ist.
 
Also was 3D selbst betrifft, wäre das für mich ab und an schon schön. Da ist einmal Blender, was ich ab und an nutze und welches ohne hardwarebeschleunigtes OpenGL einfach nicht nutzbar ist. Auch für Bildschirmschone wäre es ab und an schön, tut aber nicht not. Ein Spielchen zwischendurch macht auch Spaß und da braucht inzwischen fast alles OpenGL. Aber Grundsätzlich kann ich auch ohne leben.

2D Beschleunigung ist so eine Sache, sie hängt sehr von der Karte ab. Bei nVidia - womit ich im Moment noch gestraft bin, was sich aber ändern soll - kann man es ohne praktisch vergessen. Mein nv kann keine 2Dbeschleunigung liefern und der desktop ist zäh und träge wie ein Windows 95 seiner Zeit. Einfach widerlich. Auf der anderen Seite soll radeonhd auch ohne Beschleunigung im 2D-Modus schneller sein, als so mancher Treiber mit selbiger.

Was auf längere Sicht interessant wäre, aber unter FreeBSD wohl so schnell nicht kommen wird, da es schlicht andere Baustellen gibt, sind neue Formen der Beschleunigung. UVD2 zum komplett in der Graikkarte ablaufenden Dekodieren von Filmen zum Beispiel. Oder das gerade in Mode kommende Streamcomputing per OpenCL, CUDA und ähnlichem.
 
Was labere ich nur wieder rum, also, was ich wissen wollte: wie nutzt ihr eigentlich die 3D Beschleunigung? Ich vermisse da gar nichts

Unreal Tournament... ohne dieses Spiel kann ich nicht leben!

Und das Schlimme ist: es läuft so grottenschlecht unter MS-Windows, dass ich es da gar nicht spielen kann.
 
Wie gesagt. Die OpenSuSE-Mailingliste zum Thema radeonhd wird von radeonhd-Entwicklern sehr gut betreut. Bei fatalen Problemen wie dem bei Dir, helfen sie normalerweise ganz schnell.

Bei meinen Meckereien leider nicht so ganz schnell. Ich glaube, dass die die Hardware nicht haben.

Ich hatte dort eine Email hingeschickt, scheint dort aber nie angekommen zu sein. Das Problem ist nun dadurch gelöst das ich einen neunen TFT habe und keinen CRT mehr. Ausserdem wird der neue Monitor nun direkt per DVI angesteuert und nicht mehr über einen Adapter auf Analog.

Aber bis es richtige 3D unterstützung unter FreeBSD geben wird, ohne Blobs, naja ich mag so recht noch nicht drann glauben....
 
Zurück
Oben