{"id":40373,"date":"2004-03-05T07:00:00","date_gmt":"2004-03-05T07:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2004\/03\/05\/defrauding-the-whql-driver-certification-process\/"},"modified":"2004-03-05T07:00:00","modified_gmt":"2004-03-05T07:00:00","slug":"defrauding-the-whql-driver-certification-process","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20040305-00\/?p=40373\/","title":{"rendered":"Defrauding the WHQL driver certification process"},"content":{"rendered":"<p><a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2004\/02\/11\/71307.aspx#71354\">In  a comment to one of my earlier entries<\/a>,  someone mentioned a driver that bluescreened under normal  conditions, but once you enabled the Driver Verifier  (to try to catch the driver doing whatever bad thing it was doing),  the problem went away.  <a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2004\/02\/11\/71307.aspx#71572\">  Another commenter bemoaned that WHQL certification didn&#8217;t  seem to improve the quality of the drivers<\/a>.\n  Video drivers will do anything to outdo their competition. Everybody knows that   <a href=\"http:\/\/www.tech-report.com\/etc\/2003q2\/3dmurk03\/\">  they cheat benchmarks<\/a>, for example.  I remember one driver that ran the DirectX &#8220;3D Tunnel&#8221; demonstration program  extremely fast, demonstrating how totally awesome their video card is.  Except that if you renamed TUNNEL.EXE to FUNNEL.EXE, it ran slow again.\n  There was another one that checked if you were printing a specific  string used by a popular benchmark program.  If so, then it only drew the string a quarter of the time and merely  returned without doing anything the other three quarters of the time.  Bingo! Their benchmark numbers just quadrupled.\n  Anyway, similar shenanigans are not unheard of when submitting a  driver to   <a href=\"http:\/\/www.microsoft.com\/whdc\/hwtest\/default.mspx\">  WHQL<\/a> for certification. Some unscrupulous drivers will  detect that they are being run by WHQL and disable various  features so they pass certification. Of course, they also run  dog slow in the WHQL lab, but that&#8217;s okay, because WHQL is  interested in whether the driver contains any bugs, not  whether the driver has the fastest triangle fill rate in the industry.\n  The most common cheat I&#8217;ve seen is drivers which check  for a secret &#8220;Enable Dubious Optimizations&#8221; switch in the  registry or some other place external to the driver itself. They take  the driver and put it in an installer which does not turn the  switch on and submit it to WHQL.  When WHQL runs  the driver through all its tests, the driver is running in  &#8220;safe but slow&#8221; mode and passes certification with  flying colors.<\/p>\n<p>  The vendor then takes that driver (now with the WHQL stamp  of approval) and puts it inside an installer that enables the  secret &#8220;Enable Dubious Optimizations&#8221; switch.  Now the  driver sees the switch enabled and performs all sorts of  dubious optimizations, none of which were tested by WHQL.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a comment to one of my earlier entries, someone mentioned a driver that bluescreened under normal conditions, but once you enabled the Driver Verifier (to try to catch the driver doing whatever bad thing it was doing), the problem went away. Another commenter bemoaned that WHQL certification didn&#8217;t seem to improve the quality of [&hellip;]<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[2],"class_list":["post-40373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-history"],"acf":[],"blog_post_summary":"<p>In a comment to one of my earlier entries, someone mentioned a driver that bluescreened under normal conditions, but once you enabled the Driver Verifier (to try to catch the driver doing whatever bad thing it was doing), the problem went away. Another commenter bemoaned that WHQL certification didn&#8217;t seem to improve the quality of [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/40373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=40373"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/40373\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=40373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=40373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=40373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}