I tried to post this to comp.emulators.ms-windows.wine, but there were no replies. I realize this is partly covered on the Codeweavers web site, but I'm not sure whether the discussions there apply to my problem, and I wasn't able to find a solution by Googleing around either. So here it goes. I'll start with a little explanation, but it may be possible to just skip down to the "***" marked section. When I start Wine on my RedHat 7.3 machine running XFree86, Wine works fine. On the first run, it makes a few complaints about certain fonts not working correctly, but on subsequent runs it doesn't complain and Windows applications seem to be working as expected. So far, so good. However, when I login to my Linux desktop from a remote machine using Startnet's X-Win32 5.3 X server for Windows, Wine aborts with the following error: X Error of failed request: BadAlloc (insufficient resources for operation) Major opcode of failed request: 45 (X_OpenFont) Serial number of failed request: 3358 Current serial number in output stream: 3359 My X-Win32 is set up to use my Linux machine as a font server rather than using X-Win32's built-in fonts, and because these are the very same fonts that work fine on a local login, I don't think it's any broken fonts that are causing problems. The discussions on the Codeweavers web site indicate that Wine(?) is simply running out of resources building the font cache, but my XFree86 installation is a pretty bare-bones one using only the XFree86-base-fonts fonts. In fact, when I make an extreme limitation on the number of fonts on a remote login, such as avoiding the use of my Linux machine as a font server, I don't get that error and the Windows applications work as expected. Unfortunately, for various reasons I can't accept such a limited number of fonts. *** So, here's the question: I need to be able to specify a relatively large number of fonts for a remote login via X-Win32, without getting a BadAlloc error. Is this a problem that is to be found somewhere inside of the X-Win32 X server (meaning I'll get rid of it and buy another X server), or can I hack the Wine source to increase the limit of whatever resources are needed? Thanks, - wolf -
Ole Wolf wrote:> I tried to post this to comp.emulators.ms-windows.wine, but there were > no replies. I realize this is partly covered on the Codeweavers web > site, but I'm not sure whether the discussions there apply to my > problem, and I wasn't able to find a solution by Googleing around > either. So here it goes. I'll start with a little explanation, but it > may be possible to just skip down to the "***" marked section. > > When I start Wine on my RedHat 7.3 machine running XFree86, Wine works > fine. On the first run, it makes a few complaints about certain fonts > not working correctly, but on subsequent runs it doesn't complain and > Windows applications seem to be working as expected.If you set up wine for "client side" rendering, then it does not use xfs, there is no cache, and I think these problems might go away. RH7.3 has all the support, which basically is a very recent version of libXrender, and you also need a current (post april) version of wine. To get wine to use client side rendering, it just needs a directory C:\windows\fonts with a bunch of TT fonts in it. I suspect there is a way to tell wine to look at another directory, but I don't know what that is. You can get these fonts from a real windows install. Or download a bunch from here: http://www.microsoft.com/typography/fontpack/default.htm
--- Ole Wolf <wolf@blazingangles.com> wrote: [skipped]> Is this a problem that is to be found somewhere > inside of the X-Win32 X > server (meaning I'll get rid of it and buy another X > server), or can I > hack the Wine source to increase the limit of > whatever resources are > needed?Ole, I regulary use Wine from Windows machine using XFree86 port to Windows (http://xfree86.cygwin.com/) and I never had the problems you describe. Agree, I do not care about fonts, runnig Wine mostly for development/testing purposes so it is possible I just did not come close to its limits. Still, XFree86 does a good job on *nix and you can give it a try on Windows. If you decide to try it, please, post your experience. Andriy __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com
"Ole Wolf" <wolf@blazingangles.com> writes:> I need to be able to specify a relatively large number of fonts for a > remote login via X-Win32, without getting a BadAlloc error. > > Is this a problem that is to be found somewhere inside of the X-Win32 X > server (meaning I'll get rid of it and buy another X server), or can I > hack the Wine source to increase the limit of whatever resources are > needed?The BadAlloc error comes from the X server. At startup Wine will try to load all available fonts to retrieve their metrics, and there is probably some kind of memory leak or resource limit inside the X server that causes it to fail. So you either have to reduce the number of fonts Wine is using, or get another X server. -- Alexandre Julliard julliard@winehq.com