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 -- 2.5.0 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
