Setting up VMware Workstation 26H1 on Fedora 44
Last Updated: Jul 27, 2026Table of Contents
- Downloading and installing VMware Workstation
- Using akmods to automatically build and sign kernel modules
- (Optional) Download pre-built VMware host module RPMs
- Building VMware host module RPMs
- Installing VMware host module RPMs
- Allow VMware Workstation to capture keyboard shortcuts
- Removing VMware host module RPMs
Downloading and installing VMware Workstation
Visit VMware Workstation official webpage and click on download now under VMware Workstation Pro for PC. This will take you to Broadcom’s support centre.
Click on “Free Software Downloads available HERE” underneath the search box.
Click on “VMware Workstation Pro” near the bottom of the page.
Select the desired version, and download the .bundle file. Note that you may be prompted to agree to the Terms and Conditions and have to fill in contact information and address.
Run the following command to install VMware Workstation. This example uses the 26H1 version, replace the filename with your own.
$ sudo ./VMware-Workstation-Full-26H1-25388281.x86_64.bundle
Follow the prompts to install.
Using akmods to automatically build and sign kernel modules
Fedora uses akmods to automatically rebuild kernel modules when a new kernel is installed. It can also sign the generated modules using the Machine Owner Key (MOK) generated by the kmodgenca utility, allowing them to be loaded when Secure Boot is enabled.
First, install the required packages:
sudo dnf install akmods kmodtool mokutil openssl
Generate an akmods signing key if one does not already exist:
sudo kmodgenca -a
This creates the signing key and certificate under /etc/pki/akmods/. The private key is used by akmods to sign kernel modules, while the certificate needs to be enrolled into the firmware’s MOK database.
Import the certificate into the MOK database:
sudo mokutil --import /etc/pki/akmods/certs/public_key.der
You will be prompted to enter a temporary password. This password is only used during the next reboot to confirm the key enrollment.
Restart the computer. During boot, the MOK management screen will appear:
- Select Enroll MOK.
- Select Continue.
- Select Yes.
- Enter the password you created earlier.
- Select Reboot.
After booting back into Fedora, verify that the certificate has been enrolled:
mokutil --list-enrolled
You should see the akmods certificate listed. Now we’re ready to build and sign our modules.
(Optional) Download pre-built VMware host module RPMs
If you do not want to generate your own RPM file, I have uploaded a copy that I created. They are tested with Fedora 44 and VMware Workstation Pro 26H1. You can download them here:
- akmod-vmware-host-modules-26h1-1.fc44.x86_64.rpm
- kmod-vmware-host-modules-26h1-1.fc44.x86_64.rpm
- vmware-host-modules-kmod-common-26h1-1.fc44.noarch.rpm
After downloading the files, skip to the Installing VMware host module RPMs section.
If the files above don’t work for your version, or you wish to build the RPM files yourself, follow the section below.
Building VMware host module RPMs
Run rpmdev-setuptree to generate ~/rpmbuild directory tree to start building.
Copy the VMware host module sources by running
cp /usr/lib/vmware/modules/source/* ~/rpmbuild/SOURCES/
Then, create the file ~/rpmbuild/SPECS/vmware-host-modules-kmod.spec and paste the following content
%if 0%{?fedora}
%global buildforkernels akmod
%endif
%global debug_package %{nil}
Name: vmware-host-modules-kmod
Version: 26h1
Release: 1%{?dist}
Summary: VMware vmmon and vmnet kernel modules
License: GPL-2.0-only
URL: https://www.vmware.com/
Source0: vmmon.tar
Source1: vmnet.tar
ExclusiveArch: x86_64
%global AkmodsBuildRequires gcc, make, elfutils-libelf-devel, kernel-devel
BuildRequires: %{AkmodsBuildRequires}
BuildRequires: /usr/bin/kmodtool
%{expand:%(kmodtool --target %{_target_cpu} --repo fedora --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null)}
%description
Kernel modules (vmmon and vmnet) for VMware host networking and monitor
support.
%package -n %{name}-common
Summary: Common files for VMware host modules akmod package
BuildArch: noarch
%description -n %{name}-common
Common source payload used by the VMware host modules akmod package.
%prep
%{?kmodtool_check}
%setup -q -c -T
tar -xf %{SOURCE0}
tar -xf %{SOURCE1}
for kernel_version in %{?kernel_versions}; do
cp -a vmmon-only _kmod_build_vmmon_${kernel_version%%___*}
cp -a vmnet-only _kmod_build_vmnet_${kernel_version%%___*}
done
%build
for kernel_version in %{?kernel_versions}; do
kver="${kernel_version%%___*}"
ksrc="${kernel_version##*___}"
%make_build -C _kmod_build_vmmon_${kver} \
VM_UNAME="${kver}"
%make_build -C _kmod_build_vmnet_${kver} \
VM_UNAME="${kver}"
done
%install
commondir="$RPM_BUILD_ROOT/%{_datadir}/%{name}-%{version}"
mkdir -p "${commondir}"
install -m 0644 %{SOURCE0} "${commondir}/vmmon.tar"
install -m 0644 %{SOURCE1} "${commondir}/vmnet.tar"
for kernel_version in %{?kernel_versions}; do
kver="${kernel_version%%___*}"
moddir="$RPM_BUILD_ROOT/%{kmodinstdir_prefix}/${kver}/%{kmodinstdir_postfix}"
mkdir -p "${moddir}"
install -m 0755 _kmod_build_vmmon_${kver}/vmmon.ko "${moddir}/vmmon.ko"
install -m 0755 _kmod_build_vmnet_${kver}/vmnet.ko "${moddir}/vmnet.ko"
done
%{?akmod_install}
%files -n %{name}-common
%{_datadir}/%{name}-%{version}
%changelog
* Mon Jul 27 2026 shihling - 26h1-1
- Initial akmod package for vmmon/vmnet
Now, we’re ready to build the RPM file. We can start building by running
rpmbuild -bb ~/rpmbuild/SPECS/vmware-host-modules-kmod.spec
This should produce 3 files in the RPM directory. The final directory structure should look like this
$ tree ~/rpmbuild/
├── BUILD
├── RPMS
│ ├── noarch
│ │ └── vmware-host-modules-kmod-common-26h1-1.fc44.noarch.rpm
│ └── x86_64
│ ├── akmod-vmware-host-modules-26h1-1.fc44.x86_64.rpm
│ └── kmod-vmware-host-modules-26h1-1.fc44.x86_64.rpm
├── SOURCES
│ ├── vmmon.tar
│ └── vmnet.tar
├── SPECS
│ └── vmware-host-modules-kmod.spec
└── SRPMS
Installing VMware host module RPMs
Install the RPMs we just generated by running the following command. If you downloaded the files from the Download pre-built VMware host module RPMs section, replace the paths with where your files are downloaded.
sudo dnf install ~/rpmbuild/RPMS/noarch/vmware-host-modules-kmod-common-26h1-1.fc44.noarch.rpm \
~/rpmbuild/RPMS/x86_64/akmod-vmware-host-modules-26h1-1.fc44.x86_64.rpm \
~/rpmbuild/RPMS/x86_64/kmod-vmware-host-modules-26h1-1.fc44.x86_64.rpm
Finally, run the following command to build and sign the modules we just installed using the RPM files.
sudo akmods --force --rebuild
To verify that the modules are installed correctly, run
modinfo vmnet
modinfo vmmon
The output should look something like
$ modinfo vmnet
filename: /lib/modules/7.1.4-204.fc44.x86_64/extra/vmware-host-modules/vmnet.ko.xz
supported: external
license: GPL v2
description: VMware Virtual Networking Driver.
author: VMware, Inc.
depends:
name: vmnet
retpoline: Y
vermagic: 7.1.4-204.fc44.x86_64 SMP preempt mod_unload
sig_id: PKCS#7
signer: <REDACTED>
sig_key: <REDACTED>
sig_hashalgo: sha256
signature: <REDACTED>
parm: vnet_max_qlen:Maximum queue length of the vmnet, default is 1024, maximum is 1024 (uint)
$ modinfo vmmon
filename: /lib/modules/7.1.4-204.fc44.x86_64/extra/vmware-host-modules/vmmon.ko.xz
supported: external
license: GPL v2
description: VMware Virtual Machine Monitor.
author: VMware, Inc.
depends:
name: vmmon
retpoline: Y
vermagic: 7.1.4-204.fc44.x86_64 SMP preempt mod_unload
sig_id: PKCS#7
signer: <REDACTED>
sig_key: <REDACTED>
sig_hashalgo: sha256
signature: <REDACTED>
Double check that there is the signer field and sig_key listed when running modinfo. This makes sure that the modules are signed with the akmods key.
You can also double check by running the following commands
modinfo -F signer vmmon
modinfo -F signer vmnet
If the commands return something, that means the kernel modules are sucessfully signed and should load on the next reboot. If they are not signed, revisit the Using akmods to automatically build and sign kernel modules section.
Allow VMware Workstation to capture keyboard shortcuts
By default, VMware Workstation does not requrest permission to grab keyboard input and inhibit system shortcuts. This can cause shortcuts like Alt+Tab or Super/Windows to go to the host instead of guest, making the virtual machine difficult to use. To fix this, add VMware Workstation to the allow list by running the following commands
gsettings set org.gnome.mutter.wayland xwayland-allow-grabs true
gsettings set org.gnome.mutter.wayland xwayland-grab-access-rules "['vmware','vmplayer','vmware-vmx','mksSandbox']"
Double check that they are properly set by running the following commands
gsettings get org.gnome.mutter.wayland xwayland-allow-grabs
gsettings get org.gnome.mutter.wayland xwayland-grab-access-rules
You should see something like this
$ gsettings get org.gnome.mutter.wayland xwayland-allow-grabs
true
$ gsettings get org.gnome.mutter.wayland xwayland-grab-access-rules
['vmware', 'vmplayer', 'vmware-vmx', 'mksSandbox']
Restart your computer and VMware should be able to capture keyboard shortcuts.
Removing VMware host module RPMs
If you no longer wish to use VMware, removing the host modules is easy since we installed it with RPM. Simply run the following command and they should be removed from the system.
sudo dnf remove akmod-vmware-host-modules kmod-vmware-host-modules vmware-host-modules-kmod-common