namespace RadeonResetBugFixService.Devices { using System; using System.Linq; using Contracts; static class KnownDevices { public static bool IsAmdVideo(DeviceInfo device) { return ((device.Manufacturer.Equals("AMD", StringComparison.OrdinalIgnoreCase) || device.Manufacturer.IndexOf("Advanced Micro Devices", StringComparison.OrdinalIgnoreCase) >= 0) && (device.Service.Equals("hdaudbus", StringComparison.OrdinalIgnoreCase) || device.ClassName.Equals("display", StringComparison.OrdinalIgnoreCase))); } public static bool IsVirtualVideo(DeviceInfo device) { return new[] { "hypervideo", // Hyper-V video adapter "qxldod", // virtio/libvirt for Win8+ "qxl", // virtio/libvirt for Win7 "VBoxVideo", // virtualbox for some windows versions? "VBoxWDDM", // virtualbox for Win8+ (or for Win7 too?) "vm3dmp", // one of these supports "VMWare SVGA 3D" "vm3dmp-debug", // one of these supports "VMWare SVGA 3D" "vm3dmp-stats", // one of these supports "VMWare SVGA 3D" "vm3dmp_loader", // one of these supports "VMWare SVGA 3D" "VM3DService ", // one of these supports "VMWare SVGA 3D" }.Contains(device.Service, StringComparer.OrdinalIgnoreCase); } } }