mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
09c63d320112fbb4995696d813c488e82915c2f5
We already have a glamor egl module at glamor directory which could initialize and create egl context and also can attach a gbm buffer to a specified pixmap or to the screen pixmap. This commit remove all the duplicated code here and use the glamor_dix module directly. As we don't want to handle egl stuffs in this layer, we have to change the way to handle hardware cursor. Previous method is to call egl functions to create a egl image and then bind the image to a texutre then call gl functions to load texture image to the cursor bo. Now we can bind the cursor bo to a cursor pixmap and then use putimage to load new image to the cursor bo. Then we can completely avoid to call egl or gl functions directly in this ddx driver. Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Glamor setup
1. Prerequirement.
Please install makedepend and libudev-devel firstly.
2. Build xserver-glamor.
Then do the following steps one by one.
2.1. get latest glamor at github.
2.2 Setup xorg development environment, use xserver-glamor to
replace the official xserver.
Here is the link of how to setup xorg development environment:
http://www.x.org/wiki/ModularDevelopersGuide
For most of the packages, we prefer latest git version. Especially
for the mesa package.
When build mesa, use the following parameters: (assume you want to
install the experimental xorg to /opt/gfx-test)
#mesa/./autogen.sh --prefix=/opt/gfx-test --with-egl-platforms=drm --disable-gallium --disable-gallium-egl
build xserver-glamor as below:
#xserver-glamor/./autogen.sh --disable-glx --enable-kdrive --enable-xephyr
Once you finish all the building process, you can have a try as below:
xserver-glamor#startx -- `pwd`/hw/xfree86/Xorg If you can find the
following messages on the console, then everything should work correctly.
Mesa: Initializing x86-64 optimizations
3. Restrictions:
Currently, glamor doesn't support glx extension, will be fixed in the future.
Glamor setup done.
X Server
The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.
Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.
For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server
All questions regarding this software should be directed at the
Xorg mailing list:
http://lists.freedesktop.org/mailman/listinfo/xorg
Please submit bug reports to the Xorg bugzilla:
https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
The master development code repository can be found at:
git://anongit.freedesktop.org/git/xorg/xserver
http://cgit.freedesktop.org/xorg/xserver
For patch submission instructions, see:
http://www.x.org/wiki/Development/Documentation/SubmittingPatches
For more information on the git code manager, see:
http://wiki.x.org/wiki/GitPage
Description
Languages
C
96.4%
Roff
1.1%
Objective-C
1%
Meson
0.9%
Shell
0.2%
Other
0.2%