I’ve spent all day yesterday trying to work this out, I haven’t gotten anywhere.
What I’m trying to do.
TL;DR Trying to run a program
My school (K-12, homeschool) has a course called Immersive Technology, in which we use a program (among others) called Thinking Worlds. Thinking Worlds is a 3D game in which you enter a virtual world and do missions based on educational subjects.
Thinking Worlds is, like most educational computer programs is outdated, has no support and is Windows only.
Thinking Worlds, apparently uses “Windows media 9 and DirectX Version 9C”
How I’m trying to do it.
TL;DR I tried on mac, didn’t work. Turned to Linux for official support.
So, nobody at my school uses Linux, only mac. So I originally set out to make an installer for mac.
For ease of use for the students of my school, I originally set out to use winebottler - http://winebottler.kronenberg.org/ but I got nowhere. I then tried Wineskin, but it also seemed to fail me.
So because I’m running a Windows PC, I loaded up VirtualBox and ran a hackintosh in there. No dice, I ran into issues, which I googled, and appeared to be related to insufficient graphics drivers, which are non-existant in VirtualBox (for mac at least).
So, I was then able to borrow a MacBook Pro from a friend. Still problems. Doesn’t even run.
I then decided I should seek official support, and moved to my efforts an Ubuntu 15.04 virtual box system, which eventually failed me because of lack of sufficient opengl.
I then moved onto a physical laptop running Ubuntu 14.04, which failed me, because it, again, lacked sufficient OpenGL.
I finally moved to my last resort. My Arch Linux file server. It has a sufficient graphics card, but using VNC is slightly painful, and I didn’t want to set it up multiarch. After I was unable to set it up, and got similar errors, I knew it was time to hit the forums.
What my problem is
TL;DR Seriously? Actually read this part.
OK, so from the start. Here are the system specs:
OS: 64-bit Arch Linux
GFX: GeForce 9300 GE running nvidia-340xx drivers
CPU: AMD Phenom 8450
RAM: 2GB
X.Org version: 1.18.0
Wine version: wine-1.9.2
Winetricks version: 20160109 (manual install)
Desktop Environment: KDE Plasma
So, the steps I take:
- Delete previous wine prefix, ex rm -r $HOME/.wine32
- Set the wine prefix: export WINEPREFIX=”$HOME/.wine32”
- Set the wine arch: export WINEARCH=win32
- Run winecfg to generate the wine prefix.
- Run the installer. (download here) I get the following log, but it seems to install fine. VERBOSE LOG HERE.
Code: Select all
fixme:shell:SHAutoComplete stub fixme:exec:SHELL_execute flags ignored: 0x00000180 fixme:ntdll:NtLockFile I/O completion on lock not implemented yet err:richedit:ReadStyleSheet skipping optional destination err:richedit:ReadStyleSheet skipping optional destination err:richedit:ReadStyleSheet skipping optional destination err:richedit:ReadStyleSheet skipping optional destination err:richedit:ReadStyleSheet skipping optional destination
- I then cd to the directory: cd “$HOME/.wine32/drive_c/Program Files/Caspian Learning/Thinking Worlds/Thinking Worlds/”
- On Ubuntu, I would run winetricks install mdac28 because the ODBC drivers don’t seem to work in Ubuntu, but they work fine on Arch Linux
- Then, I get some error messages in the command line that don’t tell me anything, and nothing happens, I have to Ctrl-C to stop wine.
You can find the verbose output here: http://paste.scratchbook.ch/view/ec9a60dc
Code: Select all
fixme:win:EnumDisplayDevicesW ((null),0,0x32f724,0x00000000), stub! fixme:console:CONSOLE_DefaultHandler Terminating process 8 on event
Some notes:
The verbose run log talks a lot about this:
Code: Select all
warn:wincodecs:PngDecoder_Frame_GetResolution no pHYs block present
I think it’s tripping up on line 295 – 298 of the verbose log, which says:
Code: Select all
warn:d3d_surface:surface_init Creating a lockable surface with a POOL of DEFAULT, that doesn't specify DYNAMIC usage.
warn:d3d9:d3d9_swapchain_QueryInterface {580ca87e-1d3c-4d54-991d-b7d3e3c298ce} not implemented, returning E_NOINTERFACE.
warn:d3d9:d3d9_swapchain_QueryInterface {580ca87e-1d3c-4d54-991d-b7d3e3c298ce} not implemented, returning E_NOINTERFACE.
warn:d3d9:d3d9_device_QueryInterface {580ca87e-1d3c-4d54-991d-b7d3e3c298ce} not implemented, returning E_NOINTERFACE.
Code: Select all
fixme:win:EnumDisplayDevicesW ((null),0,0x33f724,0x00000000), stub!
It also talks about:
Code: Select all
warn:wgl:X11DRV_wglGetPixelFormatAttribivARB Unable to convert iPixelFormat 0 to a GLX one!
According to Dependency Walker
It’s using the following “main” dependencies.
If you want a full dependency list, I’ve got it here: http://hastebin.com/raw/eficuladujdinput8.dll
D3D9.dll
winmm.dll
dsound.dll
wmvcore.dll
kernel32.dll
user32.dll
GDI32.dll
comdlg32.dll
advapi32.dll
shell32.dll
ole32.dll
oleaut32.dll
odbc32.dll
If this is a bug, I would be willing to pay to get it fixed.
Wine seems to be on Bountysource, but has had no bounties, is it supported?