Wine核心设置之注册表

Wine、Cedega、CrossOver 等配置
头像
windowssux
帖子: 618
注册时间: 2006-08-06 16:58
来自: 北海

Wine核心设置之注册表

#1

帖子 windowssux » 2008-08-05 22:44

在Wine中,注册表的设置很重要,所以我写了这篇文章。

为了模拟Windows程序,Wine也设立了一个相似的注册表结构。不同于老旧版本的Wine把配置文件单独放置,新版本的Wine把各项配置几乎都整合到了注册表里面,这当然方便了Wine的配置。在注册表里,还存在很多无法在winecfg中修改的核心配置。在注册表中,可以设置声音,模拟的Direct3D、DirectDraw,X11驱动,网络,打印机,摇杆,字体……

装好Wine以后,在终端输入regedit就可以打开Wine的注册表编辑器了,更多的regedit的使用方法在http://wiki.winehq.org/regedit。

如果有在Windows下使用注册表的基础,使用Wine的注册表将不会遇到太大的困难。在Wine下使用注册表有如下的注意事项:

1、对原本默认情况下不存在的项(Key)或键,要自己建立。在没有特别说明的情况下,键的类型都是String Value。如需要建立一个HKEY_CURRENT_USER\Software\Wine\Direct3D\Multisampling的键,键值为enabled,就打开注册表编辑器,逐级找到Wine,在默认情况下在Wine项下面没有Direct3D,这时就在Wine上点右键,选择New,选择Key,然后把新建的项命名为Direct3D。前面的都是项,然后到最后的Multisampling就是一个键。这时在Wine上点右键选择New——String Value,在右边的窗口把新建的键命名为Multisampling;然后双击打开对话框对键值进行编辑,输入enabled,就完成了。

2、项、键或者键值都要注意大小写。

3、Wine把注册表以文本的形势保存在~/.wine下的reg文件中,不过不提倡直接修改reg文件,可能会遇到编码问题。所以尽量使用注册表编辑器来修改注册表。


HKEY_CURRENT_USER(HKCU)
|
+-Software
|
+-Wine
|
+-Alsa Driver
| |
| +->AutoScanCards
| | 本键决定是否检测所有已知的声卡并将其添加到wine的列表中。如果键值设为“N”,就通过下面的DeviceXXX
| | 来指定设备而不进行自动监测。默认键值为“Y”,就不需要配置下面的DeviceXXX。
| |
| +->AutoScanDevices
| | 本键决定是否检测每张声卡上的所有已知PCM设备(默认 no)。
| |
| +->DeviceCount
| | 如果此键存在,并且键值为“n”,将会按硬件顺序把编号为“n”的Alsa设备添加到Wine的列表中;“n”从
| | 数字0开始。(默认 0)。
| |
| +->DeviceCTLn
| | 本键将为编号“n”的声卡打开Alsa控制设备,“n”从1开始,并且与DeviceCount的键值对应,如DeviceCount
| | 键值的0对应DeviceCTL1。
| |
| +->DevicePCMn
| | 本键将为编号为“n”的声卡打开Alsa PCM设备,“n”从1开始,并且与DeviceCount的键值对应。
| |
| +->UseDirectHW
| 当本键值被设置为“y”时,将开启声卡的直接硬件访问。这在某些情况下可以解决由于缓冲欠载而出现的声音
| 问题。
+-AppDefaults
| |
| --*<app.exe>
| 本项包括程序的个性设置,本项的名称为程序的主执行文件名(xxx.exe)。在本相下建立相应的子项来对程序进
| 行进一步的细化设置,如DllOverrides, X11 Driver,等。
|
+-Direct3D
| |
| +->Multisampling
| | 本键将决定“多重取样”是否被使用。在Wine 1.0发布的前几天,发现了Wine的“多重取样”代码在某些情况
| | 下会触发Nvidia驱动中GLXBadDrawable的bug而出现错误的问题,这个问题影响着很多重要的游戏如
| | Halflife2;此外,还出现了一些FBO和多重取样的交互问题。因此Wine在默认情况下关闭了“多重取样”。当
| | 本键值被设置为enabled时,“多重取样”将开启。
| |
| +->DirectDrawRenderer
| | 本键将为DDraw指定渲染后端,有效的键值为:
| | gdi - 使用GDI(速度慢但是稳定)(默认);
| | opengl - 使用OpenGL(速度快但不是所有程序都适用)。
| | 请访问http://wiki.winehq.org/DirectDraw获得更多内容。
| |
| +->RenderTargetLockMode
| | 本键将为读写已锁framebuffer指定模式,有效的键值为:
| | auto: 目前auto模式等同于readdraw模式。以后auto模式将会被修改为对以下的各个模式进行评测后再
| | 择优选择(默认);
| | disabled: effectively disables render target locking
| | readdraw: uses glReadPixels for reading, glDrawPixels for drawing
| | readtex: reading with glReadPixels, drawing by drawing a textured quad
| | texdraw: readback using a texture, drawing with glDrawPixels
| | textex: readback using a texture, drawing with a textured quad
| | 请访问http://wiki.winehq.org/DirectDraw获得更多内容
| |
| +->OffscreenRenderingMode
| | 本键将为渲染offscreen图像和材质指定模式,有效的键值为:
| | backbuffer: 渲染在backbuffer中完成(默认);
| | pbuffer: 使用PixelBuffers;
| | fbo: 使用Framebuffer object。
| |
| +->UseGLSL
| | 本键将决定GLSL是否被使用。当键值被设置为“disabled”时,将关闭顶点和像素着色器上GL着色语言的使用,
| | 而退回到使用ARB着色器。从Wine 0.9.49开始,在往后的版本中,Wine都在可用的情况下,默认开启GLSL。
| |
| +->VideoMemorySize
| 本键设定所模拟的显存大小,如显存为128MB的显卡本键值设置为128。默认情况下Wine会根据显卡的型号进行
| 猜测并设定,但不一定准确。
|
+-Fonts
| |
| +-Replacements
| | |
| | +->*<font name> = <replacement font name>
| | 如果存在一个键Wingdings,并且其键值是Winedings的时候,Winedings字体就等同于Wingdings。在存在
| | 真正的Wingdings字体的情况下,这个设置无效。
| |
| |
| +-ExternalFonts
| |
| +->*<font name>
| ExternalFonts下的键的名称为字体的名称,值为真实的字体文件名。
|
+-MSHTML
| |
| +->GeckoPath
| | 指向Gecko的安装路径。如“c:\Program Files\wine_gecko”。
| |
| +->GeckoUrl
| 指定Gecko的下载地址,默认情况下是http://source.winehq.org/winegecko.php。你可以用一个本地的文件路

| 径来替代,如file://Z:\path\to\wine_gecko.cab。这样在新建Wine运行环境的时候不必再次下载Gecko。
|
+-Network
| |
| +->UseDnsComputerName
| 如果你需要一个与Unix主机名不同且永久的NetBIOS计算机名称,就设置为“N”,然后在
| HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName进行另外的设定。默认
| 值为“Y”。
|
+->Version
| 设定Wine报告给程序的Windows版本。
| 可用的值有Values: vista, win2003, winxp, win2k, winnt, winme, win98, win95, win31。
|
|
+-WineBrowser
| |
| +->Browsers
| | 在运行winebrowser或者在Windows程序里点击一个链接的时候,Wine会按顺序尝试打开本列表里的浏览器。默
| | 认的列表为“xdg-open,firefox,konqueror,mozilla,netscape,galeon,opera,dillo”。
| |
| |
| +->Mailers
| 在运行winebrowser的时候,Wine会按顺序尝试打开本列表里的邮件管理器。默认的列表为
| “xdg-email,mozilla-thunderbird,thunderbird,evolution”。
|
+-X11 Driver
|
+->ClientSideWithRender
| 设置为“N”时,将禁止使用渲染扩展来渲染客户端字体。
|
+->ClientSideAntiAliasWithRender
| 设置为“N”时,将禁止在X-Render存在的情况下的字体圆滑处理。
|
+->ClientSideAntiAliasWithCore
| 设置为“N”时,将禁止在X-Render被关闭或不存在的情况下的字体圆滑处理。
|
+->Desktop
| 当你在winecfg里钩选“Emulate a virtual desktop”后,这个键的值就决定所模拟的桌面的分辨率大小(如
| 800x600)。
|
+->DXGrab
| 在以窗口模式运行DirectX程序的时候,把本键的键值设为“Y”可以允许程序阻止鼠标脱离窗口。
|
+->Managed
| 把本键的键值设为“N”时,将阻止窗口管理器去管理已创建的窗口。
|
+->UseXRandR
| 把本键的键值设为“N”时,将阻止Wine使用XRandR扩展来改变分辨率。
|
+->UseXVidMode
把本键的键值设为“Y”时,将允许Wine使用XVidMode扩展来改变分辨率。














HKEY_LOCAL_MACHINE (HKLM)
|
+-Software
| |
| +-Microsoft
| |
| +-DirectDraw
| | |
| | +->ForceRefreshRate
| | 本键指定了在运行DirectX游戏时强制执行的屏幕刷新率,以解决某些情况下出现的刷新率问题。从Wine 0.9.58
| | 开始可以通过设置本键开启强制刷新率的功能。本键的类型为DWORD Value,建立后输入键值时在十进制的输入
| | 模式下输入你想要在运行游戏时强制使用的刷新率。如你想把刷新率设为75Hz,则输入75。在输入键值的对话
| | 框下有两个选项,其中下面的那个是十进制。
| |
| +-Internet Explorer
| | |
| | +->Version
| | +->W2kVersion
| | | [Useful to make application believe that you have Internet Explorer
| | | installed (if you set it manually, you might need some IE provided
| | | dlls). Set them to "6.0.2800.1106" for IE6SP1.]
| | |
| | +->Build
| | [Same as above. Set it to "62800.1106" for IE6SP1.]
| |
| |
| +-Windows
| | |
| | +-CurrentVersion
| | |
| | +-Add Paths
| | |
| | +-IExplore.exe
| | [this key explains where to find iexplore.exe.
| | It is needed if you install the gecko engine.
| | Default: "C:\Program Files\Internet Explorer\iexplore.exe"
| | "Path": "C:\Program Files\Internet Explorer;"]
| |
| +-Windows NT
| |
| +-CurrentVersion
| |
| +->FontSubstitutes
| | 本项包含指定字体的替代方案。如名为Tahoma的键的键值为Arial,就用Arial字体来替代Tahoma字体。
| |
| |
| +-AeDebug
| |
| +->Debugger
| [Command to execute on unhandled exception. The environment
| variable WINEDEBUG is cleared before execution.
| Default: "winedbg --auto %ld %ld"]
|
|
|
--System
|
+-CurrentControlSet
|
+-Control
| |
| +-ComputerName
| | |
| | +->ComputerName
| | 本键键值为当前的计算机名。除非上面的UseDnsComputerName 设置为“N”,要不Wine就会根据UNIX的主
| | 机名自动更新本键键值。
| |
| +-Session Manager
| |
| +-Environment
| |
| +->ComSpec
| | 本键指定Wine的系统控制台的位置,默认值为c:\windows\system32\cmd.exe
| |
| |
| +->PATH
| | 本键指定用来搜索可执行程序的环境变量,默认值为c:\windows\system32;c:\windows
| |
| +->ProgramFiles
| | 本键指定Program Files 的路径以及Program Files 的环境变量,默认值为C:\Program Files
| |
| +->SYSTEMROOT
| | 本键指定系统的安装路径以及SYSTEMROOT环境变量,默认值为c:\windows
| |
| +->TEMP
| | 本键指定临时文件的存放路径以及TEMP环境变量,默认值为c:\windows\temp
| |
| +->TMP
| | 同TEMP
| |
| +->USERPROFILE
| | 指定用户配置文件的存放路径以及USERPROFILE环境变量,默认值为c:\windows\Profiles\unix username,其中unix username为你的用户名。
| |
| +->windir
| | 本键指定系统的安装路径,默认值为c:\windows
| |
| +->winsysdir
| 本键指定系统的文件库的路径,默认值为c:\windows\system32
|
+-Hardware Profiles
|
+-Current
|
+-Software
|
+-Fonts
|
+->LogPixels
本键设定当前的DPI值,默认值为96。

还有部分内容没有翻译,可能我以后再翻译。或者你也可以翻译,我再加进去。
参考文章:
http://wiki.winehq.org/UsefulRegistryKeys
有问题请跟贴,我再对原贴做修改。
头像
yyhnxgf
帖子: 146
注册时间: 2008-06-30 12:18

#2

帖子 yyhnxgf » 2008-08-05 23:05

汗。。。先占位在看看,不过我都没有wine呢。。
头像
sunningv
帖子: 1818
注册时间: 2006-12-17 13:34
来自: 武汉

#3

帖子 sunningv » 2008-08-06 8:53

好东西 留名纪念~
人生长恨水长东;
远近高低各不同.
Longerz
帖子: 34
注册时间: 2008-06-29 12:02

#4

帖子 Longerz » 2008-08-06 11:55

感谢。
得好好看看。
头像
hongmy525
帖子: 236
注册时间: 2007-01-26 22:06
来自: 南宁 杭州
联系:

#5

帖子 hongmy525 » 2008-08-06 17:02

嘿嘿……,赞~~~~

wine 的开发者一直在骂注册表是多么龌龊畸形的东西,迫于对win软件的支持,只要把注册表也模拟下来了

包括linux下的桌面环境gnome的"配置编辑器"也是类似注册表一样,看来这个配置库对于整个OS还是很有用的
头像
windowssux
帖子: 618
注册时间: 2006-08-06 16:58
来自: 北海

#6

帖子 windowssux » 2008-08-06 23:07

谢谢大家的支持!
加个精啦...呵呵...
wdboss
帖子: 240
注册时间: 2007-09-12 10:30
联系:

#7

帖子 wdboss » 2008-08-12 22:11

翻译的不错!
头像
easyteacher
帖子: 254
注册时间: 2008-07-19 17:45
联系:

#8

帖子 easyteacher » 2008-08-13 20:34

好文章
转了! :D
longgyifei
帖子: 72
注册时间: 2007-08-29 0:30

#9

帖子 longgyifei » 2008-08-19 10:10

我用wine把大话西游2模拟出来了,开始画面老是觉得慢吞吞的,不知道怎么改才可以,需要改注册表的哪些,我到网上找了好久都没解决
头像
zszzd
帖子: 156
注册时间: 2007-12-12 22:54

#10

帖子 zszzd » 2008-08-19 11:03

mark
cqulong
帖子: 5
注册时间: 2008-08-17 10:58

#11

帖子 cqulong » 2008-08-26 11:01

好东西

拿时间来研究下
头像
heiling2000
帖子: 93
注册时间: 2008-05-05 11:38

Re: Wine核心设置之注册表

#12

帖子 heiling2000 » 2008-11-28 13:10

收下留用!! :em11
头像
Goomy
帖子: 308
注册时间: 2008-10-12 14:33
来自: 上海

Re: Wine核心设置之注册表

#13

帖子 Goomy » 2009-01-29 8:28

mark!
爱生命,爱班图
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: Wine核心设置之注册表

#14

帖子 highwind » 2009-05-19 23:43

请问wine的注册表有没有清理一说? :em09
bbq
帖子: 24
注册时间: 2009-03-27 13:09

Re: Wine核心设置之注册表

#15

帖子 bbq » 2009-05-22 21:03

支持支持
回复