winedevice-Default_Drivers: Install win32k.sys in system32 instead of trying to load it from system32\drivers.

This commit is contained in:
Zebediah Figura 2021-04-28 22:55:45 -05:00
parent 708e63e63f
commit 977e5237da
3 changed files with 25 additions and 12 deletions

View File

@ -2158,7 +2158,7 @@ fi
# | * configure.ac, dlls/dxgkrnl.sys/Makefile.in, dlls/dxgkrnl.sys/dxgkrnl.sys.spec, dlls/dxgkrnl.sys/main.c,
# | dlls/dxgmms1.sys/Makefile.in, dlls/dxgmms1.sys/dxgmms1.sys.spec, dlls/dxgmms1.sys/main.c,
# | dlls/ntoskrnl.exe/tests/driver.c, dlls/win32k.sys/Makefile.in, dlls/win32k.sys/main.c, dlls/win32k.sys/win32k.sys.spec,
# | programs/winedevice/device.c, tools/make_specfiles
# | loader/wine.inf.in, programs/winedevice/device.c, tools/make_specfiles
# |
if test "$enable_winedevice_Default_Drivers" -eq 1; then
patch_apply winedevice-Default_Drivers/0001-win32k.sys-Add-stub-driver.patch

View File

@ -1,4 +1,4 @@
From 804a455fed710b065084172d7c71edb09cab789f Mon Sep 17 00:00:00 2001
From e4a379c6f59b132e13194de5480f7b9b5e1485a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 8 Jun 2017 23:38:38 +0200
Subject: [PATCH] win32k.sys: Add stub driver.
@ -8,17 +8,18 @@ Subject: [PATCH] win32k.sys: Add stub driver.
dlls/win32k.sys/Makefile.in | 6 +
dlls/win32k.sys/main.c | 39 +++++
dlls/win32k.sys/win32k.sys.spec | 246 ++++++++++++++++++++++++++++++++
loader/wine.inf.in | 1 +
tools/make_specfiles | 1 +
5 files changed, 293 insertions(+)
6 files changed, 294 insertions(+)
create mode 100644 dlls/win32k.sys/Makefile.in
create mode 100644 dlls/win32k.sys/main.c
create mode 100644 dlls/win32k.sys/win32k.sys.spec
diff --git a/configure.ac b/configure.ac
index 4e43b4516e..d2b39ebbef 100644
index daa7203748c..8844de0161e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3758,6 +3758,7 @@ WINE_CONFIG_MAKEFILE(dlls/wevtapi)
@@ -3799,6 +3799,7 @@ WINE_CONFIG_MAKEFILE(dlls/wevtsvc)
WINE_CONFIG_MAKEFILE(dlls/wiaservc)
WINE_CONFIG_MAKEFILE(dlls/wiaservc/tests)
WINE_CONFIG_MAKEFILE(dlls/wimgapi)
@ -28,7 +29,7 @@ index 4e43b4516e..d2b39ebbef 100644
WINE_CONFIG_MAKEFILE(dlls/winaspi.dll16,enable_win16)
diff --git a/dlls/win32k.sys/Makefile.in b/dlls/win32k.sys/Makefile.in
new file mode 100644
index 0000000000..7fac5d557e
index 00000000000..7fac5d557eb
--- /dev/null
+++ b/dlls/win32k.sys/Makefile.in
@@ -0,0 +1,6 @@
@ -40,7 +41,7 @@ index 0000000000..7fac5d557e
+ main.c
diff --git a/dlls/win32k.sys/main.c b/dlls/win32k.sys/main.c
new file mode 100644
index 0000000000..a1ec2d4fa3
index 00000000000..a1ec2d4fa3f
--- /dev/null
+++ b/dlls/win32k.sys/main.c
@@ -0,0 +1,39 @@
@ -85,7 +86,7 @@ index 0000000000..a1ec2d4fa3
+}
diff --git a/dlls/win32k.sys/win32k.sys.spec b/dlls/win32k.sys/win32k.sys.spec
new file mode 100644
index 0000000000..c79439151e
index 00000000000..c79439151e4
--- /dev/null
+++ b/dlls/win32k.sys/win32k.sys.spec
@@ -0,0 +1,246 @@
@ -335,11 +336,23 @@ index 0000000000..c79439151e
+@ cdecl -private memcpy(ptr ptr long) ntoskrnl.exe.memcpy
+@ cdecl -private memmove(ptr ptr long) ntoskrnl.exe.memmove
+@ cdecl -private memset(ptr long long) ntoskrnl.exe.memset
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index 6ae4e96e37f..82159d3bd7b 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -2680,6 +2680,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
11,,explorer.exe
11,,iexplore.exe
11,,notepad.exe
+11,,win32k.sys
11,,winetest.exe,-
; skip .NET fake dlls in Wine Mono package
11,,aspnet_regiis.exe,-
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 7fef3a6821..9dc0fe3afc 100755
index 4a151545aa0..3934cbb93d4 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -482,6 +482,7 @@ my @dll_groups =
@@ -498,6 +498,7 @@ my @dll_groups =
[
"ntoskrnl.exe",
"hal",
@ -348,5 +361,5 @@ index 7fef3a6821..9dc0fe3afc 100755
[
"mscoree",
--
2.17.1
2.30.2

View File

@ -107,7 +107,7 @@ index 509cab96308..14f8c9e4704 100644
static void WINAPI ServiceMain( DWORD argc, LPWSTR *argv )
{
+ static const WCHAR ntoskrnlW[] = L"C:\\windows\\system32\\ntoskrnl.exe";
+ static const WCHAR win32kW[] = L"C:\\windows\\system32\\drivers\\win32k.sys";
+ static const WCHAR win32kW[] = L"C:\\windows\\system32\\win32k.sys";
+ static const WCHAR dxgkrnlW[] = L"C:\\windows\\system32\\drivers\\dxgkrnl.sys";
+ static const WCHAR dxgmms1W[] = L"C:\\windows\\system32\\drivers\\dxgmms1.sys";
+ static const WCHAR *stubs[] = { win32kW, dxgkrnlW, dxgmms1W };