Foxtail, Puppy Linux, OpenGL, and XML Files.

Questions about Wine on Linux
Locked
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

Hello again, fellow WINE fans!

A while back I posted something here about using WINE with the Windows game "Foxtail" on an old Sony VAIO using Puppy Linux 5.2.5. It didn't work, nor did it in XP mode (the Sony is a "Dual Operating System" device).

I got the game working in XP mode. What is needed in part is an "XML" file to point it at DirectX. That way SwiftShader can get it running.

The problem seems to be whether or not I use that XML file with WINE I get the same exact error message in the command window about a GLX11 (or some such thing) error, "expect problems"- it is clearly related to OpenGL. It seems as if the game is NOT trying to use DirectX.

Is this because of the XML file? Can anyone here advise how to force a game to use DirectX with WINE?

Thank you.


(Note: an earlier post does have more detailed information, but my time is almost up here.)
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

Oops, sorry...here's the error message:

Code: Select all

# err:module:load_builtin_dll failed to load .so lib for builtin L”winemp3.acm”: libmpg123.so.0: cannot open shared object file: No such file or directory
fixme:win:EnumDisplayDevicesW (L”\\\\.\\DISPLAY1“,0,0x33f430,0x00000000), stub!
Xlib:  extension “GLX” missing on display “:0.0“.
err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn’t initialize OpenGL, expect problems 

It doesn't matter if that "settings.xml" file is there or not- the same identical message appears. That particular file points the game to "Direct3D," which is how it works in XP mode.

Note: that part about "libmpg123.so.0" does not matter. If the PET file is installed that part vanishes, but the rest remains. On the ASUS with Puppy Linux 6.0.5 Tahrpup it appears as well but the game works just fine. Also note that the ASUS is using the same identical version of WINE.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by Bob Wya »

@GusCE6

Can you post a Wine terminal log with:

Code: Select all

export WINEDEBUG=+wgl
wine ...
Wine is trying to setup DirectX translation support.

This simply means you don't have native Linux OpenGL acceleration setup correctly (to actually translate the DirectX calls to OpenGL):

Code: Select all

Xlib:  extension “GLX” missing on display “:0.0“.
err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn’t initialize OpenGL, expect problems 
So please can you also post the output from:

Code: Select all

glxinfo | egrep '^[[:alpha:]]'
Ta
Bob
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

I'll certainly try!

What I don't understand is this: why does it work on the ASUS? Same OS (Puppy Linux 5.7.0, only good for testing on the Sony), same version of WINE...if this has nothing to do with the Windows part then why does it work on one but not the other unless it is a hardware issue?

That "settings.xml" file is meant to direct the game AWAY from OpenGL and towards "direct3d." This is why, as long as Swiftshader 2.1 files are in the game folder as well, the game does work in Windows XP mode.

It looks like this:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<Settings>
   <Rendering>
      <RenderingHint>direct3d</RenderingHint>
   </Rendering>
</Settings>

I'm guessing that once OpenGL is out of the picture I'll get the usual error message about DirectX- just as with "Deepica"- but once Swiftshader is in place and the WINE settings are arranged for it the game should work (barring any other problems).
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by Bob Wya »

GusCE6 wrote:I'll certainly try!

What I don't understand is this: why does it work on the ASUS? Same OS (Puppy Linux 5.7.0, only good for testing on the Sony), same version of WINE...if this has nothing to do with the Windows part then why does it work on one but not the other unless it is a hardware issue?

...
It probably will be a hardware (graphics card) issue.
But since you haven't supplied any of the hardware specifications for either system...
I can't comment further, without you supplying the info I requested.

Bob
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

Well, that last reply was just after I saw your post- but it was with the mighty ASUS, which doesn't have this problem...however, I've now had a chance to try your codes on the Sony. Here are the results (this uses the desktop command window):

Code: Select all

export WINEDEBUG=+wgl
wine ...
Results in:

Code: Select all

wine: cannot find L "Z:\\root\\."

Code: Select all

glxinfo | egrep '^[[:alpha:]]'
Results in:

Code: Select all

bash: glxinfo: command not found

Not good...but here is what I can tell you:

The Sony is a 2001 VAIO laptop.
Pentium(R) 3 Intel integrated chip (Mobile)
800MHz processor
256MB RAM
Operating System: Puppy Linux 5.2.5 Lucid
Kernel: Linux 2.6.33.2 (i686)
Resolution: 1024h x 768v
OPENGL RENDERER: UNKNOWN
X11 Vendor: The X.Org Foundation



If I read this right there is nothing for OpenGL here.

The game in question- Gingertips "Foxtail"- now runs in Windows XP mode. This is due to the Freeimage.dll 3.17 file being replaced by the 3.15 version then the later 3.18 version; adding that "settings.xml" file which makes the game use DirectX (Direct3D) instead of OpenGL; and adding the three Swiftshader 2.1 files- Swiftshader is GREAT for older devices.

If what you say about not having "native Linux OpenGL" acceleration set up is the problem, the question is what can I do about it? Installing "Xorg.High" PET file didn't accomplish anything, in fact it made a mess of other things.

And why isn't this a problem with the ASUS other than the fact that it's...well, the ASUS.

Typing "OpenGL" in the file finder results in several "opengl32" results, including DLL, DLL.SO, and DEF, usually in the WINE folders.

It seems as if something isn't playing nice with something else here.

Another game- "Kiki the Nanobot-" and a few others have this sort of problem too. In the case of "Foxtail" if fixing this "opengl" problem gets the game running then fine, but why isn't the game shifting to DirectX instead of using OpenGL- since that is what that "settings.xml" file is there for?

I've also noticed other games- like "Woodville Chronicles"- are not affected by any XML file trying to direct them to "direct3D." If this problem can be solved quite a bit more can be done here. Hopefully you've spotted the problem and can tell me how to solve it.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by Bob Wya »

GusCE6 wrote:

Code: Select all

export WINEDEBUG=+wgl
wine ...
Sorry I wasn't being clear enough there.
More acurately that should be:

Code: Select all

export WINEDEBUG=+wgl
cd <PATH TO FOXTAIL EXECUTABLE>                                 # <---> fill the path in!!
wine <FOXTAIL EXECUTABLE> &>~/wine_foxtail_wgl_log.txt  # <---> fill the file name in!!
This will create the log file: "wine_foxtail_wgl_log.txt" , in your Linux user's home directory (probably /root - if it's Puppy)...
GusCE6 wrote:

Code: Select all

glxinfo | egrep '^[[:alpha:]]'
Results in:

Code: Select all

bash: glxinfo: command not found
That's a bummer. But I need the output, from the command, for both machines.

Please ask on the Puppy Linux forums what package the glxinfo command is in.
It's typically in mesa-utils or mesa-progs
But that's on a "normal" Linux distribution...

Ta
Bob
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

Here it is:

Code: Select all

0009:fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0x32f3f0,0x00000000), stub!
0009:trace:wgl:wglChoosePixelFormat 0x6003a 0x32f830: size 40 version 1 flags 37 type 0 color 8 3,3,2,0 accum 0 depth 0 stencil 0 aux 0
Xlib:  extension "GLX" missing on display ":0.0".
0009:err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn't initialize OpenGL, expect problems
0009:fixme:win:RegisterTouchWindow (0x10052 00000003): stub
0009:trace:wgl:wglChoosePixelFormat 0x1d0042 0x32f5e0: size 40 version 1 flags 37 type 0 color 8 3,3,2,0 accum 0 depth 0 stencil 0 aux 0
0009:trace:wgl:wglChoosePixelFormat 0x1d0042 0x32f5e0: size 40 version 1 flags 37 type 0 color 8 3,3,2,0 accum 0 depth 0 stencil 0 aux 0
0009:err:ntdll:RtlLeaveCriticalSection section 0x350430 is not acquired

I'll try to get more, but that "UNKNOWN" part seems to indicate something is missing.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by Bob Wya »

@GusCE6

The log indicates you don't have Linux OpenGL support.
Realistically I think the integrated graphics, on a Intel Pentium 3 CPU, is going to do diddly squat under Wine.
Intel's desire to support Linux, with top quality Open Source drivers, post-dates 1999 by many years!
Intel's Windows graphics driver support is a totally different matter / department at the company.

I'm surprised the laptop still works at all (especially since it's Sony-branded!) 8)

Bob
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

The question remains, though- why is a game like "Foxtail" directed away from OpenGL (the game uses that by default) to Direct3D in Windows XP mode by that "settings.xml" file but not in Puppy Linux mode? As far as I can see another game that does that- "Woodville Chronicles"- has the same problem.

OpenGL games do work in XP mode.

If OpenGL is not a matter of hardware as is, say, SSE2 instructions (Pentium 3 lacks this) then surely it is software (driver?) based- and so there should be something for Puppy Linux 5.2.5 Lucid to install. If it's not too much I could even put the files/libraries in manually, as I did with tahrpup on the ASUS to get "Alien Blaster" working.

That Sony was "Made In Japan." It is an excellent product, and my last reply was posted with it, entirely in Puppy Linux mode. Heck, before that I was watching a Youtube "Foxtail" and "Space: 1999" video in 360p on it. Not bad for something built before Youtube existed. Browsing is safe and pretty efficient.

With "Foxtail," "Plants Vs. Zombies," and others it has a superb game collection, "Undertale" being the only real weak point in the collection. Pesky GameMaker Studio!

There must be a way of installing OpenGL on it, or at least forcing the game to use Direct3D.

Thanks!
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by Bob Wya »

@GusCE6

To be clear there multiple graphics render paths in Wine:

Code: Select all

Windows                      Linux

DirectX 7.0-11.0   ->   OpenGL 3.x / 4.x
OpenGL                 ->   OpenGL
DirectX 12.0          ->   Vulkan
So ultimately you'll require working Linux OpenGL support, to run Foxtail under Wine!
Which as I stated previously - is highly doubtful on such ancient hardware...

I forgot that Sony used to be a great company, good point!

Their current laptop hardware sucks, really bad...
A friend got a Sony laptop, 2 or 3 years ago, and it head a dead pixel (or two), an awful trackpad, really bad build quality.
Oh my lord! :shock:

Bob
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

It's always good to actually have someone who knows about these things to talk to!

Code: Select all

Windows                      Linux

DirectX 7.0-11.0   ->   OpenGL 3.x / 4.x
OpenGL                 ->   OpenGL
DirectX 12.0          ->   Vulkan

If I understand this what you mean is that for a DirectX game to work in Linux OpenGL 3.x must be there.

"Foxtail" can run in one of two ways: OpenGL is default probably because it's cross-platform, but it can also run in Direct3D mode as well. That is what the "settings.xml" file does.

On the Sony in Windows XP mode when you just try the game itself- nothing added- the window does appear, but you quickly get that "error so sorry for the inconvenience (yeah right)" window. "Foxtail" never appears in the corner, only WME. Absolutely nothing appears onscreen, it is "whitescreen." BUT- at least the window DOES appear! It does get that far.

Using WINE in the Sony's Puppy Linux mode never even gets that far. Check me on this one: my guess is that the game must at least be able to get as far as in Windows XP mode in order to "switch over" to Direct3D mode. Since absolutely nothing happens it just isn't even "turning over," let alone starting.

In the case of several other games you get a "DirectX" error message. By going to the WINE configurations and directing it to the Swiftshader 2.1 files ("d3d8.dll" and "d3d9.dll") for that game the game will work. This is what I am trying to do here.

But clearly the game is not getting a chance to do this. In theory OpenGL should not even be involved at all, since that "settings.xml" file is directing the game AWAY from OpenGL. But evidently, unlike in XP mode, here the game isn't getting a chance to do so.

I wonder if the game can be altered so by default it uses Direct3D?
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by Bob Wya »

GusCE6 wrote:It's always good to actually have someone who knows about these things to talk to!

"Foxtail" can run in one of two ways: OpenGL is default probably because it's cross-platform, but it can also run in Direct3D mode as well. That is what the "settings.xml" file does.

On the Sony in Windows XP mode when you just try the game itself- nothing added- the window does appear, but you quickly get that "error so sorry for the inconvenience (yeah right)" window. "Foxtail" never appears in the corner, only WME. Absolutely nothing appears onscreen, it is "whitescreen." BUT- at least the window DOES appear! It does get that far.

Using WINE in the Sony's Puppy Linux mode never even gets that far. Check me on this one: my guess is that the game must at least be able to get as far as in Windows XP mode in order to "switch over" to Direct3D mode. Since absolutely nothing happens it just isn't even "turning over," let alone starting.

In the case of several other games you get a "DirectX" error message. By going to the WINE configurations and directing it to the Swiftshader 2.1 files ("d3d8.dll" and "d3d9.dll") for that game the game will work. This is what I am trying to do here.
I'd suggest (politely of course) to make your posts a bit more terse and concise - combined with actually explaining precisely the steps you've carried out - when you're describing your problem initially. :lol:
E.g. I hadn't even heard of Swiftshader (and if so, only in passing).

Anyway I had a poke around on the Interweb's....
So Swiftshader includes a DirectX 8.0 / 9.0c LLVM translation layer using a CPU backend (similar to llvmpipe I guess).

Unfortunately further searching around led me to find the system requirements, vs via CPU hardware, are:
The magic behind SwiftShader 2.0’s performance is the SwiftASM runtime assembler. Right now, this run-time assembler only supports x86 architectures with support for SSE, SSE2, and SSE3. It is the foundation upon which the core rendering features of SwiftShader is built, and it helps reduce the overhead caused by mispredicted code branches and cache misses and the like.
So your Pentium 3 will not be supported by Swiftshader unfortunately (the SSE3 SIMD extension was first introduced in Pentium 4)...

Sorry... :cry:

Bob
GusCE6
Level 2
Level 2
Posts: 25
Joined: Wed Oct 03, 2018 3:58 pm

Re: Foxtail, Puppy Linux, OpenGL, and XML Files.

Post by GusCE6 »

No, Swiftshader DOES work on the Pentium 3 Sony.

There are a number of different versions, including 2.0, 2.1, and 3.0.

2.0=DirectX 8 only, no SSE2 needed.

2.1=DirectX 8 & 9, no SSE2 needed.

3.0=DirectX 9 (and 8 presumably), superior to 2.1 overall but DOES require SSE2. This is likely why "Undertale" won't work on the Sony: that game and 2.1 do not play nice together and 3.0 will not work with Pentium 3.

Here is a list of games Swiftshader 2.1 has gotten running on the Sony:

Foxtail (GOG version)
Inherit the Earth: Quest for the Orb (Steam version)
Deepica
The Golden Path of Plumeboom
Plumeboom: The First Chapter
Ancient Wonderland
Mythic Pearls (90%)
Sid Meier's Pirates! 2K (but with serious problems)
Fiber Twig Midnight Puzzle
Elementals: The Magic Key
Farm Frenzy
Wizard's Curse: Deadly Spell
SCUMMVM so by extension:
*LOOM (Steam version)
*Myst Masterpiece Edition (GOG version)
Exorcist Stalker 3

However, all versions of Swiftshader DO take advantage of SSE, SSE2, and SSE3 at least if the computer has that ability. If there is a version beyond 3.0 I know nothing about it but I've tinkered around extensively with all three versions above. Be assured: only 3.0 fails to work on the Sony. Swiftshader 2.1 is the only reason "Foxtail" works in XP mode.

Update:

Something very curious has happened: I get that same OpenGL/GLX error message in another game...yet it plays.

Here is the error message from "Foxtail:"

Code: Select all

# wine start foxtail.exe
0009:fixme:exec:SHELL_execute flags ignored 0x00000100
# 002d:fixme:heap:RtlSetHeapInformation (nil) 0 stub
002d:fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0X33F464,OX00000000), STUB!
xlib:  EXTENSION "GLX" missing on display ":0.0".
002d:err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn't  initialize OpenGL, expect problems
002d:fixme:win:RegisterTouchWindow (0x10052 00000003): stub

"Foxtail" does not work. The window does not appear even for a second. It never appears even as it did when the game failed to work in XP mode.


Now, here is what appears in the command window when starting "Plumeboom: The First Chapter:"

Code: Select all

# wine start plumeboom_first_chapter.exe
0009:fixme:exec:SHELL execute flags ignored: 0x00000100
# Xlib: extension "GLX" missing on display ":0.0".
002e:err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn't initialize OpenGL, expect problems
002e:fixme:win:EnumDisplayDevicesW ((null),0,0x33f0c0,0x00000000), stub!

"Plumeboom" DOES work just fine. It, like "Foxtail," requires Swiftshader in order to work in XP mode. It needs Swiftshader with WINE ("Native") as well.

However, "Plumeboom" by default uses DirectX. "Foxtail" requires that "settings.xml" file in order to use DirectX instead of OpenGL.

Both of these games yield that "OpenGL/GLX" error message. But one works while the other does not. Is something else wrong here?

Also: I tried installing the "Xorg High 1.1" PET file again. Not only didn't it get anything running, it actually caused games that DID work, like "Deepica," to fail! That's a dead end.

I also replaced the "d3d8.dll" and "d3d9.dll" files in WINE's "system32" folder with the Swiftshader versions, then setting the games to use the "built in" versions rather than the "native" versions. It did not work, even though Swiftshader does get the game running when used normally and when those files are in the game folder itself ("native").

Strange. Maybe if SCUMMVM ever runs "Foxtail..."
Locked