Skip to content

Companion App Features and Functionality

Bud edited this page Dec 24, 2024 · 1 revision

Companion App Features and Functionality

The Companion App provides a robust set of features designed to streamline your user experience. Below is an organized explanation of the app’s capabilities.


1. Tray Icon Menu

The app includes a tray icon that serves as the primary access point for its functionalities. Right-clicking the icon opens a context menu with various options.

Menu Structure:

1.1 Logging Options

  • Logs: Enables or disables general logging.
  • Debug Logs: Enables or disables debug-level logging.
    • If enabled, these options are marked with a checkmark.

1.2 Configure Options

The Configure submenu provides extensive configuration options:

  • SDR 10bit: Enables SDR with 10-bit colour depth.
  • HDR+: Activates HDR+ functionality for 12 bit colour.
  • Custom EDID: Allows the use of a custom EDID if you needed to emulate one.
  • Hardware Cursor: Enables or disables the hardware cursor.
  • Prevent Monitor Spoof: Prevents manufacturer monitor spoofing (to download colour profiles in windows).
  • EDID CEA Override: Overrides the EDID’s CEA settings.
  • Display Count: Configures the number of displays (1-8). Only available if required files are detected.
  • Select GPU: Choose from a list of detected GPUs. The selected GPU is marked with a checkmark.

1.3 Developer Options

The Developer submenu contains advanced features:

  • Log D3D Device GPU: Logs details about the Direct3D device GPU.
  • Log Assigned GPU: Logs the currently assigned GPU.
  • Log All GPUs: Logs all detected GPUs.
  • Log IDDCX Version: Logs the version of IDDCX.

1.4 Companion Features

The Companion submenu offers options to enhance your user experience:

  • Enable Update Notifications: Toggles update notifications.
  • Enrol in Beta Notifications: Opt-in for beta updates. Disabled if update notifications are off.

1.5 Other Options

  • Start on Startup: Enables the app to start automatically with the system.
  • Reload Driver: Reloads the driver.
  • Reload Settings: Reloads the app’s settings to sync with manual changes.
  • About: Displays version info and by bud.
  • Exit: Closes the app.

2. Dynamic Menu States

The availability and state of menu options depend on various conditions:

2.1 Pipe and File Conditions

  • Pipe Exists: Indicates active communication with the driver.
    • When disabled, critical features like logging and configuring options are greyed out.
  • File Checks:
    • Path Exists: Confirms the app’s operational folder.
    • XML Exists: Enables advanced options like configuring.
    • TXT Exists: Indicates fallback settings in options.txt.

2.2 Driver States

  • Driver Present: Options to enable/disable the driver.
    • If no driver is found, an option indicates this status.

2.3 GPU Selection

If multiple GPUs are detected, the app lists them under Select GPU. The currently active GPU is marked for easy identification.


3. Special Conditions and States

3.1 Loaded From

Displays the app’s configuration source:

  • Fallback: Default configuration.
  • Options.txt: Loaded from a plain text file.
  • vdd_settings.xml: Loaded from an XML file for advanced configurations.

3.2 Disabled Features

When critical files or conditions are unmet, certain features become inaccessible:

  • Greyed-out menu items indicate unavailable features.

3.3 Heartbeat Check

The app uses a heartbeat mechanism to monitor the driver’s state and ensure it is still active. If the heartbeat fails, certain functionalities are disabled, and the app notifies the user.


4. Developer Notes

4.1 Customizability

The app is built to adapt dynamically based on system and user conditions. Advanced users can edit configuration files to enable additional features.

4.2 Logging Features

The detailed logging options cater to both basic users and developers, allowing a comprehensive overview of system interactions.


5. Usage Scenarios

5.1 General Users

  • Enable logging for troubleshooting.
  • Configure display settings like HDR or SDR as per requirements.
  • Customize start-up behaviour or reload driver settings.

5.2 Developers

  • Use advanced logging options to debug GPU assignments and driver interactions.
  • Pipe controls are publicly accessible with the driver being able to handle toggling

For additional details, troubleshooting, or to report an issue, visit the Companion App Documentation.