Dibya Posted March 2, 2016 Posted March 2, 2016 (edited) I have found the dependencies of directX12 Runtimes(d3d12.dll) to make it work on windows XP.Already many XP dlls like advapi32.dll is customized.Dependencies Chart::D3D12.DLL - MSVCP110_WIN.DLL -MSVCRT.DLL (customization complete)(Added required api) - NTDLL.DLL(Customization Completed) required functions of ntdll.dll EtwEventActivityIdControl EtwEventRegister EtwEventSetInformation EtwEventUnregister EtwEventWrite EtwEventWriteTransfer RtlCaptureStackBackTrace RtlInitUnicodeString RtlIsCriticalSectionLockedByThread WinSqmAddToStreamEx WinSqmIsOptedIn needed function for new kerenal32CsrAllocateCaptureBufferCsrAllocateMessagePointerCsrCaptureMessageBufferCsrCaptureMessageMultiUnicodeStringsInPlaceCsrCaptureMessageStringCsrClientCallServerCsrClientConnectToServerCsrFreeCaptureBufferCsrGetProcessIdCsrVerifyRegionDbgPrintDbgPrintExDbgUiConnectToDbgDbgUiContinueDbgUiConvertStateChangeStructureDbgUiDebugActiveProcessDbgUiGetThreadDebugObjectDbgUiIssueRemoteBreakinDbgUiStopDebuggingDbgUiWaitStateChangeEtwEventEnabledEtwEventRegisterEtwEventUnregisterEtwEventWriteEtwEventWriteNoRegistrationLdrAddRefDllLdrFindResourceEx_ULdrFindResource_ULdrGetFileNameFromLoadAsDataTableLdrGetProcedureAddressLdrLoadAlternateResourceModuleLdrLoadAlternateResourceModuleExLdrLoadDllLdrLockLoaderLockLdrQueryImageFileExecutionOptionsLdrQueryImageFileKeyOptionLdrResFindResourceLdrResFindResourceDirectoryLdrResGetRCConfigLdrResSearchResourceLdrRscIsTypeExistLdrSetDllManifestProberLdrUnloadDllLdrUnlockLoaderLockLdrpResGetMappingSizeLdrpResGetResourceDirectoryNlsMbCodePageTagNtAccessCheckNtAddAtomNtAllocateUserPhysicalPagesNtAllocateVirtualMemoryNtApphelpCacheControlNtAssignProcessToJobObjectNtCancelIoFileNtCancelSynchronousIoFileNtClearEventNtCloseNtConnectPortNtCreateEventNtCreateFileNtCreateJobObjectNtCreateJobSetNtCreateKeyNtCreateKeyTransactedNtCreateMailslotFileNtCreatePrivateNamespaceNtCreateSectionNtCreateUserProcessNtDeleteAtomNtDeleteKeyNtDeletePrivateNamespaceNtDeleteValueKeyNtDeviceIoControlFileNtDuplicateObjectNtDuplicateTokenNtEnumerateKeyNtEnumerateValueKeyNtFindAtomNtFlushBuffersFileNtFlushInstructionCacheNtFlushKeyNtFreeUserPhysicalPagesNtFreeVirtualMemoryNtFsControlFileNtGetContextThreadNtGetDevicePowerStateNtGetWriteWatchNtInitiatePowerActionNtIsSystemResumeAutomaticNtLoadKeyNtLockFileNtLockVirtualMemoryNtMapUserPhysicalPagesNtMapUserPhysicalPagesScatterNtMapViewOfSectionNtNotifyChangeDirectoryFileNtNotifyChangeKeyNtNotifyChangeMultipleKeysNtOpenDirectoryObjectNtOpenEventNtOpenFileNtOpenJobObjectNtOpenKeyNtOpenKeyExNtOpenKeyTransactedNtOpenKeyTransactedExNtOpenPrivateNamespaceNtOpenProcessNtOpenProcessTokenNtOpenSymbolicLinkObjectNtOpenThreadTokenNtPowerInformationNtProtectVirtualMemoryNtQueryDirectoryFileNtQueryEaFileNtQueryEventNtQueryInformationAtomNtQueryInformationFileNtQueryInformationJobObjectNtQueryInformationProcessNtQueryInformationThreadNtQueryInformationTokenNtQueryInstallUILanguageNtQueryKeyNtQuerySectionNtQuerySecurityObjectNtQuerySymbolicLinkObjectNtQuerySystemEnvironmentValueExNtQuerySystemInformationNtQuerySystemInformationExNtQueryValueKeyNtQueryVirtualMemoryNtQueryVolumeInformationFileNtRaiseExceptionNtRaiseHardErrorNtReadFileNtReadVirtualMemoryNtRemoveProcessDebugNtReplacePartitionUnitNtRequestWaitReplyPortNtResetEventNtResetWriteWatchNtRestoreKeyNtResumeThreadNtSaveKeyExNtSetContextThreadNtSetEaFileNtSetInformationDebugObjectNtSetInformationFileNtSetInformationJobObjectNtSetInformationProcessNtSetInformationThreadNtSetSecurityObjectNtSetSystemEnvironmentValueExNtSetSystemInformationNtSetSystemTimeNtSetThreadExecutionStateNtSetValueKeyNtSetVolumeInformationFileNtSignalAndWaitForSingleObjectNtTerminateJobObjectNtTerminateProcessNtUnloadKeyNtUnlockFileNtUnlockVirtualMemoryNtUnmapViewOfSectionNtWaitForMultipleObjectsNtWaitForSingleObjectNtWriteFileNtWriteVirtualMemoryNtYieldExecutionRtlAcquirePrivilegeRtlAcquireSRWLockExclusiveRtlAcquireSRWLockSharedRtlActivateActivationContextRtlActivateActivationContextUnsafeFastRtlAddAccessAllowedAceRtlAddAtomToAtomTableRtlAddIntegrityLabelToBoundaryDescriptorRtlAddRefActivationContextRtlAddSIDToBoundaryDescriptorRtlAllocateActivationContextStackRtlAllocateAndInitializeSidRtlAllocateHandleRtlAllocateHeapRtlAnsiStringToUnicodeStringRtlAppendUnicodeStringToStringRtlAppendUnicodeToStringRtlCharToIntegerRtlCleanUpTEBLangListsRtlCompactHeapRtlCompareMemoryRtlCompareUnicodeStringRtlComputeImportTableHashRtlConvertSidToUnicodeStringRtlCopyExtendedContextRtlCopyLuidRtlCopyUnicodeStringRtlCreateAclRtlCreateActivationContextRtlCreateAtomTableRtlCreateBoundaryDescriptorRtlCreateEnvironmentRtlCreateEnvironmentExRtlCreateHeapRtlCreateProcessParametersExRtlCreateQueryDebugBufferRtlCreateSecurityDescriptorRtlCreateUnicodeStringRtlCreateUnicodeStringFromAsciizRtlCreateUserStackRtlCultureNameToLCIDRtlCutoverTimeToSystemTimeRtlDeactivateActivationContextRtlDeactivateActivationContextUnsafeFastRtlDecodePointerRtlDecodeSystemPointerRtlDeleteAtomFromAtomTableRtlDeleteCriticalSectionRtlDeregisterSecureMemoryCacheCallbackRtlDeregisterWaitRtlDestroyAtomTableRtlDestroyEnvironmentRtlDestroyHeapRtlDestroyProcessParametersRtlDestroyQueryDebugBufferRtlDetermineDosPathNameType_URtlDisableThreadProfilingRtlDnsHostNameToComputerNameRtlDoesFileExists_URtlDosPathNameToNtPathName_URtlDosPathNameToNtPathName_U_WithStatusRtlDosPathNameToRelativeNtPathName_URtlEnableThreadProfilingRtlEncodePointerRtlEncodeSystemPointerRtlEnterCriticalSectionRtlEqualSidRtlEqualStringRtlEqualUnicodeStringRtlExitUserProcessRtlExitUserThreadRtlExpandEnvironmentStrings_URtlExtendedLargeIntegerDivideRtlFindActivationContextSectionGuidRtlFindActivationContextSectionStringRtlFindCharInUnicodeStringRtlFormatCurrentUserKeyPathRtlFreeActivationContextStackRtlFreeAnsiStringRtlFreeHandleRtlFreeHeapRtlFreeOemStringRtlFreeSidRtlFreeUnicodeStringRtlFreeUserStackRtlGUIDFromStringRtlGetAceRtlGetActiveActivationContextRtlGetCurrentDirectory_URtlGetCurrentProcessorNumberExRtlGetCurrentTransactionRtlGetExtendedContextLengthRtlGetFullPathName_URtlGetFullPathName_UstrExRtlGetLastNtStatusRtlGetLengthWithoutLastFullDosOrNtPathElementRtlGetLongestNtPathLengthRtlGetNativeSystemInformationRtlGetProductInfoRtlGetThreadErrorModeRtlGetThreadPreferredUILanguagesRtlGetUILanguageInfoRtlGetUserInfoHeapRtlGetVersionRtlIdnToAsciiRtlIdnToNameprepUnicodeRtlIdnToUnicodeRtlImageDirectoryEntryToDataRtlImageNtHeaderRtlImageNtHeaderExRtlInitAnsiStringRtlInitAnsiStringExRtlInitStringRtlInitUnicodeStringRtlInitUnicodeStringExRtlInitializeCriticalSectionRtlInitializeExceptionChainRtlInitializeExtendedContextRtlInitializeSRWLockRtlInitializeSidRtlIntegerToUnicodeStringRtlIsDosDeviceName_URtlIsNameLegalDOS8Dot3RtlIsNormalizedStringRtlIsTextUnicodeRtlIsValidHandleRtlKnownExceptionFilterRtlLCIDToCultureNameRtlLcidToLocaleNameRtlLeaveCriticalSectionRtlLengthSecurityDescriptorRtlLengthSidRtlLockHeapRtlLookupAtomInAtomTableRtlMakeSelfRelativeSDRtlMultiAppendUnicodeStringBufferRtlMultiByteToUnicodeNRtlMultiByteToUnicodeSizeRtlNormalizeStringRtlNtPathNameToDosPathNameRtlNtStatusToDosErrorRtlNtStatusToDosErrorNoTebRtlOemStringToUnicodeStringRtlOpenCurrentUserRtlPrefixStringRtlPrefixUnicodeStringRtlProcessFlsDataRtlQueryActivationContextApplicationSettingsRtlQueryAtomInAtomTableRtlQueryElevationFlagsRtlQueryEnvironmentVariableRtlQueryEnvironmentVariable_URtlQueryInformationAclRtlQueryInformationActivationContextRtlQueryProcessDebugInformationRtlQueryRegistryValuesRtlQueryThreadProfilingRtlQueueWorkItemRtlRaiseExceptionRtlRaiseStatusRtlRandomRtlReAllocateHeapRtlReadThreadProfilingDataRtlRegisterSecureMemoryCacheCallbackRtlRegisterWaitRtlReleaseActivationContextRtlReleasePebLockRtlReleasePrivilegeRtlReleaseRelativeNameRtlReleaseSRWLockExclusiveRtlReleaseSRWLockSharedRtlRunOnceBeginInitializeRtlRunOnceCompleteRtlRunOnceExecuteOnceRtlRunOnceInitializeRtlSetCurrentTransactionRtlSetDaclSecurityDescriptorRtlSetEnvironmentStringsRtlSetGroupSecurityDescriptorRtlSetIoCompletionCallbackRtlSetLastWin32ErrorRtlSetLastWin32ErrorAndNtStatusFromNtStatusRtlSetOwnerSecurityDescriptorRtlSetProcessPreferredUILanguagesRtlSetThreadErrorModeRtlSetThreadPoolStartFuncRtlSetThreadPreferredUILanguagesRtlSetUnhandledExceptionFilterRtlSetUserValueHeapRtlSizeHeapRtlSleepConditionVariableCSRtlSleepConditionVariableSRWRtlSubAuthoritySidRtlTimeFieldsToTimeRtlTimeToTimeFieldsRtlTryAcquirePebLockRtlUnhandledExceptionFilterRtlUnicodeStringToAnsiStringRtlUnicodeStringToIntegerRtlUnicodeStringToOemStringRtlUnicodeToMultiByteNRtlUnicodeToMultiByteSizeRtlUnlockHeapRtlUpcaseUnicodeCharRtlValidRelativeSecurityDescriptorRtlValidSecurityDescriptorRtlVerifyVersionInfoRtlWerpReportExceptionRtlWow64EnableFsRedirectionRtlZombifyActivationContextRtlpApplyLengthFunctionRtlpConvertCultureNamesToLCIDsRtlpConvertLCIDsToCultureNamesRtlpEnsureBufferSizeRtlxAnsiStringToUnicodeSizeRtlxUnicodeStringToAnsiSizeTpAllocCleanupGroupTpAllocIoCompletionTpAllocPoolTpAllocTimerTpAllocWaitTpAllocWorkTpCallbackMayRunLongTpCaptureCallerTpQueryPoolStackInformationTpSetPoolMinThreadsTpSetPoolStackInformationTpSimpleTryPostVerSetConditionMaskWerReportSQMEventWinSqmIsOptedIn_alldiv_allmul_allshl_aulldiv_aullrem_memicmp_strcmpi_stricmp_strlwr_strnicmp_ui64tow_vsnprintf_vsnwprintf_wcsicmp_wcslwr_wcsnicmp_wtolatolbsearchisdigitmemcpymemmovememsetstrcat_sstrchrstrcpy_sstrncatstrncat_sstrncmpstrncpy_sswprintf_stolowertoupperwcscat_swcschrwcscpy_swcscspnwcsncmpwcsncpywcsncpy_swcspbrkwcsrchrwcsstrwcstoul(new nt dll dependencies)API-MS-WIN-CORE-HEAP-L1-2-0.DLLAPI-MS-WIN-CORE-PROCESSTHREADS-L1-1-2.DLLAPI-MS-WIN-CORE-SYSINFO-L1-2-1.DLLAPI-MS-WIN-CORE-DEBUG-L1-1-1.DLLAPI-MS-WIN-CORE-PSAPI-L1-1-0.DLLAPI-MS-WIN-CORE-SYNCH-L1-2-0.DLLAPI-MS-WIN-CORE-ERRORHANDLING-L1-1-1.DLLAPI-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLLAPI-MS-WIN-CORE-HEAP-L2-1-0.DLLAPI-MS-WIN-CORE-MEMORY-L1-1-2.DLLAPI-MS-WIN-CORE-VERSION-L1-1-0.DLLAPI-MS-WIN-CORE-HANDLE-L1-1-0.DLLAPI-MS-WIN-CORE-REGISTRY-L1-1-0.DLLAPI-MS-WIN-CORE-COM-L1-1-1.DLLAPI-MS-WIN-CORE-UTIL-L1-1-0.DLLAPI-MS-WIN-CORE-STRING-L1-1-0.DLLAPI-MS-WIN-CORE-PROFILE-L1-1-0.DLLDXGI.DLL(Customization Copleted)Kerenal32.dll (King of api dll)(Work in pogress)(Kerenal 32 function needed to added in XP to make DX!2 Work)CloseHandleCreateEventACreateFileACreateMutexACreateSemaphoreACreateThreadDebugBreakDecodePointerDeleteCriticalSectionDisableThreadLibraryCallsEncodePointerEnterCriticalSectionFreeLibraryGetCurrentProcessGetCurrentProcessIdGetCurrentThreadIdGetFileSizeGetLastErrorGetModuleFileNameAGetModuleFileNameWGetModuleHandleAGetModuleHandleExAGetProcAddressGetProcessHeapGetSystemDirectoryWGetSystemTimeAsFileTimeGetTickCountGlobalAddAtomAHeapAllocHeapFreeHeapReAllocInitializeCriticalSectionInterlockedCompareExchangeInterlockedCompareExchange64InterlockedDecrementInterlockedExchangeInterlockedIncrementLeaveCriticalSectionLoadLibraryALoadLibraryWLocalFreeMultiByteToWideCharOpenMutexAOpenSemaphoreAOutputDebugStringAOutputDebugStringWQueryPerformanceCounterQueryPerformanceFrequencyRaiseExceptionReleaseMutexReleaseSemaphoreSetCriticalSectionSpinCountSetEventSetUnhandledExceptionFilterSleepTerminateProcessTryEnterCriticalSectionUnhandledExceptionFilterVerSetConditionMaskVerifyVersionInfoAWaitForSingleObjectlstrcmpAlstrcmpWlstrcmpiWnew kerenal 32 dependenciesAPI-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLLAPI-MS-WIN-CORE-HEAP-L1-1-0.DLLAPI-MS-WIN-CORE-MEMORY-L1-1-0.DLLAPI-MS-WIN-CORE-HANDLE-L1-1-0.DLLAPI-MS-WIN-CORE-SYNCH-L1-1-0.DLLAPI-MS-WIN-CORE-FILE-L1-1-0.DLLAPI-MS-WIN-CORE-LIBRARYLOADER-L1-1-0.DLLAPI-MS-WIN-CORE-NAMEDPIPE-L1-1-0.DLLAPI-MS-WIN-CORE-MISC-L1-1-0.DLLAPI-MS-WIN-CORE-SYSINFO-L1-1-0.DLLAPI-MS-WIN-CORE-LOCALIZATION-L1-1-0.DLLAPI-MS-WIN-CORE-PROCESSENVIRONMENT-L1-1-0.DLLAPI-MS-WIN-CORE-STRING-L1-1-0.DLLAPI-MS-WIN-CORE-DEBUG-L1-1-0.DLLAPI-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLLAPI-MS-WIN-CORE-FIBERS-L1-1-0.DLLAPI-MS-WIN-CORE-UTIL-L1-1-0.DLLAPI-MS-WIN-CORE-PROFILE-L1-1-0.DLLAPI-MS-WIN-SECURITY-BASE-L1-1-0.DLLNew user32.dll functionsAdjustWindowRectExCallNextHookExChangeDisplaySettingsAChangeDisplaySettingsExWCloseClipboardCreateWindowExADefWindowProcADestroyWindowDispatchMessageAEmptyClipboardEnumDisplayDevicesAEnumDisplayDevicesWEnumDisplayMonitorsEnumDisplaySettingsWEqualRectGetClassNameAGetClientRectGetDCGetDesktopWindowGetDisplayConfigBufferSizesGetLayeredWindowAttributesGetMonitorInfoAGetMonitorInfoWGetSystemMetricsGetWindowGetWindowInfoGetWindowLongAGetWindowRectGetWindowThreadProcessIdIntersectRectIsWindowIsWindowVisibleLoadCursorALoadIconAMonitorFromRectMonitorFromWindowOpenClipboardPeekMessageAPostMessageAQueryDisplayConfigRegisterClassARegisterHotKeyReleaseDCSetClipboardDataSetForegroundWindowSetRectSetWindowLongASetWindowPosSetWindowsHookExATranslateMessageUnhookWindowsHookExUnionRectUnregisterHotKeynew gdi32.dll funtions (Custom gdi32.dll is ready)BeginGdiRenderingBitBltCreateBitmapFromDxSurfaceCreateCompatibleBitmapCreateCompatibleDCCreateDCACreateDCWCreateDIBSectionDeleteDCDeleteObjectEndGdiRenderingGdiEntry13GdiFlushSelectObjectSetStretchBltModeStretchBltnew adavapi32.dll functionsAddAccessAllowedAceConvertStringSidToSidAGetLengthSidGetSidLengthRequiredGetSidSubAuthorityInitializeAclInitializeSecurityDescriptorInitializeSidIsValidSidRegCloseKeyRegEnumKeyExARegOpenKeyExARegQueryValueExASetSecurityDescriptorDaclSetSecurityInfoI think if directX12 work in future , Windows Xp can be used for more 17 years without any problem Edited March 2, 2016 by Dibya
Dibya Posted March 2, 2016 Author Posted March 2, 2016 within 2months this dx12 patch will be ready.After that anybody please want to be beta tester
jaclaz Posted March 2, 2016 Posted March 2, 2016 (edited) Dependencies Chart:: If I may, you could put that list inside [spòiler] [/spòiler] tags to make your post not so long to scroll.It is "inside" the third button from left "Special BB code" the result will be:--- something like this ....or attach it as a .txt file. jaclaz Edited March 2, 2016 by jaclaz
greenhillmaniac Posted March 2, 2016 Posted March 2, 2016 I would like to test, but there are a few problems in the way:- I don't have XP drivers, even though my GPU is DX12 compatible (you've guessed it, it's AMD)- How will people be able to test DX12, when all XP drivers are made with DX9 in mind? Do you plan on making Windows 10 WDDM 2.0 drivers work on XP?Just a few thoughts...
FranceBB Posted March 2, 2016 Posted March 2, 2016 That's absolutely great!I look forward to see the final result.By the way, while you're doing it, can you keep us updated? I would really like to know how you are going to port/customise certain dependencies.Anyway, this is a really good project. 1
Dibya Posted March 2, 2016 Author Posted March 2, 2016 (edited) I would like to test, but there are a few problems in the way:- I don't have XP drivers, even though my GPU is DX12 compatible (you've guessed it, it's AMD)- How will people be able to test DX12, when all XP drivers are made with DX9 in mind? Do you plan on making Windows 10 WDDM 2.0 drivers work on XP?Just a few thoughts...Brother yes I will port driver framework of windows 10 currently my pc is running wdm of win7 in xp ported from windows 7 way in which i installed xp with all driver in my new skylake pc Edited March 2, 2016 by Dibya 1
Dibya Posted March 2, 2016 Author Posted March 2, 2016 (edited) That's absolutely great!I look forward to see the final result.By the way, while you're doing it, can you keep us updated? I would really like to know how you are going to port/customise certain dependencies.Anyway, this is a really good project. My way of porting::Visual studio debug function for tracing apidependency walker for finding dependeciespe explorer a good diassembler in cluded with itcff explorer for modifing and adding api.pe maker by BlackwingCat for fixing api mmmvxcsIdaPro for Patchingvirtualbox for testing outeventviewer for finding errorsif everything goes fine voila we have done Edited March 2, 2016 by Dibya 3
Dibya Posted March 2, 2016 Author Posted March 2, 2016 first i will release Dx12 hack which will work fine with nvdia afterward i will thing about WDDM 2.0. 1
greenhillmaniac Posted March 2, 2016 Posted March 2, 2016 Do you plan on working on Windows Vista, to get Windows 7+ drivers and programs working on it? Because since 7 is basically Vista SP3, it shouldn't be too hard to port some of its libraries and dependencies (I speculate).That OS is seriously underrated, and I would like to use it again!
Dibya Posted March 2, 2016 Author Posted March 2, 2016 @greenhillmaniacWindows Vista , personally I donot like the OS but after sp1 is most favourite then sp2 added again few craps.Lets my this project finish i will make a video how to add apis in dlls and modify kerenal driver framework any body may likely to make it out. If you want a kerenalEX which is quite difficult to make you can contact BlackWingCat he was a genius on that.
greenhillmaniac Posted March 2, 2016 Posted March 2, 2016 @greenhillmaniacWindows Vista , personally I donot like the OS but after sp1 is most favourite then sp2 added again few craps.Lets my this project finish i will make a video how to add apis in dlls and modify kerenal driver framework any body may likely to make it out. If you want a kerenalEX which is quite difficult to make you can contact BlackWingCat he was a genius on that.That would be awesome! Could finally stop asking people for things and do something myself
Tripredacus Posted March 2, 2016 Posted March 2, 2016 Make sure that your eventual release complies with redistribution policies.
WinClient5270 Posted March 2, 2016 Posted March 2, 2016 @greenhillmaniacWindows Vista , personally I donot like the OS but after sp1 is most favourite then sp2 added again few craps.Lets my this project finish i will make a video how to add apis in dlls and modify kerenal driver framework any body may likely to make it out. If you want a kerenalEX which is quite difficult to make you can contact BlackWingCat he was a genius on that.Funnily enough, from my experience, Vista SP2 has been generally faster and more stable than SP1 and definitely RTM... Anyway, if you could make a video on how to do that, I would love to contribute to helping the current state of compatibility with Windows Vista, because here lately, it has been uncontrollably diminishing, in some instances even faster than the support for XP. It has gotten to a point where I can't even use it as my main OS anymore, whereas less than a year ago, I could do so easily.
Dibya Posted March 3, 2016 Author Posted March 3, 2016 (edited) Make sure that your eventual release complies with redistribution policies.ok thanks Edited March 3, 2016 by Dibya
Recommended Posts