Anzeige:
Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 15 von 67

Thema: Ueber Kernel auf Grafikkarte zugreifen

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.01.2003
    Beiträge
    23

    Ueber Kernel auf Grafikkarte zugreifen

    Hi

    Also die ueberschrift ist vielleicht etwas verwirrend mir geht es darum mit C/C++ OHNE X-Server was am Bildischrm auszugeben.
    Also genau das was eigentlich X macht also direkt ueber den Kernel(denk ich mir halt mal das das ueber den Kernel laueft) ein paar Pixel einfaerben.

    Um eins klar zu stellen ich bin nicht verrueckt und versuch nen X-Server zu proggen mich interessiert nur das Prinzip.

    Hat der wer Infos dazu? Bzw. schonmal wer gemacht?

    by

  2. #2
    Registrierter Benutzer
    Registriert seit
    16.06.2003
    Beiträge
    73
    Hi,

    für sowas ist das Framebuffer Device (kurz immer fbdev genannt) im Kernel zuständig. Allerdings werden nur einige Grafikkarten direkt unterstützt. Über den VESA Treiber kann man den meisten aber wenigstens ein Bild entlocken. Die Wiederholfrequenzen sind dann aber etwas dürftig.
    Natürlich muss das Teil im Kernel mit übersetzt sein damit man es benutzen kann.
    Schau dir das einfach mal an. Einstiegsdoku gibts in den Kernelsourcen unter Documentation/fb/framebuffer.txt

    Gruß

    almoeli

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    wie macht das dann der XServer?

    FB gabs ja nicht immer

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer
    Registriert seit
    16.06.2003
    Beiträge
    73
    Der X Server hat für jede Grafikkarte einen Low-Level Treiber. D.h. er greift direkt auf die Grafikkarte zu (deshalb ist es ja so ne Konfig-Orgie). Deshalb muß auch jede Grafikkarte die ich mit X benutzen möchte vom X Server direkt unterstützt werden. Dazu wird dann auch keinerlei Kernelfunktionalität benötigt. Der X Server braucht nur die Rechte um direkt auf die Hardware zugreifen zu können.
    Neuerdings gibt es im XServer auch den fbdev Treiber. Dieser ist dafür zuständig, die Grafikkarte über das fbdev des Kernels anzusprechen und so von der Hardware unabhängig zu werden.

    Gruß

    almoeli

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    ah, ok

    genau das mit den Rechten war mir Unklar. Aber wenn er die natürlich einfach hat, dann gehts schon

    MfG Peschm
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #6
    Registrierter Benutzer
    Registriert seit
    13.01.2003
    Beiträge
    23
    Hi

    Muesste man nicht sagen der XFree X-Server denn afaik kann ein X-Server ja die Hardware ansteuern wie er will oder irre ich da?

    Allerdings werden nur einige Grafikkarten direkt unterstützt
    definiere einige bzw. Nvidia und ATI wuerden mir schon reichen

    werd mir die Doku jedenfalls mal ansehen

    by
    Lukas

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Original geschrieben von einki
    Muesste man nicht sagen der XFree X-Server denn afaik kann ein X-Server ja die Hardware ansteuern wie er will oder irre ich da?
    jetzt tun wir doch mal nicht pingelig. Bei einigen der Aussagen sicher. Aber der X-Server ist ja heutzutage eigentlich (ausser für die MacOSX-Leute und n paar die den von Metro hamn, eigentlich immer der XFree-XServer (der 4.xer))

    definiere einige bzw. Nvidia und ATI wuerden mir schon reichen

    werd mir die Doku jedenfalls mal ansehen
    ist glaub ich auch noch recht viel broken da. Gab auch recht viele Änderungen auf Kernel 2.6 hin

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Registrierter Benutzer
    Registriert seit
    13.01.2003
    Beiträge
    23
    Hi

    Noch ne Frage Der X-Server handelt eigentlich Grafik Tastatur und Maus.
    Was wird bei Grafik genau gemacht nur die Pixelzeichenroutinen fuer die Windowmanager zur verfuegung gestellt? Bzw. was faellt in den Aufgabenbereich von X und was von den diversen Windowmanagern?

    Und wieso ist der X-Server so gross? Was braucht soviel Platz die paar Grafik Treiber koennen doch auch nicht so gross sein oder?

    by

  9. #9
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    was x alles macht (und diverse Tools die da gleich mit kommen) siehst du wenn du x mal ohne wm startest: mit xinit

    MfG Peschmä

    P.S. viel spass
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  10. #10
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von einki

    Was wird bei Grafik genau gemacht nur die Pixelzeichenroutinen fuer die Windowmanager zur verfuegung gestellt? Bzw. was faellt in den Aufgabenbereich von X und was von den diversen Windowmanagern?
    Nicht nur den Windowmanagern, sondern allen X clients, die Programme wollen schliesslich auch was darstellen

    Welche Operationen vorhanden sind, hängt auch davon ab, welche Extensions der Server geladen hat.
    Ein "leerer" Server kann primitive Zeichenroutinen wie Linien, Pixmapoperation auf serverseitigen Pixmaps und eben das Eventhandling.
    Mit Erweiterungen kann es auch Operation für Alphablending für Pixmaps geben, oder Fontrendering, direkten Hardwarezugriff, Overlay Breiche, etc...


    Und wieso ist der X-Server so gross? Was braucht soviel Platz die paar Grafik Treiber koennen doch auch nicht so gross sein oder?
    So groß ist der eigentlich gar nicht.
    Meine XFree-Server deb-Pakete sind ca 5MB groß.
    Das dürfte entpackt <= 15MB sein.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  11. #11
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    gerade klein sind die Sourcen aber tatsächlich nicht:
    ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/

    (files 1-3 obligatorisch)

    aber da sind wohl noch recht viele von den Tools dabei, die eh keiner braucht (XF86Cfg )

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  12. #12
    Registrierter Benutzer
    Registriert seit
    13.01.2003
    Beiträge
    23
    Hi

    Mein /usr/X11R6 Verzeichniss ist 125MB gross und ohne die includes und die man pages immer noch 110MB. Und ich hab nichts anderes als X11 in dieses Verzeichniss installiert.
    Hab zwar alle Pakete drauf drauf aber 15MB sind da schon einiges weniger....

    Wenn ich xinit ausfuehre startet er ganz normal gnome wie mit startx auch.

    handelt x eigentlich auch den Zwischenablegae?

    Und noch was zum framebuffer kann ich dafuer auch Graka Treiber vom Hersteller verwenden. bzw. gibt es die ueberhaupt?


    edit:
    und was ist das eigetnlich fuer ein X-Server www.X.org bzw. ftp://ftp.x.org/pub/R6.6/tars/

    by
    Geändert von einki (06-11-2003 um 13:53 Uhr)

  13. #13
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von einki

    Mein /usr/X11R6 Verzeichniss ist 125MB gross und ohne die includes und die man pages immer noch 110MB. Und ich hab nichts anderes als X11 in dieses Verzeichniss installiert.
    Hab zwar alle Pakete drauf drauf aber 15MB sind da schon einiges weniger....
    Die 15MB sind auch der X Server, du hast gefragt, warum der X Server so groß ist. Im X11R6 Verzeichnis sind auch die Fonts, die sicher zig Megabyte Platz brauchen und die XLib und X Zusatzbibliotheken, OpenGL, etc.


    handelt x eigentlich auch den Zwischenablegae?
    Ja und Drag+Drop
    Entsprechende Spezifikationen und Empfehlungen finden man auf freedesktop.org


    und was ist das eigetnlich fuer ein X-Server www.X.org bzw. ftp://ftp.x.org/pub/R6.6/tars/
    Wahrscheinlich eine Referenzimplementation der Basissachen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  14. #14
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    X-Server

    ........................
    Geändert von Lin728 (19-08-2017 um 21:33 Uhr)

  15. #15
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Re: X-Server

    Original geschrieben von ceisserer
    Ich will hier nicht wieder die alte "X-Server ist gut, nein schlecht, nein gut...." diskussion aufkommen lassen, fakt ist jedoch, dass die xlib die langsamste Implementierung der 3 mainstream-systeme ist (OSX, X11, Win32). Dazu gibt es tonnenweise Benchmarks.
    Die xlib von XFree?
    Da kannst du tonnenweise Statements von X Entwicklern lesen, die sagen, dass die Müll ist.
    Aber selbst mit dieser ziemlich verkorksten Implementation ist man ziemlich gut unterwegs, wenn man einen anderen X Server benutzt. Den von XiGraphics zum Beispiel.


    Nun, man kann nun natürlich sagen, dass die remote-Funktionalitäten von X enorm sind, ist meines erachtens alles Schwachsinn. Win32 kann das selbe mit ein paar zusatztools.
    Mein letzter Wissenstand ist offensichtlich überaltet.
    Ich kannte bisher nur Möglichkeiten, den ganzen Desktop zu exportieren/importieren.
    Ist aber fein, wenn Win32 mal in der Gegenwart ankommt


    Weiters ist der X-Server das Programm, das mit Abstand am meisten Arbeitsspeicher auf meinem PC verbraucht, wenn kein Java oder Mozilla läuft.
    Bei mir auch, Gott sei Dank. Heißt ja dass die Applikationen vernünftig sind und alle Pixmaps Serverseitig ablegen und somit schnell darstellbar haben.


    Ich meine nicht das das X-design schlecht ist, ich finde es nur extrem "Overdressed". Im Grunde wird im Durchschnitt (alle X-Benutzer zusammengezählt) vieleicht 1% des gesamten Netzwerktraffics nicht über localhost geschickt, was bedeutet, dass in 99% alles Fälle die ganzen X-Operationen über TCP geschickt werden, obwohl das gar nicht nötig wäre. Zuesrt müssen die Anweisungen kodiert werden, dann über TCP verschickt werden, dann vom Server wieder empfangen und dekodiert und erst danach verarbeitet.
    Da komm ich nicht ganz mit.
    1% des Netzwerktraffics von X?
    Ich will doch stark hoffen, dass das 100% sind.

    Lokale Kommunikation, also wenn X Client und X Server am selben Rechner laufen, geht niemals über Netzwerk, dazu gibt es ja dann keinen Grund.


    Dazu kommt noch ein arogantes, stures Entwicklerteam. Diesem Team sind anscheinend die Benutzer völlig egal, und auch zu Entwicklern dürfte man nicht besonders freundlich sein.
    Stimmt, siehe ATI Radeon Sache, wo die Treiber von ATI schon längst da waren, aber sie 4.3 nicht releasen wollten.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •