Wide screen resolution

Post Reply
Buntaro
Posts: 20

Wide screen resolution

Post by Buntaro » Fri Apr 16, 2021 10:21 pm

Recently I have changed my laptop. Now I can't make WoW to use the proper resolution for wide screen display. Instead, it is 4:3 stretched to cover the 16:9. I'm using the maximized windowed mode (the borderless fullscreen window if I understand that right).

I think I have tried every approach I can find with Google. So I'm out of options.

Just in case, it's an external display with a native resolution of 1920x1080 attached to the laptops's NVidia GeForce RTX 2080 card. The laptop's own display's native resolution is also 1920x1080.

Any suggestions I can try?

User avatar
Merikkinon
Posts: 208

Re: Wide screen resolution

Post by Merikkinon » Sat Apr 17, 2021 10:58 pm

I think maybe try Discord with your question, honestly.

Buntaro
Posts: 20

Re: Wide screen resolution

Post by Buntaro » Sun Apr 18, 2021 3:27 pm

Merikkinon wrote:
Sat Apr 17, 2021 10:58 pm
I think maybe try Discord with your question, honestly.
Yepp that was a good hint indeed, thanks smiling_turtle_head

Buntaro
Posts: 20

Re: Wide screen resolution

Post by Buntaro » Sun Apr 18, 2021 4:33 pm

Turned out to be a bit of an edge case I suppose. Apparently, vanilla WoW has difficulties if your computer has more than a single video card which is often the case for laptops.

Sadly the easy ways of forcing an app to use a particular video card (through NVidia Control panel and through Windows' own Graphics performance preference) do not help here. WoW runs on the dedicated card but still attempts to use the integrated one to determine the graphics capabilities.

So, one solution is to disable the integrated video card. Turned out, it's enough to disable it for a short time while WoW is starting. After that you can enable it back again. As long as you don't switch WoW screen resolution, you are fine.

Now it's cumbersome to do that each time you launch WoW. Sadly it takes some tinkering to automate that. Read on if you are interested.

----------------

1. Create a command file to launch WoW with.

Save this snippet below as a file named "StartWoW.bat" or something to your liking. Make sure that the file name doesn't contain spaces. Place it right next to the actual file "WoW.exe":

Code: Select all

@echo off
:: This script's file name must NOT contain spaces!
:: Hardware ID of the Integrated Graphics Adapter (must be customized):
set HARDWARE_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

:: Check privileges and relaunch itself as admin if necessary
net file 1>NUL 2>NUL
if not '%errorlevel%' == '0' (
	powershell Start-Process -FilePath "%0" -ArgumentList "%cd%" -verb runas >NUL 2>&1
	exit /b
)

:: Change directory with the passed argument. Processes launched with "runas" 
:: start with forced "C:\Windows\System32" as working directory
cd /d %1

:: Actual work

:: Disable the Integrated Graphics adapter
pnputil /disable-device %HARDWARE_ID%

:: Starting WoW and letting it some time to detect available graphics
start "WoW" ".\WoW.exe"
timeout /t 15

:: Enable the Integrated Graphics adapter back
pnputil /enable-device %HARDWARE_ID%
This command file does the following:
* it checks if it is started as an Administrator, and relaunches itself as one if necessary;
* it then disables the hardware device specified as HARDWARE_ID;
* it then launches WoW and gives it a short time (15 sec) to detect the graphics capabilities;
* it then re-enables the hardware device specified as HARDWARE_ID and finishes itself (but not WoW).

2. Find the hardware ID string for the Integrated Graphics Adapter:

Run "CMD.EXE" as administrator, execute the following command to get the list of all available graphics adapters:

Code: Select all

> pnputil /enum-devices /class Display
In my case its output looks like this:

Code: Select all

Microsoft PnP Utility

Instance ID:                PCI\VEN_8086&DEV_9BC4&SUBSYS_12BC1462&REV_05\3&11583659&1&10
Device Description:         Intel(R) UHD Graphics
Class Name:                 Display
Class GUID:                 {4d36e968-e325-11ce-bfc1-08002be10318}
Manufacturer Name:          Intel Corporation
Status:                     Started
Driver Name:                oem0.inf
Extension Driver Names:     oem4.inf
                            oem3.inf

Instance ID:                PCI\VEN_10DE&DEV_1E93&SUBSYS_12BC1462&REV_A1\4&443bd0d&0&0008
Device Description:         NVIDIA GeForce RTX 2080 Super
Class Name:                 Display
Class GUID:                 {4d36e968-e325-11ce-bfc1-08002be10318}
Manufacturer Name:          NVIDIA
Status:                     Started
Driver Name:                oem1.inf
Look for the value named "Instance ID:" in the section related to the integrated graphics adapter and copy that long cryptic string.

3. Customize the command file.

The 4th line of the command file you created on the step 1 looks like this:

Code: Select all

set HARDWARE_ID="xxx...xxx". 
Replace the string of x's inside the quotes with the Instance ID you got on the Step 2. Make sure the Instance ID still has quotes around it.

4. Prepare WoW

Open the Windows Device Manager, find the Integrated Graphics Adapter and disable it manually. While it is disabled, launch WoW and change the screen mode and resolution to your liking. Exit WoW, and enable the Integrated Graphics Adapter manually back again.

----------------

From now on use this customized command file to launch WoW instead of launching "WoW.exe" directly. In case the graphics settings need to be changed, repeat the manual disable/enable procedure from the Step 4.

User avatar
Merikkinon
Posts: 208

Re: Wide screen resolution

Post by Merikkinon » Tue Apr 20, 2021 8:40 pm

Hell of a work up! Should be captured somewhere for future reference.

Post Reply