14.10 wine 和 fglrx 冲突

14.10 wine 和 fglrx 冲突

我刚刚从 14.04 更新到 14.10,在安装 wine 和 fglrx 时遇到了问题

导致问题的 Wine 依赖关系如下

wine > wine1.6 > wine1.6-amd64 > (ocl-icd-libopencl1 (>=1.0) | libopencl1) && (ocl-icd-libopencl1 (>=1.0) | libopencl-1.1-1)

fglrx > fglrx-core > 与 libopencl1 冲突 && 替换 libopencl1

我尝试修改 wine 包文件以删除依赖项,但最终却感到困惑,我搜索了互联网试图让它忽略这个问题,但我无法让它工作

任何帮助将非常感激

编辑 我发现了 2 个与此相关的错误报告 -https://bugs.launchpad.net/ubuntu/+source/wine1.6/+bug/1376587&https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/1129409

答案1

咬紧牙关,只修改 fglrx-core 包,与 wine 相比很简单,看起来危险性确实更小,也更容易,而不是为了能够安装其他包而破坏包管理器数据。

1) 安装不带 fglrx 的 wine。

2)从包含包的目录中,

fglrx-updates-core_14.201-0ubuntu2_amd64.deb

找个地方拆开包裹,

mkdir abc

3)使用两个命令解压软件包,

dpkg -x fglrx-updates-core_14.201-0ubuntu2_amd64.deb abc

dpkg --control fglrx-updates-core_14.201-0ubuntu2_amd64.deb abc/DEBIAN

4)编辑具有依赖关系的文本文件“control”,

gedit abc/DEBIAN/control

这是“控制”改变后的样子:

Package: fglrx-updates-core
Source: fglrx-installer-updates
Version: 2:14.201-0ubuntu2.1
Architecture: amd64
Maintainer: Ubuntu Core Developers <[email protected]>
Installed-Size: 121292
Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1), lib32gcc1, libc6-i386, dkms, make, linux-libc-dev
Conflicts: fglrx-driver-core
Replaces: fglrx-driver-core, libopencl1
Provides: fglrx-driver-core
Section: restricted/misc
Priority: extra
Homepage: http://support.amd.com
Description: Minimal video driver for the AMD graphics accelerators
 Minimal video driver for the AMD Radeon and FireGL graphics accelerators.
 .
 This package provides 2D display drivers.

仅更改了版本、冲突和提供。保留版本不变是可以的,但包管理器会说存储库中的原始文件是更新,您一定要确保不要这样做。

保存并退出 gedit。

5)将结果放回不同名称的包中,

dpkg -b abc fglrx-updates-core_14.201-0ubuntu2_amd64-hey.deb

实际上您可以使用相同的名称,但不要混淆。

6)安装,

sudo dpkg -i fglrx-updates-core_14.201-0ubuntu2_amd64-hey.deb

7)然后,

sudo apt-get install fglrx-updates

8)感谢发帖的人。

非常感谢在这里发帖的人,他们找出了问题所在。我的 Utopic 运行正常,包括包管理器。Utopic 升级使用“open”驱动程序时出现黑屏,所以我回到了我常用的 fglrx(最初放弃了 wine)。负责修复的 Ubuntu 人员说,由于预定的程序,已经完成的简单修复要到 2015 年 4 月才能在存储库中,如果可以的话,因为“wine”冲突是由 Ubuntu 不支持的“universe”存储库引起的。如果我知道可以上传整个更改的文件的地方,我会上传它。

答案2

利用从这里收集到的信息以及一些进一步的研究,我创建了一个 PPA,以便更轻松地解决此问题

sudo apt-add-repository ppa:dwrj87/fglrxfix
sudo apt-get update

然后sudo apt-get install fglrxsudo apt-get install fglrx-updates

答案3

(抱歉,我想提出新的答案,但我还没有足够的声誉来发表评论。)

按照 Νίκος 的建议,我遇到了两个问题:

  1. 软件包需要 root 权限才能安装包。

  2. 最后一步,playonlinux由于依赖性问题,仍然无法安装。

因此,将最后三行替换为以下两行可能会有所帮助:

sudo apt-get download wine1.6-amd64 wine1.6-i386 wine1.6 playonlinux
sudo dpkg --force-all -i *.deb

此后,我的依赖 Wine 的应用程序运行完美了(谢谢你!)。

顺便说一句,Wine 可以在没有 PlayOnLinux 的情况下运行您安装的程序,但它很方便,可以让您下载更多最新版本的 Wine。

编辑:此过程使包管理器处于不可用状态,这意味着不再安装任何包,整个系统也不再更新。
因此,我继续手动编辑/var/lib/dpkg/状态文件,正如 David 所建议的那样。我最终ocl-icd-libopencl1 (>=1.0) | libopencl1, ocl-icd-libopencl1 (>=1.0) | libopencl-1.1-1从两者中删除了wine1.6-i386wine1.6-amd64
* 如果有人看到这个并且需要更多有关最后一步的指导:在 Aptitude 中忽略损坏的软件包

答案4

嗨,我在 14.10 (gnome 风格) amd64 的 beta1 中遇到了同样的问题。我所做的是一个糟糕的解决方法,不应该在工作场所安装中完成(虽然在我的系统中有效)。首先,我安装了 wine(i386 和 amd64)并让它卸载 fglrx,然后我用它来重新安装了驱动程序 - 这会卸载 wine 但不卸载其依赖项。

sudo apt-get purge fglrx*
sudo update-alternatives --remove-all x86_64-linux-gnu_gl_conf
sudo apt-get install --reinstall libgl1-mesa-dri libgl1-mesa-glx
sudo apt-get install fglrx-updates*

然后再次安装 wine

mkdir temp && cd temp
sudo apt-get download wine1.6-amd64 wine1.6-i386 wine1.6
dpkg --force-all -i *.deb
sudo apt-get install playonlinux

最后一步是使用playonlinux应用程序来帮助您安装其他wine版本。

ps:让你头疼的依赖项是一个 opencl 库,你已经在 fglrx 中拥有它,但由于打包错误,apt-get derp

希望能帮助到你

编辑:完全忘记了

最好去 /var/lib/dpkg/status 并编辑 wine 包的详细信息,并删除任何提及冲突的包(即 ocl-icd-libopencl1)

编辑2:您现在可以卸载 wine 软件包和 fglrx,然后重新安装 wine,然后从 amd.com 网站安装新的驱动程序(14.12)

相关内容