diff --git a/README.md b/README.md index 6520746..4631ca4 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ [![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) -[![Kernel](https://img.shields.io/badge/Kernel-6.16.x%20%7C%206.17.x-orange.svg)](https://kernel.org/) +[![Kernel](https://img.shields.io/badge/Kernel-6.16.x%20|%206.17.x%20|%206.18.x|%206.19.x-orange.svg)](https://kernel.org/) [![VMware](https://img.shields.io/badge/VMware-17.6.4-green.svg)](https://www.vmware.com/) [![Gentoo](https://img.shields.io/badge/Gentoo-Supported-purple.svg)](https://www.gentoo.org/) -### ⚡ VMware Workstation Modules for Linux Kernel 6.16.x & 6.17.x +### ⚡ VMware Workstation Modules for Linux Kernel 6.16.x, 6.17.x, 6.18.x & 6.19.x ### 🐍 **Interactive Python Wizard** that guides you through installation ### 🚀 **Enjoy 20-35% faster VMware performance** ### ✨ **Better Wayland integration - top bar hiding works ~90% of the time** @@ -48,7 +48,7 @@ sudo ./scripts/install-vmware-modules.sh ### 🐍 **Interactive Python Wizard** - **Beautiful terminal UI** using Rich library -- **Auto-detects all installed kernels** (6.16.x & 6.17.x) +- **Auto-detects all installed kernels** (6.16.x, 6.17.x, 6.18.x & 6.19.x) - **Smart defaults:** Current kernel + Optimized mode - Multi-kernel selection or "all at once" - **All interaction in unified Python UI** - no more bash prompts! @@ -111,7 +111,7 @@ Then **auto-generates optimal compilation flags** for your hardware! ### ⚙️ **Smart Patching** - **Dual kernel support:** 6.16.x and 6.17.x with appropriate patches -- **Objtool auto-detection:** Applies objtool patches when needed (6.16.3+ / 6.17.x) +- **Objtool auto-detection:** Applies objtool patches when needed (6.16.3+ / 6.17.x / 6.18.x / 6.19.x) - **Compiler detection:** Works with GCC or Clang toolchains - **VMware 17.5.x & 17.6.x compatible** @@ -293,7 +293,7 @@ This project includes patches from [ngodn/vmware-vmmon-vmnet-linux-6.16.x](https 4. **Module Init:** `init_module()` → `module_init()` macro 5. **Function Prototypes:** `function()` → `function(void)` -### **Kernel 6.16.3+ / 6.17.x Additional Patches** (Auto-Detected) +### **Kernel 6.16.3+ / 6.17.x / 6.18.x Additional Patches** (Auto-Detected) 1. **Objtool validation errors:** Fixed in `phystrack.c` and `task.c` 2. **Makefile adjustments:** `OBJECT_FILES_NON_STANDARD` for problematic files @@ -303,7 +303,7 @@ This project includes patches from [ngodn/vmware-vmmon-vmnet-linux-6.16.x](https ## 📋 Prerequisites -- Linux kernel **6.16.x or 6.17.x** headers installed +- Linux kernel **6.16.x, 6.17.x or 6.18.x** headers installed - VMware Workstation **17.x** installed - Build essentials: `gcc`, `make`, `kernel headers` - Git (for cloning) @@ -329,7 +329,7 @@ cd /usr/src/linux && make modules_prepare ## ✅ Compatibility -- **Kernels:** 6.16.x, 6.17.x (all versions) +- **Kernels:** 6.16.x, 6.17.x, 6.18.x (all versions) - **VMware:** Workstation 17.5.x, 17.6.x - **Architecture:** x86_64 - **Distributions:** 18+ Linux distributions diff --git a/scripts/install-vmware-modules.sh b/scripts/install-vmware-modules.sh index f412e97..849277f 100755 --- a/scripts/install-vmware-modules.sh +++ b/scripts/install-vmware-modules.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Enhanced script to compile VMware modules for kernel 6.16.x and 6.17.x +# Enhanced script to compile VMware modules for kernel 6.16.x, 6.17.x and 6.18.x # Supports Ubuntu, Fedora, and Gentoo # Uses specific patches according to kernel version # Optional hardware-specific optimizations @@ -144,7 +144,7 @@ trap cleanup_on_error ERR echo -e "${HYPHAED_GREEN}$(draw_box_top)${NC}" echo -e "${HYPHAED_GREEN}$(draw_box_line "")${NC}" -echo -e "${HYPHAED_GREEN}$(draw_box_line "VMWARE MODULES COMPILER FOR KERNEL 6.16/6.17")${NC}" +echo -e "${HYPHAED_GREEN}$(draw_box_line "VMWARE MODULES COMPILER FOR KERNEL 6.16/6.17/6.18/6.19")${NC}" echo -e "${HYPHAED_GREEN}$(draw_box_line "(Multi-Distribution Linux Compatible)")${NC}" echo -e "${HYPHAED_GREEN}$(draw_box_line "")${NC}" echo -e "${HYPHAED_GREEN}$(draw_box_bottom)${NC}" @@ -343,6 +343,10 @@ else TARGET_KERNEL="6.16" elif [ "$FIRST_KERNEL_MINOR" = "17" ]; then TARGET_KERNEL="6.17" + elif [ "$FIRST_KERNEL_MINOR" = "18" ]; then + TARGET_KERNEL="6.18" + elif [ "$FIRST_KERNEL_MINOR" = "19" ]; then + TARGET_KERNEL="6.19" else error "Unsupported kernel minor version: $FIRST_KERNEL_MINOR" warning "Falling back to legacy installation mode..." @@ -493,6 +497,10 @@ echo -e "${GREEN} 2)${NC} Kernel 6.17.x" echo " • Uses patches from 6.16.x + additional objtool patches" echo " • Additional patches: OBJECT_FILES_NON_STANDARD, returns in void functions" echo "" +echo -e "${GREEN} 2)${NC} Kernel 6.18.x" +echo " • Uses patches from 6.16.x + additional objtool patches" +echo " • Additional patches: OBJECT_FILES_NON_STANDARD, returns in void functions" +echo "" echo -e "${BLUE}Kernel detected on your system:${NC} $(uname -r)" echo "" @@ -509,9 +517,19 @@ while true; do TARGET_KERNEL="6.17" info "Selected: Kernel 6.17.x" break + ;; + 3) + TARGET_KERNEL="6.18" + info "Selected: Kernel 6.18.x" + break + ;; + 4) + TARGET_KERNEL="6.19" + info "Selected: Kernel 6.19.x" + break ;; *) - warning "Invalid option. Please select 1 or 2." + warning "Invalid option. Please select 1,2, 3 or 4." ;; esac done @@ -2845,4 +2863,4 @@ if [ "$AUTO_IOMMU" = "true" ] && [ "$OPTIMIZATION_MODE" = "optimized" ]; then fi fi -log "Process completed successfully!" \ No newline at end of file +log "Process completed successfully!" diff --git a/scripts/update-vmware-modules.sh b/scripts/update-vmware-modules.sh index 3bbf405..1450287 100755 --- a/scripts/update-vmware-modules.sh +++ b/scripts/update-vmware-modules.sh @@ -91,7 +91,7 @@ echo -e "${HYPHAED_GREEN}══════════════════ echo "" echo "This script will:" echo -e " 1. ${HYPHAED_GREEN}Launch interactive Python wizard${NC} (with beautiful TUI)" -echo " 2. Detect all installed kernels (6.16.x and 6.17.x)" +echo " 2. Detect all installed kernels (6.16.x, 6.17.x, 6.18.x or 6.19.x)" echo " 3. Analyze your hardware with Python detection engine" echo " 4. Let you choose: Optimized (20-35% faster + better Wayland) or Vanilla (portable)" echo " 5. Automatically rebuild modules for selected kernel(s)" diff --git a/scripts/vmware_wizard.py b/scripts/vmware_wizard.py index d4fa9c3..e40dc84 100755 --- a/scripts/vmware_wizard.py +++ b/scripts/vmware_wizard.py @@ -70,7 +70,7 @@ def detect_installed_kernels(self) -> List[KernelInfo]: continue # Check if supported (6.16 or 6.17) - supported = (major == 6 and minor in [16, 17]) + supported = (major == 6 and minor in [16, 17, 18,19]) # Check for headers headers_path = kernel_dir / "build" @@ -188,7 +188,7 @@ def run(self): # Welcome banner self.ui.show_banner( "VMware Module Installation Wizard", - "Automated Kernel Module Compilation for Linux 6.16/6.17", + "Automated Kernel Module Compilation for Linux 6.16/6.17/6.18/6.19", icon="⚙️" ) @@ -218,7 +218,7 @@ def run(self): supported_kernels = [k for k in self.detected_kernels if k.supported and k.headers_installed] if not supported_kernels: - self.ui.show_error("No supported kernels (6.16.x or 6.17.x) with headers found!") + self.ui.show_error("No supported kernels (6.16.x, 6.17.x, 6.18.x or 6.19.x) with headers found!") self.ui.show_info("Please install kernel headers: sudo apt install linux-headers-$(uname -r)") return 1