summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marc Lenoir2018-01-07 15:23:48 +0100
committerJean-Marc Lenoir2018-01-07 15:23:48 +0100
commitf0abbd18cbbd0e9c4f53a7c5c9d1d6e3fcf2cf40 (patch)
tree507719836fb456902d709371ab995609f1e420bb
parent4dcb0e93d986e34a89282b64121ae7873a9622a3 (diff)
downloadaur-f0abbd18cbbd0e9c4f53a7c5c9d1d6e3fcf2cf40.tar.gz
Come back to VMware 14
-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.patch220
-rw-r--r--vmnet.patch48
-rw-r--r--vmware-environment.sh7
8 files changed, 209 insertions, 247 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e0f5388c9e4a..01d1eb231b9f 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 = 12.5.8
- pkgrel = 1
+ pkgver = 14.1.0
+ pkgrel = 5
url = https://www.vmware.com/products/workstation-for-linux.html
install = vmware-workstation.install
arch = x86_64
@@ -14,12 +14,10 @@ pkgbase = vmware-workstation
depends = ncurses5-compat-libs
depends = fuse2
depends = gksu
- depends = gtkmm
+ depends = gtkmm3
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
@@ -39,7 +37,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-12.5.8-7098237.x86_64.bundle
+ source = https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-14.1.0-7370693.x86_64.bundle
source = bootstrap
source = vmware-vix-bootstrap
source = config
@@ -59,19 +57,19 @@ pkgbase = vmware-workstation
source = Makefile
source = vmmon.patch
source = vmnet.patch
- 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 = 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 = unlocker.py
- sha256sums = 04b93507724a5d38ea154436fb5c96e85b1009955eea5bb7995c5289a5acac32
+ sha256sums = 522f368c3ce009b4cd442c25215b022fc09a520a668b4e3189af5194f50ca14a
sha256sums = 12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e
sha256sums = da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141
- sha256sums = 55af509a4328fa88518e7008c65ff5598e6007e99ca2b4421a8f9b26126f6ff3
+ sha256sums = d9a5f8b919d52aa2f279d8eaf0bb495780eb9fd8bbc2c58bba223cdca78cc991
sha256sums = d50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7
sha256sums = 8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd
- sha256sums = b94959a11b28e51b541321be0588190eb10825e9ff55cbd16eb01483a839a69f
- sha256sums = d0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16
+ sha256sums = 89b3430bdcc1efc33db2eb556447569204dbb736dca8045c3841e1a55ee5bfbb
+ sha256sums = 9f508d5f7ce4b69d9f40f6fb0ff0fb3d5b26a3c48658da994bf63975d1b589ab
sha256sums = 434cd4aa440d36b75ee20e0b588aaad874bb0d796173990bc4046667c66f5099
- sha256sums = 25c5aa39489d14a60f9cb30bdd7b21d36399c3355daee8bf5fbebcb62fe9f45f
+ sha256sums = 57c7568a89e8af1914cf7aea84d8fefd6e7af4155557081292344326d652ae70
sha256sums = 3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88
sha256sums = f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d
sha256sums = 70301aa4eff4f42d7d39b276445dc7d8f44b8a0e184775e8a9e3055bb9d8590a
@@ -80,10 +78,10 @@ pkgbase = vmware-workstation
sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d
sha256sums = 05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487
sha256sums = 6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d
- sha256sums = e7fd1d69ce4e0bce1759243204f9cd514c60a63556cee44f401c0a3cc245221a
- sha256sums = 397cda34be6c023a9486565f9c648e1f39a93da32941ca82052ada80d2e8a603
- sha256sums = 48d533fcdb4d8adac11379a649a892cf9bb357bd467846bfd1aff54bedcc4d74
- sha256sums = 1c0775534cba0927a3d90d2e57b3371f30c36d61b6822be5a6d8f0703ef8d354
+ sha256sums = 4e7a3393d8bae5e3ec6100a5c4a8798c39491869be20c584ae3f75e2fad05168
+ sha256sums = 11304179df067e1e75f8268dd218f27db5a502f52b79b642f64f464d06bc3f7b
+ sha256sums = 70ee05c2e6098644a619fd0e1f742facd5f234e62d7095ef99186e8af8d6b882
+ sha256sums = a18688c5ccbebe3822f71a357e879bec6dd9a5698833d13fd0f27ee72adab1fc
sha256sums = b739b0c99fb20dc44838ce137e254773b7be051f327eb67fd8cb1342a3ecf344
pkgname = vmware-workstation
diff --git a/PKGBUILD b/PKGBUILD
index 0e3500926f07..566f6ac1993b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,10 +14,10 @@
#PKGEXT=.pkg.tar
pkgname=vmware-workstation
-pkgver=12.5.8
-_buildver=7098237
+pkgver=14.1.0
+_buildver=7370693
_pkgver=${pkgver}_${_buildver}
-pkgrel=1
+pkgrel=5
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,13 +37,12 @@ depends=(
ncurses5-compat-libs
fuse2
gksu
- gtkmm
+ gtkmm3
libcanberra
+ pcsclite
hicolor-icon-theme
# needed to replace internal libs:
- fontconfig
- freetype2
- zlib
+ #zlib
)
optdepends=(
'linux-headers: build modules against Arch kernel'
@@ -91,18 +90,18 @@ source=(
'vmnet.patch'
)
sha256sums=(
- '04b93507724a5d38ea154436fb5c96e85b1009955eea5bb7995c5289a5acac32'
+ '522f368c3ce009b4cd442c25215b022fc09a520a668b4e3189af5194f50ca14a'
'12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e'
'da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141'
- '55af509a4328fa88518e7008c65ff5598e6007e99ca2b4421a8f9b26126f6ff3'
+ 'd9a5f8b919d52aa2f279d8eaf0bb495780eb9fd8bbc2c58bba223cdca78cc991'
'd50aa0a3fe94025178965d988e18d41eb60aa1ce2b28ee6e3ca15edeabfa2ca7'
'8e4d08668a66be79a900521792b39c16a026cc90659241edee80b64e701bfbcd'
- 'b94959a11b28e51b541321be0588190eb10825e9ff55cbd16eb01483a839a69f'
+ '89b3430bdcc1efc33db2eb556447569204dbb736dca8045c3841e1a55ee5bfbb'
- 'd0806b6cb99af04232585def7b8043df3104b9b17470ea70abbd5bedc1e7ca16'
+ '9f508d5f7ce4b69d9f40f6fb0ff0fb3d5b26a3c48658da994bf63975d1b589ab'
'434cd4aa440d36b75ee20e0b588aaad874bb0d796173990bc4046667c66f5099'
- '25c5aa39489d14a60f9cb30bdd7b21d36399c3355daee8bf5fbebcb62fe9f45f'
+ '57c7568a89e8af1914cf7aea84d8fefd6e7af4155557081292344326d652ae70'
'3c802523606184a5e8ebbe931d9c6c70d83ff8c6833b9f48aa264f0bd5a18a88'
'f9440479f3ae5ad0a39bba3150276627878bf83d6879444fb327c53a1dbb5a4d'
@@ -113,8 +112,8 @@ sha256sums=(
'05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487'
'6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d'
- 'e7fd1d69ce4e0bce1759243204f9cd514c60a63556cee44f401c0a3cc245221a'
- '397cda34be6c023a9486565f9c648e1f39a93da32941ca82052ada80d2e8a603'
+ '4e7a3393d8bae5e3ec6100a5c4a8798c39491869be20c584ae3f75e2fad05168'
+ '11304179df067e1e75f8268dd218f27db5a502f52b79b642f64f464d06bc3f7b'
)
options=(!strip emptydirs)
@@ -123,7 +122,7 @@ _isoimages=(freebsd linux linuxPreGlibc25 netware solaris windows winPre2k winPr
if [ -n "$_enable_macOS_guests" ]; then
-_vmware_fusion_ver=8.5.9_7098239
+_vmware_fusion_ver=10.1.0_7370838
# List of VMware Fusion versions: https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/
makedepends+=(
@@ -138,8 +137,8 @@ source+=(
'unlocker.py'
)
sha256sums+=(
- '48d533fcdb4d8adac11379a649a892cf9bb357bd467846bfd1aff54bedcc4d74'
- '1c0775534cba0927a3d90d2e57b3371f30c36d61b6822be5a6d8f0703ef8d354'
+ '70ee05c2e6098644a619fd0e1f742facd5f234e62d7095ef99186e8af8d6b882'
+ 'a18688c5ccbebe3822f71a357e879bec6dd9a5698833d13fd0f27ee72adab1fc'
'b739b0c99fb20dc44838ce137e254773b7be051f327eb67fd8cb1342a3ecf344'
)
@@ -198,7 +197,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,vmware-vix,vmware-ovftool,vmware-installer/"$vmware_installer_version",cups/filter,modules-load.d} \
+ "$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/share"/{doc/vmware-vix,licenses/"$pkgname"} \
"$pkgdir/var/lib/vmware/Shared VMs"
@@ -224,7 +223,7 @@ package() {
cp -r \
vmware-workstation/lib/* \
vmware-player-app/lib/* \
- vmware-vmx/lib/* \
+ vmware-vmx/{lib/*,roms} \
vmware-vprobe/lib/* \
vmware-workstation-server/{bin,lib,hostd} \
vmware-usbarbitrator/bin \
@@ -242,7 +241,7 @@ package() {
"$pkgdir/etc/vmware"
cp -r \
- vmware-vix-lib-Workstation1200/lib/Workstation-12.0.0 \
+ vmware-vix-lib-Workstation1400/lib/Workstation-14.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"
@@ -262,7 +261,9 @@ 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"
@@ -277,7 +278,6 @@ 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,15 +320,16 @@ package() {
"$pkgdir/usr/bin"/* \
"$pkgdir/usr/lib/vmware/bin"/* \
"$pkgdir/usr/lib/vmware/setup"/* \
- "$pkgdir/usr/lib/vmware/lib"/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper} \
+ "$pkgdir/usr/lib/vmware/lib"/libvmware-gksu.so/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/usr/lib/vmware-vix/setup"/* \
+ "$pkgdir/etc/thnuclnt/.thnumod"
chmod -R 600 "$pkgdir/etc/vmware/ssl"
chmod +s \
- "$pkgdir/usr/bin"/{vmware-authd,vmware-mount} \
+ "$pkgdir/usr/bin"/vmware-authd \
"$pkgdir/usr/lib/vmware/bin"/{vmware-vmx,vmware-vmx-debug,vmware-vmx-stats}
@@ -336,37 +337,46 @@ 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-unity-helper \
+ vmware-vim-cmd \
vmware-vmblock-fuse \
- vmware-zenity
+ vmware-vprobe \
+ vmware-wssc-adminTool \
+ vmware-zenity \
+ #vmware-unity-helper
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/bin/appLoader "$pkgdir/etc/thnuclnt/.thnumod"
+ ln -s /usr/lib/vmware-vix/libvixAllProducts.so "$pkgdir/usr/lib/libvixAllProducts.so"
# Replace placeholder "variables" with real paths.
for file in \
- pango/pangorc \
- pango/pango.modules \
- pango/pangox.aliases \
- gtk-2.0/gdk-pixbuf.loaders \
- gtk-2.0/gtk.immodules
+ gtk-3.0/gdk-pixbuf.loaders
do
sed -i 's,@@LIBCONF_DIR@@,/usr/lib/vmware/libconf,g' "$pkgdir/usr/lib/vmware/libconf/etc/$file"
done
@@ -424,10 +434,6 @@ 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 f71c789c9738..fce6aadfbde5 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 = "5971871847"
+installerDefaults.autoSoftwareUpdateEnabled.epoch = "4641104763"
vix.config.version = "1"
-player.product.version = "12.5.6"
-installerDefaults.dataCollectionEnabled.epoch = "2097005183"
+player.product.version = "14.0.0"
+installerDefaults.dataCollectionEnabled.epoch = "7910652514"
installerDefaults.dataCollectionEnabled = "no"
installerDefaults.transferVersion = "1"
installerDefaults.autoSoftwareUpdateEnabled = "no"
-product.buildNumber = "5528349"
+product.buildNumber = "6661328"
authd.client.port = "902"
authd.proxy.nfc = "vmware-hostd:ha-nfc"
-product.version = "12.5.6"
-workstation.product.version = "12.5.6"
+product.version = "14.0.0"
+workstation.product.version = "14.0.0"
product.name = "VMware Workstation"
diff --git a/config.xml b/config.xml
index b08e4b150293..68f851ad72dd 100644
--- a/config.xml
+++ b/config.xml
@@ -45,15 +45,6 @@
<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> -->
@@ -266,7 +257,8 @@
<ssl>
<doVersionCheck> false </doVersionCheck>
<libraryPath>/usr/lib/vmware</libraryPath>
- <useCompression> true </useCompression>
+ <!-- allowed SSL/TLS protocol versions -->
+ <!-- <protocols>tls1.0,tls1.1,tls1.2</protocols> -->
<!-- timeouts for the SSL handshake. the default is 20 sec. -->
<!-- <handshakeTimeoutMs>60000</handshakeTimeoutMs> -->
@@ -601,22 +593,6 @@
<!-- 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. -->
@@ -629,12 +605,6 @@
<!-- <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> -->
@@ -821,6 +791,8 @@
<cimsvc>
<path>libcimsvc.so</path>
<enabled>false</enabled>
+ <maxSelEntries>40</maxSelEntries>
+ <pollTime>90</pollTime>
</cimsvc>
<directorysvc>
@@ -887,6 +859,11 @@
<enabled>false</enabled>
</cbrcsvc>
+ <hostspecsvc>
+ <path>libhostspecsvc.so</path>
+ <enabled>false</enabled>
+ </hostspecsvc>
+
</plugins>
@@ -900,4 +877,4 @@
</locale>
-->
-</config>
+</config> \ No newline at end of file
diff --git a/environments.xml b/environments.xml
index 93a12dac54b8..57a099d3a52d 100644
--- a/environments.xml
+++ b/environments.xml
@@ -35,4 +35,12 @@
<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 c8e61a5ed44c..1b812a0ab760 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)
- 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, )
+ obj-m += $(DRIVER).o
+
diff --git a/vmmon/include/compat_module.h b/vmmon/include/compat_module.h
index 2af7372..729aedc 100644
--- a/vmmon/include/compat_module.h
@@ -45,18 +45,64 @@ index 2af7372..729aedc 100644
+#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
-@@ -126,7 +126,16 @@ static struct vm_operations_struct vmuser_mops = {
- #endif
+@@ -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
};
-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,
@@ -67,8 +113,27 @@ index 87cf45b..5390a93 100644
static struct timer_list tscTimer;
static Atomic_uint32 tsckHz;
static VmTimeStart tsckHzStartTime;
-@@ -319,21 +328,6 @@ init_module(void)
- linuxState.fastClockPriority = -20;
+@@ -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;
linuxState.swapSize = VMMON_UNKNOWN_SWAP_SIZE;
- /*
@@ -79,7 +144,6 @@ 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;
@@ -89,7 +153,16 @@ index 87cf45b..5390a93 100644
#ifdef VMX86_DEVEL
devel_init_module();
linuxState.minor = 0;
-@@ -389,7 +383,9 @@ cleanup_module(void)
+@@ -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)
#ifdef VMX86_DEVEL
unregister_chrdev(linuxState.major, linuxState.deviceName);
#else
@@ -100,7 +173,7 @@ index 87cf45b..5390a93 100644
#endif
Log("Module %s: unloaded\n", linuxState.deviceName);
-@@ -1287,7 +1283,7 @@ LinuxDriverReadTSC(void *data, // OUT: TSC values
+@@ -977,7 +988,7 @@ LinuxDriverReadTSC(void *data, // OUT: TSC values
*-----------------------------------------------------------------------------
*/
@@ -113,7 +186,15 @@ 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
-@@ -37,6 +37,9 @@
+@@ -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 @@
#include <linux/vmalloc.h>
#include <linux/slab.h>
@@ -123,116 +204,41 @@ index fd32013..583d6da 100644
#include <linux/preempt.h>
#include <linux/poll.h>
-@@ -73,6 +76,7 @@
+@@ -51,6 +54,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
-@@ -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 @@
+@@ -115,6 +149,10 @@
*/
#define LOCKED_PAGE_SLACK 10000
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 8, 0)
+#define NR_ANON_PAGES NR_ANON_MAPPED
+#endif
+
static struct {
Atomic_uint64 uptimeBase;
VersionedAtomic version;
-@@ -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.
+@@ -1705,7 +1714,7 @@ HostIFReadUptimeWork(unsigned long *j) // OUT: current jiffies
*/
--#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)
+ 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);
+ }
+
diff --git a/vmnet.patch b/vmnet.patch
index 54c5f841b62e..906dfc87d8c4 100644
--- a/vmnet.patch
+++ b/vmnet.patch
@@ -24,21 +24,9 @@ index 2d8e6f6..a14166b 100644
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- 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;
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netif_trans_update.c,-DVMW_NETIF_TRANS_UPDATE, )
-- atomic_inc(&clone->users);
-+ clone = skb_get(clone);
-
- clone->dev = dev;
- clone->protocol = eth_type_trans(clone, dev);
+ obj-m += $(DRIVER).o
diff --git a/vmnet/driver.c b/vmnet/driver.c
index 7e7ad99..5f508f6 100644
--- a/vmnet/driver.c
@@ -84,34 +72,6 @@ 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",
-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);
-
- 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
@@ -130,12 +90,12 @@ diff --git a/vmnet/vmnetInt.h b/vmnet/vmnetInt.h
index 0ee52ec..4e3b923 100644
--- a/vmnet/vmnetInt.h
+++ b/vmnet/vmnetInt.h
-@@ -79,7 +79,7 @@
+@@ -48,7 +48,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)
- #elif defined(VMW_NETDEV_HAS_NET)
+ #else
# 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 b4bee50db4df..a6f550a61a10 100644
--- a/vmware-environment.sh
+++ b/vmware-environment.sh
@@ -1,2 +1,9 @@
# 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