[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Was gibts noch ausser Xinerama?!



Dirk Salva <dsalva@gmx.de> writes:
> On Sat, May 21, 2005 at 12:33:45PM +0200, Thomas Jahns wrote:
> > Bei Xinerama ist ja gerade der Witz, daß man nur 1 X screen
> > hat. TwinView ist übrigens einfach nvidia Marketing-Slang für Xinerama,
> > heißt wohl unter Win* genauso.
> 
> Wohl kaum. TwinView funktioniert zumindest dahingehend anders, daß
> damit OpenGL auf beiden Schirmen geht, was beim Xinerama vom XServer
> nicht der Fall ist.

Trotzdem wird in beiden Fällen das gleiche API exportiert, die Tatsache,
daß unterschiedliche Implementierungen unterschiedlichen Funktionsumfang
haben, macht da keinen Unterschied.

> > gemeint), vielleicht einigen wir uns mal auf ein paar Begriffe:
> > Screen: Repräsentation innnerhalb X11 für eine zusammenhängende
> >   Anzeigefläche, zeichnet sich aus durch:
> >         - gemeinsame Liste der Visuals
> >         - ein Root-Window
> > Display: IMHO Unglücklich verkürzter Begriff von X11 um eine
> > Kombination von Displayhardware und dazugehörigen Eingabegeräten zu
> > beschreiben. Hat mindestens eine Screen, einen Corepointer (typischerweise
> > Maus) und ein Corekeyboard.
> 
> Das kann so nicht stimmen, da ich "Screen 0" "LeftOf" "Screen 1"
> eintragen muss. Nach Deiner Definition muß da Display0 und Display1
> stehen.

Okay, der Begriff Displayhardware ist etwas unscharf, ich hätte das
gleich ausführlicher schreiben sollen: Die Hardwarebestandteile zum
Anzeigen von Pixelgraphiken werden unter X11 zur Screen zusammengefaßt,
typischerweise sind damit ein Monitor und eine Graphikkarte gemeint. Ich
schreibe deshalb typischerweise, weil es z.B. Systeme gibt, auf denen
mehrere in Hardware vorhandene Graphikkarten zu einem Gerät
zusammengefaßt werden (siehe z.B. nVidias SLI). Durch die sehr abstrakte
Definition von X11 kommt man eben nur schwer zu etwas, das man direkt
mit der Hardware identifizieren kann.

> > Monitor: ein physikalisch vorhandenes Anzeigegerät
> 
> Das ist wohl das Einzige, was dort eindeutig ist.

So lange man das nicht synonym mit Display oder Screen
verwendet (was z.B. nach Webster zulässig wäre).

> > Xinerama und TwinView fassen demnach mehrere Monitore zu einer Screen
> > zusammen. Ein Xserver bedient in der Regel genau ein Display.
> > Ob also multiple X Screens oder eine Screen über mehrere Monitore
> > vorliegt, ist eine Frage des Xservers und seiner Konfiguration. Ob für
> > multiple X Screens hingegen auch mehrere WMs nötig sind, hängt vom WM ab
> > (wmaker z.B. kann mehrere Screens mit einer Instanz bedienen).
> 
> "Das glaube ich nicht, Tim". Bei Xinerama muss ich zwei Screens
> einrichten, bei TwinView nur einen, welcher geklont wird.

Das ist die Sichtweise der XF86Config, das hat genau gar nichts damit zu
tun, wie es die Applikationen hinterher zu sehen kriegen (nämlich eine X
Screen und die Xinerama-Erweiterung).

Wenn Du mir das nicht glaubst, kannst Du ja einfach mal "xdpyinfo | less"
ausführen. Da findet sich bei Xinerama (egal ob TwinView oder nicht) ein
Eintrag 'screen #0:' aber keiner für 'screen #1:'.

Ich habe mal eine Literaturreferenz angefügt [1], damit Du nachlesen
kannst, was ich meine. Falls jemand eine gute deutsche Literaturstelle
kennt, wäre ich dankbar, davon Kenntnis zu erhalten.

Thomas Jahns

[1] Adrian Nye, Xlib Programming Manual, §1.2 X Window System Concepts,
    p.4

IIRC finden sich die X Window System Concepts aber auch in fast allen
anderen Büchern zu X11, wie z.B. dem "X Window System User's Guide"
-- 
"Computers are good at following instructions,
 but not at reading your mind."
D. E. Knuth, The TeXbook, Addison-Wesley 1984, 1986, 1996, p. 9



Reply to: