如何为wine添加原生 dll

Wine、Cedega、CrossOver 等配置
回复
wsfzk
帖子: 18
注册时间: 2010-06-07 11:42

如何为wine添加原生 dll

#1

帖子 wsfzk » 2016-12-16 9:53

各位老师,我的ubuntu系统是16.10,我发现一个固定的现象,就是每次当我安装完wine后再重新启动系统就会进入无限的黑屏。必须要重新启动在启动菜单中加入nomodeset参数才能够进入桌面。
我再次的对PS cs6进行了安装 试验。这次的结果是比较完美的。可以打开以前打不开的那几个psd文件了。在安装有道词典时仍然无法正常使用。我仔细查看了一下报错信息,貌似是缺少相应的库文件导致的。但是我已经将Windows Xp下system32中的所有dll全部复制到了.wine/drive_c/windows/system32下啊。而且我搜索该dll的文件名时可以在wine的system32目录下找到。并且对相应的dll,我也已经在winecfg里设置为原生先于内置。由此我想,是不是因为我只是将dll进行了替换,但是在注册表中没有进行注册,所以才无法识别呢?在win中当dll没有注册时,是需要用regsvr32进行注册的。以上纯属小菜的猜测,还望各位老师指点迷津。谢谢。

小菜的问题:

1、为什么安装好wine后重启就会进入黑屏呢?是显卡驱动的问题?

2、安装好wine后应该如何安全的进行dll顶替?顶替时是复制到wine的system32里,还是放到程序的当前目录里?

3、是简单的直接从win下复制到wine里就好,还是需要进行其它的设置。如regsvr32进行注册?

再次感谢!
wsfzk
帖子: 18
注册时间: 2010-06-07 11:42

Re: 如何为wine添加原生 dll

#2

帖子 wsfzk » 2016-12-19 8:29

各位老师麻烦百忙之中帮助一下,谢谢!
poloshiao
论坛版主
帖子: 18279
注册时间: 2009-08-04 16:33

Re: 如何为wine添加原生 dll

#3

帖子 poloshiao » 2016-12-19 8:58

我的ubuntu系统是16.10
1. 目前 wine 支援名單中 尚無 16.10
1-1. https://www.winehq.org/download
Ubuntu - WineHQ binary packages for the development and staging branches for Ubuntu 12.04, 14.04, 15.04, 15.10, 16.04
1-2. 查證一下 是否適用於 16.10

2. wine 跟 Windows 的 程式 (當然包含 .dll) 並非全部 100 % 相容
有的相容良好 有的只是部份相容
2-1. 這裡有一個資料庫 供網友提供使用經驗登錄
可以找找 你目前 添加原生的 dll 與 Wine 相容性好不好
https://appdb.winehq.org/
This is the Wine Application Database (AppDB). Here you can get information on application compatibility with Wine.
2-2. 如果相容不好 讓你心裡有個底
wsfzk
帖子: 18
注册时间: 2010-06-07 11:42

Re: 如何为wine添加原生 dll

#4

帖子 wsfzk » 2016-12-20 9:06

感谢poloshiao老师的热心解答,我一直认为16.04的软件可以运行在16.10上,看起来还是我对linux了解的太少了。再次感谢您的指教!
头像
astolia
论坛版主
帖子: 6386
注册时间: 2008-09-18 13:11

Re: 如何为wine添加原生 dll

#5

帖子 astolia » 2016-12-20 20:32

wine有一些核心dll不能用原生的。根据文档说明 https://www.winehq.org/docs/wineusr-gui ... -OVERRIDES ,至少有kernel32.dll, gdi32.dll, user32.dll, ntdll.dll这么几个。

poloshiao这家伙经常拿一些他自己都没仔细读过的资料来瞎说一气,别被他唬住了。那句话的意思根本不是他说的那样,自己读下英文再联系下上下文就知道那根本不是什么支援名单。

你的黑屏问题我倒是有些更加靠谱的思路,特别是你用nvidia显卡的话。
wine的包会依赖opencl这类跟显卡相关的库,而其依赖的opencl库可能会和N卡闭源驱动自己的opencl库冲突,导致显卡驱动被卸载或不能正常工作,所以就黑屏了
如果你安装wine时有提示会卸载掉某些包,就基本是这种状况了
wsfzk
帖子: 18
注册时间: 2010-06-07 11:42

Re: 如何为wine添加原生 dll

#6

帖子 wsfzk » 2016-12-22 18:50

astolia 写了:wine有一些核心dll不能用原生的。根据文档说明 https://www.winehq.org/docs/wineusr-gui ... -OVERRIDES ,至少有kernel32.dll, gdi32.dll, user32.dll, ntdll.dll这么几个。

poloshiao这家伙经常拿一些他自己都没仔细读过的资料来瞎说一气,别被他唬住了。那句话的意思根本不是他说的那样,自己读下英文再联系下上下文就知道那根本不是什么支援名单。

你的黑屏问题我倒是有些更加靠谱的思路,特别是你用nvidia显卡的话。
wine的包会依赖opencl这类跟显卡相关的库,而其依赖的opencl库可能会和N卡闭源驱动自己的opencl库冲突,导致显卡驱动被卸载或不能正常工作,所以就黑屏了
如果你安装wine时有提示会卸载掉某些包,就基本是这种状况了


感谢您的解答,我的显卡是intel的,我安装了intel-graphics-update-tool,在用这个软件更新显卡驱动时出错了,就是我前面提到的那个公钥的错误。
现在我对ubuntu的印象就是不“稳定”,因为当我安装了一个新的程序之后可能再次打开就无法正常启动了。而在Win下安装好系统后,除非是中病毒,一般不会出现安装软件后无法启动的现象。但是这个不影响我继续使用ubuntu。因为有这么多的老师帮我解答,引领我一步步深入进来。再次向所有给予我帮助的大神表示感谢!
附件
2016-12-22 18-49-15屏幕截图.png
回复