Falcon BMS on GNU/Linux
-
Use https://github.com/sthalik/wine-hacks/tree/pinned-memory-v3 instead! Or ati-catalyst-is-trash branch
You donât need a chroot if you have i386 binaries in /usr/lib32 and multilib GCC.
Chroot is simple with debootstrap.
Enter settings in ~/.wine/user.reg after issuing âwineserver -kâ to prevent Wine from overwriting them.
Note that if you disable GLSL as well as disable HDR in Config.exe, it gives HUGE fps boost. Also standard of disabling anisotropy and enabling forcing anisotropy to 4x with amdcccle works too
OK⌠None of those entries were present in registry under hkey_current_user/software/wine/direct3d. I had to create them - is this correct?. also what is 1361006260? Where does that go??
Still, I built wine with the second of your patches, but it crashes after clicking launch:
fixme:thread:GetThreadUILanguage : stub, returning default language.
fixme:thread:GetThreadPreferredUILanguages 56, 0x33d8fc, (nil) 0x33d924
fixme:thread:GetThreadPreferredUILanguages 56, 0x33d8fc, (nil) 0x33d924
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
err:winediag:X11DRV_WineGL_InitOpenglInfo Direct rendering is disabled, most likely your OpenGL drivers havenât been installed correctly (using GL renderer âAMD Radeon HD 6530Dâ, version â1.4 (2.1 (4.2.11903 Compatibility Profile Context))â).
fixme:win:EnumDisplayDevicesW ((null),0,0x33f588,0x00000000), stub!
err:mmdevapi:DllGetClassObject Driver initialization failed
err:ole:apartment_getclassobject DllGetClassObject returned error 0x80004005
err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
err:dsound:get_mmdevenum CoCreateInstance failed: 80004005
fixme:dbghelp_dwarf:dwarf2_parse_udt_type Unhandled Tag type 0x1 at ctx(0x33c08c,L"ntdll<elf>â), for debug_info(abbrev:0x38602e0,symt:0x3b94274)
fixme:dbghelp_dwarf:dwarf2_parse_udt_type Unhandled Tag type 0x1 at ctx(0x33c08c,L"ntdll<elf>â), for debug_info(abbrev:0x38602e0,symt:0x3b94274)
fixme:dbghelp_dwarf:dwarf2_parse_subprogram Unhandled Tag type 0xf at ctx(0x33c08c,L"ntdll<elf>â), for debug_info(abbrev:0x3860bac,symt:0x3b94120)
fixme:dbghelp_dwarf:dwarf2_parse_subprogram_block Unhandled Tag type 0x15 at ctx(0x33c08c,L"kernel32<elf>â), for debug_info(abbrev:0x7c43580,symt:(nil))
fixme:dbghelp_dwarf:dwarf2_parse_subprogram_block Unhandled Tag type 0xf at ctx(0x33c08c,L"kernel32<elf>"), for debug_info(abbrev:0x7c43580,symt:(nil))
fixme:dbghelp_msc:codeview_add_type_enum_field_list Unsupported type 1404 in ENUM field list
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithDataSegs
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithHandleData
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpScanMemoryWasnât sure how to use pinned-memory-3 - is it a whole download, or possible to patch vanilla wine?</elf></elf></elf></elf></elf>
-
You donât have libGL set up right. Install Catalyst, rebuild Wine.
Itâs possible to patch, yes. Generate diff via âgit checkout pinned-memory-v3 && git diff upstream/masterâ.
If youâre using catalyst, uninstall mesa.
-
You donât have libGL set up right. Install Catalyst, rebuild Wine.
Itâs possible to patch, yes. Generate diff via âgit checkout pinned-memory-v3 && git diff upstream/masterâ.
If youâre using catalyst, uninstall mesa.
That was silly of me! Donât think I can uninstall mesa without uninstalling xorg-dev on Ubuntu? Anyway, the Catalyst driver seems to work fine with mesa still installed if I use the pre-packeged version of wine.
I tried to build again with fglrx installed and got no further:
fixme:thread:GetThreadUILanguage : stub, returning default language.
fixme:thread:GetThreadPreferredUILanguages 56, 0x33d8fc, (nil) 0x33d924
fixme:thread:GetThreadPreferredUILanguages 56, 0x33d8fc, (nil) 0x33d924
fixme:win:EnumDisplayDevicesW ((null),0,0x33f588,0x00000000), stub!
err:mmdevapi:DllGetClassObject Driver initialization failed
err:ole:apartment_getclassobject DllGetClassObject returned error 0x80004005
err:ole:CoGetClassObject no class object {bcde0395-e52f-467c-8e3d-c4579291692e} could be created for context 0x1
err:dsound:get_mmdevenum CoCreateInstance failed: 80004005
fixme:dbghelp_dwarf:dwarf2_parse_udt_type Unhandled Tag type 0x1 at ctx(0x33c08c,L"ntdll<elf>â), for debug_info(abbrev:0x38602e0,symt:0x3b94274)
fixme:dbghelp_dwarf:dwarf2_parse_udt_type Unhandled Tag type 0x1 at ctx(0x33c08c,L"ntdll<elf>â), for debug_info(abbrev:0x38602e0,symt:0x3b94274)
fixme:dbghelp_dwarf:dwarf2_parse_subprogram Unhandled Tag type 0xf at ctx(0x33c08c,L"ntdll<elf>â), for debug_info(abbrev:0x3860bac,symt:0x3b94120)
fixme:dbghelp_dwarf:dwarf2_parse_subprogram_block Unhandled Tag type 0x15 at ctx(0x33c08c,L"kernel32<elf>â), for debug_info(abbrev:0x7c43580,symt:(nil))
fixme:dbghelp_dwarf:dwarf2_parse_subprogram_block Unhandled Tag type 0xf at ctx(0x33c08c,L"kernel32<elf>"), for debug_info(abbrev:0x7c43580,symt:(nil))
fixme:dbghelp_msc:codeview_add_type_enum_field_list Unsupported type 1404 in ENUM field list
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithDataSegs
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithHandleData
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpScanMemory</elf></elf></elf></elf></elf> -
Youâre missing sound still.
-
Yep. I thought that was what it was, but I donât know why⌠what libs provide that? The only warnings I got were about missing libtiff and a couple of other (non sound) libs -libosmesa IIRC.
Would not working sound mean that it doesnât start up tho??
-
alsa
-
alsa
Yep - Iâm pretty sure the alsa development libs must be installed⌠It was certainly not mentioned in the config step of wine as far as I remember, but I will double check when I am back on that computer.
-
When in doubt, run winecfg and click âtest soundâ.
-
When in doubt, run winecfg and click âtest soundâ.
Yes. Sound worked from there no prob.
-
Yes. Sound worked from there no prob.
OK - so the problem was, I had sound working in 64 bit but not 32 bit. I installed asoundlib-dev (i386) and it now works with sound and starts up. However, when I launch into instant action, the screen stays black, and I get this:
fixme:win:EnumDisplayDevicesW ((null),0,0x33f588,0x00000000), stub!
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:swapchain_init The application requested more than one back buffer, this is not properly supported.
Please configure the application to use double buffering (1 back buffer) if possible.
err:d3d:context_create wglSwapIntervalEXT failed to set swap interval 0 for context 0x14f4baf0, last error 0x591
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
err:d3d:context_create wglSwapIntervalEXT failed to set swap interval 0 for context 0x14ed8760, last error 0x591
fixme:d3d:query_init Unhandled query type 0x4.
err:d3d:resource_unload Resource 0x14edc2b0 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x71b428a8 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x71b6fe10 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x71b9c3e0 is being unloaded while mapped.
fixme:d3d:wined3d_buffer_preload Too many declaration changes or converting dynamic buffer, stopping converting
fixme:d3d_draw:draw_primitive Using software emulation because manual fog coordinates are provided.
err:d3d:wined3d_buffer_map >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUnmapBufferARB @ buffer.c / 1079
err:d3d:resource_unload Resource 0x1cf030 is being unloaded while mapped.
err:d3d:wined3d_buffer_map >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUnmapBufferARB @ buffer.c / 1079
err:d3d:resource_unload Resource 0x1cf2e0 is being unloaded while mapped.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:wined3d_buffer_preload Too many declaration changes or converting dynamic buffer, stopping converting
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
err:d3d:context_create wglSwapIntervalEXT failed to set swap interval 0 for context 0x671198a0, last error 0x591
err:d3d:wined3d_buffer_map >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUnmapBufferARB @ buffer.c / 1079
err:d3d:resource_unload Resource 0x154a6f30 is being unloaded while mapped.
err:d3d:wined3d_buffer_map >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUnmapBufferARB @ buffer.c / 1079
err:d3d:resource_unload Resource 0x158b0390 is being unloaded while mapped.
err:d3d:context_create wglSwapIntervalEXT failed to set swap interval 0 for context 0x735bd318, last error 0x591
err:d3d:wined3d_buffer_map >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUnmapBufferARB @ buffer.c / 1079
err:d3d:resource_unload Resource 0x1cee98 is being unloaded while mapped.
err:d3d:wined3d_buffer_map >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUnmapBufferARB @ buffer.c / 1079
err:d3d:resource_unload Resource 0x73396308 is being unloaded while mapped.
err:d3d:wined3d_buffer_map >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUnmapBufferARB @ buffer.c / 1079
err:d3d:resource_unload Resource 0x158afd68 is being unloaded while mapped.
^CI tried entering the registry values in (as you suggested), but to no avail.
-
OK⌠Think Iâve fixed it now. Seems like it was some settings within BMS that I hadnât set correctly - maybe triple buffering switched on? Not sure. Need more testing, but at least I got it to get into the game with vanilla wine built by me - now to test your patch!
-
Cheers! Yes, triple buffering needs to be disabled.
Once you get it done get ftnoir-posix
-
Cheers! Yes, triple buffering needs to be disabled.
Once you get it done get ftnoir-posix
Donât have the kit for that yet⌠Donât even have a joystick!!! (any recommendations?)
But - with your patch I am now getting 35 fps in instant action!!! Woohoo!
-
Saitek X65F or Warthog.
Disable GLSL and HDR and anisotropy.
-
On the contrary, BMS is one of only 2 reasons I still have a Windows install in the house at all.
I agree, its the same at our house.
-
With Catalyst driver itâs possible to play with HDR. The only thing that needs to be off is triple buffering.
-
Have you tried out playing online under Wine?
-
Yes. It works.
-
Hi,
Sorry to bring this old thread back, but Iâd like to say big thanks to all that made possible to run this new incarnation of Falcon 4 on Linux, be it the Wine team or the BMS team themselves. Iâve been playing around a bit with it and everything seems to work fine so, again, bg kudos to anyone involved.Just as a reference, in case it might help anyone, Iâm using it on a Fedora 18 system, using Wine 1.5.24 and an nVidia card (using the propietary drivers). The program was installed through excellent PlayOnLinux tool, with no specific quirks. On F4-BMS side, I only had to disable âTriple Bufferingâ in Config tool, as otherwise I was getting a completely black screen (although the program was indeed responsible).
By the way, Iâve been working for some time in a new joystick programming tool for Linux, which includes complete support for modes & shift buttons, axis programming through bands, etc⌠In case anyone muight be interested in using it (Iâm using it right now with my old Saitek X-45), the link is in my sig.
Kind regards,
Eduard Huguet -
@Eduard
Are you using TrackIR, or any other track?