Add vidmod extension to xwayland

Submitted by Olivier Fourdan on Feb. 5, 2016, 8:48 a.m.

Details

Reviewer None
Submitted Feb. 5, 2016, 8:48 a.m.
Last Updated March 1, 2016, 3:42 p.m.
Revision 4

Cover Letter(s)

Revision 1
      Hi all,

The following patches aim at enabling XFree86-VidModeExtension in 
Xwayland or any other non-hardware Xserver for that matter.

  Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87806

The approach is to clean up the implementation a bit (like using
the appropriate types instead of void *, using ScreenPtr instead
of scrnIndex, etc.) then move the required structures to the dix
and move the xfree86's xf86vmode.c to generic Xext/vidmode.c using
a set of vfunc to call in the DDX implementation.

And eventually, once the infrastructure is in place, use that to
add a simple, incomplete, read-only vidmode implementation to 
Xwayland similar to what is done with XRandR, so that older games
that check for XFree86-VidModeExtension can run on Xwayland.

I have pushed these patches to my git repo in branch "xvidmode"
here:

  people.freedesktop.org/~ofourdan/xserver :xvidmode

  (http://cgit.freedesktop.org/~ofourdan/xserver/log/?h=xvidmode)

Cheers,
Olivier

Olivier Fourdan (12):
  vidmode: use appropriate API
  vidmode: get rid of the CloseScreen wrapper
  vidmode: use ScreenPtr instead of screen index
  vidmode: remove VidModeGetMonitor()
  vidmode: use appropriate DisplayModePtr type
  vidmode: remove mode access from public API
  vidmode: move display mode definitions
  vidmode: rename DDX functions
  vidmode: move to a separate library of its own
  vidmode: remove redundant check
  vidmode: remove redundant DIX function
  xwayland: add partial xvidmode extension support

 Xext/Makefile.am                                |   7 +-
 hw/xfree86/common/xf86vmode.c => Xext/vidmode.c | 809 +++++++++++++++---------
 hw/xfree86/Makefile.am                          |   4 +-
 hw/xfree86/common/Makefile.am                   |   4 -
 hw/xfree86/common/vidmodeproc.h                 |  83 ---
 hw/xfree86/common/xf86Extensions.c              |   3 +-
 hw/xfree86/common/xf86Init.c                    |   1 +
 hw/xfree86/common/xf86Privstr.h                 |  10 -
 hw/xfree86/common/xf86VidMode.c                 | 583 ++++++-----------
 hw/xfree86/common/xf86str.h                     |  92 +--
 hw/xwayland/Makefile.am                         |   2 +
 hw/xwayland/xwayland-vidmode.c                  | 387 ++++++++++++
 hw/xwayland/xwayland.c                          |   8 +
 hw/xwayland/xwayland.h                          |   4 +
 include/Makefile.am                             |   2 +
 include/displaymode.h                           | 102 +++
 include/vidmodestr.h                            | 140 ++++
 test/Makefile.am                                |   2 +
 18 files changed, 1349 insertions(+), 894 deletions(-)
 rename hw/xfree86/common/xf86vmode.c => Xext/vidmode.c (71%)
 delete mode 100644 hw/xfree86/common/vidmodeproc.h
 create mode 100644 hw/xwayland/xwayland-vidmode.c
 create mode 100644 include/displaymode.h
 create mode 100644 include/vidmodestr.h
    

Revisions