diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-06-04 17:23:22 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-06-04 17:23:22 +0100 |
commit | 6dbe42f0406d179ae3061655ee9536f325452939 (patch) | |
tree | 49b33ce82befea676253d79f49d026f5252a94a3 /x11-drivers/xf86-video-virtualbox/files | |
parent | 8b096a612ec4e8cadaa1c77b7f34b9253d91f4e4 (diff) |
bring back all virtualbox integration
Diffstat (limited to 'x11-drivers/xf86-video-virtualbox/files')
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 |