Proton: 编解码器和媒体框架支持元跟踪器

创建于 2018-09-15  ·  176评论  ·  资料来源: ValveSoftware/Proton

致所有阅读此问题报告和主题的人:

我已将表迁移到我的存储库https://github.com/HonkingGoose/proton_codecs_media_support_tracker
如果要更新表条目,可以在那里打开拉取请求。 :眨眼:
这样我就不需要自己跟踪变化了。


Proton 5.13-1 对某些游戏进行了改进。 一些quartz游戏现在可能会开始运行。

原始评论在这里

5.13-1 中基于 Media Foundation 的游戏不会有任何改进。

我们在 5.0 和 5.13 之间投入了大量工作来改进石英视频,所以一些游戏可能会开始工作(我没有特定的标题,抱歉)。 如果您现在看到彩条图案出现,这表明我们在某些编解码器上的工作。 您很快就会看到真实的视频而不是那些彩条。


功能要求

我确定:

  • [X] 我还没有找到这个功能的另一个请求。 从技术上讲,有多个请求,但它们分散在多个问题报告之间。
  • [x] 我已经检查过我的系统是否有可用的更新
    已经包含此功能。

描述

有多种游戏使用 .wmv(Windows 媒体视频)文件来制作过场动画/过场动画。 这些文件不会在使用 Proton 的标准游戏安装中在游戏中播放。

因为我已经看到多个关于 .wmv 文件播放的错误报告,我想提出一个通用请求,所以它不会在所有特定游戏问题之间迷失。

理由

有多个游戏存在 .wmv 文件播放问题,这些游戏使用 .wmv 进行过场动画,因此是使用它的游戏故事和体验不可或缺的一部分。

对于#137,.wmv 文件的修复可能会使游戏为官方白名单流程做好准备。
实施此功能后,可能还有其他游戏也有资格列入白名单。

集成到 Proton 将修复下面引用的游戏的 .wmv 文件播放。

风险

  • .wmv 文件播放的修复可能会破坏 Proton 中的其他内容。
  • 可能存在与包含 .wmv 文件播放相关的其他一些未知风险,例如与包含 .wmv 编解码器/播放相关的专利/IP 问题。

参考

可以从编辑历史中看到旧表。 不过,我建议您在我的存储库中使用较新的表。

Feature Request

最有用的评论

问题是明白的。 我们需要一个 mfplat 实现(我们有一个开发人员在做这个),我们需要决定 WMV 和其他编解码器的许可方式。

将游戏分为两类(mfplat 用户和石英用户)并列出每个游戏使用的编解码器可能会很有趣。 这实际上是我们内部正在处理的事情,所以我不会特意收集这些信息。 但是,如果您已经拥有该信息并想对其进行排序,请随意。

所有176条评论

问题是像 Obduction 这样的游戏需要 Windows Media Foundation/Windows Media 功能支持,因为它们使用的 dll 不是由 WMP 等 wmv 播放器安装的。 https://github.com/ValveSoftware/Proton/issues/327

因此,它不仅能够播放视频,而且确实需要这个 dll(以及与之相关的任何其他内容)来播放视频。 如果在 Windows 版本中使用此 dll 进行视频播放,则 UE4 游戏都可以选择是否需要此 dll。 也可能是 Unity 游戏。

虽然,只要游戏可以找到(并使用)它的某个版本,它甚至可能只是一个使用不同方式的模拟版本。

虽然,据我从互联网上的各种帖子中了解到,有些游戏似乎可以通过安装 WMP 来解决问题,但最好是全力以赴,支持的不仅仅是简单的 wmv 格式。 WMV 是整个馅饼的一部分。

@byte1024哦,我不知道除了修复“简单”的 .wmv 文件播放之外可能还需要更多。

我正确理解你的观点:

  1. 某些游戏还需要 Windows Media Foundation 和/或 Windows Media 功能支持。
  2. 这些游戏使用一个 dll(以及与此 dll 相关的所有内容),而该 dll 不是由 WMP 等 wmv 播放器安装的。
  3. 因此,仅仅修复 .wmv 播放并不能解决游戏播放的全部问题。
  4. 因此最好实现对整个“Windows Media Foundation 和/或 Windows Media Feature”框架的支持。

@byte1024哦,我不知道除了修复“简单”的 .wmv 文件播放之外可能还需要更多。

我正确理解你的观点:

1. Some games also require Windows Media Foundation and/or Windows Media Feature support.

2. Those games use a dll (and all that is tied to this dll) which is not installed by a wmv player like WMP.

3. Therefore just fixing .wmv playback will not solve the whole problem games have with playback.

4. So it's better to implement support for the whole "Windows Media Foundation and/or Windows Media Feature" framework.

看起来可能还有更多。 我在您发布的所有链接(此处:https://github.com/ValveSoftware/Proton/issues/137)中找到的唯一日志需要quartz.dll 来查找系统编解码器并使用fmod 来获取游戏中的声音。

该日志显示了在quartz.dll 中使用的一些东西无法找到:

41489.934:0008:0032:err:quartz:GetClassMediaFile Media class not found
41489.935:0008:0032:err:quartz:GetClassMediaFile Media class not found
41489.936:0008:0032:err:quartz:GetClassMediaFile Media class not found

这就是我在该日志中注意到的全部内容,但是当您知道正在播放的视频的文件名时更容易找到这些内容,因为如果在日志中找到它,搜索就会直接进行。

并解释说 Wine 的quartz.dll 是假的并且丢失了东西。
https://www.winehq.org/pipermail/wine-users/2002-November/009217.html

并且相应的日志条目显示这仍然是正确的:
41489.932:0008:0032:trace:module:load_dll L"C:\\windows\\system32\\quartz.dll" is a fake Wine dll

有些人似乎说石英是 WMP 安装的一部分,但石英也是 DirectShow(DirectX 媒体),它被我提到的 WMF 取代。 https://en.wikipedia.org/wiki/DirectShow

并且微软还在 DirectShow 的新增内容部分提到了 WMF: https :

这是一个媒体馅饼,所有这些都是其中的一部分,但 Wine 一直在失败,现在 Proton 也是如此。

Wine 有一个 directshow 实现,它依赖于 gstreamer。 由于我们不能依赖安装了 gstreamer 的系统,我们需要使用 Proton 构建和发布它。 更糟糕的是,我们还需要发布可能存在专利/许可问题的编解码器。 它还没有被调查。

Wine 还没有 MF 实现。 有一些工作正在做,但还没有准备好。 如果有人希望为 Wine 做出贡献,那可能是一个不错的起点。

+1

我尝试了很多不同的配置。
编解码器包/wmp 没有任何成功。
Proton 中的 VLC 会播放这些视频,所以应该是可能的。

试过 Proton 3.16-4 beta 和 3.7-8
显卡:AMD RX580

@niikoo感谢您的尝试。 :微笑:

我必须承认,我对这个问题的了解非常有限。 @aeikum比我更了解这件事......所以@aeikum ,你能不能

VLC 有它自己的编解码器,afaik。

+1

它会影响所有 Blazblue 游戏。 我尝试将石英手动安装到它们的前缀中,这不适用于质子前缀,但可以使用普通的酒。

这也会影响新的 RE2

您好@james-munson,您共享的库不是免费的,重新分发它们是有问题的。

将我刚刚提到的六款游戏添加到列表 (Windows Media Foundation) 中。

嗨@kisak-valve,我正在考虑更改此列表的布局/格式。 但我首先需要您的指导/批准。

问题描述:

  • 该列表变得非常庞大和笨拙。
  • 我不确定这个列表在当前的格式中是否真的有用。
  • 当前列表似乎主要集中在 Windows Media Foundation 支持问题上,因此重新调整列表可能是有意义的。

现在的情况:

  • 大名单,有很多子类别。
  • 缺乏对需要修复的确切问题的关注( .wmv / WMP9 / WMP10 / WMF )。
  • 我的体力劳动使游戏进入正确的子类别( .wmv / WMP9 / WMP10 / WMF )。

建议情况:

将问题标题更改为:“[功能请求] 将 Windows Media Foundation 支持添加到 Proton”,以便包括所有当前问题,而不管当前的子类别如何。
删除子类别,只有一个类别:缺乏WMF支持的游戏

给你的问题:

  • 您对当前格式的看法?
  • 子类别,是/否?
  • 是否允许将问题重命名为[功能请求] 向 Proton 添加 Windows Media Foundation 支持
  • 是否允许删除子类别以仅支持一个类别?
  • 我是否应该删除以下部分:“关于潜在修复的想法:”?

最好询问 Proton 开发人员,但我认为最好将其拆分为涉及的单个组件,否则单个游戏的注释更有价值。 一般的想法是每个问题报告应该有一个可操作的问题。

我的印象是,此功能请求的目的是使编解码器可用,并且随着时间的推移,获得该编解码器所需的框架也在慢慢涌现。

是的,这个列表不再是“每个报告一个可操作的问题”。 我同意您的看法,将其拆分为它们的组件可能会更清晰。

问题是,我自己也不知道该找什么。 我不知道各个组件,所以我需要帮助来解决这个问题。 我不知道哪些部分与编解码器相关,哪些部分与框架相关。 如果开发人员给我一份关于什么是编解码器和框架以及如何对游戏进行分类的列表,我会自己拆分成新的问题。

您能否让开发人员查看一下,并给出他们的意见/指导? 我不知道谁会是为此 ping 的开发人员,您可能知道谁对此最了解。

大多数使用.wmv 文件的旧游戏需要quartz.dll,然后还有大多数新游戏需要的新mfplat.dll。

目前有一种解决方法可以将 mfplat.dll 手动安装到前缀中: https ://old.reddit.com/r/linux_gaming/comments/ajyx51/resident_evil_2_playable_with_the_latest_dxvk_and/ef0pqem/

我不知道 mfplat.dll 是否或扩展到什么范围可以替换quartz.dll 以使播放适用于较旧的游戏。

问题是明白的。 我们需要一个 mfplat 实现(我们有一个开发人员在做这个),我们需要决定 WMV 和其他编解码器的许可方式。

将游戏分为两类(mfplat 用户和石英用户)并列出每个游戏使用的编解码器可能会很有趣。 这实际上是我们内部正在处理的事情,所以我不会特意收集这些信息。 但是,如果您已经拥有该信息并想对其进行排序,请随意。

@aeikum感谢您对如何组织这个问题的评论和指导。

我已经尽可能将所有这些游戏分为两类。 我在他们各自的质子日志中搜索了石英mf并记录了结果。

我发现有些游戏的问题还没有一个干净的质子日志,我已经在他们各自的问题中发表了评论,要求提供一个干净的质子日志。

我已经删除了我的部分“关于潜在修复的想法”,因为您已经有更多知识渊博的人在研究它。 :微笑:

1649使用quartz,视频使用wmv3和wma2

此手动修复适用于需要 mfplat.dll 的游戏

https://github.com/doitsujin/dxvk/issues/728#issuecomment -459839962

感染者3:启示录
https://github.com/ValveSoftware/Proton/issues/2193还需要 mfplat 支持。

Dead or Alive 6 的故事模式似乎需要 MediaFoundation,而在线多人游戏、控制器和其他一切似乎都可以工作。

@z0z0z Dead or Alive 6 还没有未解决的问题,所以我在列表中添加了应用程序 id 的 github 搜索链接。

当有正确的问题报告时,我将修复 DoA 6 的列表。

编辑:现在在#2420 有一张 DoA6 的票,所以我编辑了我的列表,包括这张票。

实现这一点几乎可以立即通过质子提供很大比例的游戏。

实施起来有那么难吗?

实施起来有那么难吗?

他们实施了一些部分,需要一些时间才能完全实施。 他们已经到了一半,所以不用担心。

但是,如果我在 protoprefix 中通过 winetricks 安装像石英这样的软件,那么某些游戏可能会运行基于视频的过场动画吗?

@vjr2请阅读此消息: https :

@vjr2你必须安装 wmp10 之类的东西,它不能安装在 64 位前缀中,而质子只有 64 位

Steam 上的零逃逸系列需要石英和 MP43 编解码器。 (至少 999)
https://github.com/ValveSoftware/Proton/issues/1893#issuecomment -478333802

有谁知道如何让它工作?

@basxto如果它这么简单,我会感到惊讶,但是如果您想尝试一下,可以在此处获得 64 位 WMP 11:

https://www.microsoft.com/en-us/download/windows-media-player-details.aspx

我编写了一个脚本来轻松地在 Wine 前缀中安装 Media Foundation 支持。

绝对支持这一点。 很高兴看到它正在开发中。

嗨@kisak-valve,Proton 团队是否考虑过用quartzMedia FoundationWMVcore.dll等标签标记相关问题? 或者这只会用标签/标签弄乱问题跟踪器? 也许这会提供比我的列表更简单的搜索问题跟踪器的方法?

我只是在问,我不是在推动或反对标签。 :微笑:

@HonkingGoose我进行了更多测试,以下是更多游戏的一些附加信息:

1319

使用的编解码器:WMV、VC-1 + WMA
石英“76044.767:0028:002d: err:quartz :GetClassMediaFile 未找到媒体类”

1781

使用的编解码器:WMV、VC-1 + WMA
日志中提到了“Microsoft.Xna.Framework.Video.dll”,可能是石英?

2576

使用的编解码器:WMV、VC-1 + WMA

829

使用的编解码器:WMV、VC-1 + WMA
石英“3241.574:0027:0028: err:quartz :GetClassMediaFile 未找到媒体类”

(我已经在每个问题中发布了质子和媒体信息日志)

感谢@AwesamLinux的测试工作。 我已经用你的发现更新了我的清单。

星球大战原力释放 2 - 根本没有过场动画:

0082:err:quartz:GetClassMediaFile 找不到媒体类
0082:fixme:quartz:VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator (0x20ce648/0x20ce438)->(...)存根
0082:err:quartz:GetClassMediaFile 找不到媒体类
0082:fixme:quartz:VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator (0x20ce648/0x20ce438)->(...)存根
0082:err:quartz:GetClassMediaFile 找不到媒体类
0082:fixme:quartz:VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator (0x20ce648/0x20ce438)->(...)存根
0082:err:quartz:GetClassMediaFile 找不到媒体类
0082:fixme:quartz:VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator (0x20ce648/0x20ce438)->(...)存根
009b: fixme: imm :ImmReleaseContext ((nil), (nil)): 存根

imagen

@corvusd感谢您的评论,我已将游戏和编解码器添加到列表中。

1199

使用的编解码器(Unity 视频播放器):H.264、AAC、MP3
使用的编解码器(基于AVPro的视频播放器):几乎所有 AVPro 都旨在获得广泛的支持。

666 - 没有介绍/教程视频,石英

$ ffprobe FMV_Intro_OneShot.avi

Input #0, avi, from 'FMV_Intro_OneShot.avi':
  Metadata:
    encoder         : MEncoder SVN-r33883(20110719-gcc4.5.2)
  Duration: 00:00:51.60, start: 0.000000, bitrate: 4298 kb/s
    Stream #0:0: Video: wmv2 (WMV2 / 0x32564D57), yuv420p, 1280x720, 4159 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, fltp, 128 kb/s

一定有! 哥特舰队哥特舰队任务“绿巨人”的问题现在已解决。

您可以将 GTA5 添加到列表中,但影响尚不清楚,因为它对某些人有效。

@h1z1由于缺少mfplat:mfsourceresolver_CreateObjectFromURL的实现,GTA V 中的 Self Radio 无法工作

第2316章游戏卡住介绍

NickelodeonLogo.mp4 编解码器:

Video: MPEG4 Video (H264) 1920x1080 30fps 275kbps [V: h264 main L4.0, yuv420p, 1920x1080, 275 kb/s]

TorusLogo.mp4 编解码器:

Video: MPEG4 Video (H264) 1920x1080 29.97fps 15602kbps [V: Core Media Video (h264 high L4.0, yuv420p, 1920x1080, 15602 kb/s)]
Audio: AAC 48000Hz stereo 256kbps [A: Core Media Audio [eng] (aac lc, 48000 Hz, stereo, 256 kb/s)]

日志

WindowsVideoMedia error 0x80004001 while reading ...
Context: Turning DXVA off
Error details: <Empty>

1905年

UE4游戏。
冻结在日志中写入消息的视频:
Could not find a native player for file ....mp4
mf.dllmfplat.dll似乎在日志中被提及。

通过星球大战原力释放 II 确认 Proton 4.11 仍在发生这种情况:

8865.353:0027:002f:err:quartz:GetClassMediaFile 找不到媒体类
68865.355:0027:002f:err:quartz:GetClassMediaFile 找不到媒体类
68865.357:0027:002f:err:quartz:GetClassMediaFile 找不到媒体类
68865.357:0027:002f:fixme:quartz:VMR9SurfaceAllocatorNotify_AdviseSurfaceAllocator > (0x1cf68c/0x1cf2f0)->(...) 存根

安装 xact:

env WINEPREFIX=/$PATH/Steam/steamapps/compatdata/32500/pfx/ winetricks xact

对一些任务场景有帮助,但对其他场景没有帮助。

游戏仍然会跳过介绍和结束任务的重要故事场景。

关于这个问题的任何更新
这太需要了

就像DX调用转为原生Linux Vulkan调用一样,我想也许可以将WMP调用转为原生VLC调用,这样视频就可以播放了,当然,如果安装了VLC,那总比没有好

@DanielRios549是的,这绝对有可能。

Codeweavers 的员工告诉我,Wine 已经能够将媒体播放通过管道传输到 gstreamer。

我还被告知 Proton 的 Wine 没有内置 gstreamer 支持,但不要兴奋,因为我从来没有玩过任何带有 .wmv 视频播放功能的游戏来播放视频,即使 Wine 内置了 gstreamer 支持和所有 gstreamer 插件我知道已安装(包括 gst-libav 和 lib32-gst-libav)。

这可能是除反作弊之外阻止 Windows 游戏运行的第二大问题,我希望有一个解决方案。

这最终必须发生。

像 EAC 和 wmv 播放这样的质子阻滞剂需要整理出来。

在 2019 年 9 月 30 日星期一下午 1:46,z0z0z [email protected]写道:

@DanielRios549 https://github.com/DanielRios549是的,这绝对是
可能的。

Codeweavers 的员工告诉我,Wine 已经有能力
管道媒体播放到 gstreamer。

我还被告知 Proton 的 Wine 不是用 gstreamer 支持构建的,
但不要兴奋,因为我从来没有玩过任何带有 .wmv 视频的游戏
播放以播放视频,即使使用支持 gstreamer 的 Wine 也是如此,以及
我所知道的所有 gstreamer 插件都已安装(包括 gst-libav 和
lib32-gst-libav)。

这可能是阻止 Windows 游戏的第二大问题
除了反作弊之外,我希望有一个解决方案。


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1464?email_source=notifications&email_token=AK3OXTUDVFFCAFGN22BA7O3QMGHDXA5CNFSM4FVJPG5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LODNMX5KY300000000000000000000000000000000000000000000001同
或静音线程
https://github.com/notifications/unsubscribe-auth/AK3OXTRVZVO4QEIDOT3PF23QMGHDXANCNFSM4FVJPG5A
.

aeikum 上面解释了为什么禁用 gstreamer 支持
这仅适用于 DirectShow(石英),但不适用于媒体基金会,据我所知,它旨在取代另一个

@basxto Media Foundation 旨在替换旧的视频播放 API,但支持 Media Foundation 的 Wine 不会帮助任何使用这些 directshow/quartz/wmp 播放方法的旧游戏。

也会影响“Blacksad:Under The Skin”(Unity)。 使用媒体基础 + h264。

@adamdmoss

有关重命名游戏中所有视频文件的脚本,请参见此处。 您还可以使用提供的第二个脚本恢复视频文件名。 第三个脚本也可以创建 0 字节的视频文件。
https://gist.github.com/BillFleming/9cf58245c5544896181ce99cb108edb5

Darksiders Genesis也使用媒体基金会。

嗨@ahmed-elsayed2017,Darksiders Genesis (710920) 目前没有问题。 如果您有游戏,您能否制作一份新的问题报告,以便我们可以跟踪它在 Proton 中的表现?

@HonkingGoose我在这里遇到了游戏 Darksider Genesis 中的另一个人的问题,不确定是否是同样的问题https://steamcommunity.com/app/710920/discussions/0/1754645970777594912/?tscn=1575636461
让我知道我可以提供什么帮助。

嗨@ahmed-elsayed2017,Darksiders Genesis (710920) 目前没有问题。 如果您有游戏,您能否制作一份新的问题报告,以便我们可以跟踪它在 Proton 中的表现?

我有这个游戏的 GOG 版本,我用 wine-staging 运行它,它需要<Removed by moderator>

您好@ahmed-elsayed2017,您推荐的解决方法在法律上有问题,已被删除。 还有其他方法可以从 64 位 Windows 7 安装中获取 Media Foundation 库,但我们不能容忍第三方分发受版权保护的库。

@nguyennb9 ,您可以通过打开游戏的问题报告来提供帮助。 :)

填写此表格以创建新问题。

一些技巧:

  1. 使用此链接检查是否还有其他人为此游戏创建了问题。
  2. 可以在游戏的商店页面上找到Steam 应用程序 ID ,此特定游戏的 ID 为 710920。
  3. 问题的标题应该是:Darksiders Genesis (710920)
  4. 您可以通过用[x]标记框[ ]来勾选框(不要在框中留下空格,这将无法正确呈现勾号)。

您可以找到游戏的启动选项,如下所示:

  1. 打开 Steam 客户端。
  2. 转到库视图。
  3. 右键单击暗黑血统创世纪。
  4. 从出现的菜单中,选择属性。
  5. 然后选择设置启动选项。

请将PROTON_LOG=1 %command%到游戏的启动选项中,然后开始游戏。
Proton 日志将在您的主目录中创建。 它将被称为: steam-710920.log
将日志拖放到您的问题报告中。 它应该上传日志。
如果日志太大,请使用您选择的工具压缩日志,Proton 日志应该可以很好地压缩。

我希望这有助于您入门。

你好,

糟糕,我按照非官方指南安装 mfplat,但我不知道如何回滚。 该游戏在修复后运行,因此我认为它与 mfplat 存在相同的问题。

是否可以跟踪所有mfplat / mf库调用? 我想研究一下 Spyro Reignited Trilogy(因为缺少过场动画似乎会影响使用 Xbox 控制器上的 Y 按钮的能力)。

当我查看用户在 #3035 提交的日志时,我只找到了这个参考

7299.566:0030:0031:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\mfplat.dll" at 0x13690000: PE builtin
7299.566:0030:0031:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\mf.dll" at 0x6aa00000: PE builtin

编辑:弄清楚。 在网上做了一些研究,发现它被称为mfplat

也可以将 #3400 添加到此列表中。 在 wmv 文件上失败,使用我们不谈论的有争议的脚本'围绕这些部分也不会修复它。

嗯,可以在游戏实例中打开VLC的实例吗? 我只是在这里吐槽,因为这是一个很大的问题,使我无法在 Steam 上玩我一直以来最喜欢的游戏之一,凯瑟琳。
在这个帖子中说 Proton VLC 可以运行视频,所以可以以任何身份完成吗?
编辑:刚刚试了一下,凯瑟琳的视频也可以在 VLC 中播放,没有任何问题。

这些游戏不使用 libVLC。

我知道了。 这一切都超出了我的范围,我希望我能为讨论做出更大的贡献。

也会影响天空中的轨迹 (251150)

作为一种可能“合法”发货的解决方法; 是否有可能让游戏开发者同意 Steam 提供他们视频的 AV1 转码版本,并让 Proton 提供一个 DLL 兼容性,自动播放替代的 AV1 视频而不是游戏包含的内容?

作为一种可能“合法”发货的解决方法; 是否有可能让游戏开发者同意 Steam 提供他们视频的 AV1 转码版本,并让 Proton 提供一个 DLL 兼容性,自动播放替代的 AV1 视频而不是游戏包含的内容?

说起来容易做起来难。 许多游戏开发者不知道 Linux 是什么,也不关心。 实际上,当 Google 宣布 Stadia(这是一个优化的 Debian Linux 发行版)时,游戏公司聘请了其他人将他们的游戏移植到 Stadia,许多游戏因此而延迟。

所以要明确一点,这更像是一个法律问题而不是技术问题,对吗? 我可以投资检查 WINE 的工作原理,但如果这是一个法律问题,那就没有多大意义了。

只是解决这个问题对 Valve 来说可能是件好事,因为现在很多 Windows 游戏都可以运行,SteamOS 将是一个合适的替代操作系统,Steam Machine 或许可以复活,或者至少可以成为对抗微软的安全保障。 Linux“控制台”会很好,AMD现在有合适的驱动程序等等。 当然,这对 Linux 游戏玩家来说也是非常好的。 在出现更多 Windows 兼容性之前,Linux 游戏将被视为利基市场。

@ unit73e这是一个技术问题。 在几乎每个 Wine 版本中,Zebediah Figura 都推送了 dshow/quartz/wmp/wmv 的提交,这些内容是使用视频文件播放游戏所需的内容。 我们只是在等待 Wine 开发人员弄清楚,我相信这并不容易。

@z0z0z感谢您提供信息。 在这种情况下,我也将开始检查源代码历史记录。 很高兴知道他们正在努力。 也许我们会比预期更快地拥有此功能。

我们(意思是 Valve)如何只从 Microsoft许可丢失的新旧框架和编解码器? 我可以为“质子高级 DLC”付费。 是的,微软可以拒绝或收取过高的费用,但最近他们似乎更合理,而且对他们来说看起来很糟糕。

(也许其中一些甚至可能在 Windows 上有用,以提高旧游戏与 Windows 10 的兼容性。)

我们(意思是 Valve)只是_license_微软缺少的新旧框架和编解码器怎么样? 我可以为“质子高级 DLC”付费。

Valve 为 Linux 用户提供了一个免费的解决方案,你想让他们向 Linux 用户收费只是为了把它交给微软?!!!

Wine 开发人员会像处理其他所有事情一样解决这个问题。

我们(意思是 Valve)只是_license_微软缺少的新旧框架和编解码器怎么样? 我可以为“质子高级 DLC”付费。 是的,微软可以拒绝或收取过高的费用,但最近他们似乎更合理,而且对他们来说看起来很糟糕。

(也许其中一些甚至可能在 Windows 上有用,以提高旧游戏与 Windows 10 的兼容性。)

我同意。
是针对这个特定问题的更实用的解决方案......很多游戏都可以通过这个列入白名单。

恕我直言,我们了解这个问题并计划解决它。 这是一个很难的问题。 我们正在努力。 请耐心等待。

我们正在努力。 请耐心等待。

明白了。 我并不是要听起来不耐烦,只是建议 a) 有时人们可以花钱解决问题; b) 我不希望免费获得所有东西。 (......然后回到潜伏的状态。)

明白了。 我并不是要听起来不耐烦,只是建议 a) 有时一个人_可以_向问题扔钱; b) 我不希望免费获得所有东西。 (......然后回到潜伏的状态。)

如果您愿意为某个问题付费,请开始为 WINE 和 CodeWeavers 开发人员捐款,这些开发人员每天都在为您和使用 Linux 的每个人提供更好的产品。

这个问题, steam CEGEasy AntiCheat是PROTON作为真正的全功能发布的三大障碍......

这实际上是一个非常好的和实用的方法。 可以辩解
财务上。

2020 年 1 月 21 日,星期二,01:30 CSahajdacny, notifications @github.com 写道:

我们(意思是 Valve)如何只许可缺失的框架和
来自微软的新旧编解码器? 我没有问题支付“质子
Premium DLC”。是的,Microsoft 可以拒绝或收取过高的费用,但是
他们最近似乎更合理,这对他们来说会很糟糕。

(也许其中一些甚至可能在 Windows 上有用以增加
旧游戏与 Windows 10 的兼容性。)

我同意。
是针对这个特定问题的更实用的解决方案... 很多游戏
可以用这个列入白名单。


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1464?email_source=notifications&email_token=AK3OXTUNYROV2R7WZXFKLQDQ6XNSTA5CNFSM4FVJPG5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBWZKLOJDNX5000000000000000000003VMVBWZKLOJDNX50000000000000000000000000000000000000011
或取消订阅
https://github.com/notifications/unsubscribe-auth/AK3OXTRPHBJM2CUQV7BU47DQ6XNSTANCNFSM4FVJPG5A
.

我要离开这里 WINE 镜像仓库: https :
我只选择了 GitHub 镜像,因为如果您不想克隆它,它会更容易探索。
5.0 版即将发布。 检查 WMV 实现。

笔记
如果我在 Valve 路线图中有任何说法,我不会同意向微软付款。 考虑到微软的历史,从长远来看,这是一个糟糕的计划,而 WINE 似乎离工作不远了。 尽管如此,我理解@fallenguru的观点,因为这是一个大问题,但最终还是由 Valve 来决定。 计划是押注 WINE,所以就像@aeikum建议的那样,请耐心等待。 我们很幸运,Valve 正在对此进行投资。 过去只是一群人试图让这个工作。 这些人获得了很多荣誉,但拥有最大的数字商店作为支持也有很大帮助。 我认为没有人期望这一切顺利,不知从何而来。 我认为我们都应该放弃这个对话,因为开发人员也必须渴望让它工作。 只有我的两分钱。

可悲的是,这比在雷德蒙德丢掉一个公文包并取回一张标有“完美的 wmv 和 wma 解码器,并支持 Linux 上的 Wine 用于媒体基础、dshow、mci 和 xaudio2”的 CD 更复杂一些。

flawless wmv and wma decoders

但是 ffmpeg 存在。 使用 gstreamer 而不是 ffmpeg (libavcodec) 真的会阻碍这一点吗?

5.0 版即将发布。 检查 WMV 实现。

FWIW,我正在运行 5.0~rc6,就 Windows 媒体框架而言,它没有任何区别。

可悲的是,这比在雷德蒙德放下公文包的钱要复杂一些 [...]

需要说明的是:我的意思只是许可各种 DLL 以及那些已经可以通过 winetricks 和其他脚本安装(或不安装,在 64 位 WMP 的情况下)的 DLL,这对缓解问题大有帮助,但不能与Proton集成和分发,甚至无法链接到这里。

我们真的需要这样排序,孩子们!
感谢您所做的一切,继续努力!

@fallenguru签名,谢谢! :)

@fallenguru https://www.fsf.org/windows/upcycle-windows-7

那永远不会发生。 也许 FSF 应该坚持给 802.11n 适配器贴上橡皮图章

最近工作的人告诉我他的口头禅。 问没有害处。

猜猜这同样适用于这里。

2020 年 2 月 3 日星期一,ryester27 21:22, notifications @github.com 写道:

@fallenguru https://github.com/fallenguru
https://www.fsf.org/windows/upcycle-windows-7

那永远不会发生。 也许 FSF 应该坚持给他们的橡皮图章
到 802.11n 适配器


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/1464?email_source=notifications&email_token=AK3OXTTAIE3QQZMSV4UVBK3RBALAHA5CNFSM4FVJPG5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LOMDX52000000000000000000000000000000000000001
或取消订阅
https://github.com/notifications/unsubscribe-auth/AK3OXTSRGH65HU3M3WGQT7DRBALAHANCNFSM4FVJPG5A
.

解决方法在 winetricks 中为 64 位前缀启用 wmp9 动词,使用 Proton 5.0-1 进行测试。

...现在有工作链接。 对不起。

我们不能在不使用 Windows 平台基础的情况下做模组来播放这些视频吗?
(这不是阀门的解决方案,但可能同时为最终用户解决)

NASCAR Heat 4 》会受到这个问题的影响吗?

Assetto Corsa Competizione有同样的问题

Atelier Firis使用的是石英并需要 ASF 支持,视频文件使用的是 VC-1(WMV3) 和 WMA(版本 2)编解码器。

解决方法在 winetricks 中为 64 位前缀启用 wmp9 动词,使用 Proton 5.0-1 进行测试。

...现在有工作链接。 对不起。

我用它来将 wmp9 安装到我的 Proton Call of Juarez Gunslinger 前缀中,现在 wmv 过场动画完美播放!

多年后,这个问题仍然悬而未决。

proton 需要想出一种方法来在每场比赛中自动实现这一点
它已经安装了 DirectX、VC++、.Net 等,我们需要编解码器兼容性报告和自动化

winetricks/protontricks/mfinstallers 任何需要

这个黑屏问题需要更多关注

多年后,这个问题仍然悬而未决。

proton 需要想出一种方法来在每场比赛中自动实现这一点
它已经安装了 DirectX、VC++、.Net 等,我们需要编解码器兼容性报告和自动化

winetricks/protontricks/mfinstallers 任何需要

这个黑屏问题需要更多关注

每个人都知道需要做什么,并且像 Valve 这样的人鼓励人们获取只能从 Windows 安装中合法获得的 DLL,因此存在一些责任问题。

每个次要的 Wine 版本都越来越接近于实现所需的东西。 如果您希望更快完成,请自愿或捐赠

多年后,这个问题仍然悬而未决。

proton 需要想出一种方法来在每场比赛中自动实现这一点
它已经安装了 DirectX、VC++、.Net 等,我们需要编解码器兼容性报告和自动化

winetricks/protontricks/mfinstallers 任何需要

这个黑屏问题需要更多关注

自 2018 年 8 月以来,Proton 才出现,所以它几乎是“多年后”。 正如其他人所说,他们正在努力。 如果您是一名律师或程序员,并且想贡献您的时间来解决问题或解决任何法律问题,请务必继续。

不过,在那之前,您只需要等到这些问题得到解决。

这个问题可以追溯到 wine 2.0,它已被修复和回归。 我不需要历史课谢谢。

WindowsVideoMedia error 0x80004001 while reading E:/steam/steamapps/common/Death and Taxes Demo/Death and Taxes_Data/StreamingAssets/MenuIntro.mp4

Context: MFCreateSourceReaderFromMediaSource
Error details: <Empty>
Track types:


(Filename: C:\buildslave\unity\build\Modules/Video/Public/Media/WindowsMedia/WindowsVideoMedia.cpp Line: 3112)

这个 .mp4 是 h264,所以它不仅仅是“wmv”。

这个问题可以追溯到 wine 2.0,它已被修复和回归。 我不需要历史课谢谢。

很有可能在某个时候确实发生了回归,而“真正的”媒体基金会支持正在进行中。 如果你有一个具体的例子,然后报告它。 在贡献者完成他们的工作之前,您将不得不处理变通方法中断、没有视频或根本无法加载游戏。

从 4da3d13 开始,我已经让 TrailMakers (#3409) 和 ThroneBreaker (#1966) 在我本地的 mfplat 分支上工作

使用 openh264dec h264 解码器进行测试。

@Guy1524 使用 Thronebreaker测试了您的 wine 分支 - 介绍视频有效,均使用 openh264 和 ffmpeg (gst-libav)。 伟大的!
然而,在介绍(结束或跳过)之后,游戏似乎卡在黑屏。

@gasinvein这不应该发生,最后我可以继续进行。 你能给我发一份带有 WINEDEBUG=+mfplat,+timestamp 的日志吗?

@Guy1524当然,王座破坏者_wine_mfplat.log 。 如果重要的话,使用 GStreamer 1.16.2 和启用 mingw 构建的 wine 进行测试。

谢谢,看起来他们正在尝试播放 .m4v 视频,我还没有连接。 我正在清理代码并为上游做准备,但是当我处于更稳定的状态时,我会用它更新 git repo。 或者,您可以自己添加它并使用 wineboot -u 更新您的前缀。 只需在此处添加 m4v 条目

@Guy1524现在工作正常。 很好,谢谢。

伟大的工作@Guy1524!
mp4有机会吗?

@ mozo78它已经可以播放 mp4。 由于某种原因,Thronebreaker 中的视频混合了 mp4/m4v。

啊,谢谢。 我会尝试使用 Late Shift 并将向您报告 :) 我没有设法正确运行这个游戏。 我安装了 mfplat 和石英。 在第一次运行时,一切看起来都不错,只是在播放视频时没有声音。 在第二次运行时 - 黑屏并且没有更多视频,这是一个问题,因为整个游戏由不同的视频组成。 现在我将尝试使用 Guy1524! 执行。

不幸的是它不起作用 - 黑屏:
Late_Shift_wine_mfplat.log
如果安装 mfplat,游戏现在会显示第一个启动画面,然后再次出现黑屏。

@mozo78不确定,但您似乎缺少一些 gstreamer 编解码器:

5646.899:0070:err:gstreamer:unknown_type Could not find a filter for caps: "video/quicktime, variant=(string)iso"
5646.899:0009:err:gstreamer:gstdecoder_init_gst Failed to play stream.
5646.899:0071:err:gstreamer:watch_bus decodebin0: Your GStreamer installation is missing a plug-in.
5646.899:0071:err:gstreamer:watch_bus gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: Quicktime (video/quicktime, variant=(string)iso)

你能用GST_DEBUG=4 env var 发布输出吗?

我安装了 Gstreamer,这是一些 Wine 问题:)
这是日志:
Late_Shift_wine_gstreamer.log

@mozo78你安装了gst-plugins-good吗? 如果游戏是 32 位的,你需要 32 位的。

我已经安装了 x64。 现在我安装 x86 但这没有帮助。 虽然游戏是 x64 :)

让我们在工作完成时不要忘记表扬它。 慢慢到达那里的人:

[...]
Nikolay Sivov (49):
      mf: Implement GetFullTopology().
      mf: Add a helper to check for session shutdown state.
      mf: Fix GetClock() for shutdown state.
      include: Add IMFFinalizableMediaSink definition.
      mfplat: Use underlying work queue calls more to get rid of duplicated traces.
      rtworkq: Change RtwqPutWorkItem() trace format for consistency.
      mf: Handle shutdown state in GetFullTopology().
      mf: Correctly respond to start attempt from closed state.
      mf: Implement transition to closed state together with sink finalization.
      mf: Match session state names with events.
      mfplat: Implement MFTEnumEx().
      mfplat: Add some MFT-related attributes GUIDs.
      mfplat: Set activation object attributes for enumeration results.
      mfplat: Default to synchronous model for locally registered MFTs.
      mfplat: Implement transform activation object.
      mf: Implement MFGetSupportedMimeTypes()/MFGetSupportedSchemes().
      mf/tests: Fix a test failure on older versions.
      include: Fix VMR9AlphaBitmap definition.
      include: Add some types used for MF pipeline objects.
      mfplat: Remove extra critical section used in sample implementation.
      mfplat: Remove extra critical section from presentation descriptor.
      mfplat: Remove extra critical section from stream descriptor.
      include: Add some MFT flags types.
      include: Update MF resolver flags.
      mf: Partially implement sample copier transform.
      mfplat: Add MFGetPlaneSize().
      mfplat: Implement CopyToBuffer().
      mf: Implement IsMediaTypeSupported() for simple type handler.
      mfplat: Implement IsMediaTypeSupported() for stream descriptor.
      mf: Implement MFGetTopoNodeCurrentType().
      mf: Shutdown samplegrabber event queue on sink shutdown.
      mf: Block samplegrabber stream event calls after stream is removed.
      mf: Improve ShutdownObject() behavior for sample grabber activation object.
      mf: Set shutdown state flag for presentation clock.
      mf: Notify just added sinks with current clock state.
      mf: Do not touch clock state when setting rate.
      mf/tests: Remove tests causing occasional crashes on Windows.
      mfplat: Add MFGetStrideForBitmapInfoHeader().
      mf/tests: Use wide string literals.
      mfplat: Add a stub for 2D system memory buffer object.
      dwrite: Simplify LB22 rule according to Unicode 13.0 algorithm.
      mf: Use single list for topology nodes in current presentation.
      mf/tests: Add a test for default node attributes.
      mf: Handle basic case of sample request/response.
      mf: Send MFT_MESSAGE_NOTIFY_BEGIN_STREAMING message after setting current topology.
      mf: Pass start and flush messages to transform nodes.
      mf: Keep transform node input/output streams map.
      mf: Add support for requesting sample from transform nodes.
      mf: Implement sample delivering to transform nodes.
[...]

@mozo78你不需要我的游戏分支,它使用石英

我只是想尝试 :) 安装石英仅对第一次启动有一点帮助,然后再次黑屏 :(

@DistantThunder这些变化与@Guy1524的工作有关吗?

他们不会,但是媒体会话工作对于让 UE4 游戏正常运行非常重要。

422f190 开始,RE2(问题 #2266)现在可以工作,前提是您安装了 libav 插件,并将此补丁应用于我在 asfdemux 中发现的错误。

我只是在检查 #327(游戏视频播放中的 Orbduction),看起来 __wine__ 5.4 已提交解决此问题; 然而,据我观察大约 5-10 分钟,Steam 的 Proton 仍然只针对 5.0(或者至少是一个仍然只是存根的版本),而不是 5.4。

由于这实际上可能会解决影响多个游戏的问题,Steam Beta 用户(我仍在注册)是否可以选择使用 wine 5.4 测试版本(即使它处于“开发”阶段)? 这几天我们被困在家里会很好。

更深入地检查一下,我错过了一些更新,这些更新听起来像是在最后一次提交到 wine 5.4 之后修复了错误/性能:

https://source.winehq.org/git/wine.git/search/346cf20ba4909ba7a465f2048cae810df8e6eab0?s=Nikolay+Sivov;st=author

(包括的最后一个是:mf:实现示例交付以转换节点。)

至少通过“comctl32/tests:删除过多的错误处理逻辑”添加一些额外的提交。 它删除(一些)goto 并执行有针对性的本地清理(而不是完整的 goto 清理)。 一目了然,它之后的下一次提交看起来像是扩展编解码器 ID 矩阵。

可以考虑的其他几个作者/前缀标签......

https://source.winehq.org/git/wine.git/search?s=Derek+Lesho;st=author
https://source.winehq.org/git/wine.git/search?s=Vijay+Kiran+Kamuju;st=author

@mjevans vanilla wine 5.4 也不支持此功能。 您在提交日志中看到的更改是必要的,但还不够,工作正在进行中。 关于 Proton 版本,他们表示它基于的 wine 版本,同时仍然从较新的 wine 版本中接收有针对性的更新。

@mjevans

...使用 wine 5.4 测试版本的选项 ...

https://github.com/GloriousEggroll/proton-ge-custom/releases

感谢@nsivov@axredneck提供的发布链接(主页上的说明)。

Wine 5.4 确实修复了 Obduction 中的一些可玩性问题(初始洞穴中的灯笼不再出现故障,至少手柄在正确的位置),但视频仍然无法正常工作。

如果有帮助,这些是尝试玩游戏时看似值得注意的事件

Obduction 与 Proton-5.4-GE-3 + 设置启动选项:
WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+module" %command%

714682.336:000a:000b: fixme:winediag :__wine_start_process Wine Staging 5.4 是一个包含实验性补丁的测试版本。
714686.078:002b:002c:fixme :win :DisableProcessWindowsGhosting:存根
714686.404:002b:002c: warn:module :alloc_module 由于 L"dxvk_config.dll" 禁用 no-exec
714687.663:002b:002c: fixme: win :RegisterTouchWindow (0x20090 00000000): 存根
714688.110:002b:002c: warn:module :load_dll 无法加载模块 L“mfplay.dll”; 状态=c0000135
714688.110:002b:002c: warn:module :load_dll 无法加载模块 L“mfplay.dll”; 状态=c0000135
714691.561:002b:002c: fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1724a930,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f87e0,模式(tubnil)
714691.561:002b:002c:fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1724a930,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f87e0,模式部分!0x0x
714691.574:002b:002c:fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1724a4d0,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f87c0,模式(tubnil)
714691.574:002b:002c:fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1724a4d0,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f87c0,模式部分!
714691.694:002b:002c: warn:seh :OutputDebugStringA“正在检查 Pak 配置”
714760.647:002b:002c: warn:seh :OutputDebugStringA“由于 setres 更改而调整视口大小,1280 x 800”

我在更改设置后开始尝试玩游戏。

714770.131:002b:002c:fixme: msctf :TextStoreACPSink_OnLayoutChange STUB:(0000000017246AE0)
714770.134:002b:002c:fixme: msctf :TextStoreACPSink_OnLayoutChange STUB:(0000000017246AE0)

这些中的每一个都可能是尝试播放视频。
714857.530:002b:002c: fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1724e3f0,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f8a60,模式(tubnil)
714857.530:002b:002c:fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1724e3f0,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f8a60,模式部分tub20x
714857.551:002b:002c: fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x172454c0,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f8a40,模式(tubnil)
714857.551:002b:002c: fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x172454c0,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f8a47d2b8d
715166.802:002b:002c: fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1725e260, 格式 DXGI_FORMAT_R8G8B8A8_UNORM, 标志 0, mode_count 0x5f8a60, 模式 (tubnil)
715166.802:002b:002c: fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1725e260,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f8a60,模式部分!
715166.827:002b:002c:fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1722b770,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f8a40,模式stubnil!
715166.827:002b:002c:fixme: dxgi :dxgi_output_GetDisplayModeList iface 0x1722b770,格式DXGI_FORMAT_R8G8B8A8_UNORM,标志0,mode_count 0x5f8a47ds2e0xd
715174.821:002B:002C: FIXME:MSCTF :ThreadMgr_Destructor遗留ITfDocumentMgr。 我们应该对它做些什么吗?
715174.821:002B:002C: FIXME:MSCTF :ThreadMgr_Destructor遗留ITfDocumentMgr。 我们应该对它做些什么吗?
715176.746:002b:002c: fixme: ntdll :EtwEventUnregister (deadbeef) 存根。
715176.746:002b:002c: fixme: ntdll :EtwEventUnregister (0) 存根。
715176.815:0029:002a: fixme :kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 00000000005FFA80

@mjevans这个 Proton-GE 是非官方的叉子

我意识到这一点,但这是我最接近于能够看到最前沿是否有效,如果无效,以允许他们提高工作效率的方式向真正熟悉项目的人提供有用的反馈。

我意识到这一点,但这是我最接近于能够看到最前沿是否有效,如果无效,以允许他们提高工作效率的方式向真正熟悉项目的人提供有用的反馈。

我认为 Proton-GE 还没有从@Guy1524的 repo 中提取出来,因此你还不会看到他的任何变化

有没有知识渊博的人可以对 Ask Patents 上有关 wmv1/wmv7 专利是否已过期的问题做出贡献?

https://patents.stackexchange.com/questions/22253/have-windows-media-video-7-wmv1-patents-expired

据我了解,这里有许多使用这种旧视频编码格式的游戏。

如果很明显专利到期,那么 Proton 可以开始运送解码器,这是否正确?

关于 WMV3 (Windows Media Video 9) 和 VC-1

VC-1 是一个超集。
https://en.wikipedia.org/wiki/VC-1#WMV3

WMV3 比特流完全符合 VC-1

VC-1 专利有据可查。 在维基百科文章中,专利部分源自一份 MPEG-LA 文档,该

因此,可以监视文档以了解 VC-1 和 WMV3 是否干净,可以包含在 Proton 中。

走得更远

WMV3 是 VC-1(简单和主要配置文件)的子集,所以它应该更早(甚至可能在今天)。 事情是有人必须找到相关专利的清单。 关于如何可靠地找到它们的任何线索?

当 WMV3 没有专利时,WMV2 (WMV 8) 和 WMV1(WMV 7) 也将没有专利,这是否是一个安全的假设(对 Valve 来说足够了)?

感谢 Nikolay 和 Sergio 的出色工作,以及我采摘的一些低垂的果实,一个 UE4 游戏 Remnant 可以正确播放截至31a23c8 的介绍视频文件。

感谢 Nikolay 和 Sergio 的出色工作,以及我采摘的一些低垂的果实,一个 UE4 游戏 Remnant 可以正确播放截至31a23c8 的介绍视频文件。

期待在您的回购进入 Proton-GE 时进行测试

@ryester27看起来 Proton-GE 现在有一些修复
https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1

我用这个测试了一些游戏,Infliction 和 Trailmakers 是我迄今为止尝试过的。 (伤害是一个惊喜,因为即使使用不合法的 mf 解决方法,该游戏的视频也无法正常工作)

@Guy1524您是否会在 Proton-GE 问题跟踪器上活跃以获取错误报告?

我尝试了 Strike Vector EX 和 Raiden V Director's Cut。 Strike Vector EX 现在似乎工作正常,但 Raiden V 在现在的加载屏幕上冻结。

编辑:刮一下关于 Strike Vector EX 的内容。 介绍电影播放正常,但按开始屏幕在第一帧冻结

我_非常_简单地重新测试了 Obduction,_至少有一个游戏内视频作品_(本周晚些时候我可能会尝试玩更多)。
使用(是的,我知道这不是正式版本)Proton-5.5-GE-1 https://github.com/GloriousEggroll/proton-ge-custom/releases

提醒我,我还删除了该更长测试的启动选项......即使只是加载以单击一个按钮/播放一个视频也是 6.5MB 的日志。
WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+module" %command%

https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1

这样做是允许在许多游戏中播放 mp4,包括 UE4 和 Unity 引擎游戏。 这解决了很多(不是全部,而是很多)围绕 mediafoundation/mfplat 的问题,而无需使用具有法律问题和限制的“mf-install”解决方法,并且对我们来说更安全。

有人可以解释即将到来的媒体基金会变化的法律差异吗?

https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.5-GE-1

这样做是允许在许多游戏中播放 mp4,包括 UE4 和 Unity 引擎游戏。 这解决了很多(不是全部,而是很多)围绕 mediafoundation/mfplat 的问题,而无需使用具有法律问题和限制的“mf-install”解决方法,并且对我们来说更安全。

有人可以解释即将到来的媒体基金会变化的法律差异吗?

这都是逆向工程,如果他们不使用任何微软的代码来实现这一壮举,这是合法的

他们没有使用任何微软的代码来实现这一壮举

这么大! :D
这要注意版权方面的事情。

但这对专利部分不起作用,对吗?

尽管如此,情况还是要好得多。 但这仍然不意味着正式加入 Proton 对吧? (对于仍然受专利保护的格式)

或者我们可以使用 Ubuntu 策略:
在安装程序中有一个关于受专利保护的软件(例如 MP3 支持)的复选框。 我想这将责任和法律研究工作留给了用户。 这是正确的解释吗?

他们没有使用任何微软的代码来实现这一壮举

这么大! :D
这要注意版权方面的事情。

但这对专利部分不起作用,对吗?

尽管如此,情况还是要好得多。 但这仍然不意味着正式加入 Proton 对吧? (对于仍然受专利保护的格式)

或者我们可以使用 Ubuntu 策略:
在安装程序中有一个关于受专利保护的软件(例如 MP3 支持)的复选框。 我想这将责任和法律研究工作留给了用户。 这是正确的解释吗?

我可能是错的,但对于 gstreamer,我认为唯一在法律上有问题的插件是他们放在“丑陋”插件包中的插件。 目前,只有这些:

a52dec — Decodes ATSC A/52 encoded audio streams
amrnb — Adaptive Multi-Rate Narrow-Band
amrwbdec — Adaptive Multi-Rate Wide-Band Decoder
asf — Demuxes and muxes audio and video in Microsofts ASF format
cdio — Read audio from audio CDs
dvdlpcmdec — Decode DVD LPCM frames into standard PCM
dvdread — Access a DVD with dvdread
dvdsub — DVD subtitle parser and decoder
mpeg2dec — LibMpeg2 decoder
realmedia — RealMedia support plugins
sid — Uses libsidplay to decode .sid files
x264 — libx264-based H264 plugins
xingmux — Add XING tags to mpeg audio files

如果需要这些插件之一,在最坏的情况下,Valve 只需要根据用户的要求提供一个下载和安装这些插件的选项(就像 Linux 发行版处理它的方式一样),或者为 Proton 提供一个回退选项来使用Linux 发行版已在本地安装了 gstreamer 插件。 ASF 和 mpeg2 是该列表中的佼佼者。 多亏了 Cisco,openh264 插件以开源方式处理 x264。

哦,MP3的专利在2017年到期了

我可能是错的,但对于 gstreamer,我认为唯一在法律上有问题的插件是他们放在“丑陋”插件包中的插件。 目前,只有这些:

你是怎么得到名单的?

我可以在这里找到它的一个子集:
https://github.com/GStreamer/gst-plugins-ugly/tree/master/ext

也许某些专利自您的清单以来已过期:D

我认为唯一在法律上有问题的插件是他们放在“丑陋”中的插件

如果他们也符合“坏”标准怎么办? (代码质量):

https://github.com/GStreamer/gst-plugins-bad/tree/master/ext

x265
作品

我们看到有和没有专利问题的编解码器混合。

不要忘记还有用于许多编解码器/颜色空间的 gst-ffmpeg:来自 cgit 的列表
使用此插件支持的格式高度依赖于 ffmpeg 本身的构建方式。 如果我没记错的话,一些可以在 ffmpeg 配置时启用的格式也受专利保护......

@tuxayo

你是怎么得到名单的?

我可以在这里找到它的一个子集:
https://github.com/GStreamer/gst-plugins-ugly/tree/master/ext

也许某些专利自您的清单以来已过期:D

我从这里得到了我的清单:
https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly-plugins/html/

查看 gst 文件夹。 你会看到其他的;)
https://github.com/GStreamer/gst-plugins-ugly/tree/master/gst

如果他们也符合“坏”标准怎么办? (代码质量):

https://github.com/GStreamer/gst-plugins-bad/tree/master/ext

x265
作品

我们看到有和没有专利问题的编解码器混合。

猜猜他们只是决定根据稳定性而不是合法性来优先分类(此外,无论如何,您可能会将“坏”和“丑”放在一起安装)出于我们的目的,我们只关心游戏开发人员实际使用的编解码器。 由于版税,没有人使用x265。 由于当时缺乏可行的无专利编解码器,旧游戏将更多地出现专利问题。

虽然我不知道为什么今天仍然使用 ASF/WMV。 也许您在与 Media Foundation 一起开发时不需要支付单独的版税?

@414n

不要忘记还有用于许多编解码器/颜色空间的 gst-ffmpeg:来自 cgit 的列表
使用此插件支持的格式高度依赖于 ffmpeg 本身的构建方式。 如果我没记错的话,一些可以在 ffmpeg 配置时启用的格式也受专利保护......

使用 FFmpeg 并不能神奇地免除您的专利问题。 它们允许您编译所需的格式,以便可以在没有任何法律问题的情况下重新分发。 如果您访问 VLC 的常见问题解答,他们会告诉您,支付任何版税是用户的责任。 作为商业产品的开发者,Valve 对法律风险的容忍度要低得多,仅仅将用户的版税责任推到一个没人会看的网页上,可能不会飞得很好

@ryester27

猜猜他们只是决定根据稳定性而不是合法性来优先分类(此外,无论如何,您可能会将“坏”和“丑”放在一起安装)出于我们的目的,我们只关心游戏开发人员实际使用的编解码器。 由于版税,没有人使用x265。 由于当时缺乏可行的无专利编解码器,旧游戏将更多地出现专利问题。

在讨论中回溯,这意味着我们不能再使用以下信息«但是对于 gstreamer,我认为唯一在法律上有问题的插件是他们放在“丑陋”插件包中的插件»

我之前的问题是

但这仍然不意味着正式加入 Proton 对吧? (对于仍然受专利保护的格式)

如果将选择权委托给用户(根据用户的要求提供下载和安装这些插件的选项)就足够了。 那么调查每种格式以查看哪些格式现在没有专利就没那么有用了。 我说“很有用”,因为在我之前,有效的专利阻止了 Proton 正式加入的任何机会。

这是一个正确的结论吗?

看到我们已经远离元兔子洞了......是什么阻止 Proton 回退到利用用户系统的解码能力来处理 Valve 不敢发布的东西? 肯定在系统 gstreamer/ffmpeg/whatever 上倾倒数据并希望最好的在任何地方都不是非法的?
甚至像 PROTON_USE_CUSTOM_FFMPEG="$SOMEPATH" 之类的东西。 是的,是的,目标是让它开箱即用,但是......

我猜他们无论如何都需要适当的 SteamOS 长期解决方案。

在讨论中回溯,这意味着我们不能再使用以下信息«但是对于 gstreamer,我认为唯一在法律上有问题的插件是他们放在“丑陋”插件包中的插件»

那是正确的。 我取消了我之前的主张

如果将选择权委托给用户(根据用户的要求提供下载和安装这些插件的选项)就足够了。 那么调查每种格式以查看哪些格式现在没有专利就没那么有用了。 我说“很有用”,因为在我之前,有效的专利阻止了 Proton 正式加入的任何机会。

这是一个正确的结论吗?

找出哪些格式没有专利仍然是有益的,因为 Proton 版本中包含的 gstreamer 插件仍将为最终用户提供最简单的开箱即用体验。

看到我们已经远离元兔子洞了......是什么阻止 Proton 回退到利用用户系统的解码能力来处理 Valve 不敢发布的东西? 肯定在系统 gstreamer/ffmpeg/whatever 上倾倒数据并希望最好的在任何地方都不是非法的?
甚至像 PROTON_USE_CUSTOM_FFMPEG="$SOMEPATH" 之类的东西。 是的,是的,目标是让它开箱即用,但是......

这很有可能,我知道一些商业产品需要您单独下载 ffmpeg 之类的东西,然后在程序设置中指定它的安装位置。 我不确定的是 gstreamer 插件分发选项之间是否存在不同数量的风险。 我认为最重要的是确保最终用户是支付版税的法律责任人(他们永远不会这样做,但仍然如此)

我完成了 Obduction 的游戏,但我因为熬夜太晚而有点累。

使用自定义的、非官方的、由第三方编译的带有大量补丁/等的东西,如上所述,最前沿的 Proton-5.5-GE-1 ...

我遇到的唯一不归咎于游戏的问题通常是没有显示的黑色开场画面。 按 Esc(可能是任意键)或单击鼠标调出主菜单。 游戏中的一切都按预期工作(有时视频没有在游戏中播放,但我认为这是为了解决谜题/情况而工作,而不是被破坏,因为我真正认为被破坏的一个区域有效稍后在我稍微推进游戏之后)。

回复:ryester27 引用其他人...

看到我们已经远离元兔子洞了......是什么阻止 Proton 回退到利用用户系统的解码能力来处理 Valve 不敢发布的东西? 肯定在系统 gstreamer/ffmpeg/whatever 上倾倒数据并希望最好的在任何地方都不是非法的?
甚至像 PROTON_USE_CUSTOM_FFMPEG="$SOMEPATH" 之类的东西。 是的,是的,目标是让它开箱即用,但是......

这很有可能,我知道一些商业产品需要您单独下载 ffmpeg 之类的东西,然后在程序设置中指定它的安装位置。 我不确定的是 gstreamer 插件分发选项之间是否存在不同数量的风险。 我认为最重要的是确保最终用户是支付版税的法律责任人(他们永远不会这样做,但仍然如此)

我不是外行:我的理解是,这取决于相关公司是否以任何方式支持或支持侵犯某些被认为是国家授予的垄断权的行为。 如果它只是列出要使用的外部程序或接口,特别是如果官方文档使用合法获得的外部引用(即在某个国家/地区没有限制,它是免费的,或者已经付费)或示例占位符(但让用户无法找到适合该形状的拼图)那么它可能不侵权。 当然,在后一种情况下,还必须指示管理人员从论坛/等中清除任何“煽动性”文档。

我打算添加一些其他东西,但刷新我的记忆是一个很好的选择。
https://en.wikipedia.org/wiki/Advanced_Video_Coding#Licensing
似乎 h264 只是/曾经是“对最终用户互联网视频免费的免版税”,并且这些条款会在 5 年的时间段内更新(不是永久的)。

另一个问题是游戏本身是否已经支付了版税,或者他们是否依赖操作系统中的版税。 在这两种情况中的任何一种情况下,Steam 和 Proton 都应该能够依赖游戏和/或操作系统(尽管在后一种情况下,明确报告问题所在将是问题所在)。

Proton-5.6-GE-1 刚刚发布,看起来他们在 repo 中添加了 gst-plugins-ugly 以及部分 wmv 支持。 回到 Proton-5.5-GE-1,他们在发行说明中表示,来自 Valve 的代表特别表示,仍然可以在他们的问题跟踪器中提供指向 Proton-GE 的链接。

如果 Proton-GE 收到与 Proton-5.6-GE-1 相同的 OK 信号,那么这可能会告诉我们 Valve 计划如何处理这些有问题的插件的分发

好的,所以那些知道它的人可以拥有很酷的补丁。 那些没有的人将不得不等待。 我没问题。

谁知道一个光荣的蛋卷会很好地分享一个更好的版本。

我只想说我被视为最终用户。 我不为阀门工作。 无论如何,我与他们没有任何商业联系。 我收到的“OK”只是因为它不会对 Valve 造成法律问题,因为所有材料都是公开可用的,而不是从 Windows 复制 DLL 并在无法通过任何免费可用的方式获得它们时分发它们 - 这基本上可以被认为是盗版。 我的 Proton 版本并没有表明 Valve 正在做什么或计划对质子做什么。

我只想说我被视为最终用户。 我不为阀门工作。 无论如何,我与他们没有任何商业联系。 我收到的“OK”只是因为它不会对 Valve 造成法律问题,因为所有材料都是公开可用的,而不是从 Windows 复制 DLL 并在无法通过任何免费可用的方式获得它们时分发它们 - 这基本上可以被认为是盗版。 我的 Proton 版本并没有表明 Valve 正在做什么或计划对质子做什么。

只是我的猜测。 Valve 似乎关心在其问题跟踪器中发布的某些变通方法的合法性。 公开允许最终用户链接到您的 Proton-GE 构建 w/gst-ugly 打包,它可能会深入了解 Valve 计划如何分发 wmv 支持所需的插件

是否有关于 Proton-5.6-GE-2 的媒体支持的任何其他信息?
就像它需要像 gstreamer-plugins-ugly 一样安装额外的依赖项吗?
有没有信息它究竟处理什么编解码器?

我们可以通过发送示例文件来提供帮助吗?

@jug007 Proton-GE 与 gstreamer 依赖项一起打包。

看起来314030没有列出,但它不播放视频......
(罪恶装备 X2 #Reload)

我还没有在 RE3 中测试过 STARS 办公室场景,所以如果有人能确认这是有效的,我们将不胜感激。

RE3 仍然使用最新版本在 STARS 办公场景中崩溃,以防您仍在寻找帮助测试此问题的人。 让我知道这里是否有任何有用的日志或系统规范。

@Elmapul尚无 Guilty Gear X2 @HonkingGoose提及我,我会将其放入此问题的列表中。

@HonkingGoose

完成,问题/3976

感谢您提交报告@Elmapul! 我已经用你的报告更新了这个列表。 😄✨

Proton 5.13 有几个与媒体/gstreamer 相关的变化,有谁知道它修复了哪些游戏?

5.13-1 中基于 Media Foundation 的游戏不会有任何改进。

我们在 5.0 和 5.13 之间投入了大量工作来改进石英视频,所以一些游戏可能会开始工作(我没有特定的标题,抱歉)。 如果您现在看到彩条图案出现,这表明我们在某些编解码器上的工作。 您很快就会看到真实的视频而不是那些彩条。

如果您现在看到彩条图案出现,这表明我们在某些编解码器上的工作。 您很快就会看到真实的视频而不是那些彩条。

回答了我的问题。 昨晚尝试了 Melty Blood,想知道为什么我在凌晨 3 点被调回 1990 年代的无线电视

@aeikum

@aeikum是否需要我继续更新顶部帖子中的列表? 或者您现在是否使用其他一些列表来跟踪更改?

@aeikum是否需要我继续更新顶部帖子中的列表? 或者您现在是否使用其他一些列表来跟踪更改?

你的清单还是很有用的,但我不想给你任何义务。 我很欣赏你已经做了什么。

回答了我的问题。 昨晚尝试了 Melty Blood,想知道为什么我在凌晨 3 点被调回 1990 年代的无线电视

让我们的用户回到 90 年代是第一步。 为第二步做好准备。

你的清单还是很有用的,但我不想给你任何义务。 我很欣赏你已经做了什么。

感谢@aeikum 的赞赏! :微笑:


请注意:我正在为此列表转向基于“推送”的模型,因为此列表不再小到我无法手动检查每个问题的更新。 如果您希望我更新列表中的某个项目,请通过提及我的用户名来 ping 我,我将更新该项目。

你的清单还是很有用的,但我不想给你任何义务。 我很欣赏你已经做了什么。

感谢@aeikum 的赞赏! 😄

请注意:我正在为此列表转向基于“推送”的模型,因为此列表不再小到我无法手动检查每个问题的更新。 如果您希望我更新列表中的某个项目,请通过提及我的用户名来 ping 我,我将更新该项目。

也许只有问题跟踪器处于活动状态的单独回购会更好? 我不认为 github 不赞成这样做

我想我不明白你在说什么@ryester27 :confused:

如果我有一个其他人可以打开问题的新存储库,我们不就是在复制问题吗? 现在我们在 Proton 和我的存储库上有问题? 你看到这里有什么好处?

您可能是说我在 Markdown 表中打开一个带有“主列表”的新存储库,然后让其他人通过打开拉取请求为该列表做出贡献? 这将有一个额外的好处,即 Proton 开发人员可以轻松访问该列表,因为他们可以从存储库中提取最新的列表。

如果其他人对如何管理这个有好主意,请告诉我。

@HonkingGoose第二个选项听起来不错

@aeikum和@kisak-valve! :海浪:

我正在考虑将这些巨大的表移动到一个单独的存储库,然后其他人可以通过打开拉取请求来为列表做出贡献。 我做了一个基本的概念证明: https :

你能告诉我你喜欢/讨厌这个吗? 如果你想让我删除它,就这么说,它就消失了。 :+1:
或者我可以将存储库转移到您的组织,以便您可以在自己的保护伞下管理它。

你好,

哦! 这真是太棒了! 感谢您的链接, @HonkingGoose

@HonkingGoose对你来说最简单的事情对我来说都很好。

好吧,让我们试试我的想法。 我已经做了一些工作,我想我已经准备好接受拉取请求了。

我已将表迁移到我的存储库,并更新了带有说明的顶级帖子。
我认为至少,这些表更容易阅读和使用,现在它们被分成每个框架的单独文件。

如果这件事不起作用,我将编辑置顶帖,并将表格放回旧位置。 :+1:

取笑你们是不礼貌的,对吧?

Screenshot_2020-11-05_16-18-53

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Dakunier picture Dakunier  ·  3评论

juppso picture juppso  ·  3评论

ArekPiekarz picture ArekPiekarz  ·  3评论

AwesamLinux picture AwesamLinux  ·  3评论

raikirii picture raikirii  ·  3评论