This is getting really annoying, fix plz.
I need ideas on how to implement the choice option.
If you don't want to do it via your own gui your options are limited to a config file or a launch argument as far as I can see.
lummox, it might help if you give us more details about what kind of data you are working with.

Do you just have the device display name, or can you also see things like hardware ids or device guuids? Is this in an indexed array or an iterated list?

If you wanted to go super simple, you could just do a config option for preferring a device vender.

PCI\VEN_1002&DEV_68E4&SUBSYS_1426103C&REV_00

I think you could figure out how to split that string up to get the vender id, assuming you have easy access to that info from your apis, I don't know.

http://pcidatabase.com/vendors.php?sort=id

This wouldn't always work if they have two video card made by the same company that aren't crosslinked. (sometimes used when doing a lot of monitors and you just added some random video card for the extra hdmi slots) but in those cases, the default should be pointing to the right one anyways, so it could work to use the vender id.

The indexed idea could also work if you make some batch script that runs and prints (to a file maybe) the list of detected video cards, and popped that in the bin folder.
In response to MrStonedOne
MrStonedOne wrote:
If you wanted to go super simple, you could just do a config option for preferring a device vender.

> PCI\VEN_1002&DEV_68E4&SUBSYS_1426103C&REV_00
>

I think you could figure out how to split that string up to get the vender id, assuming you have easy access to that info from your apis, I don't know.

http://pcidatabase.com/vendors.php?sort=id

This wouldn't always work if they have two video card made by the same company that aren't crosslinked. (sometimes used when doing a lot of monitors and you just added some random video card for the extra hdmi slots) but in those cases, the default should be pointing to the right one anyways, so it could work to use the vender id.

The indexed idea could also work if you make some batch script that runs and prints (to a file maybe) the list of detected video cards, and popped that in the bin folder.

You can run a WMI query within pretty much any language.

Gives you lots of info. Using just batch, the command is: wmic path win32_videocontroller get /all /format:list (could also use csv)

for example:
AcceleratorCapabilities=
AdapterCompatibility=NVIDIA
AdapterDACType=Integrated RAMDAC
AdapterRAM=1073741824
Availability=3
CapabilityDescriptions=
Caption=NVIDIA GeForce GTX 550 Ti
ColorTableEntries=
ConfigManagerErrorCode=0
ConfigManagerUserConfig=FALSE
CreationClassName=Win32_VideoController
CurrentBitsPerPixel=32
CurrentHorizontalResolution=1680
CurrentNumberOfColors=4294967296
CurrentNumberOfColumns=0
CurrentNumberOfRows=0
CurrentRefreshRate=59
CurrentScanMode=4
CurrentVerticalResolution=1050
Description=NVIDIA GeForce GTX 550 Ti
DeviceID=VideoController1
DeviceSpecificPens=
DitherType=0
DriverDate=20141103000000.000000-000
DriverVersion=9.18.13.4465
ErrorCleared=
ErrorDescription=
ICMIntent=
ICMMethod=
InfFilename=oem247.inf
InfSection=Section002
InstallDate=
InstalledDisplayDrivers=nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2u
m,nvwgf2um
LastErrorCode=
MaxMemorySupported=
MaxNumberControlled=
MaxRefreshRate=75
MinRefreshRate=59
Monochrome=FALSE
Name=NVIDIA GeForce GTX 550 Ti
NumberOfColorPlanes=
NumberOfVideoPages=
PNPDeviceID=PCI\VEN_10DE&DEV_1244&SUBSYS_83BE1043&REV_A1\4&13D7C
D30&0&0008
PowerManagementCapabilities=
PowerManagementSupported=
ProtocolSupported=
ReservedSystemPaletteEntries=
SpecificationVersion=
Status=OK
StatusInfo=
SystemCreationClassName=Win32_ComputerSystem
SystemName=PC
SystemPaletteEntries=
TimeOfLastReset=
VideoArchitecture=5
VideoMemoryType=2
VideoMode=
VideoModeDescription=1680 x 1050 x 4294967296 colors
VideoProcessor=GeForce GTX 550 Ti
super, That helps nothing if you have no way of correlating the info you get on wmi with the identifier used by directx

Hence why I need lummox to explain, exactly how he selects a video card in directx so I know what methods are feasible.
So with the holiday season leading to people getting laptops, we've had a uptick of reports on this issue that it's gone from a rare occurrence to something that needs addressing.

It seems doing this setup is starting to become standard in current gen laptops.

We can sometimes get them to get the game to work, but they generally have a few choices:

Disable the nvidia and lose out on it's extra power

Disable the intel, and have everything display at 800x600 or some other basic resolution

Try to get the graphics control panel trick to work (with limited results)

Don't play ss13
Page: 1 2