Slitherine Field of Glory II - Graphics Mode issues

Questions about Wine on Linux
Locked
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

Wine Version: 3.9
OS: Arch Linux, kernel 4.16.3-2-ARCH x86_64
Environment:
GNOME 3.28.2 using X (not Wayland)
Xorg 1.20.0
Two monitors, both 1920x1200
Graphics:
Card: Radeon RX580 4GB
Driver: amdgpu (xf86-video-amdgpu 18.0.1-2)
Winearch: win32, fresh prefix
Windows components added: d3dx9_31, d3dx9_36, dbghelp, vcrun2003, vcrun2008

The game installs fine. When I run it, it tries cycles through various attempts at setting the resolution (I can see the rectangles outlined on my screen). Ultimately it fails to find a supported resolution and exits, displaying a dialog with the messag "Failed to create device for rendering. Invalid resolution, or cannot run without at least shader model 3.0".

Output from wine:

Code: Select all

000f:err:service:process_send_command receiving command result timed out
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1053
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33ec64,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33f434,0x00000000), stub!
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33f2a4,0x00000000), stub!
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33f2a4,0x00000000), stub!
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33f2a4,0x00000000), stub!
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33f2a4,0x00000000), stub!
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x33f2a4,0x00000000), stub!
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0015:err:service:process_send_command receiving command result timed out
0029:err:plugplay:handle_bus_relations Failed to load driver L"WineHID"
0029:err:plugplay:try_add_device Building report descriptor failed, removing device
0009:fixme:debug_buffer:RtlCreateQueryDebugBuffer (0, 0): stub
0009:fixme:debug_buffer:RtlCreateQueryDebugBuffer (96, 0): returning 0x15a5d0
0009:fixme:debug_buffer:RtlQueryProcessDebugInformation (8, 80000001, 0x15a5d0): stub
0009:fixme:debug_buffer:RtlDestroyQueryDebugBuffer (0x15a5d0): stub
What I've tried:
  • Used winecfg to emulate a virtual desktop: same behavior, but the ChangeDisplaySettingsEx errors reference "(desktop)" instead of "(XrandR 1.2)"
  • Installed/ran in a fresh 64 bit wine prefix: same behavior
  • Also tried with d3dx9_36 as the only added Windows component
The output of xrandr -q is:

Code: Select all

Screen 0: minimum 320 x 200, current 3840 x 1200, maximum 16384 x 16384
HDMI-A-0 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 546mm x 352mm
   1920x1200     59.95*+
   1920x1080     60.00    50.00    59.94    59.99  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x960      60.00  
   1366x768      59.79  
   1280x800      59.95  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
DisplayPort-0 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 546mm x 352mm
   1920x1200     59.95*+
   1920x1080     60.00    50.00    59.94    59.99  
   1600x1200     60.00  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1440x900      59.89  
   1280x960      60.00  
   1366x768      59.79  
   1280x800      59.95  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
HDMI-A-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
My xorg.conf is:

Code: Select all

Section "Monitor"
	Identifier	"HDMI-A-0"
	Option	"Primary" "true"
EndSection

Section "Monitor"
	Identifier	"DisplayPort-0"
	Option	"RightOf" "HDMI-A-0"
EndSection
Any insight or suggestions are appreciated!
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

[UPDATE]

I got the game to work. So far, it's running fine and everything seems to be working.

I found that the game has an OPTIONS.TXT file in the Windows user's [Documents]/My Games/FieldOfGlory2 directory. In that file I changed the following:
RezX 1024 to RezX 1920
RezY 768 to RezY 1200
Fullscreen 1 to Fullscreen 0

After making those changes, the game loaded and ran.
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

Another note:

I also ran the game using Wine 3.10 Staging with the Gallium Nine patches applied. Under this configuration, fullscreen mode works normally and the graphics performance is a bit better/smoother. There are some minor issues with text being visible outside of "scroll areas" on certain screens in the game, but this doesn't adversely affect function or play.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Bob Wya »

@Philotomy,

It looks like your issue might be a duplicate of:
WineHQ Bug 34978 - Multiple applications need a EnumDisplayDevicesW implementation for multi-monitor environment support (DisplayFusion, Turbo Tax 2012, WPF 4.x .NET apps).

If you have time could you retest your game, with Wine Staging 3.10.
Obviously you'd need to revert the changes you made to the games configuration file first...

With Wine Staging's multi-monitor patchset the game should get enough information not to try a 0Hz refresh rate, for your primary monitor!

Ultimately Wine Developers seem to get more motivated to fix a bug, relative to how many applications are linked against it! 8)

Bob
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

@Bob Wya

Using Wine Staging 3.10 (no Gallium Nine patches) I created a fresh win32 Wine prefix ran the game setup to get a fresh game install, too. Running the game with no other changes gives me the same behavior I saw under Wine 3.9:

Code: Select all

000b:fixme:winediag:start_process Wine Staging 3.10 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
0009:fixme:dbghelp:elf_search_auxv can't find symbol in module
Using winetricks I added d3x9_36 and dbghelp and tried again. Same behavior:

Code: Select all

000b:fixme:winediag:start_process Wine Staging 3.10 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0009:fixme:debug_buffer:RtlCreateQueryDebugBuffer (0, 0): stub
0009:fixme:debug_buffer:RtlCreateQueryDebugBuffer (96, 0): returning 0x1889c8
0009:fixme:debug_buffer:RtlQueryProcessDebugInformation (8, 80000001, 0x1889c8): stub
0009:fixme:debug_buffer:RtlDestroyQueryDebugBuffer (0x1889c8): stub
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Bob Wya »

Ah, now that is interesting! 8)

I'm intrigued to know why Wine's xrandr wrapper thinks you have a 0Hz refresh frequency!
I've seen a very similar issue recently with another application...

What's the output from running the game, with the command:

Code: Select all

export WINEDEBUG=+xrandr
run before the wine / launch command?

Thanks
Bob
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

Output with WINEDEBUG=+xrandr

Code: Select all

000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
0011:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
0011:trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x5b, 1920x1200+0+0.
0011:trace:xrandr:xrandr12_init_modes OUTPUT 0: name "HDMI-A-0".
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x5b: 1920x1200@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x5c: 1920x1080@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x5d: 1920x1080@50.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x5e: 1920x1080@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x5f: 1920x1080@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x60: 1600x1200@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x61: 1680x1050@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x62: 1280x1024@75.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x63: 1280x1024@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x64: 1440x900@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x65: 1280x960@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x66: 1366x768@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x67: 1280x800@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x68: 1152x864@75.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x69: 1280x720@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x6a: 1280x720@50.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x6b: 1280x720@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x6c: 1024x768@75.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x6d: 1024x768@70.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x6e: 1024x768@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x6f: 832x624@75.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x70: 800x600@72.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x71: 800x600@75.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x72: 800x600@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x73: 800x600@56.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x74: 720x576@50.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x75: 720x480@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x76: 720x480@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x77: 640x480@75.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x78: 640x480@73.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x79: 640x480@67.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x7a: 640x480@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x7b: 640x480@60.
0011:trace:xrandr:xrandr12_init_modes Adding mode 0x7c: 720x400@70.
0029:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
0029:trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x5b, 1920x1200+0+0.
0029:trace:xrandr:xrandr12_init_modes OUTPUT 0: name "HDMI-A-0".
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x5b: 1920x1200@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x5c: 1920x1080@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x5d: 1920x1080@50.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x5e: 1920x1080@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x5f: 1920x1080@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x60: 1600x1200@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x61: 1680x1050@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x62: 1280x1024@75.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x63: 1280x1024@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x64: 1440x900@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x65: 1280x960@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x66: 1366x768@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x67: 1280x800@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x68: 1152x864@75.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x69: 1280x720@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x6a: 1280x720@50.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x6b: 1280x720@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x6c: 1024x768@75.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x6d: 1024x768@70.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x6e: 1024x768@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x6f: 832x624@75.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x70: 800x600@72.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x71: 800x600@75.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x72: 800x600@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x73: 800x600@56.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x74: 720x576@50.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x75: 720x480@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x76: 720x480@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x77: 640x480@75.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x78: 640x480@73.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x79: 640x480@67.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x7a: 640x480@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x7b: 640x480@60.
0029:trace:xrandr:xrandr12_init_modes Adding mode 0x7c: 720x400@70.
000b:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
000b:trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x5b, 1920x1200+0+0.
000b:trace:xrandr:xrandr12_init_modes OUTPUT 0: name "HDMI-A-0".
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x5b: 1920x1200@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x5c: 1920x1080@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x5d: 1920x1080@50.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x5e: 1920x1080@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x5f: 1920x1080@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x60: 1600x1200@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x61: 1680x1050@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x62: 1280x1024@75.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x63: 1280x1024@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x64: 1440x900@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x65: 1280x960@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x66: 1366x768@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x67: 1280x800@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x68: 1152x864@75.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x69: 1280x720@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x6a: 1280x720@50.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x6b: 1280x720@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x6c: 1024x768@75.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x6d: 1024x768@70.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x6e: 1024x768@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x6f: 832x624@75.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x70: 800x600@72.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x71: 800x600@75.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x72: 800x600@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x73: 800x600@56.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x74: 720x576@50.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x75: 720x480@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x76: 720x480@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x77: 640x480@75.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x78: 640x480@73.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x79: 640x480@67.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x7a: 640x480@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x7b: 640x480@60.
000b:trace:xrandr:xrandr12_init_modes Adding mode 0x7c: 720x400@70.
0011:trace:xrandr:xrandr12_get_current_mode CRTC 0: mode 0x5b, 1920x1200+0+0.
000d:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
000d:trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x5b, 1920x1200+0+0.
000d:trace:xrandr:xrandr12_init_modes OUTPUT 0: name "HDMI-A-0".
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x5b: 1920x1200@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x5c: 1920x1080@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x5d: 1920x1080@50.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x5e: 1920x1080@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x5f: 1920x1080@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x60: 1600x1200@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x61: 1680x1050@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x62: 1280x1024@75.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x63: 1280x1024@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x64: 1440x900@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x65: 1280x960@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x66: 1366x768@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x67: 1280x800@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x68: 1152x864@75.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x69: 1280x720@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x6a: 1280x720@50.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x6b: 1280x720@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x6c: 1024x768@75.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x6d: 1024x768@70.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x6e: 1024x768@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x6f: 832x624@75.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x70: 800x600@72.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x71: 800x600@75.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x72: 800x600@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x73: 800x600@56.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x74: 720x576@50.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x75: 720x480@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x76: 720x480@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x77: 640x480@75.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x78: 640x480@73.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x79: 640x480@67.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x7a: 640x480@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x7b: 640x480@60.
000d:trace:xrandr:xrandr12_init_modes Adding mode 0x7c: 720x400@70.
0009:trace:xrandr:X11DRV_XRandR_Init Found XRandR 1.5.
0009:trace:xrandr:xrandr12_init_modes CRTC 0: mode 0x5b, 1920x1200+0+0.
0009:trace:xrandr:xrandr12_init_modes OUTPUT 0: name "HDMI-A-0".
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x5b: 1920x1200@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x5c: 1920x1080@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x5d: 1920x1080@50.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x5e: 1920x1080@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x5f: 1920x1080@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x60: 1600x1200@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x61: 1680x1050@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x62: 1280x1024@75.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x63: 1280x1024@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x64: 1440x900@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x65: 1280x960@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x66: 1366x768@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x67: 1280x800@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x68: 1152x864@75.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x69: 1280x720@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x6a: 1280x720@50.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x6b: 1280x720@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x6c: 1024x768@75.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x6d: 1024x768@70.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x6e: 1024x768@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x6f: 832x624@75.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x70: 800x600@72.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x71: 800x600@75.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x72: 800x600@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x73: 800x600@56.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x74: 720x576@50.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x75: 720x480@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x76: 720x480@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x77: 640x480@75.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x78: 640x480@73.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x79: 640x480@67.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x7a: 640x480@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x7b: 640x480@60.
0009:trace:xrandr:xrandr12_init_modes Adding mode 0x7c: 720x400@70.
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009:fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT/DATA_SEND_TIMEOUT 120000
0009: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.
0009:trace:xrandr:xrandr12_get_current_mode CRTC 0: mode 0x5b, 1920x1200+0+0.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1200x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1920x1080x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1280x720x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 1024x768x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0009: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.
0009:err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x24 @0! (XRandR 1.2)
0009:fixme:debug_buffer:RtlCreateQueryDebugBuffer (0, 0): stub
0009:fixme:debug_buffer:RtlCreateQueryDebugBuffer (96, 0): returning 0x188a50
0009:fixme:debug_buffer:RtlQueryProcessDebugInformation (8, 80000001, 0x188a50): stub
0009:fixme:debug_buffer:RtlDestroyQueryDebugBuffer (0x188a50): stub
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Bob Wya »

Philotomy wrote:Output with WINEDEBUG=+xrandr
The function:

Code: Select all

X11DRV_ChangeDisplaySettingsEx()
is going to require:

Code: Select all

export WINEDEBUG=+x11settings,+xrandr
to give a trace log, to help get to the bottom of what is going wrong...

Could I kindly request this further log... Thanks for your patience! 8)

Bob
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

Bob Wya wrote: The function:

Code: Select all

X11DRV_ChangeDisplaySettingsEx()
is going to require:

Code: Select all

export WINEDEBUG=+x11settings,+xrandr
to give a trace log, to help get to the bottom of what is going wrong...

Could I kindly request this further log... Thanks for your patience! 8)
No problem. I appreciate your help.

Link to pastebin of output with WINEDEBUG=+x11settings,+xrandr

(Output was too long to post in the forum.)
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Bob Wya »

Philotomy wrote:...

No problem. I appreciate your help.

Link to pastebin of output with WINEDEBUG=+x11settings,+xrandr

(Output was too long to post in the forum.)
Would you be able to build a patched version of Wine to test a theory?
This: wine-vanilla-3.9_winex11drv_support_24bit_colordepth.patch
This patch can be added quite easily to the standard Arch wine* PKGBUILD scripts.

Just want to check that I've diagnosed the correct issue...
Looks like xrandr is offering a whole lot of 32-bit colour modes and your application is trying to set a 24-bit colour mode.
Which is almost effectively the same thing, but isn't... 8)

The application is not trying to change the display frequency, that was a red herring...

Thanks
Bob
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

@Bob Wya

Sure, I'll see what I can do. I'll get back to you once I build it and test.

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

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Bob Wya »

Philotomy wrote:@Bob Wya

Sure, I'll see what I can do. I'll get back to you once I build it and test.

Thanks!
No thank you!

It would be useful to have a "finger print" for this issue... Assuming I am not barking up the wrong tree! :lol:

Thanks
Bob
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

Okay, I built a patched version. However, I'm still seeing the same behavior.
Output from the patched build is here: https://pastebin.com/raw/FBXSTsG1

Just to make sure I built what you wanted me to test, here's what I did:
  1. Got a snapshot of the current Arch Wine package (with asp export wine)
  2. Modified the PKGBUILD to apply the patch (also added the -j flag to make to use all my cores during the build)
  3. Built and installed with makepkg
The above steps built wine 3.10 with the patch. (I took a look at the settings.c source file, too, just to make sure the patch had been applied correctly.)
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Bob Wya »

@Philotomy

Whoops... I was actually testing the default/ current mode bit depth, not the new mode!
That'll teach me to watch The Expanse and try to write code at the same time... 8)

Try this patch: wine-staging-3.10_winex11drv_support_24bit_colordepth.patch.

I've tested it on BF2 - which has a known similar issue (the game tries to switch resolution to 800x600 @85Hz on start-up).

The patch will smudge a 24-bit colour depth mode change into a 32-bit colour mode change (as a fallback).

On failure it will only display the mode components that the callee was attempting to alter e.g. if a frequency change is not requested, then do not display the frequency information on failure.

Thanks again for your patience! 8)

Bob
Philotomy
Level 2
Level 2
Posts: 10
Joined: Thu Jun 14, 2018 9:18 am

Re: Slitherine Field of Glory II - Graphics Mode issues

Post by Philotomy »

@Bob Wya

I built Wine Staging 3.10 with this patch. The game runs when using that build. Nice work!
Locked