3b21d8ecf8
apple / swift (push) Successful in 1m12s
windows-drivers / probe-and-proto (push) Successful in 18s
windows-drivers / driver-build (push) Successful in 1m8s
apple / screenshots (push) Failing after 2m56s
windows-host / package (push) Successful in 5m16s
ci / rust (push) Successful in 1m22s
ci / web (push) Successful in 47s
android / android (push) Successful in 3m39s
ci / docs-site (push) Successful in 51s
deb / build-publish (push) Successful in 2m38s
decky / build-publish (push) Successful in 11s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 5s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 5s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 4s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 5s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 3s
ci / bench (push) Successful in 4m42s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 8m23s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 8m18s
docker / deploy-docs (push) Successful in 17s
The new wdk-sys driver tree (packaging/windows/drivers/pf-vdisplay/) had no INF — it borrowed the oracle's (packaging/windows/vdisplay-driver/.../pf_vdisplay.inx), which blocked deleting the oracle. Port it verbatim: the proto-vs-SudoVDA control GUID is registered in CODE (WdfDeviceCreateDeviceInterface), so the INF is GUID-agnostic and identical — HWID Root\pf_vdisplay, UmdfExtensions=IddCx0102, the control-device security DACL, UpperFilters=IndirectKmd, UmdfHostProcessSharing=ProcessSharingDisabled. Prerequisite for the STEP-8 re-vendor (build -> stampinf -> Inf2Cat -> sign the .dll/.cat from the NEW tree into packaging/windows/pf-vdisplay/, replacing the stale oracle-built binary) and for deleting the oracle tree. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
85 lines
2.5 KiB
Plaintext
85 lines
2.5 KiB
Plaintext
;/*++
|
|
; pf-vdisplay - punktfunk virtual display, UMDF2 IddCx driver INF (template; stampinf -> .inf).
|
|
;
|
|
; For the all-Rust wdk-sys / windows-drivers-rs driver in THIS tree
|
|
; (packaging/windows/drivers/pf-vdisplay/). The driver registers the OWNED pf_vdisplay_proto
|
|
; control-interface GUID in CODE (WdfDeviceCreateDeviceInterface), so this INF is GUID-agnostic and
|
|
; is byte-identical to the superseded oracle's (packaging/windows/vdisplay-driver/.../pf_vdisplay.inx,
|
|
; itself adapted from MolotovCherry/virtual-display-rs (MIT) + SudoVDA's control-device security DACL).
|
|
; HWID Root\pf_vdisplay + IddCx0102 + the DACL match the host backend (crates/punktfunk-host/src/
|
|
; vdisplay/pf_vdisplay.rs) and install-pf-vdisplay.ps1's Test-PfVdisplayPresent / nefconc node-create.
|
|
;--*/
|
|
[Version]
|
|
PnpLockdown=1
|
|
Signature="$Windows NT$"
|
|
ClassGUID={4D36E968-E325-11CE-BFC1-08002BE10318}
|
|
Class=Display
|
|
ClassVer=2.0
|
|
Provider=%ManufacturerName%
|
|
CatalogFile=pf_vdisplay.cat
|
|
DriverVer=
|
|
|
|
[Manufacturer]
|
|
%ManufacturerName%=Standard,NT$ARCH$
|
|
|
|
[Standard.NT$ARCH$]
|
|
%DeviceName%=pf_vdisplay_Install, Root\pf_vdisplay
|
|
|
|
[SourceDisksFiles]
|
|
pf_vdisplay.dll=1
|
|
|
|
[SourceDisksNames]
|
|
1=%DiskName%
|
|
|
|
; =================== UMDF IddCx device ====================
|
|
|
|
[pf_vdisplay_Install.NT]
|
|
CopyFiles=UMDriverCopy
|
|
|
|
[pf_vdisplay_Install.NT.hw]
|
|
AddReg=pf_vdisplay_HardwareDeviceSettings
|
|
|
|
[pf_vdisplay_HardwareDeviceSettings]
|
|
HKR, , "UpperFilters", %REG_MULTI_SZ%, "IndirectKmd"
|
|
HKR, "WUDF", "DeviceGroupId", %REG_SZ%, "pfVDisplayGroup"
|
|
; Let the host (LocalSystem service) + admins open the control device for the ADD/REMOVE/PING IOCTLs.
|
|
HKR, , "Security", , "D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GRGW;;;WD)"
|
|
|
|
[pf_vdisplay_Install.NT.Services]
|
|
AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall
|
|
|
|
[pf_vdisplay_Install.NT.Wdf]
|
|
UmdfService=pf_vdisplay, pf_vdisplay_Install
|
|
UmdfServiceOrder=pf_vdisplay
|
|
UmdfKernelModeClientPolicy=AllowKernelModeClients
|
|
UmdfHostProcessSharing=ProcessSharingDisabled
|
|
|
|
[pf_vdisplay_Install]
|
|
UmdfLibraryVersion=$UMDFVERSION$
|
|
ServiceBinary=%12%\UMDF\pf_vdisplay.dll
|
|
UmdfExtensions=IddCx0102
|
|
|
|
[WUDFRD_ServiceInstall]
|
|
DisplayName=%WudfRdDisplayName%
|
|
ServiceType=1
|
|
StartType=3
|
|
ErrorControl=1
|
|
ServiceBinary=%12%\WUDFRd.sys
|
|
|
|
[DestinationDirs]
|
|
UMDriverCopy=12,UMDF
|
|
|
|
[UMDriverCopy]
|
|
pf_vdisplay.dll
|
|
|
|
[Strings]
|
|
ManufacturerName="punktfunk"
|
|
DiskName="punktfunk Virtual Display Installation Disk"
|
|
WudfRdDisplayName="Windows Driver Foundation - User-mode Driver Framework Reflector"
|
|
DeviceName="punktfunk Virtual Display"
|
|
|
|
REG_MULTI_SZ=0x00010000
|
|
REG_SZ=0x00000000
|
|
REG_EXPAND_SZ=0x00020000
|
|
REG_DWORD=0x00010001
|