WDDM is kernel-display only driver , but it just works for actual physics display adapter . so , I develop a virtual PCI bus driver , and it create a virtual display adapter.while I load KMDOD sample for the virtual display adapter , the device manager report code (31) .
My questions :
- Virtual display adapter , a virtual hardware , can be achieved by this way (through virtual PCI bus)?
- If it can be achieved by point 1, the PCI bus driver how to implement IRP_MN_QUERY_RESOURCE and IRP_MN_QUERY_RESOURCE_REQUIREDMENT ?
Please advise, thanks.
virtual PCI bus is pain in the ass. The system port driver (dxgkrnl.sys)
checks the PCI device properties (such as interrupt line, PCI
class/subclass code, memory bar,…etc) . It is very hard to cheat
dxgkrnl.sys by emulating a PCI device.
2017-11-29 9:18 GMT+08:00 xxxxx@cvte.com :
> WDDM is kernel-display only driver , but it just works for actual physics
> display adapter . so , I develop a virtual PCI bus driver , and it create a
> virtual display adapter.while I load KMDOD sample for the virtual display
> adapter , the device manager report code (31) .
>
> My questions :
> 1. Virtual display adapter , a virtual hardware , can be achieved by this
> way (through virtual PCI bus)?
> 2. If it can be achieved by point 1, the PCI bus driver how to implement
> IRP_MN_QUERY_RESOURCE and IRP_MN_QUERY_RESOURCE_REQUIREDMENT ?
>
>
> Please advise, thanks.
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list online at: http:> showlists.cfm?list=ntdev>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer>
></http:></http:>
See my comment below.
2017-11-29 12:49 GMT+08:00 xxxxx@cvte.com :
> thanks for your reply.
>
> 1) I think whatever PCI device information (such device id , hwid ,
> resource , resource requirement etc) the system query must through the
> virtual PCI bus , so in the virtual bus driver, I can emulating PCI device
> information for its request.
> Am I wrong ?
>
>
How do you emulate a “interrupt” ? If you can emulate interrupt, then you
can continue with this path.
2) Some software such “iDisplay” , it uses a iDisplayFilter.sys to filter
> all system device . In filtering the PCI root bus , the Filter driver
> create a virtual display adapter . My KMDOD sample can work with it .
> What do you think about this ?
>
> I have no idea about iDisplay. You have to try it on your own.
> —
> NTDEV is sponsored by OSR
>
> Visit the list online at: http:> showlists.cfm?list=ntdev>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer>
></http:></http:>
Sorry, I am a beginnner . Can you tell me what is “Interrupt” ? thanks
From: xxxxx@gmail.com
Date: 2017-11-29 13:25
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] How to implement virtual display adapter?
See my comment below.
2017-11-29 12:49 GMT+08:00 xxxxx@cvte.com :
thanks for your reply.
1) I think whatever PCI device information (such device id , hwid , resource , resource requirement etc) the system query must through the virtual PCI bus , so in the virtual bus driver, I can emulating PCI device information for its request.
Am I wrong ?
How do you emulate a “interrupt” ? If you can emulate interrupt, then you can continue with this path.
2) Some software such “iDisplay” , it uses a iDisplayFilter.sys to filter all system device . In filtering the PCI root bus , the Filter driver create a virtual display adapter . My KMDOD sample can work with it .
What do you think about this ?
I have no idea about iDisplay. You have to try it on your own.
—
NTDEV is sponsored by OSR
Visit the list online at: http:
MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at http:
To unsubscribe, visit the List Server section of OSR Online at http:
— NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at To unsubscribe, visit the List Server section of OSR Online at</http:></http:></http:>
Interrupt is a mechansm for the hardware to notify driver that there are
something in the device that requires the driver to service. A normal GPU
typically fires interrupt for VSYNC/DMA completion/… Dxgkrnl.sys would
definitely check if the device has interrupt capability or not.
2017-11-29 14:31 GMT+08:00 xxxxx@cvte.com :
> Sorry, I am a beginnner . Can you tell me what is “Interrupt” ? thanks
>
>
> From: xxxxx@gmail.com
> Date: 2017-11-29 13:25
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] How to implement virtual display adapter?
> See my comment below.
>
> 2017-11-29 12:49 GMT+08:00 xxxxx@cvte.com :
>
>> thanks for your reply.
>>
>> 1) I think whatever PCI device information (such device id , hwid ,
>> resource , resource requirement etc) the system query must through the
>> virtual PCI bus , so in the virtual bus driver, I can emulating PCI device
>> information for its request.
>> Am I wrong ?
>>
>>
> How do you emulate a “interrupt” ? If you can emulate interrupt, then you
> can continue with this path.
>
> 2) Some software such “iDisplay” , it uses a iDisplayFilter.sys to filter
>> all system device . In filtering the PCI root bus , the Filter driver
>> create a virtual display adapter . My KMDOD sample can work with it .
>> What do you think about this ?
>>
>> I have no idea about iDisplay. You have to try it on your own.
>
>
>> —
>> NTDEV is sponsored by OSR
>>
>> Visit the list online at: http:>> lists.cfm?list=ntdev>
>>
>> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
>> software drivers!
>> Details at http:
>>
>> To unsubscribe, visit the List Server section of OSR Online at <
>> http://www.osronline.com/page.cfm?name=ListServer>
>>
>
> — NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars
> on crash dump analysis, WDF, Windows internals and software drivers!
> Details at To unsubscribe, visit the List Server section of OSR Online at
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list online at: http:> showlists.cfm?list=ntdev>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer>
></http:></http:></http:></http:>
Thank you very mush.
It seem to be so difficult to do this.
Are there any other way to emulate virtual monitor?
?? 2017??11??29?գ?14:38??xxxxx@gmail.com д???
>
> Interrupt is a mechansm for the hardware to notify driver that there are something in the device that requires the driver to service. A normal GPU typically fires interrupt for VSYNC/DMA completion/… Dxgkrnl.sys would definitely check if the device has interrupt capability or not.
>
> 2017-11-29 14:31 GMT+08:00 xxxxx@cvte.com :
>> Sorry, I am a beginnner . Can you tell me what is “Interrupt” ? thanks
>>
>>
>> From: xxxxx@gmail.com
>> Date: 2017-11-29 13:25
>> To: Windows System Software Devs Interest List
>> Subject: Re: [ntdev] How to implement virtual display adapter?
>> See my comment below.
>>
>> 2017-11-29 12:49 GMT+08:00 xxxxx@cvte.com :
>>> thanks for your reply.
>>>
>>> 1) I think whatever PCI device information (such device id , hwid , resource , resource requirement etc) the system query must through the virtual PCI bus , so in the virtual bus driver, I can emulating PCI device information for its request.
>>> Am I wrong ?
>>
>> How do you emulate a “interrupt” ? If you can emulate interrupt, then you can continue with this path.
>>
>>> 2) Some software such “iDisplay” , it uses a iDisplayFilter.sys to filter all system device . In filtering the PCI root bus , the Filter driver create a virtual display adapter . My KMDOD sample can work with it .
>>> What do you think about this ?
>> I have no idea about iDisplay. You have to try it on your own.
>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> Visit the list online at: http:
>>>
>>> MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
>>> Details at http:
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at http:
>>
>> — NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at To unsubscribe, visit the List Server section of OSR Online at
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> Visit the list online at: http:
>>
>> MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
>> Details at http:
>>
>> To unsubscribe, visit the List Server section of OSR Online at http:
>
> — NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at To unsubscribe, visit the List Server section of OSR Online at</http:></http:></http:></http:></http:></http:>
Try Indirect Display Driver
https:
2017-11-29 21:30 GMT+08:00 xxxxx@cvte.com :
>
> Thank you very mush.
>
> It seem to be so difficult to do this.
> Are there any other way to emulate virtual monitor?
>
>
> 在 2017年11月29日,14:38,xxxxx@gmail.com 写道:
>
> Interrupt is a mechansm for the hardware to notify driver that there are
> something in the device that requires the driver to service. A normal GPU
> typically fires interrupt for VSYNC/DMA completion/… Dxgkrnl.sys would
> definitely check if the device has interrupt capability or not.
>
> 2017-11-29 14:31 GMT+08:00 xxxxx@cvte.com :
>
>> Sorry, I am a beginnner . Can you tell me what is “Interrupt” ? thanks
>>
>>
>> From: xxxxx@gmail.com
>> Date: 2017-11-29 13:25
>> To: Windows System Software Devs Interest List
>> Subject: Re: [ntdev] How to implement virtual display adapter?
>> See my comment below.
>>
>> 2017-11-29 12:49 GMT+08:00 xxxxx@cvte.com :
>>
>>> thanks for your reply.
>>>
>>> 1) I think whatever PCI device information (such device id , hwid ,
>>> resource , resource requirement etc) the system query must through the
>>> virtual PCI bus , so in the virtual bus driver, I can emulating PCI device
>>> information for its request.
>>> Am I wrong ?
>>>
>>>
>> How do you emulate a “interrupt” ? If you can emulate interrupt, then you
>> can continue with this path.
>>
>> 2) Some software such “iDisplay” , it uses a iDisplayFilter.sys to filter
>>> all system device . In filtering the PCI root bus , the Filter driver
>>> create a virtual display adapter . My KMDOD sample can work with it .
>>> What do you think about this ?
>>>
>>> I have no idea about iDisplay. You have to try it on your own.
>>
>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> Visit the list online at: http:>>> lists.cfm?list=ntdev>
>>>
>>> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
>>> software drivers!
>>> Details at http:
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at <
>>> http://www.osronline.com/page.cfm?name=ListServer>
>>>
>>
>> — NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars
>> on crash dump analysis, WDF, Windows internals and software drivers!
>> Details at To unsubscribe, visit the List Server section of OSR Online
>> at
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> Visit the list online at: http:>> lists.cfm?list=ntdev>
>>
>> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
>> software drivers!
>> Details at http:
>>
>> To unsubscribe, visit the List Server section of OSR Online at <
>> http://www.osronline.com/page.cfm?name=ListServer>
>>
>
> — NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars
> on crash dump analysis, WDF, Windows internals and software drivers!
> Details at To unsubscribe, visit the List Server section of OSR Online at
>
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list online at: http:> showlists.cfm?list=ntdev>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer>
></http:></http:></http:></http:></http:></http:></https:>
Eh…
Indirect Display Driver is only support Windows 10 1607 or later .
Anyway , this is another way to implement virtual monitor.
Hey , I found your “virtual-display” project in Github which can be used in Win10 correctly .
It is amazing . There is such a way to achieve virtual monitor .
From: xxxxx@gmail.com
Date: 2017-11-30 10:24
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] How to implement virtual display adapter?
Try Indirect Display Driver
2017-11-29 21:30 GMT+08:00 xxxxx@cvte.com :
Thank you very mush.
It seem to be so difficult to do this.
Are there any other way to emulate virtual monitor?
在 2017年11月29日,14:38,xxxxx@gmail.com 写道:
Interrupt is a mechansm for the hardware to notify driver that there are something in the device that requires the driver to service. A normal GPU typically fires interrupt for VSYNC/DMA completion/… Dxgkrnl.sys would definitely check if the device has interrupt capability or not.
2017-11-29 14:31 GMT+08:00 xxxxx@cvte.com :
Sorry, I am a beginnner . Can you tell me what is “Interrupt” ? thanks
From: xxxxx@gmail.com
Date: 2017-11-29 13:25
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] How to implement virtual display adapter?
See my comment below.
2017-11-29 12:49 GMT+08:00 xxxxx@cvte.com :
thanks for your reply.
1) I think whatever PCI device information (such device id , hwid , resource , resource requirement etc) the system query must through the virtual PCI bus , so in the virtual bus driver, I can emulating PCI device information for its request.
Am I wrong ?
How do you emulate a “interrupt” ? If you can emulate interrupt, then you can continue with this path.
2) Some software such “iDisplay” , it uses a iDisplayFilter.sys to filter all system device . In filtering the PCI root bus , the Filter driver create a virtual display adapter . My KMDOD sample can work with it .
What do you think about this ?
I have no idea about iDisplay. You have to try it on your own.
—
NTDEV is sponsored by OSR
Visit the list online at: http:
MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at http:
To unsubscribe, visit the List Server section of OSR Online at http:
— NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at To unsubscribe, visit the List Server section of OSR Online at
—
NTDEV is sponsored by OSR
Visit the list online at: http:
MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at http:
To unsubscribe, visit the List Server section of OSR Online at http:
— NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at To unsubscribe, visit the List Server section of OSR Online at
—
NTDEV is sponsored by OSR
Visit the list online at: http:
MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at http:
To unsubscribe, visit the List Server section of OSR Online at http:
— NTDEV is sponsored by OSR Visit the list online at: MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers! Details at To unsubscribe, visit the List Server section of OSR Online at</http:></http:></http:></http:></http:></http:></http:></http:></http:>