对于每个在 Ubuntu 上运行 wine 的设备来说,如果有一个类似 PC 的游戏机,并且只有一个硬件配置,那么与现有的移植到 Linux 或 Valve 即将推出的 DX 到 openGL 系统的解决方案相比,开发人员是否更容易“移植”(在这种情况下更像是配置)游戏?
编辑:只是想添加一些细节以避免混淆
- 我确实说过 ubuntu,但实际上它可以是任何发行版,基于 debian 的仍然是最受欢迎的,所以出于兼容性原因最好使用它。
- 将此视为一种权宜之计,试图吸引开发人员使用 Linux,就像一些应用程序从一开始就预先配置为在 wine 上运行,现在由于销售情况而被移植到 Linux 上本地运行。
- steambox 一直被推迟到明年,如果许多开发人员将任何移植都搁置,我也不会感到惊讶。让游戏在 Wine 上运行比移植游戏要简单得多,而且使用单一配置的软件+硬件,任何人都可以为 Wine 上的游戏做出改进,并且该游戏将在任何其他用户的系统中以相同的方式运行。
答案1
可能不会。
Wine 并非 Ubuntu 独有;它可以在大多数类 Unix 操作系统和几乎所有 GNU/Linux 系统上运行。Wine 可以在 SteamOS 上运行。(SteamOS 实际上与 Ubuntu 并无太大不同——两者都源自 Debian。但 Wine 出现得早于 Ubuntu,并且在与 Ubuntu 截然不同的系统上也能很好地运行。)
因此,如果一款游戏需要 Wine,它只需在 SteamOS 或任何其他 GNU/Linux 操作系统上使用 Wine 即可。访问 DirectX 的替代实现不会阻止 Wine 的使用;如果一款游戏与 Wine 配合使用效果更好,它只需使用该版本即可。每款游戏都可以随 Wine 一起发布(无论哪个版本最适合它),或者Wine 可以被纳入该平台。
你可能会想使用来自 Windows 系统的 DirectX DLL,使用 Wine比使用替代的 DirectX 实现(例如您提到的 Valve 正在开发的基于 OpenGL 的端口)更有效。毕竟,Microsoft DirectX 可以安装在 Wine 中,许多游戏玩家(包括许多 Ubuntu 用户)都在他们的普通 PC 上这样做。
然而,分发Microsoft 的 DirectX 实现如下——部分底层平台或与游戏一起——可能会违反微软的许可。请注意,我不是律师,我可能错了,即使我没有错,这也不是法律建议。此外,DirectX 目前在 Wine 上运行并不完美,并且不能依赖未来版本(即使是小更新)继续像现有版本一样运行。
我想到了一个相关但不同的可能解决方案:传统上,游戏机不需要跟踪游戏之间的许多状态,并且能够非常快速地启动和关闭。对于旨在运行仅有的Windows 游戏,Windows Embedded 似乎在技术上是一个合适的平台选择(尽管它不是免费的开源软件,平台供应商必须向 Microsoft 支付许可费,而且我不确定 Windows Embedded 的当前许可方案是否会促进这种部署)。对于旨在运行可用于 GNU/Linux 或可以通过合理努力移植到 GNU/Linux 的游戏的控制台,GNU/Linux 系统可能是最合适的。这些需求的自然综合将是一个双启动控制台,只需启动游戏所需的任何操作系统即可。如果平台支持同时运行非游戏应用程序,它们可能会更具可移植性,并且可以同时提供适用于两种操作系统的版本,否则,它们可能不会占用大量图形或其他资源,因此可以使用虚拟化。