public/Get-DisplayInfo.ps1

function Get-DisplayInfo {
    [CmdletBinding()]
    param()

    # Verifies required binary
    Resolve-BinDep -Bins "xrandr", "lspci", "grep"
    

    $AspectRatio = ((xrandr | Select-Object -First 1).split(",")[1]).Replace(" current ",'')
    $RefreshRate = (xrandr --prop | Select-String -SimpleMatch '*+' -Raw).Split(' ')[1].Replace('*+','')
    $Monitors = (xrandr --listmonitors)[0].ToCharArray() | Select-Object -Last 1

    if (Get-Command lspci) {
        # DisplayData
        $DisplayData = (lspci | grep -i vga) -split ":" | Select-Object -Last 1
        if ($DisplayData -like " *") {
            $DisplayData = $DisplayData.TrimStart(" ")
        }
    }
    else {
        $DisplayData = 'N/A'
    }

    $Object = [pscustomobject] @{
        RefreshRate = $RefreshRate
        AspectRatio = $AspectRatio
        NumberOfMonitors = $Monitors
        GPU = $DisplayData
    }

    return $Object
}