<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>QEMU &#8211; mylogs.cn</title>
	<atom:link href="https://mylogs.cn/tag/qemu/feed/" rel="self" type="application/rss+xml" />
	<link>https://mylogs.cn</link>
	<description>发现、记录、分享</description>
	<lastBuildDate>Sun, 09 Aug 2026 02:49:52 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>QEMU 虚拟机终于有了 DX11 驱动，Windows 客户机能跑游戏了</title>
		<link>https://mylogs.cn/qemu-triton-directx-11-driver/</link>
					<comments>https://mylogs.cn/qemu-triton-directx-11-driver/#respond</comments>
		
		<dc:creator><![CDATA[steve, zhang]]></dc:creator>
		<pubDate>Sun, 09 Aug 2026 02:49:37 +0000</pubDate>
				<category><![CDATA[科技]]></category>
		<category><![CDATA[DirectX 11]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[UTM]]></category>
		<category><![CDATA[Windows 虚拟机]]></category>
		<category><![CDATA[图形加速]]></category>
		<category><![CDATA[开源]]></category>
		<category><![CDATA[虚拟机]]></category>
		<guid isPermaLink="false">https://mylogs.cn/qemu-triton-directx-11-driver/</guid>

					<description><![CDATA[在虚拟机里跑 Windows 游戏，长期以来都是一件“能用但不好用”的事。开源虚拟化方案 QEMU 一直缺少面 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">在虚拟机里跑 Windows 游戏，长期以来都是一件“能用但不好用”的事。开源虚拟化方案 QEMU 一直缺少面向 Windows 客户机的现代图形加速能力，桌面拖动卡顿、三维游戏干脆黑屏，是许多开发者和折腾爱好者共同的记忆。7 月 24 日，虚拟机前端工具 UTM 的开发团队公布了一个名为 Triton 的新项目，为 QEMU 补上了这块空白——完整的 DirectX 11 支持。</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6a782a1bb461a&quot;}" data-wp-interactive="core/image" data-wp-key="6a782a1bb461a" class="wp-block-image size-large aligncenter wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1200" height="600" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://mylogs.cn/wp-content/uploads/2026/08/c3d6ab8b2287f0bcb85711a8c43b466a_header.webp" alt="QEMU 虚拟机终于有了 DX11 驱动，Windows 客户机能跑游戏了" class="wp-image-4141" style="max-width:100%;height:auto;" srcset="https://mylogs.cn/wp-content/uploads/2026/08/c3d6ab8b2287f0bcb85711a8c43b466a_header.webp 1200w, https://mylogs.cn/wp-content/uploads/2026/08/c3d6ab8b2287f0bcb85711a8c43b466a_header-300x150.webp 300w, https://mylogs.cn/wp-content/uploads/2026/08/c3d6ab8b2287f0bcb85711a8c43b466a_header-1024x512.webp 1024w, https://mylogs.cn/wp-content/uploads/2026/08/c3d6ab8b2287f0bcb85711a8c43b466a_header-768x384.webp 768w" sizes="(max-width: 1200px) 100vw, 1200px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">图片来源：UTM / GitHub</figcaption></figure>





<h2 class="wp-block-heading">换了一条技术路线</h2>



<p class="wp-block-paragraph">在 Triton 之前，社区尝试过一种“偷梁换柱”的做法：把开源实现的 d3d11.dll 和 dxgi.dll 直接丢到游戏目录里，让程序加载这些替代文件而不是 Windows 自带的系统库。这种办法确实能让部分游戏跑起来，但代价明显。</p>



<p class="wp-block-paragraph">UTM 团队在技术博客中列出了三个硬伤：一是性能上不去，桌面合成器把画面当成一张普通图片处理，需要用处理器把显存里的图像逐帧搬到窗口位置，桌面体验不可能流畅；二是这两个文件属于系统核心组件，无法整体替换，带反作弊机制的游戏还会把这种改动直接判定为作弊；三是每装一个游戏就要复制一次文件，谈不上什么使用体验。</p>



<p class="wp-block-paragraph">Triton 走的是另一条路——不去实现 DirectX 的应用接口，而是实现设备驱动接口，也就是显卡厂商真正要做的那一层。应用程序照常调用系统的 Direct3D 库，系统再把整理过的指令交给驱动，驱动通过虚拟化通道把活儿甩给宿主机。整套链路里，Windows 客户机看到的是一块“正常显卡”，而不是被人动过手脚的系统文件。</p>



<h2 class="wp-block-heading">为什么没照抄现成方案</h2>



<p class="wp-block-paragraph">开源世界里能参考的样本极少。团队提到，Mesa 项目有一个 DirectX 10 的用户态驱动，但受限于苹果系统上虚拟图形渲染组件的功能缺失，无法直接沿用；VirtualBox 拥有目前唯一可用的开源 DirectX 11 用户态驱动，却被两个理由排除在外。</p>



<p class="wp-block-paragraph">第一是技术上的顾虑。VirtualBox 的做法是把驱动接口调用先编译成一种中间字节码，再由宿主机把字节码还原成 DirectX 调用。多出来的这道转换意味着更多延迟和更多出错机会，社区论坛上大量游戏在 VirtualBox 中跑不起来，正与此有关。第二是许可协议不兼容，VirtualBox 采用的协议与 QEMU 和虚拟图形渲染组件所用的宽松协议存在冲突，代码无法直接引入。</p>



<p class="wp-block-paragraph">Triton 的思路更取巧：既然系统的 Direct3D 库负责把接口调用翻译成驱动指令，那驱动这一侧干脆做一次“逆向翻译”，把指令还原回标准的 DirectX 调用，再交给此前已经跑通的传输层送到宿主机。宿主机收到的东西本身就是可以直接执行的调用，省掉了解释器这一整个环节。</p>



<h2 class="wp-block-heading">苹果电脑上的进展与遗留问题</h2>



<p class="wp-block-paragraph">在 Linux 宿主机上，画面最终由 DXVK 转译成 Vulkan 完成渲染，已经能看到 Windows 桌面合成正常工作。苹果电脑这边情况更复杂：Vulkan 本身要再经过一层转译才能落到 Metal 上，稳定性和兼容性都有欠缺。团队因此把重心放在 DXMT 上——这个项目跳过中间环节，直接把 DirectX 11 翻译成 Metal，团队为它做了原生版本的分支，补上了共享纹理和共享栅栏这两项虚拟化必需的能力。</p>



<p class="wp-block-paragraph">按照官方说法，目前这套驱动的稳定性还谈不上成熟，部分场景仍会崩溃，也尚未随 UTM 正式版本发布。相关代码已经分散在多个开源仓库中公开，包括 QEMU 的定制分支、虚拟图形渲染组件的分支以及 DXMT 的原生化改造版本，愿意自行编译的用户可以提前尝鲜。</p>



<p class="wp-block-paragraph">对普通用户来说，这件事的意义或许要等到功能正式集成进 UTM 之后才能体会。但对开源虚拟化生态而言，QEMU 第一次在 Windows 客户机上拥有了完整的现代图形驱动栈，这条路走通本身就比跑起哪一款游戏更重要。</p>



<p class="has-small-font-size wp-block-paragraph">来源：UTM Blog</p>

]]></content:encoded>
					
					<wfw:commentRss>https://mylogs.cn/qemu-triton-directx-11-driver/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
