xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Changes between Initial Version and Version 1 of FakeXinerama


Ignore:
Timestamp:
02/01/14 12:45:37 (8 years ago)
Author:
Antoine Martin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FakeXinerama

    v1 v1  
     1= Fake Xinerama =
     2
     3{{{#!div class="box"
     4== What is Xinerama? ==
     5
     6''Xinerama is an extension to the X Window System that enables X applications and window managers to use two or more physical displays as one large virtual display.''
     7
     8In the context of xpra, it is the library that client applications running on the xpra server may use to inquire about the layout of the display in multiple screen configurations.
     9
     10For more information see [http://en.wikipedia.org/wiki/Xinerama Xinerama] (wikipedia)
     11}}}
     12
     13{{{#!div class="box"
     14== Fake? ==
     15
     16Fake xinerama allows us to tell X11 client applications running on the xpra server that the display is in fact made of multiple screen whose geometry can be made to match that of the client exactly, despite the fact that the virtual display that we start (usually [/wiki/Xdummy Xdummy]) only has one virtual screen defined.
     17
     18It is shared library that we preload into each child application that we start, so that it will use our fake version instead of the standard Xinerama library supplied with the system.
     19}}}
     20
     21{{{#!div class="box"
     22== Source Code ==
     23
     24Since the upstream version no longer seems to exist, we carry the source code here: [/browser/xpra/trunk/src/fakexinerama src/fakexinerama].
     25
     26In order to support multiple virtual screens under the same user, the original code was modified to lookup its configuration file as {{{.$DISPLAY-fakexinerama}}} instead of just {{{.fakexinerama}}}, though it will use the latter as fallback.
     27
     28We also build it under a different name to prevent conflicting with the real {{{libXinerama}}} library.
     29}}}
     30
     31
     32{{{#!div class="box"
     33== Configuration ==
     34
     35The {{{.$DISPLAY-fakexinerama}}} is a simple text file using the following format:
     36* "{{{\n}}}" is the end of line character
     37* use "{{{#}}}" at the beginning of a line for comments
     38* the first line that is not a comment MUST contain the number of screens defined in the file
     39* the number of screens MUST be a valid positive number between 1 and 10
     40* each of the following lines that are not comments MUST define each of the screens
     41* all screens MUST be defined
     42* each screen MUST consist of four numeric values separated by a single space: x y w h, this defines the area of the display that belongs to the given screen
     43
     44[[BR]]
     45
     46Here is an example configuration file for a two screen setup:
     47{{{
     48# 2 monitors:
     492
     50# \\.\DISPLAY1 (564mm x 318mm)
     510 0 1600 900
     52# \\.\DISPLAY2 (564mm x 318mm)
     531600 0 1600 900
     54}}}
     55}}}
     56