日本电子维修技术 Windows 10 给 Linux 子系统写显卡驱动的是一个人吗



Windows 10 给 Linux 子系统写显卡驱动的是一个人吗,是谁呢?

评论
要撕是吧,谁怕谁啊。

首先,你得搞清楚,驱动是干什么的。连这个都不懂敢开炮,丢大人了吧。驱动上连系统,下连硬件。跟硬件和系统都相关。Linux上的驱动,到Windows上没法用,反之亦然。所以,即便parallel有驱动、Linux有驱动,到了Linux子系统里,也照样挂。因为Linux子系统并不是个完整的Linux,尤其是和硬件打交道部分,是通过直接调用Windows Kernel做的,接口和Linux自己的完全不同。

这就否定了用现有驱动的可能。

其次,你得搞清楚,Linux子系统的来源。Linux子系统用的是picoprocess,这是公开资料就能查到的,再进一步查出处,就能找到Drawbridge - Microsoft Research。这是个轻量级虚拟化的解决方案,在Windows上虚拟Windows。如果你看了他的paper https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/asplos2011-drawbridge.pdf,就会知道里面有提到的该方案的限制,不能接触硬件。后来在2012年,我就负责给Drawbridge做GPU加速的部分。我一个人完成了Drawbridge的D3D9和D3D11驱动(为什么没有D3D10?因为我懒)。前后两套完全不同的方案,对KMD和UMD有不同的取舍。分别适用于不同的情况。对,我一个人完成的。

再接下来,Techfest上演示了这个demo,很多人表示感兴趣,也有人问了能不能跑CUDA。我现场分析了跑CUDA的可行性和难点。但没有继续往下做。几天后,有个保密项目的人跟我有些接触,问我能不能支持OpenGLES,我说给我一两个月。3月份的Techfest,4月中旬我就第一次让OpenGLES驱动跑起来一些游戏了。印象深刻的是5月中旬的一天,从早上7点开始,一直写到晚上9点,完成了Android驱动的最后一块拼图,终于能完整地运行Android桌面,并在里面做所有的操作。之后那个项目就叫Project Astoria,大家基本都知道是怎么回事了。用的也是我的驱动。甚至,到了Redmond之后,我还对那个驱动做了一次完全的改动,基本没有一行跟以前一样了。为的是在超低端平台上(WP,说的就是你)也能跑的流畅。仍然是我一个人完成的。(有个有意思的小故事。他们之前在WP上跑的时候都是黑屏的。因为保密需要没告诉还在MSRA的我。而我到Redmond第一天,下午3点多入职培训完正式上班才知道这事,下班前已经定位原因,第二天中午就修好了。老板的老板跟我老板说,where didi you find him? you got the right guy!)

之后Project Astoria被暂停,原班人马和原版代码调去加强Linux的部分,成了现在的Linux子系统。

少年,你对力量一无所知。

评论
曾老师不是离开知乎了么…这是勃学家客串?

评论
凑个热闹,有些项目,一个人能写出来的,一百个人还真未必可以。
因为有技术门槛。

假设满分100分,那么按照正态分布,普通程序员就是在40-60之间,高手在60-70之间,能够给写大型驱动的高端团队,平均分也许可以到75分逼近80分。

然后,如果来了一个85分的项目,你说是平均分75-80分的百人团队写得好呢,还是一个水平在90-95分的人适合呢?

对了,也许有人会说,难道不可以让一个85-90的人带领这个团队,自然可以碾压那个90-95分的人了。

嗯,如果是比如给新出的nVidia显卡写win10驱动,可以这么做。然而目前遇到的情况是在win10的linux子系统写显卡驱动,这是从未有过的技术模式。
这种情况下,那个85-90的人是会写的,可以直接下手,那个90-95的大牛是已经有了成体系的思路,可以直接写出beta版,测试一轮就上线的。
而那群75-80的,则是只看到了门槛,对门槛里面有什么都一无所知的。
这样的团队,即使让85-90的人带领,依然得从头开始技术攻关。

冒昧问一句,题主也许连windows的驱动体系和linux差距有多大都不知道吧?连子系统和虚拟机的差距有多大都不知道吧?大概连win32和posix都是子系统都不知道吧?大概不会浅薄到以为那个驱动就是类似虚拟机的调用转发吧?

——————————————

补充说明

答主对驱动编程方面是个外行,也是个对力量一无所知并瑟瑟发抖的少年。但我知道如何尊重强者。

答主现在做的工作中,开发人员根据业务领域不同被划分成了几个小组,每个小组人员根据业务压力,从个位数到十数人不等。但不变的是,小组的领导,工作能力基本可以等同于所有组员的总和。
本人不才,是其中一个小组的组长。目前并行开展3个内容相似的项目,开发完毕待测试的一个,测试完毕待甲方使用反馈并进行修改的两个,甲方试用完毕并回归完毕然后验收完毕正处于维护阶段的一个。
目前我的组员投入在那三个并行开展的项目中,其他项目则由我全部负责,包括除测试外的所有文档工作,同时我在那三个项目中仍然作为主力参与开发。
我的组员里,有一半人工作年限和我仿佛。
这还只是国内一家普通的软件企业。
我能做的事,在我的组员眼里是可以触及的仰望,我和我的组员的差距,也就一个职位。
而龚大,是在微软研究院任职的强者。他和我的差距,比我和我的组员大了不知道多少倍。他能做的事,在我看来仿若天方夜谭。

所以,请学会尊重。你可以对力量一无所知,但这不代表你就有资格质疑。初生牛犊不畏虎,并不是褒奖。

评论
还是原来的味道

评论
总有那么些人,不愿意承认别人一个人的工作效率等于他们一群人。

评论
无数弱逼以为写的程序越底层,越“直接调用“硬件越显得的牛逼。殊不知一个系统,从外层到内层,能一起工作需要各种掌握各种领域知识的人一起协同工作。
还有很多渣渣认为牛逼的人需要再任何时候任何人面前都要表现的卑谦。殊不知对真正牛逼的人来说,过分的humble和modest就是虚伪。
码农领域,的确有可能一个人顶许多人,因为一群乌合之众里往往有几个祸害是其反面作用的。

评论
看到标题我就猜到是谁的提问。题主能干点正经事儿吗?方舟子好歹也真正地打假和科普过啊

评论
我不是撕。我是对微软公司驱动界一个人写驱动这件事表示惊叹。写DirectX给200款显卡适配驱动,一个人写完这也是屌。当然可能这个directX“驱动”并不是我们理解的驱动。

整个微软竟然真的依靠一个人写显卡驱动,在这之前都是黑屏。这家公司,很有情操。。

Parallels的虚拟机都不需要专门写驱动,都可以玩PC游戏了,而微软的虚拟机制却不支持gpu加速,手机上也不行。。。

评论
怎么这个问题也能火呢?实在可笑了。

是不是驱动取决于你对驱动的定义,你说不直接操纵硬件就不是驱动,那就不是,你说提供驱动接口就是驱动,那就是,这有什么好争论的?虚拟光驱是光驱吗?vpn 是局域网吗?你后妈是你妈吗?

这种撕人的问题在其他话题下炒作一下也就罢了,文人相轻,小撕怡情。一群写程序的也学着人家文科生玩人家玩剩下的,丢不丢人啊?

评论
OS的图形系统通常包含两部分,一个是DDK,也就是驱动程序的开发接口,另一个是具体硬件的驱动实现,后者通常是硬件厂商自己开发,比如nv/amd/intel,前者是OS厂商开发,比如MS/Linux.
吵架的根源其实无非就是对驱动层次的理解不同而已。
DDK的设计开发主要是集中在软件层次上,和具体OS关系紧密,所谓的架构师需要懂一点硬件, 但不需要太深入,懂些皮毛也一样能设计,这类工作一个小team就差不多了,某些嵌入式系统上的graphics设计一个人也能搞定。
真正的GPU驱动实现和具体硬件关系紧密,通常情况下,无论工作量还是复杂程度都远超前者的开发,我猜这也是为什么有人对所谓“一个人完成驱动开发”说法的不满。确实这种GPU硬件驱动的开发,涉及大量软件和硬件知识,几乎不可能是一个人能完成的,而是一个庞大的软件和硬件团队完成,GPU驱动的复杂程度也是秒杀网卡这种驱动的。
对于不涉及具体硬件的驱动,比如虚拟环境下的镜像驱动,相对来所是比较容易开发的。最简单的是API redirect,复杂点的如vmware下的那种,这些驱动一两个人搞绝对是没问题的。但真正硬件上的东西,随便一个hang就能折磨你几天甚至一个月,一个人搞是不现实的

评论
驱动真心可以一个人完成。连最初版本的Linux内核都是一己之力完成的。

你身边没人能做到一个人写一个驱动甚至多个驱动,不代表没人能。

世界很大的,眼界放宽点。

评论
随手翻一翻,发现题主截图中的那个问题,是我提的……
不过真没想到一个“我”字都能撕起来。
好吧,有种非常奇怪的成就感。

不过题主这问题问的也真是够冷汗……你们难道见过谁在Virtualbox、VMware Workstation或者Parallels虚拟机上跑CUDA的么?

评论
这是勃勃回归知乎的前奏?

评论
显卡驱动比网卡难很多吗?不然一个人应该可以完成吧,我看intel10g那个系列的网卡都是那么1,2个人写的,源码大概2-3千行,这个驱动都是套路,熟悉datasheet就行,反而之前linux为了支持多队列网卡加的那套东西就要讨论了一段时间,不过看问题描述做的不仅是显卡驱动这么简单吧

评论
怎么现在随便一个学点编程的就觉得自己什么都懂了?懂web前端开发懂点编程也是搞it没错,但就凭这点本事就想去和搞硬件的撕我想说你还差很多火候。
人还是要提高恣肆髓频,这话真是说的最好的

评论
在知乎上也看到这种犯贱的撕逼提问真心感到遗憾!

评论
我在以前公司的师傅,是公司的顾问,某大学的老师。
因为公司搬迁等等屁事,新产品没赶上开发,研发部大多离职。
他花了一个月的时间,从Windows端到嵌入式设备端,包圆了,只是找了个小伙帮他焊硬件。
不妨碍他带课。

就我的认知来说,一个人,是可以的。
另一个例子是阿里的多隆。

评论
远离贴吧就是想少一分撕逼。

无奈又看见这种为撕而撕的提问。

关键是还多次进出知乎。

评论
纯技术驱动的项目,人多反而降低生产率
楼主是没做过累死项目才会有这种疑问吧 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收
 ·日本中文新闻 唐田绘里香为新剧《极恶女王》剃光头 展现演员决心
·日本中文新闻 真子小室夫妇新居引发隐私担忧
·日本中文新闻 前AKB48成员柏木由纪与搞笑艺人交往曝光
·日本学校 {日本国际学校}梅田インターナショナルスクール
·日本学校 LINE:sm287 陳雨菲、20歳、台湾からの留学生、東京に来たばかり
·日本留学生活 出售平成22年走行48000km 代步小车
·日本华人网络交流 円相場 一時1ドル=140円台まで上昇?
·日本华人网络交流 问日本华人一个问题
·日本旅游代购 富山接机
 ·生活百科 英国转澳大利亚转换插头
·汽车 【求助】修车遇到困难怎么办?

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...