feat: Install SVGA drivers on 2000/XP/2003

This commit is contained in:
Kroese
2026-08-24 15:26:06 +02:00
committed by GitHub
parent 874c5d5fa3
commit f31e9addd6
+46 -2
View File
@@ -46,9 +46,14 @@ SIFInstall() {
"2k" )
# Windows 2000 keeps its existing storage/network path, but still needs
# the QBochs display package staged for Plug and Play setup.
# its display driver packages staged for Plug and Play setup.
extractDrivers "$drivers" || return 1
if ! addVMSVGADriver "$dir" "$driver" "$arch" "$drivers"; then
rm -rf "$drivers" || :
return 1
fi
if ! addDisplayDriver "$dir" "$driver" "$arch" "$drivers"; then
rm -rf "$drivers" || :
return 1
@@ -183,6 +188,7 @@ addLegacyDrivers() {
copyStorageDriver "$dir" "$target" "$driver" "$arch" "$drivers" || return 1
addNetworkDriver "$dir" "$driver" "$arch" "$drivers" || return 1
addQXLDriver "$dir" "$driver" "$arch" "$drivers" || return 1
addVMSVGADriver "$dir" "$driver" "$arch" "$drivers" || return 1
addDisplayDriver "$dir" "$driver" "$arch" "$drivers" || return 1
disableGenericDisplay "$target" "$driver" "$arch" "$drivers" || return 1
addBalloonDriver "$dir" "$driver" "$arch" "$drivers" || return 1
@@ -287,6 +293,44 @@ addQXLDriver() {
return 0
}
addVMSVGADriver() {
local dir="$1"
local driver="$2"
local arch="$3"
local drivers="$4"
local vmsvga_arch="$arch"
[[ "${vmsvga_arch,,}" == "amd64" ]] && vmsvga_arch="x64"
local source="$drivers/vmsvga/$driver/$vmsvga_arch"
local destination="$dir/\$OEM\$/\$1/Drivers/VMSVGA"
if [ ! -d "$source" ]; then
error "Failed to locate required VMware SVGA display driver directory: $source"
return 1
fi
local files="vmx_svgaver.dll vmx_svga.cat vmx_mode.dll vmx_svga.sys vmwogl32.dll vmx_fb.dll vmx_svga.inf"
[[ "$vmsvga_arch" == "x64" ]] && files+=" vmwogl64.dll"
local file
for file in $files; do
if [ ! -f "$source/$file" ]; then
error "Failed to locate required VMware SVGA display driver file: $file"
return 1
fi
done
mkdir -p "$destination" || return 1
cp -Lr "$source/." "$destination" || return 1
return 0
}
addDisplayDriver() {
local dir="$1"
@@ -771,7 +815,7 @@ writeSIF() {
' WaitForReboot="No"' \
' DriverSigningPolicy="Ignore"' \
' NonDriverSigningPolicy="Ignore"' \
' OemPnPDriversPath="Drivers\viostor;Drivers\NetKVM;Drivers\sata;Drivers\QXL;Drivers\QBochs;Drivers\Balloon"' \
' OemPnPDriversPath="Drivers\viostor;Drivers\NetKVM;Drivers\sata;Drivers\QXL;Drivers\VMSVGA;Drivers\QBochs;Drivers\Balloon"' \
' NoWaitAfterTextMode=1' \
' NoWaitAfterGUIMode=1' \
' FileSystem=ConvertNTFS' \