nox_plague Posted March 24, 2022 Share Posted March 24, 2022 Testing out a new system I learned about an issue with Combat Mission and Windows Scaling feature. Scaling is very common on smaller devices, especially ones with higher resolutions to provide an improved DPI experience. However when scaling is enabled you get this cryptic message: "Could not initialize graphics display. REQUIRED: 1024 x 768, 32-bit color." Turning the scaling to 100% does resolve the issue but this is a pain for anyone who wants to PBEM and open and close CM frequently. Maybe something engine v5 can resolve 0 Quote Link to comment Share on other sites More sharing options...
Kevin2k Posted March 24, 2022 Share Posted March 24, 2022 I am not familiar with these options, but maybe it is because 768 pixels in height scaled 150% becomes 1152 pixels, which is larger then the available 1080 pixels. 0 Quote Link to comment Share on other sites More sharing options...
nox_plague Posted March 24, 2022 Author Share Posted March 24, 2022 (edited) This is bug because other games do not use the Windows Scaling, they know to bypass this and run the game at resolution either specified in the user settings or the native display resolution. I believe that Battlefront just needs to update their error handling to not refuse to start the game when Scaling is used. The other thing is MacOS has been using scaling for years and this Combat Mission works fine on my Mac with scaling always enabled. Edited March 24, 2022 by nox_plague 0 Quote Link to comment Share on other sites More sharing options...
Kevin2k Posted March 24, 2022 Share Posted March 24, 2022 18 minutes ago, nox_plague said: This is bug because other games do not use the Windows Scaling, they know to bypass this and run the game at resolution either specified in the user settings or the native display resolution. So Windows adds something and then software needs to be updated to bypass it? LOL (Well, I have nothing constructive to add, I am afraid... But it does reinforce my opinion to either stick to 96 dpi screens for Windows Software, or go at least double that dpi. Anything in between seems blurry and messy) 0 Quote Link to comment Share on other sites More sharing options...
nox_plague Posted March 24, 2022 Author Share Posted March 24, 2022 (edited) 36 minutes ago, Kevin2k said: So Windows adds something and then software needs to be updated to bypass it? LOL Yup, it's been around since Windows 8 so I think 10 years for software developers to support/work around something is acceptable. https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows Again, I'm not suggesting CM USES DPI scaling, I'm saying they should update their error handling when opening the game so it does not fail to load just because DPI settings are enabled. I doubt the OpenGL engine is even aware of scaling, it's just the games startup logic that fails. Also CM handles this on MacOS, so it should be able to handle it on Windows too. Gotta get all those new Steam players up and running CM seamlessly Edited March 24, 2022 by nox_plague spelling corrections 0 Quote Link to comment Share on other sites More sharing options...
Kevin2k Posted March 24, 2022 Share Posted March 24, 2022 9 minutes ago, nox_plague said: Yup, it's been around since Windows 8 so I think 10 years for software developers to support/work around something is acceptable. That sounds like Macintosh talk, like the iPad/iPhone IOS 12 32-bit drop. In Windows, in the past at least, it used to be that legacy 32 bit software that will never-again be updated, can still be expected to run fine. At least when it does not do anything ambitious or special, like CM checking available screen space. I am not making excuses for Battlefront not being on top of this, it being a practical difficulty, regardless of what caused it or whether or not it is acceptable. 0 Quote Link to comment Share on other sites More sharing options...
nox_plague Posted March 24, 2022 Author Share Posted March 24, 2022 (edited) User experience recap: 1. I bought a new Alienware x14 from Dell. 2. I installed Combat Mission Black Sea 3. Game failed to run. Error shown above. 4. I contacted Slitherine thinking it must be their issue since I was trying out the Steam version for the first time. 5. Their support failed to find a solution. 6. I uninstalled the Steam version, downloaded the BFC version, and ran into the same issue. 7. Spent hours trying to debug. Came across the issue - Display Scaling. Conclusion: The default settings of a brand new Windows laptop caused Combat Mission to fail to run. As a fan of the CM games and excited for Battlefront to grow their audience via Steam (which has nothing to due with the issue just to be clear) want to avoid turning off potential new players with a poor experience. TDLR: Modern devices are shipping with default settings that "break" CM out-of-the-box. I report this bug on the of chance it helps someone else troubleshooting with a new Windows device or that Battlefront wants to improve their software. P.S. MacOS scaling does not cause this issue. Edited March 24, 2022 by nox_plague clarity 0 Quote Link to comment Share on other sites More sharing options...
Shadrach Posted April 21, 2022 Share Posted April 21, 2022 (edited) For anyone encountering this, the solution (at least on Win10+11) is to override DPI scaling in the executable properties, setting it to "Application". I need to do this for all CM games. There is no need to turn off DPI scaling to run the game. See attached screenshot. For instance, running CM on a 2560x1440 display, the UI is too small for my eyes, so I want to run it at 1920x1080, so I set this in "display size.txt":1920 1080 60 But with 150% DPI scaling set in Windows, the game does not handle this at all, thinking I'm running at 1080/1.5 = 720. If the game engine had supported DPI scaling this would of course not be necessary, as any program that support it will automatically scale accordingly. But for games it's often necessary to override scaling. It might be possible for Battlefront to fix this by compiling the executable with a manifest telling the OS the application does not support scaling, it will then fall back to using Application scaling:https://docs.microsoft.com/en-us/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process Edited April 21, 2022 by Shadrach 1 Quote Link to comment Share on other sites More sharing options...
SgtHatred Posted April 21, 2022 Share Posted April 21, 2022 Scaling has been part of Windows since at least XP, and part of Microsoft's application design guidelines since that time. Battlefront is hardly the first developer to lazily ignore those guidelines, and Windows has always been very permissive letting poorly designed software run. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.