Skip to content

Instantly share code, notes, and snippets.

@fyrye
Last active October 11, 2024 17:33
Show Gist options
  • Save fyrye/e6592714a8fe4ad9a5c69e4448309d7b to your computer and use it in GitHub Desktop.
Save fyrye/e6592714a8fe4ad9a5c69e4448309d7b to your computer and use it in GitHub Desktop.
Virtuoso 8-Channel Fix

This is a workaround to automate updating the registry values when the iCUE service starts and not intended to be a permanent fix.

The guide seems long, but it is due to needing to lookup your specific systems details and registry values.

Sadly this workaround does not work for when iCUE resumes from the Windows Lock Screen.

See comment below for Windows Lock Screen trigger.

Always make a backup of your settings before making any changes!

Specs

  • Windows 11 x64 Pro 23H2
  • iCUE 5.19.104
  • Corsair Virtuoso XT Wireless Gaming Headset 5.11.88
  • USB Receiver 5.9.130

Registry

After a fresh restart of iCUE and leaving 8-Channels selected, make a backup of the default configuration.

Open the Registry Editor (regedit) and navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render

With the Render folder highlighted press Ctrl + F or click Edit -> Find.
In the Search box type in Virtuoso and press Find Next until you see the headset you want to change.
Right-click the Properties folder and click Export
Ensure Selected branch is chosen and Save the file as D:\8chan.reg

Now manually change the audio channels to the desired 2-Channel format in the System or Control Panel - Sound settings and Apply the changes.

Go back to the Registry Editor.
If you left it open press F5 or View -> Refresh to update the values.
Repeat the Export step above, naming it D:\2chan.reg instead.

To prevent other setting changes from reverting and only affect the channels, compare the two files .reg files, leaving only the changed values in the 2chan.reg file.

!!!!Example only - DO NOT COPY THE VALUES BELOW!!!! - Use the values in your 2chan.reg file.

D:\8chan.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{50d340fc-2560-4617-b25a-ccaef771a79d}\Properties]
"{b3f8fa53-0004-438e-9003-51a46e139bfc},15"=hex:41,00,00,00,01,00,00,00,e8,07,\
  0a,00,03,00,09,00,10,00,27,00,31,00,86,03
"{b3f8fa53-0004-438e-9003-51a46e139bfc},37"=hex:0b,00,00,00,01,00,00,00,ff,ff,\
  00,00
"{a45c254e-df1c-4efd-8020-67d146a850e0},2"="Headset Earphone"
...
"{f19f064d-082c-4e27-bc73-6882a1bb8e4c},0"=hex:41,00,00,00,01,00,00,00,fe,ff,\
  08,00,80,bb,00,00,00,94,11,00,18,00,18,00,16,00,18,00,3f,06,00,00,01,00,00,\
  00,00,00,10,00,80,00,00,aa,00,38,9b,71
...
"{3d6e1656-2e50-4c4c-8d85-d0acae3c6c68},3"=hex:41,00,00,00,01,00,00,00,fe,ff,\
  08,00,80,bb,00,00,00,70,17,00,20,00,20,00,16,00,20,00,3f,06,00,00,03,00,00,\
  00,00,00,10,00,80,00,00,aa,00,38,9b,71
...

to D:\2chan.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{50d340fc-2560-4617-b25a-ccaef771a79d}\Properties]
"{f19f064d-082c-4e27-bc73-6882a1bb8e4c},0"=hex:41,00,00,00,01,00,00,00,fe,ff,\
  02,00,80,bb,00,00,00,65,04,00,06,00,18,00,16,00,18,00,03,00,00,00,01,00,00,\
  00,00,00,10,00,80,00,00,aa,00,38,9b,71
"{3d6e1656-2e50-4c4c-8d85-d0acae3c6c68},3"=hex:41,00,00,00,01,00,00,00,fe,ff,\
  02,00,80,bb,00,00,00,dc,05,00,08,00,20,00,16,00,20,00,03,00,00,00,03,00,00,\
  00,00,00,10,00,80,00,00,aa,00,38,9b,71
...

!!!!END Example Only - DO NOT COPY THE ABOVE VALUES!!!! - Use the values in your 2chan.reg file.

Task Scheduler

Open the Task Scheduler (taskschd.msc)

Create a New Task in the top-level task library.

General: Provide a desired Name like "Fix Audio Channels"
Click Change User or Group and set toSYSTEM

Triggers: On an Event -> Custom -> Edit Event Filter -> XML -> Manually Edit Query
Copy/Paste the below or set to where you installed iCUE and click Ok.

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">
      *[System[(EventID=7045)]] and
      *[EventData[Data[@Name='ServiceName'] and (Data='CorsairLLAccess<RANDOMNUMBER>')]]
    </Select>
  </Query>
</QueryList>

Enable the Delay Task for: option and set it to 10 seconds - double check this is applied after clicking Ok.
Take note that the <RANDOMNUMBER> is replaced with your own (see Event Viewer below for details).

Actions: Start a program
Application: %windir%\regedit.exe
Add arguments: /s "D:\2chan.reg" (Alter the path to where you save the file)

Event Viewer

Open the Event Viewer (eventvwr.msc)

Navigate to: Event Viewer -> Windows Logs -> System

Right-click System and select Filter Current Log.. set Event ID 7045 and click ok.

Verify the Service Name eg: CorsairLLAccessE5624B0A345A7E17A08498BFEDC2D42A7CBA71C2 for your system.

Update the XML query in the Trigger where it says <RANDOMNUMBER> so that it matches the Service Name in your system's Event Viewer.

Let me know if you have any difficulties.

@fyrye
Copy link
Author

fyrye commented Oct 9, 2024

Untitled

Untitled

@fyrye
Copy link
Author

fyrye commented Oct 11, 2024

To resolve the lock screen issue, create an additional trigger for On workstation unlock, for Any User, and a Delay task for: 10 seconds.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment