User:Kazushim/沙盒:修订间差异
外观
删除的内容 添加的内容
无编辑摘要 |
替换为Vulkan (API)草稿 标签:2017年版源代码编辑 |
||
第1行: | 第1行: | ||
{{Draft| |
{{Draft|Vulkan (API)}} |
||
{{ |
{{noteTA| |
||
G1=IT |
|||
}} |
|||
{{Infobox software |
|||
|name = Vulkan |
|||
|logo =File:Vulkan API logo.svg |
|||
|developer = [[科納斯組織]],基于[[Advanced Micro Devices|AMD]]的[[Mantle (API)|Mantle]]开发<ref>{{Cite web |url=http://www.extremetech.com/extreme/200286-not-dead-yet-amds-mantle-powers-new-vulkan-api-vr-efforts |title=Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts|accessdate=2015-03-30 |work= |publisher= |date=2015-03-04 }}</ref> |
|||
|released = {{Start date and age|2016|02|16|df=yes}}<ref name=vulkan1.0>{{cite web|url=https://www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification|title=Khronos Releases Vulkan 1.0 Specification - Khronos Group Press Release|publisher=}}</ref> |
|||
|latest release version=1.0.40|latest release date={{Start date and age|2017|02|11|df=yes}}<ref name=releases>https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html</ref>|status=活跃|platform = [[跨平台]] |
|||
|genre = 3D图形与计算[[應用程式介面|API]] |
|||
|website = [https://www.khronos.org/vulkan/ khronos.org/Vulkan] |
|||
|operating_system = [[Android]]、[[Linux]]、[[Tizen]]、[[Microsoft Windows]]<ref> |
|||
{{cite news|last1=Bright|first1=Peter|last2=Walton|first2=Mark|title=Vulkan now official, with 1.0 API release and AMD driver [Updated]|url=http://arstechnica.com/gaming/2016/02/vulkan-gets-official-with-1-0-release-and-amd-driver/|accessdate=18 February 2016|publisher=Ars Technica|date=16 February 2016|location=United Kingdom}}</ref><ref>{{cite news|last=Valich|first=Theo|title=Mantle Cycle is Complete as Khronos Releases Vulkan 1.0|url=http://vrworld.com/2016/02/17/mantle-complete-khronos-releases-vulkan/|accessdate=19 February 2016|publisher=VR World|date=17 February 2016}}</ref> |
|||
}} |
}} |
||
'''Vulkan'''是一個低CPU开销、跨平台的[[電腦繪圖|2D和3D繪圖]]与计算的[[應用程式介面]](API),<ref>{{Cite web|url=https://www.lunarg.com/faqs/vulkan-2d-graphics/|title=Does Vulkan support 2D graphics? - LunarG|accessdate=2017-02-17|work=www.lunarg.com|language=en-US}}</ref>最早由[[科納斯組織]]在2015年[[遊戲開發者大會]](GDC)上發表。<ref>{{cite web|url=https://www.khronos.org/assets/uploads/developers/library/overview/2015_vulkan_v1_Overview.pdf |format=PDF |title=Vulkan : Graphics and compute Belong Together |date=March 2015 |publisher=Khronos.org |accessdate=2015-03-05}}</ref><ref name="khronos-vulkan">{{cite web|url=https://www.khronos.org/vulkan |title=Vulkan - Graphics and compute belong together |publisher=Khronos.org |date= |accessdate=2015-03-05}}</ref>科納斯最先把Vulkan API稱為「次世代OpenGL行動」(next generation OpenGL initiative)或「glNext」,但在正式宣佈Vulkan之後這些名字就沒有再使用了。<ref>{{cite web|title=glNext revealed as Vulkan graphics API| url=http://www.develop-online.net/news/glnext-revealed-as-vulkan-graphics-api/0203867| accessdate=2015-03-30 |work= |publisher= |date=2015-03-03 }}</ref>Vulkan基于Mantle而构建,这是由于AMD将Mantle API捐赠给科納斯組織,给予该组织开发底层API的基础,使其成为行业标准。<ref>{{Cite news|url=http://www.pcworld.com/article/2894036/mantle-is-a-vulkan-amds-dead-graphics-api-rises-from-the-ashes-as-opengls-successor.html|title=Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor|newspaper=PCWorld|accessdate=2017-02-17|language=en}}</ref><ref>{{cite web|url=http://community.amd.com/community/amd-blogs/amd-gaming/blog/2015/03/03/one-of-mantles-futures-vulkan |title=AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs |publisher=Community.amd.com |date= |accessdate=2015-03-05}}</ref><ref>{{cite web|url=http://www.extremetech.com/extreme/200286-not-dead-yet-amds-mantle-powers-new-vulkan-api-vr-efforts |title=Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts |publisher=ExtremeTech |date= |accessdate=2015-03-05}}</ref><ref>{{cite web|url=http://wccftech.com/mantle-lives-vulkan-wip/ |title=AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL |publisher=Wccftech.com |date=2014-06-20 |accessdate=2015-03-05}}</ref><ref>{{cite web|last=Kirsch |first=Nathan |url=http://www.legitreviews.com/amd-mantle-dead-known-vulcan-api-uses-mantle-technology-opengl_159339 |title=Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL |publisher=Legit Reviews |date= |accessdate=2015-03-05}}</ref> |
|||
'''OSx86'''是把[[蘋果公司]]出品的[[macOS]]操作系統移植到使用[[x86]]架构非蘋果電腦上的[[黑客]]协作計劃。此計劃的構思始於2005年6月的[[苹果全球开发者大会|蘋果全球開發者大會]](WWDC 2005),當時蘋果宣佈他們將把其個人電腦從[[PowerPC]]架構轉向[[英特爾]]架構。 |
|||
与[[OpenGL]]类似,Vulkan針對全平台即時3D程式(如[[電子遊戲]]和[[互動式多媒體|交互媒体]])設計,并提供高效能与更均衡的CPU/GPU使用,這也是[[Direct3D]] 12和[[AMD]]的[[Mantle (API)|Mantle]]的目標。与Direct3D(12版之前)和OpenGL的其他主要区别是,Vulkan是一个底层API,并且能执行并行任务。除此之外,Vulkan还能更好地分配[[多核心處理器|多个CPU核心]]的使用。<ref>{{Cite news|url=http://www.extremetech.com/gaming/200836-next-generation-vulkan-api-could-be-valves-killer-advantage-in-battling-microsoft|title=Next-generation Vulkan API could be Valve's killer advantage in battling Microsoft - ExtremeTech|date=2015-03-10|newspaper=ExtremeTech|accessdate=2017-02-17|language=en-US}}</ref> |
|||
OSx86名字源于macOS的原名“[[MacOS|OS X]]”与[[英特尔]]处理器架构名“[[x86]]”。此計劃有一些廣為人知的名字,比如'''Hackintosh'''<ref>{{Cite web|url=http://archive.benchmarkreviews.com/index.php?option=com_content&task=view&id=623&Itemid=38|title=Turning PC into Apple Macintosh: Hackintosh|accessdate=2017-03-04|author=|date=|last=Coles|first=Olin|work=archive.benchmarkreviews.com|publisher=|language=en-US}}</ref>或'''Hackint0sh'''<ref>{{Cite web|url=http://senpa.us/hackint0sh/|title=Hackint0sh|accessdate=2017-03-04|author=|date=|publisher=}}</ref>(黑客“hack”与现苹果电脑机型名“[[Mac系列|Macintosh]]”的[[混成詞|混成词]])。在[[中國大陸]]還有很多人形象的稱其為“'''黑蘋果'''”。 |
|||
== 特性 == |
|||
蘋果公司的[[最终用户许可协议]](EULA)不允許將macOS安裝在一台沒有蘋果商標的硬體上。<ref name="EULA2">{{cite web|url=http://images.apple.com/legal/sla/docs/macOS1012.pdf|title=ENGLISH. APPLE INC. SOFTWARE LICENSE AGREEMENT FOR macOS Sierra|accessdate=2017-03-07|author=Apple Inc.|date=2016-08-03|format=PDF|publisher=Apple Inc.}}</ref>一些公司試圖以此計劃牟利,如{{En-link|Psystar|Psystar}}和{{En-link|PearC|PearC}}。<ref>{{Cite news|url=http://www.computerworld.com/article/2528442/apple-mac/psystar-launches-mac-cloning-tool.html|title=Psystar launches Mac cloning tool|last=Keizer|first=Gregg|newspaper=Computerworld|accessdate=2017-03-07|language=en}}</ref>苹果使用[[數字千年版權法|数字千年版权法]],赢得了对Psystar等公司的诉讼。<ref name=":0">{{Cite news|url=http://www.pcworld.com/article/182218/Apple_Wins_Court_Victory_Over_Mac_Clone_Maker_Psystar.html|title=Apple Wins Court Victory Over Mac Clone Maker Psystar|newspaper=PCWorld|accessdate=2017-03-10|language=en}}</ref> |
|||
[[File:Division of labor cpu and gpu.svg|缩略图|OpenGL与Vulkan都是执行图形渲染任务的API,GPU处理[[着色器]],而CPU执行其他的一切任务。]] |
|||
Vulkan旨在提供其他API缺少的优势特性,例如更低的CPU开销与更直接的GPU控制,大体与Direct3D 12和Mantle类似。<ref name=":0" /> |
|||
以下是Vulkan相对于上一代API的优势: |
|||
==历史== |
|||
* Vulkan API适合高端显示卡,也是移动设备的图形解决方案(OpenGL具有名为[[OpenGL ES]]的移动设备API子集,它仍是支持Vulkan设备的备选API)。 |
|||
{{AppleIntel}} |
|||
* 相比于Direct3D 12,Vulkan与前身OpenGL类似,受多种系统支持。自发布起,Vulkan能在[[Windows 7]]、[[Windows 8]]、[[Windows 10]]、[[Tizen]]、[[Linux]]与[[Android]]上运行([[iOS]]和[[macOS]]有第三方支持<ref>{{Cite news|url=https://moltengl.com/moltenvk/|title=MoltenVK {{!}} Run Vulkan on iOS and OS X|newspaper=Molten|accessdate=2017-02-18|language=en-US}}</ref>)。 |
|||
* 降低了驱动程序的开销和CPU负载。<ref>{{Cite news|url=http://www.tomshardware.com/news/khronos-group-vulkan-graphics-api,28678.html|title=Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API|date=2015-03-03|newspaper=Tom's Hardware|accessdate=2017-02-18|language=en}}</ref> |
|||
* 通过批量处理(Batching)减少CPU负载,使CPU可以自由地执行更多计算或者渲染任务。<ref>{{Cite news|url=http://blog.imgtec.com/powervr/vulkan-high-efficiency-on-mobile|title=Vulkan: High efficiency on mobile - Imagination Technologies|date=2015-11-05|newspaper=Imagination Technologies|accessdate=2017-02-18|language=en-GB}}</ref> |
|||
* 在多核心CPU上更好地将任务分配到多个线程。Direct3D 11和OpenGL 4最初为单核心CPU设计,后来出现了优化多核心处理的扩展,不过即使开发者使用该扩展,API对多核心CPU的优化通常也不会很好。<ref>{{Cite news|url=http://blog.imgtec.com/powervr/vulkan-scaling-to-multiple-threads|title=Vulkan: Scaling to multiple threads - Imagination Technologies|date=2015-11-24|newspaper=Imagination Technologies|accessdate=2017-02-18|language=en-GB}}</ref> |
|||
* 对驱动程序的友好性。OpenGL使用高级语言[[GLSL]]编写[[着色器]],这使得不同的OpenGL驱动要在程序运行时执行自身特定的GLSL编译器,将程序的着色器转换为GPU可执行的机器代码。而Vulkan驱动将着色器语言预先转化为[[SPIR-V]](Standard Portable Intermediate Representation)的中间二进制格式,类似于[[Direct3D]]中[[HLSL]]着色器编译的二进制格式。通过着色器预编译,应用程序加载速度提高,并且每个场景可以使用更多种类的着色器。Vulkan驱动只需要做对GPU特定的优化与生成代码,这使得驱动程序更容易维护,驱动程序包更小(目前GPU供应商仍需包括OpenGL和OpenCL的支持)。<ref>{{cite web|url=https://www.khronos.org/registry/spir-v/papers/WhitePaper.pdf|title=An Introduction to SPIR-V|accessdate=2017-02-18|author=|date=|last=Kessenich|first=John|publisher=[[Khronos Group]]}}</ref> |
|||
* 计算与图形处理的统一管理,无需与单独的计算API配合使用。 |
|||
== 另见 == |
|||
=== Mac OS X 10.4 "Tiger" === |
|||
* [[OpenGL]],科納斯組織的另一个图形API |
|||
2005年6月6日,在[[苹果全球开发者大会|WWDC]] 2005上,苹果公司宣布了[[蘋果的英特爾平台遷移|迁移至英特尔平台的计划]],并向指定开发者销售999美元的开发者过渡工具。<ref>{{Cite web|url=http://www.apple.com/pr/library/2005/06/06Apple-to-Use-Intel-Microprocessors-Beginning-in-2006.html|title=Apple - Press Info - Apple to Use Intel Microprocessors Beginning in 2006|accessdate=2017-03-07|last=Inc.|first=Apple|work=www.apple.com|language=en-US}}</ref>一些开发者尝试在非苹果电脑上运行Mac OS X,但并没有成功。<ref>{{Cite web|url=http://appleinsider.com/article/?id=1146|title=Inside Apple\'s Intel-based Dev Transition Kit (Photos)|accessdate=2017-03-07|work=AppleInsider|language=en-US}}</ref> |
|||
* [[OpenCL]],科納斯組織的一个[[异构计算]]框架 |
|||
* [[Mantle (API)|Mantle]],AMD的底层图形与计算API,Vulkan的基础 |
|||
* [[Direct3D]],Windows和Xbox独有的图形API |
|||
* [[Metal (API)|Metal]],iOS和macOS的一个底层图形与计算API |
|||
==參考資料== |
|||
2005年8月10日,HardMac网站声称一匿名黑客已经完全破解了开发者版本的Mac OS X 10.4.1 "Tiger",而且该网站还收到了匿名黑客送来的两段视频,展示了Mac OS X x86系统在一台采用[[Pentium M]] 735(1.6GHz)处理器的Mitac 8050D笔记本上的运行情况。Mac OS X 10.4.1 "Tiger"是最早被黑客破解的版本。<ref>{{Cite web|url=http://hardmac.com/news/2005-08-10/|title=Hardmac.com : Le "Macbidouille" in English|accessdate=2017-03-07|author=|date=2005-08-10|publisher=|archiveurl=https://web.archive.org/web/20051018182314/http://hardmac.com/news/2005-08-10/|archivedate=2005-10-18}}</ref> |
|||
{{reflist|2}} |
|||
{{Khronos Group standards}} |
|||
2006年1月10日,苹果发布了Mac OS X 10.4.4与第一代基于Intel x86架构的Mac电脑([[iMac]]和[[MacBook Pro]])。这些电脑上使用了[[統一可延伸韌體介面]](EFI),而非传统x86主板中的老式[[BIOS]]。2006年2月14日,黑客maxxuss在互联网上发布了Mac OS X 10.4.4的最初破解版本。<ref>{{Cite news|url=http://www.insanelymac.com/forum/topic/9071-1044-security-broken/page-1|title=10.4.4 Security Broken - Front Page News and Rumors|newspaper=InsanelyMac Forum|accessdate=2017-03-10|language=en}}</ref>几小时后苹果将Mac OS X的版本更新到10.4.5,<ref>{{cite web | url=http://www.apple.com/support/downloads/macosxupdate1045.html | title=Mac OS X Update 10.4.5 | accessdate=2006-05-28 | date=February 14, 2006 | author=Apple Computer | publisher=Apple Computer}}</ref>maxxuss在两周之内破解了它。<ref>{{Cite news|url=http://www.insanelymac.com/_/osx86/apple-releases-1045-r856|title=Apple Releases 10.4.5 - InsanelyMac|newspaper=InsanelyMac Forum|accessdate=2017-03-10|language=en}}</ref>2006年4月3日苹果推出10.4.6更新后,<ref>{{cite web | url=http://www.apple.com/support/downloads/macosx1046forintel.html | title=Mac OS X 10.4.6 for Intel | accessdate=2006-05-28 | date = April 3, 2006 | author=Apple Computer | publisher=Apple Computer}}</ref>两周内又有人将其破解并能够让大多数的非苹果电脑安装,尽管其内核并没有升级到10.4.6。同年6月,黑客发布了使用10.4.4内核的Mac OS X 10.4.7破解版本。 |
|||
直到10.4.8更新发行,所有OSx86补丁用的都是10.4.4版内核,而更新的系统使用10.4.8版内核。但是,新的框架依赖于新的内核,这导致使用10.4.8内核的用户遇到一些问题。同时,苹果在硬件上更多地使用[[SSE3]]指令集,这也让那些只支持SSE2的CPU(如老版的[[奔腾4|奔腾4]])难以完全兼容。为了解决这一难题,OSx86的成员发布了使用[[SSE2]]模拟新指令集的内核,不过对性能有一定的影响。 |
|||
=== Mac OS X 10.5 "Leopard" === |
|||
[[Image:Hackintosh Laptop.jpg|thumb|一台正在安装[[Mac OS X Leopard|Mac OS X 10.5]]的[[联想]]笔记本电脑.]] |
|||
早在[[Mac OS X Leopard]] 9A466编译版本发布时,OSx86社区提供了一個可在非蘋果电脑上运行的10.5版本。黑客BrazilMac制作了最早能在第三方硬件上安装合法的、零售版本的蘋果Mac OS X的补丁。尽管Boot-132愈发流行,很多人还是利用BrazilMac的补丁轻而易举地制作了Mac OSx86的“发行版”并获得成功。五種最流行的版本依名稱顺序为JaS,[http://www.insanelymac.com/forum/topic/77069-kalyway-1051-dvd-release-the-official/ Kalyway],[http://iatkos.me/ iATKOS],[http://ipcosx86.wikidot.com/ iPC]和iDeneb。然而,这些“发行版”均依赖于对内核修改。这些内核由Lorem(9A466)、SynthetiX(9A499、9A527和9A559)、ToH(9A581、9B13和9B18)等破解。距离现在较近的是一个称为“StageXNU”(目前名为Voodoo)的团队破解了[[Darwin (操作系统)|Darwin]] 9.4.0。正是由于他们的贡献,互联网上可以下载到各種的Mac OSx86安裝器。他们仍在不斷改進和发布新的版本,不只是為了保持与苹果的兼容,也为了与越來越多的第三方組件兼容。 |
|||
=== Mac OS X 10.6 "Snow Leopard" === |
|||
当[[Mac OS X Snow Leopard]]“雪豹”系统发布后,俄国黑客netkas做出了一个能够启动Mac OS X 10.6的Chameleon版本,不过由于某些特殊问题,许多人需要修改[[高级配置与电源接口|DSDT]]或使用特定的[[kext]]。与此同时,黑客modbin和dmitrik也开发出了能够在AMD平台上启动的雪豹内核。Qoopz与Pcj发布了稳定版的雪豹[[XNU]]内核。有很多破解版都是基于官方零售版的,如Universal(只支持Intel平台)、Hazard、Mike™ 和[http://iatkos.me/ iAtkos]. 自从10.6.2的Nawcom后,Qoopz和Andy Vandijck为不支持的CPU开发传统内核(Legacy Kernel)。 |
|||
=== OS X 10.7 "Lion" === |
|||
当苹果发布了第一个开发者版本后,俄国开发者usr-sse2首先找到了破解方法。在[[闪存盘]]中部署OS X Lion镜像,然后通过XPC UEFI引导来启动。Chameleon经过了某些源代码的改动后,修改过的OS X Lion的镜像也可以通过它启动了。Dimtrik(Bronzovka)制作了支持AMD CPU的内核,几个月后带AMD支持的10.7.3破解版与iAtkos L2(10.7.2,仅支持Intel)发布了。<ref>{{Cite web|url=http://www.hackintosh.zone/file/28-nireshs-mac-os-x-1073-v2-with-amd-support/|title=Niresh's Mac OS X 10.7.3 V2 With AMD Support|accessdate=2017-03-10|last=Zone|first=Hackintosh|work=Hackintosh Zone|language=en-US}}</ref> |
|||
=== OS X 10.8 "Mountain Lion" === |
|||
首个开发者预览版释放后,一些开发者使用稍作修改的Chameleon引导成功启动该版本的OS X。[[OS X Mountain Lion]]的安装方式与OS X Lion基本相同,Chameleon等引导及其他工具也随之更新。至于破解版系统,Niresh的10.8(只支持Intel)率先发布,接着更新到了10.8.2(支持AMD与Intel),10.8.5(加入了UEFI支持);<ref>{{Cite web|url=http://www.hackintosh.zone/file/46-nireshs-mac-os-x-mountain-lion-for-amd-and-intel-1085/|title=Niresh's Mac OS X Mountain Lion for AMD and Intel 10.8.5|accessdate=2017-03-10|last=Zone|first=Hackintosh|work=Hackintosh Zone|language=en-US}}</ref>iAtkos ML2紧接着Niresh的10.8发布。 |
|||
=== OS X 10.9 "Mavericks" === |
|||
[[OS X Mavericks]]的安装方式与OS X Mountain Lion基本相同,只是原镜像内核位置改变。许多为10.9设计的新内核仍在开发中,这些内核允许AMD([[AMD 10h|K10]]架构等)和较旧的Intel CPU(如[[Core Duo]])运行,这些CPU缺乏新指令集支持([[SSSE3]]等)。开发者通过模拟的方法让缺少新指令集的CPU支持10.9,但或多或少有一些小问题。从[[AMD Bulldozer|推土机]]架构开始,AMD的CPU几乎包含了所有新指令集,一些为AMD开发的、带有完整{{En-link|SSE4|SSE4}}支持的内核也随之发布。<ref>{{Cite web|url=http://www.hackintoshosx.com/files/file/3736-amd-10910911092-kernel-update-iii-with-full-sse4-support/|title=AMD 10.9/10.9.1/10.9.2 kernel UPDATE III with full sse4 support|accessdate=2017-03-10|work=osx86.net|language=en-US}}</ref>Niresh的10.9破解版支持AMD及最新的Intel CPU,甚至还提供[[英特爾Atom|英特尔Atom]]的内核支持。<ref>{{Cite web|url=http://www.hackintosh.zone/file/75-niresh-mavericks-109-with-amd-intel/|title=Niresh Mavericks 10.9 with AMD & Intel - USB & ISO|accessdate=2017-03-10|last=Zone|first=Hackintosh|work=Hackintosh Zone|language=en-US}}</ref>不过,iAtkos团队选择通过接受捐赠,为特定硬件制作10.9破解版本。 |
|||
=== OS X 10.10 "Yosemite"及之后版本 === |
|||
[[File:Hackintosh-780x495.jpg|缩略图|运行[[OS X Yosemite]]的Hackintosh]]自从[[OS X Yosemite]]首个公开测试版发布,开发者不断更新系统引导器。Niresh(一个独立OSx86开发者)发布了Yosemite Zone,该软件能在非苹果电脑上自动安装新系统,并附带多种实用功能。Yosemite Zone软件通过[[BitTorrent (协议)|BT协议]]下载系统镜像,并使用MacPwn部署到闪存盘进行安装。<ref>{{Cite news|url=http://www.hackintosh.computer/?p=42|title=How to Install Niresh Yosemite (Yosemite Zone) on Your PC|last=Computer|first=Hackintosh|newspaper=Hackintosh Computer|accessdate=2017-03-10|language=en-US}}</ref>使用InsanelyMac的Pandora Box与tonymacx86的UniBeast也可以安装OS X Yosemite。需要注意的是,与之前的系统版本不同,为了保证系统的稳定性,OS X 10.10及之后版本,需要使用未修改的OS X安装程序进行,而非互联网上的破解版,并且尽可能少使用[[可載入核心模組|kext]](驱动)。 |
|||
从[[OS X El Capitan]]开始,UniBeast(和MultiBeast)将原先的Chimera引导(基于Chameleon)替换成Clover引导。 |
|||
Clover、Chameleon、UniBeast、Pandora Box和MacPwn等引导与工具均已支持到[[macOS Sierra]]。<ref>{{Cite news|url=https://www.tonymacx86.com/threads/unibeast-install-macos-sierra-on-any-supported-intel-based-pc.200564/|title=UniBeast: Install macOS Sierra on Any Supported Intel-based PC|newspaper=tonymacx86.com|accessdate=2017-03-10|language=en-US}}</ref><ref>{{Cite news|url=http://www.hackintosh.computer/384/hackintosh-sierra-macpwn-guide/|title=Hackintosh macOS Sierra with with MacPwn|last=Computer|first=Hackintosh|newspaper=Hackintosh Computer|accessdate=2017-03-10|language=en-US}}</ref> |
|||
== 破解方式 == |
|||
=== 内核破解 === |
|||
当OSx86计划刚开始时,开发者发现一些处理器不能正常启动Mac OS X Tiger。[[Rosetta]]是一个二进制转换器,能让Intel处理器执行PowerPC程序(以及当时的系统内核),需要处理器支持[[SSE3]]指令集。为了解决这一问题,OSx86社区的开发者发布了内核补丁,允许处理器通过[[SSE2]]指令集模拟SSE3的指令。2005年10月,苹果向开发者提供10.4.3更新,加入了处理器[[NX位元|NX位]]的需求。<ref>{{Cite news|url=http://www.insanelymac.com/_/osx86/apple-seeds-1043-intel-to-developers-r903|title=Apple Seeds 10.4.3 Intel to Developers - InsanelyMac|newspaper=InsanelyMac Forum|accessdate=2017-03-11|language=en}}</ref>随后社区也发布了相关破解补丁,也提供了对AMD处理器的支持。<ref>{{Cite web|url=http://www.osx86project.org/index.php?option=com_content&task=view&id=56|title=OSx86 Project - Hacked OSx86 Updated to 10.4.3|accessdate=2017-03-11|author=|date=2005-10-30|publisher=|archiveurl=https://web.archive.org/web/20060906225712/http://www.osx86project.org/index.php?option=com_content&task=view&id=56|archivedate=2006-09-06}}</ref> |
|||
在Mac OS X Leopard发布后的数小时内,OSx86社区很快跟进了内核的修改,发布了AMD/Intel SSE2/3的内核修补程序,它能从原始的[[Mach|mach_kernel]]文件(Mac OS核心组件之一)移除对{{En-link|高精度事件计时器|High Precision Event Timer}}(HPET)的要求。 |
|||
OS X Mavericks内核使用了[[SSSE3]]指令,开发者也发布了模拟SSSE3的破解内核。 |
|||
=== 引导程序与EFI === |
|||
[[統一可延伸韌體介面|可延伸韌體介面]](EFI),现名为統一可延伸韌體介面(UEFI),是一个介于操作系统与平台固件的软件接口。因为这种方法并不需要获取与修改macOS源文件,这被认为是在非苹果电脑上安装macOS的最佳合法途径。 |
|||
2007年11月早期,俄罗斯黑客团体Netkas使用了David Elliot(又称作dfe)修改过的Boot-132代码,找到了一个方法 ,让修改过的[[Darwin (操作系统)|Darwin]]启动器模拟EFI环境,从而进入macOS。<ref>{{cite web|url=http://www.tgwbd.org/darwin/boot.html |title=Darwin/x86 Boot Loader |publisher=Tgwbd.org |date= |accessdate=2009-04-28}}</ref><ref>[http://netkas.freeflux.net/blog/archive/2007/11/05/w00t.html netkas.org :: W00t - released<!-- '''reflinks''' title -->]</ref><ref>{{cite web|url=http://tgwbd.org/darwin/boot.html |title=Darwin/x86 Boot Loader |publisher=Tgwbd.org |date= |accessdate=2009-04-28}}</ref>这意味着一个满足最低硬件需求的普通PC, 能被操作系统当作真正的[[Mac系列|Mac]]电脑。由于这种方式不用对内核进行修改,系统能运行地更加透明和稳定。这个创造性方法立刻在网上流传开,DigitMemo.com详细介绍了这个成就以及它的使用方法。<ref>{{cite web|url=http://www.digitmemo.com/articles/734/howto-install-efi-patch-and-enable-vanilla-os-x-kernel-in-hackintosh/ |title=HowTo: Install EFI patch and Use Unmodified OS X Kernel in Hackintosh |publisher=Digitmemo.com |date= |accessdate=2009-04-28}}</ref> |
|||
完全的EFI模拟对于OSx86社区来说是一笔极大的财富。使用这些EFI补丁,Hackintosh能从未修改的内核与内核扩展中启动。这不仅允许系统进行未来的升级,同时也增强了它的稳定性。此方法还绕过了蘋果公司最終用戶許可協議中的某些部分,因为其协议指出修改其非開源部分的操作系統代碼是禁止的。<ref name="EULA2" /> |
|||
2008年中期,一个全新的商业产品EFi-X发布,他们宣称能够完全、简单地从Mac OS X Leopard官方安装光盘中启动安装,并且无需额外修改与补丁。但后来,EFi-X与Rebel EFI(同期的另一个商业产品)被证实使用了经修改的开源Boot-132引导器及OSx86社区的开源软件,而非使用真实的EFI。<ref>{{Cite web|url=http://netkas.org/?p=299|title=DUBL extracted - netkas.org|accessdate=2017-03-11|author=|date=|work=netkas.org|publisher=}}</ref><ref>{{Cite news|url=http://www.tomshardware.com/news/asem-efix-mac-chameleon,8617.html|title=Exclusive Report: EFI-X Mac Booter, A Scam?|date=2009-09-08|newspaper=Tom's Hardware|accessdate=2017-03-11|language=en}}</ref> |
|||
==== Boot-132与Chameleon ==== |
|||
Boot-132由苹果发布,是一个用于加载XNU内核的开源引导程序。<ref>{{Cite web|url=http://wiki.osx86project.org/wiki/index.php/Boot-132|title=Boot-132 - OSx86|accessdate=2017-03-11|work=wiki.osx86project.org|language=en}}</ref><ref>{{Cite web|url=https://opensource.apple.com/tarballs/boot/|title=Source Browser|accessdate=2017-03-11|last=Inc.|first=Apple|work=opensource.apple.com|language=en-us}}</ref>2008年年中,出现了一个新的Boot-132修改版本 。<ref>{{cite web|url=http://www.insanelymac.com/forum/index.php?showtopic=113288|title=New modified BOOT-132 allows you to boot retail DVDs|date=2008-06-30 |accessdate=2009-05-12}}</ref>这种方法允许用户使用从零售店里买来的Leopard光盘,将Mac OS X Leopard直接安装在电脑上,还能直接从Apple上下载更新,而无需使用JaS与Kalyway等破解版本。Boot-132启动器会在系统上加载一个用于启动Leopard的基本环境,引导会将一些必要的文件(如[[Kext]]文件等)放入一个本地文件夹或者转储成一个.img镜像文件。修改后的Boot-132尽管不违反数字千年版权法,但违背了macOS的[[最终用户许可协议]]。<ref>{{Cite web|url=http://www.osnews.com/story/21564/Building_a_Hackintosh_Apple_Can_t_Sue_You_For|title=Building a Hackintosh Apple Can't Sue You For|accessdate=2017-03-11|last=Staff|first=OSNews|work=www.osnews.com}}</ref> |
|||
Boot-132启动器的行为类似于[[Linux]]内核:它使用一个与mboot兼容的启动器,在找到.img文件后会使用里面的kext(或mkext)文件引导系统,这就不用替换光盘里的文件了。然而,这只能运行在那些与系统兼容的机器上。近年来,随着破解内核发布,AMD用户也能运行零售版了。<ref>{{cite web|url=http://code.google.com/p/xnu-dev/|title=xnu-dev|accessdate=2009-05-12}}</ref>不过这些破解内核都需要在装有Boot-132启动器的安装盘上进行烧写。 |
|||
从Mac OS X Snow Leopard的早期开发者版本开始,OSx86社区的成员们使用Netkas的PC EFI或者Voodoo团队的Chameleon(变色龙)引导程序来启动新的系统。Chameleon基于David Elliot的Boot-132开发,支持[[高级配置与电源接口|ACPI]]、SMBIOS、[[显示卡|显卡]]和[[以太网]]等注入。macOS能否在PC上运行取决于其硬件是否被macOS官方驱动或者OSx86社区支持。Chameleon有很多不同的分支版本,目前官方的最新版本为2.2。<ref>{{Cite web|url=http://forge.voodooprojects.org/p/chameleon/|title=Chameleon - Chameleon open source boot loader project.|accessdate=2017-03-11|work=forge.voodooprojects.org|language=en}}</ref> |
|||
==== DUET及UEFI BIOS ==== |
|||
DUET启动器由{{En-link|Tianocore|Tianocore}}开发,它能够让不支持EFI的电脑进入模拟EFI环境。一些基于DUET的启动器(如iBOOT、XPC和Clover),能让电脑在闪存中通过模拟EFI环境来启动macOS。 |
|||
自2011年起,大量使用UEFI BIOS的x86兼容机与主板进入了市场并逐渐流行。OSx86社区的一些开发者通过向UEFI BIOS加入Ozmosis引导,只使用主板的UEFI直接引导macOS,实现类似于Mac电脑的原生功能。<ref>{{Cite news|url=http://www.insanelymac.com/forum/topic/291655-ozmosis/page-1|title=Ozmosis - Ozmosis|newspaper=InsanelyMac Forum|accessdate=2017-03-11|language=en}}</ref>Clover引导器也支持直接从主板UEFI BIOS加载并启动系统。<ref>{{Cite web|url=https://clover-wiki.zetam.org/Technical-Background|title=Technical Background|accessdate=2017-03-11|work=clover-wiki.zetam.org}}</ref> |
|||
=== Live DVD === |
|||
在Live DVD中,您可以使用和安装macOS。2007年3月,OSx86社区制作了Mac OS X 10.4.8的[[Live CD|Live DVD]]版本,并成功引导运行。2009年1月2日,InsanelyMac发布了制作Live DVD的新方法,允许用户使用光盘或USB[[闪存盘]]启动完整的Mac OS X 10.5.x系统。<ref>{{Cite news|url=http://www.insanelymac.com/forum/topic/144128-2009-live-dvd/|title=2009 Live DVD - OS X LiveDVD|newspaper=InsanelyMac Forum|accessdate=2017-03-13|language=en}}</ref>新方法使用了苹果的Netboot和Imageboot功能,只需一个脚本,方便制作。值得注意的是,Live DVD也适用于Mac电脑。 |
|||
=== 虚拟机 === |
|||
使用[[虛擬機器|虚拟机]]软件[[VMware Workstation]]、[[VirtualBox]]可以安装及运行macOS,但这种方式不受官方支持。<ref>{{Cite web|url=https://forums.virtualbox.org/viewtopic.php?f=22&t=31104|title=virtualbox.org • View topic - Important notice regarding Mac OS X as Guest|accessdate=2017-03-13|work=forums.virtualbox.org|language=en-gb}}</ref>因此使用虚拟机运行通常需要对macOS镜像文件或虚拟机软件进行修改(如VMware需要Unlock-all补丁解锁),而且虚拟机对macOS驱动支持不佳,使用模拟的显卡会无法开启[[硬件加速]]。<ref>{{Cite news|url=http://www.insanelymac.com/forum/topic/309556-run-vanilla-os-x-el-capitan-sierra-yosemite-or-mavericks-in-vmware-workstation-12-on-a-windows-host/|title=Run Vanilla OS X El Capitan, Sierra, Yosemite or Mavericks in VMware Workstation 12 on a Windows Host - Tutorials (The Genius Bar)|newspaper=InsanelyMac Forum|accessdate=2017-03-13|language=en}}</ref><ref>{{Cite web|url=https://communities.vmware.com/thread/449453?start=0&tstart=0|title=3D acceleration in an OS X guest ? - VMware Communities|accessdate=2017-03-13|author=|date=|work=communities.vmware.com|publisher=|language=en-US}}</ref> |
|||
==法律问题== |
|||
苹果没有将macOS授权给其他x86电脑使用。从宣布迁移到英特尔平台开始,苹果就采取了一些技术手段(被误认为是[[可信平台模块]],事实上是苹果专门开发的{{En-link|系统管理控制器|System Management Controller}}SMC)<ref>{{Cite web|url=http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/|title="TPM DRM" In Mac OS X: A Myth That Won't Die|accessdate=2017-03-10|last=Singh|first=Amit|work=www.osxbook.com}}</ref>,阻止非苹果电脑运行macOS。<ref>{{Cite web|url=http://news.zdnet.com/2100-9590_22-146879.html|title=DMCA axes sites discussing Mac OS for PCs - Tech News on ZDNet|accessdate=2017-03-10|author=|date=2009-10-16|publisher=|archiveurl=https://web.archive.org/web/20091016095831/http://news.zdnet.com/2100-9590_22-146879.html|archivedate=2009-10-16}}</ref> |
|||
蘋果公司的[[最终用户许可协议]](EULA)并不允許將macOS安裝在一台沒有蘋果商標的硬體上。<ref name="EULA2" />2008年7月3日,蘋果向Psystar公司提起诉讼,宣稱Psystar违反了[[數字千年版權法|数字千年版权法]](DMCA),避开苹果保护macOS的防复制技术。具体来说,苹果指控Psystar通过“避开、绕过、移除、解扰、解密、停用、破坏苹果保护机制”等途径,获取未经授权的代码等。<ref>{{Cite news|url=http://www.computerworld.com/s/article/9121798/Apple_adds_DMCA_charge_to_lawsuit_against_Psystar|title=Apple adds DMCA charge to lawsuit against Psystar|last=Keizer|first=Gregg|newspaper=Computerworld|accessdate=2017-03-10|language=en}}</ref> |
|||
2009年11月13日,法院批准苹果的简要判决。2012年蘋果公司最终贏得了對Psystar的訴訟。<ref name=":0" /><ref>[http://www.groklaw.net/pdf2/Psystar-214.pdf Order Re Cross Motions for Summary Judgement], ''Apple v. Psystar,'' No. C 08-03251 WHA</ref><ref>{{Cite web|url=https://www.engadget.com/2012/05/15/court-refuses-request-to-review-psystar-case/|title=Court refuses request to review Psystar case|accessdate=2017-03-10|work=Engadget}}</ref> |
|||
2008年12月1日,[[连线]]网站的Gadget Lab板块上发布了一则在MSI Wind笔记本电脑上安装macOS的视频教程,但随后被苹果投诉,网站将视频删除。<ref>{{Cite news|url=http://gizmodo.com/5131264/the-netbook-hackintosh-video-apple-made-wired-take-down|title=The Netbook Hackintosh Video Apple Made Wired Take Down|last=buchanan|first=matt|newspaper=Gizmodo|accessdate=2017-03-10|language=en-US}}</ref>尽管文字说明仍存在,但放上了免责声明。<ref>{{Cite web|url=http://blog.wired.com/gadgets/2008/12/gadget-lab-vide.html|title=Gadget Lab Video: Running OS X on a Netbook|accessdate=2017-03-10|author=|date=2008-12-01|publisher=|archiveurl=https://web.archive.org/web/20090313034132/http://blog.wired.com/gadgets/2008/12/gadget-lab-vide.html|archivedate=2009-03-13}}</ref> |
|||
== 參見 == |
|||
*[[蘋果的英特爾平台遷移]] |
|||
*{{En-link|Macintosh兼容机|Macintosh clone}} |
|||
== 参考 == |
|||
{{reflist|2}} |
|||
<!-- |
|||
== 外部連結 == |
|||
[[Category:應用程式接口]] |
|||
*[http://www.osx86project.org/ OSx86計劃主页] |
|||
[[Category:跨平台軟體]] |
|||
*[http://www.insanelymac.com/forum/forum/85-osx86-project/ InsanelyMac论坛上的OSx86社区版块] |
|||
[[Category:繪圖函式庫]] |
|||
*[https://www.tonymacx86.com/ tonymacx86] |
|||
[[Category: |
[[Category:電子遊戲研發]] |
||
[[Category:虛擬現實]] |
|||
[[Category:2015年软件]]--> |
2017年3月13日 (一) 13:36的版本
本用户页目前為「Vulkan (API)」的草稿。 如有任何疑問,請至討論頁發起討論。 |
開發者 | 科納斯組織,基于AMD的Mantle开发[1] |
---|---|
首次发布 | 2016年2月16日[2] |
当前版本 | 1.0.40(2017年2月11日[3]) |
操作系统 | Android、Linux、Tizen、Microsoft Windows[4][5] |
平台 | 跨平台 |
类型 | 3D图形与计算API |
网站 | khronos.org/Vulkan |
Vulkan是一個低CPU开销、跨平台的2D和3D繪圖与计算的應用程式介面(API),[6]最早由科納斯組織在2015年遊戲開發者大會(GDC)上發表。[7][8]科納斯最先把Vulkan API稱為「次世代OpenGL行動」(next generation OpenGL initiative)或「glNext」,但在正式宣佈Vulkan之後這些名字就沒有再使用了。[9]Vulkan基于Mantle而构建,这是由于AMD将Mantle API捐赠给科納斯組織,给予该组织开发底层API的基础,使其成为行业标准。[10][11][12][13][14]
与OpenGL类似,Vulkan針對全平台即時3D程式(如電子遊戲和交互媒体)設計,并提供高效能与更均衡的CPU/GPU使用,這也是Direct3D 12和AMD的Mantle的目標。与Direct3D(12版之前)和OpenGL的其他主要区别是,Vulkan是一个底层API,并且能执行并行任务。除此之外,Vulkan还能更好地分配多个CPU核心的使用。[15]
特性
Vulkan旨在提供其他API缺少的优势特性,例如更低的CPU开销与更直接的GPU控制,大体与Direct3D 12和Mantle类似。[16]
以下是Vulkan相对于上一代API的优势:
- Vulkan API适合高端显示卡,也是移动设备的图形解决方案(OpenGL具有名为OpenGL ES的移动设备API子集,它仍是支持Vulkan设备的备选API)。
- 相比于Direct3D 12,Vulkan与前身OpenGL类似,受多种系统支持。自发布起,Vulkan能在Windows 7、Windows 8、Windows 10、Tizen、Linux与Android上运行(iOS和macOS有第三方支持[17])。
- 降低了驱动程序的开销和CPU负载。[18]
- 通过批量处理(Batching)减少CPU负载,使CPU可以自由地执行更多计算或者渲染任务。[19]
- 在多核心CPU上更好地将任务分配到多个线程。Direct3D 11和OpenGL 4最初为单核心CPU设计,后来出现了优化多核心处理的扩展,不过即使开发者使用该扩展,API对多核心CPU的优化通常也不会很好。[20]
- 对驱动程序的友好性。OpenGL使用高级语言GLSL编写着色器,这使得不同的OpenGL驱动要在程序运行时执行自身特定的GLSL编译器,将程序的着色器转换为GPU可执行的机器代码。而Vulkan驱动将着色器语言预先转化为SPIR-V(Standard Portable Intermediate Representation)的中间二进制格式,类似于Direct3D中HLSL着色器编译的二进制格式。通过着色器预编译,应用程序加载速度提高,并且每个场景可以使用更多种类的着色器。Vulkan驱动只需要做对GPU特定的优化与生成代码,这使得驱动程序更容易维护,驱动程序包更小(目前GPU供应商仍需包括OpenGL和OpenCL的支持)。[21]
- 计算与图形处理的统一管理,无需与单独的计算API配合使用。
另见
- OpenGL,科納斯組織的另一个图形API
- OpenCL,科納斯組織的一个异构计算框架
- Mantle,AMD的底层图形与计算API,Vulkan的基础
- Direct3D,Windows和Xbox独有的图形API
- Metal,iOS和macOS的一个底层图形与计算API
參考資料
- ^ Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts. 2015-03-04 [2015-03-30].
- ^ Khronos Releases Vulkan 1.0 Specification - Khronos Group Press Release.
- ^ https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html
- ^ Bright, Peter; Walton, Mark. Vulkan now official, with 1.0 API release and AMD driver [Updated]. United Kingdom: Ars Technica. 16 February 2016 [18 February 2016].
- ^ Valich, Theo. Mantle Cycle is Complete as Khronos Releases Vulkan 1.0. VR World. 17 February 2016 [19 February 2016].
- ^ Does Vulkan support 2D graphics? - LunarG. www.lunarg.com. [2017-02-17] (美国英语).
- ^ Vulkan : Graphics and compute Belong Together (PDF). Khronos.org. March 2015 [2015-03-05].
- ^ Vulkan - Graphics and compute belong together. Khronos.org. [2015-03-05].
- ^ glNext revealed as Vulkan graphics API. 2015-03-03 [2015-03-30].
- ^ Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor. PCWorld. [2017-02-17] (英语).
- ^ AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs. Community.amd.com. [2015-03-05].
- ^ Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts. ExtremeTech. [2015-03-05].
- ^ AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL. Wccftech.com. 2014-06-20 [2015-03-05].
- ^ Kirsch, Nathan. Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL. Legit Reviews. [2015-03-05].
- ^ Next-generation Vulkan API could be Valve's killer advantage in battling Microsoft - ExtremeTech. ExtremeTech. 2015-03-10 [2017-02-17] (美国英语).
- ^ 引用错误:没有为名为
:0
的参考文献提供内容 - ^ MoltenVK | Run Vulkan on iOS and OS X. Molten. [2017-02-18] (美国英语).
- ^ Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API. Tom's Hardware. 2015-03-03 [2017-02-18] (英语).
- ^ Vulkan: High efficiency on mobile - Imagination Technologies. Imagination Technologies. 2015-11-05 [2017-02-18] (英国英语).
- ^ Vulkan: Scaling to multiple threads - Imagination Technologies. Imagination Technologies. 2015-11-24 [2017-02-18] (英国英语).
- ^ Kessenich, John. An Introduction to SPIR-V (PDF). Khronos Group. [2017-02-18].