Problem

The screen resolution or refresh rate is not set to a desired value on a ggRock Machine.

Solution 1

Utilize ggRock Machine Settings when synced with ggLeap to set screen resolution.

1. Click the Overflow Menu (Machine Menu - three vertical dots inside a circle) within the row of the Machine for which you wish to set the resolution and/or refresh rate, then click the "Settings" context menu item.

2. Set the Screen Resolution and Refresh Rate drop-downs to the desired values.

3. Click the "Save" button to commit the changes.

4. Reboot a system to confirm screen resolution and refresh rate are set as desired.

Solution 2

Utilize a third-party utility launched with a ggLeap startup command to set the screen resolution and refresh rate.

One such third party utility is the open source product QRes.

1. Download QRes.

2. Copy the QRes executable and supporting files to a directory of your choosing. In this example we will use G:\Utilities.

3. Create a batch script which runs the QRes utility to set screen resolution, color depth, and refresh rate to your desired settings.

NOTE:

In this case, we will be comparing the chassis asset tag to a known value to set the screen configuration to certain parameters for one computer, leaving a default value for any computer not defined in the "IF" statement.

Batch Script Example 1 (Based on chassis service tag/serial number)

@ECHO OFF
for /F "skip=2 tokens=2 delims=," %%A in ('wmic systemenclosure get serialnumber /FORMAT:csv') do (set "serial=%%A")
if %serial%==ABC1234 (
echo [+] 5k Gaming System - Setting Resolution to 5120x2880 [+]
G:\Utilities\qres.exe x=5120 y=2880 f=144 c=32
) ELSE (
echo [+] Configuring Default Screen Settings [+]
G:\Utilities\qres.exe x=1920 y=1080 f=144 c=32
)
GOTO eof
:sub_message
echo Serial number not found!
:eof

Batch Script Example 2 (Based on physical ethernet adapter MAC address)

@ECHO OFF
for /F "tokens=3 delims=," %%A in ('"getmac /v /fo csv | findstr Ethernet"') do (set "MACADDR=%%A")
if /i %MACADDR%=="00-0C-29-1E-A0-5D" (
echo [+] 5k Gaming System - Setting Resolution to 5120x2880 [+]
G:\Utilities\qres.exe x=5120 y=2880 f=144 c=32
) ELSE (
echo [+] Configuring Default Screen Settings [+]
G:\Utilities\qres.exe x=1920 y=1080 f=144 c=32
)
GOTO eof
:sub_message
echo No MAC Address found!
:eof

Batch Script Example 3 (Based on physical ethernet adapter MAC address with more error checking)

@ECHO OFF
REM Set the variable resolution to a default of 0 so that we can tell if no value was set
set resolution=0
REM Get the MAC address(es) of the Ethernet adapters of the system and store the first one to the variable MACADDR
for /F "tokens=3 delims=," %%A in ('"getmac /v /fo csv | findstr Ethernet"') do (set "MACADDR=%%A")

REM 2560 Systems
REM PC-A-01
if /i %MACADDR%=="MACADDRESSOFPCA01" (
set resolution=2560
)

REM 1920x1080 Systems
REM PC-B-01
if /i %MACADDR%=="MACADDRESSOFPCB01" (
set resolution=1920
)

REM Set Screen Resolution to 2560x1440@144Hz if resolution variable is 2560
if %resolution%==2560 (
echo [+] Setting Resolution to 2560x1440@144Hz [+]
G:\Utilities\qres.exe x=2560 y=1440 f=144 c=32
)

REM Set Screen Resolution to 1920x1080@240Hz if resolution variable is 1920
if %resolution%==1920 (
echo [+] Setting Resolution to 1920x1080@240Hz [+]
G:\Utilities\qres.exe x=1920 y=1080 f=240 c=32
)

REM Set default Screen Resolution to 1920x1080@240Hz if resolution variable is 0 meaning no defined resolution was set
if %resolution%==0 (
echo [+] Setting Resolution to 1920x1080@60Hz [+]
echo [+] MAC Address Not Defined! [+]
G:\Utilities\qres.exe x=1920 y=1080 f=60 c=32
pause
)

NOTE:

In all of the above example scripts, you need only replicate the "if" portion of the script multiple times to expand it to support as many systems as you need. If you do not wish to include a default case, simply omit the "else" portion of the script.

4. Within ggLeap Web Admin, navigate to Settings > Client Configuration > Advanced.

5. Add a new Startup command with the full path to your script. In the case of the example, the file referenced is G:\Utilities\ChangeScreenSettings.bat. The following settings should be used:

  • Full Path: Full path to the script (e.g. G:\Utilities\ChangeScreenSettings.bat

  • Parameter: None

  • Working Directory: None

  • Run in CMD: Off

  • Trigger type: Startup

  • Long Running: On

  • Hide Process: On

6. With keep writebacks enabled, log into a system to confirm that ggLeap downloads and becomes aware of your startup script.

7. Shut down the system, turn off keep writebacks, then apply writebacks.

NOTE:
From this point forward, all systems in your center will run this startup script. You will need to perform this process again, except in reverse (e.g. turn off the startup script in ggleap, etc) to disable the startup script.

If, however, you simply need to add more systems to your IF statement in the script, you simply need to modify the G:\Utilities\ChangeScreenSettings.bat script, then apply writebacks for your games image.

Additional Information

Some monitor and graphics card combinations prove troublesome to automatically adjust the screen resolution, however a programmatic approach can be applied in these cases to make the process manageable.

Did this answer your question?