summaryrefslogtreecommitdiff
path: root/x11-drivers/xf86-video-virtualbox/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-06-04 17:23:22 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-06-04 17:23:22 +0100
commit6dbe42f0406d179ae3061655ee9536f325452939 (patch)
tree49b33ce82befea676253d79f49d026f5252a94a3 /x11-drivers/xf86-video-virtualbox/files
parent8b096a612ec4e8cadaa1c77b7f34b9253d91f4e4 (diff)
bring back all virtualbox integration
Diffstat (limited to 'x11-drivers/xf86-video-virtualbox/files')
-rw-r--r--x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-2.2.0-enable-opengl.patch13
-rw-r--r--x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile240
-rw-r--r--x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5-localconfig30
-rw-r--r--x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.0_beta3-configure_checks.patch52
-rw-r--r--x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.10-xorg119.patch82
-rw-r--r--x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch11
6 files changed, 428 insertions, 0 deletions
diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-2.2.0-enable-opengl.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-2.2.0-enable-opengl.patch
new file mode 100644
index 00000000..b0779d42
--- /dev/null
+++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-2.2.0-enable-opengl.patch
@@ -0,0 +1,13 @@
+--- a/configure
++++ b/configure
+@@ -1955,8 +1955,8 @@
+ HEADLESS=1
+ WITH_SDL=0
+ WITH_SDL_TTF=0
+- WITH_X11=0
+- WITH_OPENGL=0
++ WITH_X11=1
++ WITH_OPENGL=1
+ WITH_QT4=0
+ ;;
+ --ose)
diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile
new file mode 100644
index 00000000..a09e58c0
--- /dev/null
+++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile
@@ -0,0 +1,240 @@
+#
+# VirtualBox Guest Additions Module Makefile.
+#
+# (For 2.6.x this file must be 'Makefile'!)
+#
+# Copyright (C) 2006-2007 Sun Microsystems, Inc.
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+# Clara, CA 95054 USA or visit http://www.sun.com if you need
+# additional information or have any questions.
+#
+
+## @todo We must make this into a common template *soon*.
+
+#
+# First, figure out which architecture we're targeting and the build type.
+# (We have to support basic cross building (ARCH=i386|x86_64).)
+# While at it, warn about BUILD_* vars found to help with user problems.
+#
+ifeq ($(filter-out x86_64 amd64 AMD64,$(shell uname -m)),)
+ BUILD_TARGET_ARCH_DEF := amd64
+else
+ BUILD_TARGET_ARCH_DEF := x86
+endif
+ifneq ($(filter-out amd64 x86,$(BUILD_TARGET_ARCH)),)
+ $(warning Ignoring unknown BUILD_TARGET_ARCH value '$(BUILD_TARGET_ARCH)'.)
+ BUILD_TARGET_ARCH :=
+endif
+ifeq ($(BUILD_TARGET_ARCH),)
+ ifeq ($(ARCH),x86_64)
+ BUILD_TARGET_ARCH := amd64
+ else
+ ifeq ($(ARCH),i386)
+ BUILD_TARGET_ARCH := x86
+ else
+ BUILD_TARGET_ARCH := $(BUILD_TARGET_ARCH_DEF)
+ endif
+ endif
+else
+ ifneq ($(BUILD_TARGET_ARCH),$(BUILD_TARGET_ARCH_DEF))
+ $(warning Using BUILD_TARGET_ARCH='$(BUILD_TARGET_ARCH)' from the $(origin BUILD_TARGET_ARCH).)
+ endif
+endif
+
+ifneq ($(filter-out release profile debug strict,$(BUILD_TYPE)),)
+ $(warning Ignoring unknown BUILD_TYPE value '$(BUILD_TYPE)'.)
+ BUILD_TYPE :=
+endif
+ifeq ($(BUILD_TYPE),)
+ BUILD_TYPE := release
+else
+ ifneq ($(BUILD_TYPE),release)
+ $(warning Using BUILD_TYPE='$(BUILD_TYPE)' from the $(origin BUILD_TYPE).)
+ endif
+endif
+
+EXTRA_CFLAGS = -fshort-wchar
+
+ifneq ($(MAKECMDGOALS),clean)
+
+ifeq ($(KERNELRELEASE),)
+
+ #
+ # building from this directory
+ #
+
+ # kernel base directory
+ ifndef KERN_DIR
+ KERN_DIR := /lib/modules/$(shell uname -r)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+ KERN_DIR := /usr/src/linux
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+ $(error Error: unable to find the sources of your current Linux kernel. \
+ Specify KERN_DIR=<directory> and run Make again)
+ endif
+ $(warning Warning: using /usr/src/linux as the source directory of your \
+ Linux kernel. If this is not correct, specify \
+ KERN_DIR=<directory> and run Make again.)
+ endif
+ else
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+ $(error Error: KERN_DIR does not point to a directory)
+ endif
+ endif
+
+ # includes
+ ifndef KERN_INCL
+ KERN_INCL = $(KERN_DIR)/include
+ endif
+ ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes)
+ $(error Error: unable to find the include directory for your current Linux \
+ kernel. Specify KERN_INCL=<directory> and run Make again)
+ endif
+
+ # module install dir.
+ ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),)
+ ifndef MODULE_DIR
+ MODULE_DIR_TST := /lib/modules/$(shell uname -r)
+ ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes)
+ MODULE_DIR := $(MODULE_DIR_TST)/misc
+ else
+ $(error Unable to find the folder to install the DRM driver to)
+ endif
+ endif # MODULE_DIR unspecified
+ endif
+
+ # guess kernel version (24 or 26)
+ ifeq ($(shell if grep '"2\.4\.' $(KERN_INCL)/linux/version.h > /dev/null; then echo yes; fi),yes)
+ KERN_VERSION := 24
+ else
+ KERN_VERSION := 26
+ endif
+
+else # neq($(KERNELRELEASE),)
+
+ #
+ # building from kbuild (make -C <kernel_directory> M=`pwd`)
+ #
+
+ # guess kernel version (24 or 26)
+ ifeq ($(shell if echo "$(VERSION).$(PATCHLEVEL)." | grep '2\.4\.' > /dev/null; then echo yes; fi),yes)
+ KERN_VERSION := 24
+ else
+ KERN_VERSION := 26
+ endif
+
+endif # neq($(KERNELRELEASE),)
+
+# debug - show guesses.
+ifdef DEBUG
+$(warning dbg: KERN_DIR = $(KERN_DIR))
+$(warning dbg: KERN_INCL = $(KERN_INCL))
+$(warning dbg: MODULE_DIR = $(MODULE_DIR))
+$(warning dbg: KERN_VERSION = $(KERN_VERSION))
+endif
+
+KBUILD_VERBOSE ?= 1
+
+#
+# Compiler options
+#
+ifndef INCL
+ INCL := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL))
+ ifndef KBUILD_EXTMOD
+ KBUILD_EXTMOD := $(shell pwd)
+ endif
+ INCL += $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
+ export INCL
+endif
+KFLAGS := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
+ -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DLOG_TO_BACKDOOR -DIN_MODULE \
+ -DIN_GUEST_R0
+ifeq ($(BUILD_TARGET_ARCH),amd64)
+ KFLAGS += -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS
+else
+ KFLAGS += -DRT_ARCH_X86
+endif
+ifeq ($(BUILD_TYPE),debug)
+KFLAGS += -DDEBUG
+endif
+
+# override is required by the Debian guys
+override MODULE = vboxvideo
+OBJS = vboxvideo_drm.o
+
+ifeq ($(KERN_VERSION), 24)
+#
+# 2.4
+#
+
+CFLAGS := -O2 -DVBOX_LINUX_2_4 $(INCL) $(KFLAGS) $(KDEBUG)
+MODULE_EXT := o
+
+# 2.4 Module linking
+$(MODULE).o: $(OBJS)
+ $(LD) -o $@ -r $(OBJS)
+
+.PHONY: $(MODULE)
+all: $(MODULE)
+$(MODULE): $(MODULE).o
+
+else
+#
+# 2.6 and later
+#
+
+MODULE_EXT := ko
+
+$(MODULE)-y := $(OBJS)
+
+# special hack for Fedora Core 6 2.6.18 (fc6), rhel5 2.6.18 (el5),
+# ClarkConnect 4.3 (cc4) and ClarkConnect 5 (v5)
+ifeq ($(KERNELRELEASE),)
+ KFLAGS += $(foreach inc,$(KERN_INCL),\
+ $(if $(wildcard $(inc)/linux/utsrelease.h),\
+ $(if $(shell grep '"2.6.18.*fc6.*"' $(inc)/linux/utsrelease.h; \
+ grep '"2.6.18.*el5.*"' $(inc)/linux/utsrelease.h; \
+ grep '"2.6.18.*v5.*"' $(inc)/linux/utsrelease.h; \
+ grep '"2.6.18.*cc4.*"' $(inc)/linux/utsrelease.h),\
+ -DKERNEL_FC6,),))
+else
+ KFLAGS += $(if $(shell echo "$(KERNELRELEASE)"|grep '2.6.18.*fc6.*';\
+ echo "$(KERNELRELEASE)"|grep '2.6.18.*el5.*';\
+ echo "$(KERNELRELEASE)"|grep '2.6.18.*v5.*';\
+ echo "$(KERNELRELEASE)"|grep '2.6.18.*cc4.*'),\
+ -DKERNEL_FC6,)
+endif
+
+# build defs
+EXTRA_CFLAGS += $(INCL) $(KFLAGS) $(KDEBUG)
+
+all: $(MODULE)
+
+obj-m += $(MODULE).o
+
+$(MODULE):
+ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) modules
+
+endif
+
+install: $(MODULE)
+ @mkdir -p $(MODULE_DIR); \
+ install -m 0664 -o root -g root $(MODULE).$(MODULE_EXT) $(MODULE_DIR); \
+ PATH="$(PATH):/bin:/sbin" depmod -ae;
+
+endif # eq($(MAKECMDGOALS),clean)
+
+# important: Don't remove Module.symvers! DKMS does 'make clean' before building ...
+clean:
+ for f in . linux r0drv r0drv/linux; do rm -f $$f/*.o $$f/.*.cmd $$f/.*.flags; done
+ rm -rf .vboxvideo* .tmp_ver* vboxvideo.* Modules.symvers modules.order
+
diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5-localconfig b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5-localconfig
new file mode 100644
index 00000000..aee5ec1e
--- /dev/null
+++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5-localconfig
@@ -0,0 +1,30 @@
+# -*- Makefile -*-
+#
+# Overwrite some default kBuild settings
+#
+
+#
+# Copyright (C) 2006-2008 Sun Microsystems, Inc.
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software Foundation,
+# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
+# distribution. VirtualBox OSE is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# don't build testcases to save time, they are not needed for the package
+VBOX_WITH_TESTCASES :=
+VBOX_WITH_VALIDATIONKIT :=
+
+KBUILD_MSG_STYLE := brief
+
+## paths, origin, hardening
+VBOX_WITH_HARDENING := 2
+VBOX_WITH_ORIGIN :=
+VBOX_ONLY_ADDITIONS := 1
+
+TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.release =
+TEMPLATE_VBOXGUESTR3XORGMOD_LDFLAGS = $(TEMPLATE_VBOXGUESTR3DLL_LDFLAGS)
diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.0_beta3-configure_checks.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.0_beta3-configure_checks.patch
new file mode 100644
index 00000000..92f8a182
--- /dev/null
+++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.0_beta3-configure_checks.patch
@@ -0,0 +1,52 @@
+--- VirtualBox-5.0.0_BETA3/configure
++++ VirtualBox-5.0.0_BETA3/configure
+@@ -1258,10 +1258,7 @@
+ XCloseDisplay(dpy);
+ }
+ EOF
+- [ -n "$INCX11" ] && I_INCX11=`prefix_I "$INCX11"`
+- if test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs; then
+- log_success "found"
+- fi
++ test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs
+ }
+
+
+@@ -1415,21 +1412,6 @@
+ #include <GL/glu.h>
+ extern "C" int main(void)
+ {
+- Display *dpy;
+- int major, minor;
+-
+- dpy = XOpenDisplay(NULL);
+- if (dpy)
+- {
+- Bool glx_version = glXQueryVersion(dpy, &major, &minor);
+- XCloseDisplay(dpy);
+- if (glx_version)
+- {
+- printf("found version %u.%u, OK.\n", major, minor);
+- return 0;
+- }
+- }
+- printf("found (inactive), OK.\n");
+ return 0;
+ }
+ EOF
+@@ -2706,7 +2688,6 @@
+ # don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs
+ # [ "$OS" != "darwin" ] && check_yasm
+ [ "$OS" != "darwin" ] && check_xsltproc
+- [ "$OS" != "darwin" ] && check_mkisofs
+ fi
+
+ # the libraries
+@@ -2774,7 +2755,6 @@
+ check_compiler_h
+ [ $ONLY_ADDITIONS -eq 0 -a "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
+ # tools/common/makeself*
+- [ $OSE -ge 1 ] && check_makeself
+ fi
+
+ [ -n "$SETUP_WINE" ] && setup_wine
diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.10-xorg119.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.10-xorg119.patch
new file mode 100644
index 00000000..26958fe8
--- /dev/null
+++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.10-xorg119.patch
@@ -0,0 +1,82 @@
+Fix from opensuse:
+https://build.opensuse.org/package/view_file/Virtualization/virtualbox/Fix_for_server_1.19.patch
+
+https://bugs.gentoo.org/602784
+
+Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
+===================================================================
+--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
+@@ -52,6 +52,10 @@
+ #ifndef _VBOXVIDEO_H_
+ #define _VBOXVIDEO_H_
+
++#if XORG_VERSION_CURRENT >= 11900000
++#include <bits/sigset.h>
++typedef __sigset_t sigset_t;
++#endif
+ #include <VBox/VBoxVideoGuest.h>
+ #include <VBox/VBoxVideo.h>
+ #include "version-generated.h"
+Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c
+===================================================================
+--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/helpers.c
++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c
+@@ -82,7 +82,11 @@ void vbvxSetIntegerPropery(ScrnInfoPtr p
+
+ property_name = MakeAtom(pszName, strlen(pszName), TRUE);
+ VBVXASSERT(property_name != BAD_RESOURCE, ("Failed to set atom \"%s\"\n", pszName));
++#if XORG_VERSION_CURRENT >= 11900000
++ dixChangeWindowProperty(serverClient, ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent);
++#else
+ ChangeWindowProperty(ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent);
++#endif
+ }
+
+ void vbvxReprobeCursor(ScrnInfoPtr pScrn)
+Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
+===================================================================
+--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
+@@ -1229,7 +1229,11 @@ static Bool VBOXScreenInit(ScreenPtr pSc
+ updateGraphicsCapability(pScrn, TRUE);
+
+ /* Register block and wake-up handlers for getting new screen size hints. */
++#if XORG_VERSION_CURRENT >= 11900000
++ RegisterBlockAndWakeupHandlers(vboxBlockHandler, (ServerWakeupHandlerProcPtr)NoopDDA, (pointer)pScrn);
++#else
+ RegisterBlockAndWakeupHandlers(vboxBlockHandler, (WakeupHandlerProcPtr)NoopDDA, (pointer)pScrn);
++#endif
+
+ /* software cursor */
+ miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
+Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c
+===================================================================
+--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/pointer.c
++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c
+@@ -15,6 +15,10 @@
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
++#if XORG_VERSION_CURRENT >= 11900000
++#include <bits/sigset.h>
++typedef __sigset_t sigset_t;
++#endif
+ #include <VBox/VBoxGuestLib.h>
+
+ #ifndef PCIACCESS
+Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c
+===================================================================
+--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/edid.c
++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c
+@@ -44,6 +44,10 @@
+ * Dave Airlie <airlied@redhat.com>
+ */
+
++#if XORG_VERSION_CURRENT >= 11900000
++#include <bits/sigset.h>
++typedef __sigset_t sigset_t;
++#endif
+ #include <misc.h>
+ #include <xf86DDC.h>
+ #include <xf86Crtc.h>
diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch
new file mode 100644
index 00000000..f34ac667
--- /dev/null
+++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch
@@ -0,0 +1,11 @@
+--- a/src/VBox/Additions/linux/drm/Makefile.module.kms
++++ b/src/VBox/Additions/linux/drm/Makefile.module.kms
+@@ -43,7 +43,7 @@ else
+ MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h
+ endif
+ MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -include $(MANGLING) -fno-pie
+-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include)
++MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
+ # What on earth is this?
+ MOD_INCL += $(addprefix -I$(KBUILD_EXTMOD)/vboxvideo,/ /include)
+ MOD_INCL += -Iinclude/drm