我刚刚构建了一个 HTPC/家庭服务器,我使用了 ubuntu 10.04 lucid lynx 并将其与 xbmc 结合起来。
我使用的硬件是华硕 e35m pro(嵌入式低压 CPU 和 HD6310 gpu)。
但是,如果我播放 1080p 视频片段,一切都会开始卡顿。我通过 ssh 连接使用 htop 检查,发现其中一个核心的负载达到 100%。
我想知道为什么它不使用 GPU?(我已经安装了 ATI 的专有驱动程序)。我必须更改设置吗?
它是否与 XBMC 相关,或与 ubuntu 相关,或者 ATI 只是不支持在 Linux 上在其 GPU 上进行硬件视频解码?
答案1
我不知道该指责谁,但实际上 NVIDIA 提供了一个 API 来为他们的显卡实现这一点,ATI 也为他们的显卡提供了一个 API。正如您所猜测的,它们并不相同,因此为了让程序能够利用这一点,必须对它们进行编码以支持它。
据我所知,目前 XBMC(Dharma 10.1)的稳定版本中没有这个,但幸运的是,它位于下一个版本的分支中。此时,您的选择是等待 Eden 版本,或者直接获取 XBMC 的夜间版本。显然,夜间版本可能不稳定,如果您选择这样做,您必须接受这一风险。
如果你想走夜间路线,请查看这XBMC 论坛上的主题为您提供了几个不同的选项和安装方法。
哦,另外显然如果你愿意选择 Windows(躲避以防有人生气,抱歉)路线,zacate 似乎在该平台上也运行得很好。
答案2
我有同样的硬件,这个帖子对我帮助很大。尤其是来自 lars-opdenkamp 存储库的 xbmc。
答案3
我假设您有一个基于融合的系统?对我来说,以下指南非常有帮助:http://youresuchageek.blogspot.nl/2012/06/xbmc-install-and-config-howto-for-linux.html
如果您只想在 ubuntu 中使用 xbmc(不是独立的),请按照指南中所述从 wsnipex ppa 安装 xbmc-xvba。(还请遵循仅启用 xvba,而不是 vaapi 和 vdpau 和刷新率的提示)。对我来说(在 ubuntu 12.04 上),compiz 不喜欢 xbmc,但如果我使用以下脚本启动 xbmc,它会按预期工作并具有硬件加速:
#!/bin/bash
metacity --replace &
sleep 2s
xbmc
unity --replace &
exit;
它将终止 compiz,启动 xbmc,并在您关闭 xbmc 时再次启动 compiz。