summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marc Lenoir2018-01-07 14:51:07 +0100
committerJean-Marc Lenoir2018-01-07 14:51:07 +0100
commit4dcb0e93d986e34a89282b64121ae7873a9622a3 (patch)
treea4058ee2d6d4b1f43ff947e53eb363de21b3cc2b
parent4436768f8abd73099d9b75ffe521f6a555bb0592 (diff)
downloadaur-4dcb0e93d986e34a89282b64121ae7873a9622a3.tar.gz
Ultimate commit for VMware 12.5.8
-rw-r--r--.SRCINFO34
-rw-r--r--PKGBUILD84
-rw-r--r--config12
-rw-r--r--config.xml43
-rw-r--r--environments.xml8
-rw-r--r--vmmon.patch226
-rw-r--r--vmnet.patch61
-rw-r--r--vmware-environment.sh7
8 files changed, 249 insertions, 226 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 35f1a88b8017..e0f5388c9e4a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = vmware-workstation
pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC.
- pkgver = 14.1.0
- pkgrel = 5
+ pkgver = 12.5.8
+ pkgrel = 1
url = https://www.vmware.com/products/workstation-for-linux.html
install = vmware-workstation.install
arch = x86_64
@@ -14,10 +14,12 @@ pkgbase = vmware-workstation
depends = ncurses5-compat-libs
depends = fuse2
depends = gksu
- depends = gtkmm3
+ depends = gtkmm
depends = libcanberra
- depends = pcsclite
depends = hicolor-icon-theme
+ depends = fontconfig
+ depends = freetype2
+ depends = zlib
optdepends = linux-headers: build modules against Arch kernel
provides = vmware-ovftool
conflicts = vmware-modules-dkms
@@ -37,7 +39,7 @@ pkgbase = vmware-workstation
backup = etc/vmware/ssl/hostd.ssl.config
backup = etc/pam.d/vmware-authd
backup = etc/conf.d/vmware
- source = https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-14.1.0-7370693.x86_64.bundle
+ source = https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-12.5.8-7098237.x86_64.bundle
source = bootstrap
source = vmware-vix-bootstrap
source = config
@@ -57,19 +59,19 @@ pkgbase = vmware-workstation
source = Makefile
source = vmmon.patch
source = vmnet.patch
- source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/10.1.0/7370838/packages/com.vmware.fusion.tools.darwinPre15.zip.tar
- source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/10.1.0/7370838/packages/com.vmware.fusion.tools.darwin.zip.tar
+ source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.5.9/7098239/packages/com.vmware.fusion.tools.darwinPre15.zip.tar
+ source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/8.5.9/7098239/packages/com.vmware.fusion.tools.darwin.zip.tar
source = unlocker.py
- sha256sums = 522f368c3ce009b4cd442c25215b022fc09a520a668b4e3189af5194f50ca14a
+ sha256sums = 04b93507724a5d38ea154436fb5c96e85b1009955eea5bb7995c5289a5acac32
sha256sums = 12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e
sha256sums = da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141
- sha256sums = d9a5f8b919d52aa2f279d8eaf0bb495780eb9fd8bbc2c58bba223cdca78cc991
+ sha256sums = 55af509a4328fa88518e7008c65ff5598e6007e99ca2b4421a8f9b26126f6ff3
sha256sums = d50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7
sha256sums = 8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd
- sha256sums = 89b3430bdcc1efc33db2eb556447569204dbb736dca8045c3841e1a55ee5bfbb
- sha256sums = 9f508d5f7ce4b69d9f40f6fb0ff0fb3d5b26a3c48658da994bf63975d1b589ab
+ sha256sums = b94959a11b28e51b541321be0588190eb10825e9ff55cbd16eb01483a839a69f
+ sha256sums = d0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16
sha256sums = 434cd4aa440d36b75ee20e0b588aaad874bb0d796173990bc4046667c66f5099
- sha256sums = 57c7568a89e8af1914cf7aea84d8fefd6e7af4155557081292344326d652ae70
+ sha256sums = 25c5aa39489d14a60f9cb30bdd7b21d36399c3355daee8bf5fbebcb62fe9f45f
sha256sums = 3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88
sha256sums = f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d
sha256sums = 70301aa4eff4f42d7d39b276445dc7d8f44b8a0e184775e8a9e3055bb9d8590a
@@ -78,10 +80,10 @@ pkgbase = vmware-workstation
sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d
sha256sums = 05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487
sha256sums = 6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d
- sha256sums = 773442cea744a6bd6420c4a0108749d33dae5ac7e7813c99a6fbfdf47963e9da
- sha256sums = 5d69ef50ed407c4948db424549ffb38321c7d1203ba6cd153f6fb3351364aa34
- sha256sums = 70ee05c2e6098644a619fd0e1f742facd5f234e62d7095ef99186e8af8d6b882
- sha256sums = a18688c5ccbebe3822f71a357e879bec6dd9a5698833d13fd0f27ee72adab1fc
+ sha256sums = e7fd1d69ce4e0bce1759243204f9cd514c60a63556cee44f401c0a3cc245221a
+ sha256sums = 397cda34be6c023a9486565f9c648e1f39a93da32941ca82052ada80d2e8a603
+ sha256sums = 48d533fcdb4d8adac11379a649a892cf9bb357bd467846bfd1aff54bedcc4d74
+ sha256sums = 1c0775534cba0927a3d90d2e57b3371f30c36d61b6822be5a6d8f0703ef8d354
sha256sums = b739b0c99fb20dc44838ce137e254773b7be051f327eb67fd8cb1342a3ecf344
pkgname = vmware-workstation
diff --git a/PKGBUILD b/PKGBUILD
index cd0c389268b2..0e3500926f07 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,10 +14,10 @@
#PKGEXT=.pkg.tar
pkgname=vmware-workstation
-pkgver=14.1.0
-_buildver=7370693
+pkgver=12.5.8
+_buildver=7098237
_pkgver=${pkgver}_${_buildver}
-pkgrel=5
+pkgrel=1
pkgdesc='The industry standard for running multiple operating systems as virtual machines on a single Linux PC.'
arch=(x86_64)
url='https://www.vmware.com/products/workstation-for-linux.html'
@@ -37,12 +37,13 @@ depends=(
ncurses5-compat-libs
fuse2
gksu
- gtkmm3
+ gtkmm
libcanberra
- pcsclite
hicolor-icon-theme
# needed to replace internal libs:
- #zlib
+ fontconfig
+ freetype2
+ zlib
)
optdepends=(
'linux-headers: build modules against Arch kernel'
@@ -90,18 +91,18 @@ source=(
'vmnet.patch'
)
sha256sums=(
- '522f368c3ce009b4cd442c25215b022fc09a520a668b4e3189af5194f50ca14a'
+ '04b93507724a5d38ea154436fb5c96e85b1009955eea5bb7995c5289a5acac32'
'12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e'
'da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141'
- 'd9a5f8b919d52aa2f279d8eaf0bb495780eb9fd8bbc2c58bba223cdca78cc991'
+ '55af509a4328fa88518e7008c65ff5598e6007e99ca2b4421a8f9b26126f6ff3'
'd50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7'
'8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd'
- '89b3430bdcc1efc33db2eb556447569204dbb736dca8045c3841e1a55ee5bfbb'
+ 'b94959a11b28e51b541321be0588190eb10825e9ff55cbd16eb01483a839a69f'
- '9f508d5f7ce4b69d9f40f6fb0ff0fb3d5b26a3c48658da994bf63975d1b589ab'
+ 'd0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16'
'434cd4aa440d36b75ee20e0b588aaad874bb0d796173990bc4046667c66f5099'
- '57c7568a89e8af1914cf7aea84d8fefd6e7af4155557081292344326d652ae70'
+ '25c5aa39489d14a60f9cb30bdd7b21d36399c3355daee8bf5fbebcb62fe9f45f'
'3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88'
'f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d'
@@ -112,8 +113,8 @@ sha256sums=(
'05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487'
'6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d'
- '773442cea744a6bd6420c4a0108749d33dae5ac7e7813c99a6fbfdf47963e9da'
- '5d69ef50ed407c4948db424549ffb38321c7d1203ba6cd153f6fb3351364aa34'
+ 'e7fd1d69ce4e0bce1759243204f9cd514c60a63556cee44f401c0a3cc245221a'
+ '397cda34be6c023a9486565f9c648e1f39a93da32941ca82052ada80d2e8a603'
)
options=(!strip emptydirs)
@@ -122,7 +123,7 @@ _isoimages=(freebsd linux linuxPreGlibc25 netware solaris windows winPre2k winPr
if [ -n "$_enable_macOS_guests" ]; then
-_vmware_fusion_ver=10.1.0_7370838
+_vmware_fusion_ver=8.5.9_7098239
# List of VMware Fusion versions: https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/
makedepends+=(
@@ -137,8 +138,8 @@ source+=(
'unlocker.py'
)
sha256sums+=(
- '70ee05c2e6098644a619fd0e1f742facd5f234e62d7095ef99186e8af8d6b882'
- 'a18688c5ccbebe3822f71a357e879bec6dd9a5698833d13fd0f27ee72adab1fc'
+ '48d533fcdb4d8adac11379a649a892cf9bb357bd467846bfd1aff54bedcc4d74'
+ '1c0775534cba0927a3d90d2e57b3371f30c36d61b6822be5a6d8f0703ef8d354'
'b739b0c99fb20dc44838ce137e254773b7be051f327eb67fd8cb1342a3ecf344'
)
@@ -197,7 +198,7 @@ package() {
"$pkgdir/etc"/{cups,pam.d,modprobe.d,profile.d,thnuclnt,vmware} \
"$pkgdir/usr"/{share,bin} \
"$pkgdir/usr/include/vmware-vix" \
- "$pkgdir/usr/lib"/{vmware/{setup,lib/libvmware-vim-cmd.so},vmware-vix,vmware-ovftool,vmware-installer/"$vmware_installer_version",cups/filter,modules-load.d} \
+ "$pkgdir/usr/lib"/{vmware/setup,vmware-vix,vmware-ovftool,vmware-installer/"$vmware_installer_version",cups/filter,modules-load.d} \
"$pkgdir/usr/share"/{doc/vmware-vix,licenses/"$pkgname"} \
"$pkgdir/var/lib/vmware/Shared VMs"
@@ -223,7 +224,7 @@ package() {
cp -r \
vmware-workstation/lib/* \
vmware-player-app/lib/* \
- vmware-vmx/{lib/*,roms} \
+ vmware-vmx/lib/* \
vmware-vprobe/lib/* \
vmware-workstation-server/{bin,lib,hostd} \
vmware-usbarbitrator/bin \
@@ -241,7 +242,7 @@ package() {
"$pkgdir/etc/vmware"
cp -r \
- vmware-vix-lib-Workstation1400/lib/Workstation-14.0.0 \
+ vmware-vix-lib-Workstation1200/lib/Workstation-12.0.0 \
vmware-vix-core/{lib/*,vixwrapper-config.txt} \
"$pkgdir/usr/lib/vmware-vix"
cp vmware-vix-core/vix-perl.tar.nogz "$pkgdir/usr/lib/vmware-vix/vix-perl.tar.gz"
@@ -261,9 +262,7 @@ package() {
cp -r \
vmware-player-app/etc/cups/* \
"$pkgdir/etc/cups"
- cp -r \
- vmware-player-app/extras/.thnumod \
- "$pkgdir/etc/thnuclnt"
+
cp -r \
vmware-player-app/extras/thnucups \
"$pkgdir/usr/lib/cups/filter"
@@ -278,6 +277,7 @@ package() {
install -Dm 644 "vmware-tools-$isoimage/$isoimage.iso.sig" "$pkgdir/usr/lib/vmware/isoimages/$isoimage.iso.sig"
done
+ install -Dm 644 "vmware-player-app/doc/LearnMore.txt" "$pkgdir/usr/share/licenses/$pkgname/Privacy.txt"
install -Dm 644 "vmware-workstation/doc/EULA" "$pkgdir/usr/share/licenses/$pkgname/VMware Workstation - EULA.txt"
install -Dm 644 "vmware-workstation/doc"/*open_source_licenses.txt "$pkgdir/usr/share/licenses/$pkgname"
mv "$pkgdir/usr/lib/vmware-ovftool/vmware.eula" "$pkgdir/usr/share/licenses/$pkgname/VMware OVF Tool component for Linux - EULA.txt"
@@ -320,16 +320,15 @@ package() {
"$pkgdir/usr/bin"/* \
"$pkgdir/usr/lib/vmware/bin"/* \
"$pkgdir/usr/lib/vmware/setup"/* \
- "$pkgdir/usr/lib/vmware/lib"/libvmware-gksu.so/gksu-run-helper \
+ "$pkgdir/usr/lib/vmware/lib"/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper} \
"$pkgdir/usr/lib/vmware-ovftool"/{ovftool,ovftool.bin} \
"$pkgdir/usr/lib/vmware-installer/$vmware_installer_version"/{vmware-installer,vmis-launcher} \
"$pkgdir/usr/lib/cups/filter"/* \
- "$pkgdir/usr/lib/vmware-vix/setup"/* \
- "$pkgdir/etc/thnuclnt/.thnumod"
+ "$pkgdir/usr/lib/vmware-vix/setup"/*
chmod -R 600 "$pkgdir/etc/vmware/ssl"
chmod +s \
- "$pkgdir/usr/bin"/vmware-authd \
+ "$pkgdir/usr/bin"/{vmware-authd,vmware-mount} \
"$pkgdir/usr/lib/vmware/bin"/{vmware-vmx,vmware-vmx-debug,vmware-vmx-stats}
@@ -337,46 +336,37 @@ package() {
for link in \
licenseTool \
+ thnuclnt \
vmplayer \
vmware \
vmware-app-control \
vmware-enter-serial \
vmware-fuseUI \
vmware-gksu \
- vmware-hostd \
vmware-modconfig \
vmware-modconfig-console \
- vmware-mount \
vmware-netcfg \
vmware-tray \
- vmware-vim-cmd \
+ vmware-unity-helper \
vmware-vmblock-fuse \
- vmware-vprobe \
- vmware-wssc-adminTool \
- vmware-zenity \
- #vmware-unity-helper
+ vmware-zenity
do
ln -s /usr/lib/vmware/bin/appLoader "$pkgdir/usr/lib/vmware/bin/$link"
done
- for link in \
- vmware-mount \
- vmware-usbarbitrator
- do
- ln -s /usr/lib/vmware/bin/$link "$pkgdir/usr/bin/$link"
- done
-
ln -s /usr/lib/vmware/icu "$pkgdir/etc/vmware/icu"
- ln -s /usr/lib/vmware/lib/diskLibWrapper.so/diskLibWrapper.so "$pkgdir/usr/lib/diskLibWrapper.so"
- ln -s /usr/lib/vmware/lib/libvmware-hostd.so/libvmware-hostd.so "$pkgdir/usr/lib/vmware/lib/libvmware-vim-cmd.so/libvmware-vim-cmd.so"
ln -s /usr/lib/vmware-ovftool/ovftool "$pkgdir/usr/bin/ovftool"
- ln -s /usr/lib/vmware-vix/libvixAllProducts.so "$pkgdir/usr/lib/libvixAllProducts.so"
+ ln -s /usr/lib/vmware/bin/appLoader "$pkgdir/etc/thnuclnt/.thnumod"
# Replace placeholder "variables" with real paths.
for file in \
- gtk-3.0/gdk-pixbuf.loaders
+ pango/pangorc \
+ pango/pango.modules \
+ pango/pangox.aliases \
+ gtk-2.0/gdk-pixbuf.loaders \
+ gtk-2.0/gtk.immodules
do
sed -i 's,@@LIBCONF_DIR@@,/usr/lib/vmware/libconf,g' "$pkgdir/usr/lib/vmware/libconf/etc/$file"
done
@@ -434,6 +424,10 @@ fi
-i "$pkgdir/usr/bin/$program"
done
+ # use system font rendering
+ ln -sf /usr/lib/libfreetype.so.6 "$pkgdir/usr/lib/vmware/lib/libfreetype.so.6/"
+ ln -sf /usr/lib/libfontconfig.so.1 "$pkgdir/usr/lib/vmware/lib/libfontconfig.so.1/" # avoid a conflict with fontconfig when VMWARE_USE_SHIPPED_LIBS is defined
+
# to solve bugs with incompatibles library versions:
- #ln -sf /usr/lib/libz.so.1 "$pkgdir/usr/lib/vmware/lib/libz.so.1/"
+ ln -sf /usr/lib/libz.so.1 "$pkgdir/usr/lib/vmware/lib/libz.so.1/"
}
diff --git a/config b/config
index fce6aadfbde5..f71c789c9738 100644
--- a/config
+++ b/config
@@ -11,16 +11,16 @@ bindir = "/usr/bin"
vmware.fullpath = "/usr/bin/vmware"
vix.libdir = "/usr/lib/vmware-vix"
installerDefaults.componentDownloadEnabled = "no"
-installerDefaults.autoSoftwareUpdateEnabled.epoch = "4641104763"
+installerDefaults.autoSoftwareUpdateEnabled.epoch = "5971871847"
vix.config.version = "1"
-player.product.version = "14.0.0"
-installerDefaults.dataCollectionEnabled.epoch = "7910652514"
+player.product.version = "12.5.6"
+installerDefaults.dataCollectionEnabled.epoch = "2097005183"
installerDefaults.dataCollectionEnabled = "no"
installerDefaults.transferVersion = "1"
installerDefaults.autoSoftwareUpdateEnabled = "no"
-product.buildNumber = "6661328"
+product.buildNumber = "5528349"
authd.client.port = "902"
authd.proxy.nfc = "vmware-hostd:ha-nfc"
-product.version = "14.0.0"
-workstation.product.version = "14.0.0"
+product.version = "12.5.6"
+workstation.product.version = "12.5.6"
product.name = "VMware Workstation"
diff --git a/config.xml b/config.xml
index 68f851ad72dd..b08e4b150293 100644
--- a/config.xml
+++ b/config.xml
@@ -45,6 +45,15 @@
<supportedVMs> 128 </supportedVMs>
</mockup>
+ <!-- Procoproxy update forwarding configuration settings
+ <updateForwarding>
+ <enabled>false</enabled>
+ <hostName>localhost</hostName>
+ <port>5002</port>
+ <useSsl>false</useSsl>
+ </updateForwarding>
+ -->
+
<!-- Frequency of memory checker -->
<!-- <memoryCheckerTimeInSecs> 30 </memoryCheckerTimeInSecs> -->
@@ -257,8 +266,7 @@
<ssl>
<doVersionCheck> false </doVersionCheck>
<libraryPath>/usr/lib/vmware</libraryPath>
- <!-- allowed SSL/TLS protocol versions -->
- <!-- <protocols>tls1.0,tls1.1,tls1.2</protocols> -->
+ <useCompression> true </useCompression>
<!-- timeouts for the SSL handshake. the default is 20 sec. -->
<!-- <handshakeTimeoutMs>60000</handshakeTimeoutMs> -->
@@ -593,6 +601,22 @@
<!-- The file containing the hardware info mockup -->
<hwInfo>/etc/vmware/hostd/hwInfo.xml</hwInfo>
+ <!-- Whether to use the real network list or just use mockups -->
+ <!-- <loadRealNetworks> true </loadRealNetworks> -->
+
+ <!-- Whether to use the real pciPassthru list or just use mockups -->
+ <!-- <loadRealPciPassthru> true </loadRealPciPassthru> -->
+
+ <!-- Whether to use the real datastore list or just use mockups -->
+ <!-- <loadRealDatastores> true </loadRealDatastores> -->
+
+ <!-- Whether to use the real rdm list or the mockup list. -->
+ <!-- <loadRealRdmInfo> true </loadRealRdmInfo> -->
+
+ <!-- Whether to use the real device (cd,flp,serial,||,sound) -->
+ <!-- list or the mockup. -->
+ <!-- <loadRealHwInfo> true </loadRealHwInfo> -->
+
<!-- Controls to enable/disable expressions in the RDM filter -->
<!-- <rdmfilter> -->
<!-- Only show disks that are attached to shared storage. -->
@@ -605,6 +629,12 @@
<!-- <UsedAsVmRdm>true</UsedAsVmRdm> -->
<!-- </rdmfilter> -->
+ <!-- Whether to use the real rdm list or the mockup list. -->
+ <!-- <loadRealPassthroughInfo> true </loadRealPassthroughInfo> -->
+
+ <!-- Whether to populate usb info from the mockup list. -->
+ <!-- <loadRealUsbInfo> true </loadRealUsbInfo> -->
+
<!-- Disable Resource Pool Initialization -->
<!-- <disableResourcePoolInit> false </disableResourcePoolInit> -->
@@ -791,8 +821,6 @@
<cimsvc>
<path>libcimsvc.so</path>
<enabled>false</enabled>
- <maxSelEntries>40</maxSelEntries>
- <pollTime>90</pollTime>
</cimsvc>
<directorysvc>
@@ -859,11 +887,6 @@
<enabled>false</enabled>
</cbrcsvc>
- <hostspecsvc>
- <path>libhostspecsvc.so</path>
- <enabled>false</enabled>
- </hostspecsvc>
-
</plugins>
@@ -877,4 +900,4 @@
</locale>
-->
-</config> \ No newline at end of file
+</config>
diff --git a/environments.xml b/environments.xml
index 57a099d3a52d..93a12dac54b8 100644
--- a/environments.xml
+++ b/environments.xml
@@ -35,12 +35,4 @@
<Descriptor> /etc/vmware/hostd/env/ws-hw12.xml </Descriptor>
<Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw12.xml</Options>
</Cfg>
- <Cfg id = "10">
- <Descriptor> /etc/vmware/hostd/env/ws-hw13.xml </Descriptor>
- <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw13.xml</Options>
- </Cfg>
- <Cfg id = "11">
- <Descriptor> /etc/vmware/hostd/env/ws-hw14.xml </Descriptor>
- <Options> /etc/vmware/hostd/env/vmconfigoption-ws-hw14.xml</Options>
- </Cfg>
</Environment>
diff --git a/vmmon.patch b/vmmon.patch
index 74af6f8e7893..c8e61a5ed44c 100644
--- a/vmmon.patch
+++ b/vmmon.patch
@@ -25,8 +25,8 @@ index bf805e0..9aac585 100644
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- obj-m += $(DRIVER).o
-
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/tsc_khz.c, -DVMW_HAVE_TSC_KHZ, )
diff --git a/vmmon/include/compat_module.h b/vmmon/include/compat_module.h
index 2af7372..729aedc 100644
--- a/vmmon/include/compat_module.h
@@ -36,73 +36,27 @@ index 2af7372..729aedc 100644
#endif
+/*
-+ * Linux kernel >= 4.2.99 does not return anything from misc_deregister
++ * Linux kernel >= 4.3.0 does not return anything from misc_deregister
+ */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 99)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0)
+#define compat_misc_deregister(misc) misc_deregister(misc)
+#else
+#define compat_misc_deregister(misc) ({misc_deregister(misc);0;})
+#endif
+
#endif /* __COMPAT_MODULE_H__ */
-diff --git a/vmmon-only/include/compat_timer.h b/vmmon-only/include/compat_timer.h
-new file mode 100644
-index 0000000..b68d9b2
---- /dev/null
-+++ b/vmmon-only/include/compat_timer.h
-@@ -0,0 +1,33 @@
-+#ifndef __COMPAT_TIMER_H__
-+#define __COMPAT_TIMER_H__
-+
-+#include <linux/timer.h>
-+
-+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)) && !defined(timer_setup)
-+
-+typedef unsigned long compat_timer_arg_t;
-+
-+static inline void compat_timer_setup(struct timer_list *timer,
-+ void (*func)(compat_timer_arg_t),
-+ unsigned int flags)
-+{
-+ init_timer(timer);
-+ timer->function = func;
-+ timer->data = 0;
-+ timer->flags = flags;
-+}
-+
-+#else /* new timer interface since 4.15 */
-+
-+typedef struct timer_list *compat_timer_arg_t;
-+
-+static inline void compat_timer_setup(struct timer_list *timer,
-+ void (*func)(compat_timer_arg_t),
-+ unsigned int flags)
-+{
-+ timer_setup(timer, func, flags);
-+}
-+
-+#endif /* new timer interface since 4.15 */
-+
-+#endif /* __COMPAT_TIMER_H__ */
diff --git a/vmmon/linux/driver.c b/vmmon/linux/driver.c
index 87cf45b..5390a93 100644
--- a/vmmon/linux/driver.c
+++ b/vmmon/linux/driver.c
-@@ -21,6 +21,7 @@
-
- #define EXPORT_SYMTAB
-
-+#include "compat_timer.h"
- #include <linux/file.h>
- #include <linux/highmem.h>
- #include <linux/mm.h>
-@@ -109,7 +109,15 @@ static struct vm_operations_struct vmuser_mops = {
- .fault = LinuxDriverFault
+@@ -126,7 +126,16 @@ static struct vm_operations_struct vmuser_mops = {
+ #endif
};
-static struct file_operations vmuser_fops;
+static struct file_operations vmuser_fops = {
+ .owner = THIS_MODULE,
++ .poll = LinuxDriverPoll,
+ .unlocked_ioctl = LinuxDriver_Ioctl,
+ .compat_ioctl = LinuxDriver_Ioctl,
+ .open = LinuxDriver_Open,
@@ -113,27 +67,8 @@ index 87cf45b..5390a93 100644
static struct timer_list tscTimer;
static Atomic_uint32 tsckHz;
static VmTimeStart tsckHzStartTime;
-@@ -216,7 +217,7 @@ LinuxDriverEstimateTSCkHz(void)
- *----------------------------------------------------------------------
- */
- static void
--LinuxDriverEstimateTSCkHzDeferred(unsigned long data)
-+LinuxDriverEstimateTSCkHzDeferred(compat_timer_arg_t unused)
- {
- LinuxDriverEstimateTSCkHz();
- }
-@@ -251,9 +252,7 @@ LinuxDriverInitTSCkHz(void)
- }
-
- LinuxDriverReadTSCAndUptime(&tsckHzStartTime);
-- tscTimer.function = LinuxDriverEstimateTSCkHzDeferred;
- tscTimer.expires = jiffies + 4 * HZ;
-- tscTimer.data = 0;
- add_timer(&tscTimer);
- }
-
-@@ -295,20 +304,6 @@ init_module(void)
- linuxState.fastClockRate = 0;
+@@ -319,21 +328,6 @@ init_module(void)
+ linuxState.fastClockPriority = -20;
linuxState.swapSize = VMMON_UNKNOWN_SWAP_SIZE;
- /*
@@ -144,6 +79,7 @@ index 87cf45b..5390a93 100644
-
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
- vmuser_fops.owner = THIS_MODULE;
+- vmuser_fops.poll = LinuxDriverPoll;
- vmuser_fops.unlocked_ioctl = LinuxDriver_Ioctl;
- vmuser_fops.compat_ioctl = LinuxDriver_Ioctl;
- vmuser_fops.open = LinuxDriver_Open;
@@ -153,16 +89,7 @@ index 87cf45b..5390a93 100644
#ifdef VMX86_DEVEL
devel_init_module();
linuxState.minor = 0;
-@@ -335,7 +334,7 @@ init_module(void)
- linuxState.deviceName, linuxState.major, linuxState.minor);
-
- HostIF_InitUptime();
-- init_timer(&tscTimer);
-+ compat_timer_setup(&tscTimer, LinuxDriverEstimateTSCkHzDeferred, 0);
- LinuxDriverInitTSCkHz();
- Vmx86_InitIDList();
-
-@@ -364,7 +373,9 @@ cleanup_module(void)
+@@ -389,7 +383,9 @@ cleanup_module(void)
#ifdef VMX86_DEVEL
unregister_chrdev(linuxState.major, linuxState.deviceName);
#else
@@ -173,7 +100,7 @@ index 87cf45b..5390a93 100644
#endif
Log("Module %s: unloaded\n", linuxState.deviceName);
-@@ -977,7 +988,7 @@ LinuxDriverReadTSC(void *data, // OUT: TSC values
+@@ -1287,7 +1283,7 @@ LinuxDriverReadTSC(void *data, // OUT: TSC values
*-----------------------------------------------------------------------------
*/
@@ -186,59 +113,126 @@ diff --git a/vmmon/linux/hostif.c b/vmmon/linux/hostif.c
index fd32013..583d6da 100644
--- a/vmmon/linux/hostif.c
+++ b/vmmon/linux/hostif.c
-@@ -29,6 +29,7 @@
- #include "driver-config.h"
-
- /* Must come before vmware.h --hpreg */
-+#include "compat_timer.h"
- #include <linux/binfmts.h>
- #include <linux/delay.h>
- #include <linux/file.h>
-@@ -36,6 +36,9 @@
+@@ -37,6 +37,9 @@
#include <linux/vmalloc.h>
#include <linux/slab.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 99)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+#include <linux/sched/signal.h>
+#endif
#include <linux/preempt.h>
#include <linux/poll.h>
-@@ -51,6 +54,7 @@
+@@ -73,6 +76,7 @@
#include <linux/capability.h>
#include <linux/kthread.h>
#include <linux/wait.h>
+#include <asm/apic.h>
- #include <linux/hrtimer.h>
#include <linux/signal.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
#include <linux/taskstats_kern.h> // For linux/sched/signal.h without version check
-@@ -115,6 +149,10 @@
+@@ -99,6 +99,37 @@
+ #include "vmmonInt.h"
+ #include "versioned_atomic.h"
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
++# define global_zone_page_state global_page_state
++#endif
++
++static unsigned long get_nr_slab_unreclaimable(void)
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0)
++ return global_node_page_state(NR_SLAB_UNRECLAIMABLE);
++#else
++ return global_page_state(NR_SLAB_UNRECLAIMABLE);
++#endif
++}
++
++static unsigned long get_nr_unevictable(void)
++{
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ return global_node_page_state(NR_UNEVICTABLE);
++#else
++ return global_page_state(NR_UNEVICTABLE);
++#endif
++}
++
++static unsigned long get_nr_anon_mapped(void)
++{
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++ return global_node_page_state(NR_ANON_MAPPED);
++ #else
++ return global_page_state(NR_ANON_PAGES);
++ #endif
++}
++
+ /*
+ * Determine if we can use high resolution timers.
+ */
+@@ -142,6 +146,10 @@
*/
#define LOCKED_PAGE_SLACK 10000
-+#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 7, 99)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+#define NR_ANON_PAGES NR_ANON_MAPPED
+#endif
+
static struct {
Atomic_uint64 uptimeBase;
VersionedAtomic version;
-@@ -1705,7 +1714,7 @@ HostIFReadUptimeWork(unsigned long *j) // OUT: current jiffies
+@@ -1165,14 +1173,16 @@
+ int retval;
+
+ down_read(&current->mm->mmap_sem);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+- retval = get_user_pages((unsigned long)uvAddr, numPages, 0, ppages, NULL);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+- retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
++ retval = get_user_pages((unsigned long)uvAddr,
+ #else
+ retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
+- numPages, 0, 0, ppages, NULL);
+ #endif
++ numPages, 0,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
++ 0,
++#endif
++ ppages, NULL);
+ up_read(&current->mm->mmap_sem);
+
+ return retval != numPages;
+@@ -1594,16 +1625,11 @@ HostIF_EstimateLockedPageLimit(const VMDriver* vm, // IN
+ unsigned int reservedPages = MEMDEFAULTS_MIN_HOST_PAGES;
+ unsigned int hugePages = (vm == NULL) ? 0 :
+ BYTES_2_PAGES(vm->memInfo.hugePageBytes);
+- unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
+- global_page_state(NR_SLAB_UNRECLAIMABLE) +
+- global_page_state(NR_UNEVICTABLE) +
++ unsigned int lockedPages = global_zone_page_state(NR_PAGETABLE) +
++ get_nr_slab_unreclaimable() +
++ get_nr_unevictable() +
+ hugePages + reservedPages;
+- unsigned int anonPages =
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+- global_page_state(NR_ANON_MAPPED);
+-#else
+- global_page_state(NR_ANON_PAGES);
+-#endif
++ unsigned int anonPages = get_nr_anon_mapped();
+ unsigned int swapPages = BYTES_2_PAGES(linuxState.swapSize);
+
+ if (anonPages > swapPages) {
+diff --git a/vmmon/linux/vmmonInt.h b/vmmon/linux/vmmonInt.h
+index 4dc04e9..993212d 100644
+--- a/vmmon/linux/vmmonInt.h
++++ b/vmmon/linux/vmmonInt.h
+@@ -28,7 +28,7 @@
+ * Hide all kernel compatibility stuff in these macros and functions.
*/
- static void
--HostIFUptimeResyncMono(unsigned long data) // IN: ignored
-+HostIFUptimeResyncMono(compat_timer_arg_t unused) // IN: ignored
- {
- unsigned long jifs;
- uintptr_t flags;
-@@ -1767,8 +1776,7 @@ HostIF_InitUptime(void)
- -(tv.tv_usec * (UPTIME_FREQ / 1000000) +
- tv.tv_sec * UPTIME_FREQ));
-
-- init_timer(&uptimeState.timer);
-- uptimeState.timer.function = HostIFUptimeResyncMono;
-+ compat_timer_setup(&uptimeState.timer, HostIFUptimeResyncMono, 0);
- mod_timer(&uptimeState.timer, jiffies + HZ);
- }
-
+-#ifdef VMW_HAVE_SMP_CALL_3ARG
++#if defined (VMW_HAVE_SMP_CALL_3ARG) || LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0)
+ #define compat_smp_call_function(fn, info, wait) smp_call_function(fn, info, wait)
+ #else
+ #define compat_smp_call_function(fn, info, wait) smp_call_function(fn, info, 1, wait)
diff --git a/vmnet.patch b/vmnet.patch
index 32ac223bd9b3..54c5f841b62e 100644
--- a/vmnet.patch
+++ b/vmnet.patch
@@ -24,9 +24,21 @@ index 2d8e6f6..a14166b 100644
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netif_trans_update.c,-DVMW_NETIF_TRANS_UPDATE, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
+diff --git a/vmnet/bridge.c b/vmnet/bridge.c
+--- a/vmnet/bridge.c
++++ b/vmnet/bridge.c
+@@ -636,7 +636,7 @@
+ unsigned long flags;
+ int i;
- obj-m += $(DRIVER).o
+- atomic_inc(&clone->users);
++ clone = skb_get(clone);
+
+ clone->dev = dev;
+ clone->protocol = eth_type_trans(clone, dev);
diff --git a/vmnet/driver.c b/vmnet/driver.c
index 7e7ad99..5f508f6 100644
--- a/vmnet/driver.c
@@ -72,21 +84,34 @@ index 7e7ad99..5f508f6 100644
retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
if (retval) {
LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",
-@@ -1145,12 +1138,12 @@ VNetMulticastFilter(const uint8 *destAddr, // IN: multicast MAC
- }
- /*
- * Do not need to further compute and check ladrf if no match
-- * in exact multicast filter, since only one of them is
-+ * in exact multicast filter, since only one of them is
- * used at a time.
- */
- return FALSE;
- }
--
-+
+diff --git a/vmnet/userif.c b/vmnet/userif.c
+index 94146f6..5298406 100644
+--- a/vmnet/userif.c
++++ b/vmnet/userif.c
+@@ -116,14 +116,18 @@
+ int retval;
+
+ down_read(&current->mm->mmap_sem);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+- retval = get_user_pages(addr, 1, FOLL_WRITE, &page, NULL);
+-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+- retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
++ retval = get_user_pages(addr,
+ #else
+ retval = get_user_pages(current, current->mm, addr,
+- 1, 1, 0, &page, NULL);
+ #endif
++ 1,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
++ 1, 0,
++#else
++ FOLL_WRITE,
++#endif
++ &page, NULL);
+ up_read(&current->mm->mmap_sem);
- crc = 0xffffffff; /* init CRC for each address */
- for (byte = 0; byte < ETH_ALEN; byte++) { /* for each address byte */
+ if (retval != 1) {
diff --git a/vmnet/vm_device_version.h b/vmnet/vm_device_version.h
index e2cb477..3dd7097 100644
--- a/vmnet/vm_device_version.h
@@ -105,12 +130,12 @@ diff --git a/vmnet/vmnetInt.h b/vmnet/vmnetInt.h
index 0ee52ec..4e3b923 100644
--- a/vmnet/vmnetInt.h
+++ b/vmnet/vmnetInt.h
-@@ -48,7 +48,7 @@
+@@ -79,7 +79,7 @@
extern struct proto vmnet_proto;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) || defined(sk_net_refcnt)
# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
- PF_NETLINK, _pri, &vmnet_proto, 1)
+ PF_NETLINK, _pri, &vmnet_proto, 0)
- #else
+ #elif defined(VMW_NETDEV_HAS_NET)
# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
PF_NETLINK, _pri, &vmnet_proto)
diff --git a/vmware-environment.sh b/vmware-environment.sh
index a6f550a61a10..b4bee50db4df 100644
--- a/vmware-environment.sh
+++ b/vmware-environment.sh
@@ -1,9 +1,2 @@
# Uncomment the line below if you have a problem of incompatible libraries
#export VMWARE_USE_SHIPPED_LIBS=yes
-
-# Uncomment and fill the line below to change GTK theme
-#export GTK_THEME=""
-
-
-# Avoid an issue with some keyboard layouts using iBus
-export GTK_IM_MODULE_FILE=/dev/null