Vigem bus driver не устанавливается

Обновлено: 06.07.2024

В текущих реалия ПК-гейминга, современные игры поддерживают только XInput-совместимые геймпады, и только некоторые игры поддерживают DirectInput-устройства, и то, в основном применительно только к одному контроллеру - DUALSHOCK 4. Также стандарт DirectInput используется в различных гоночных и авиа-симуляторах, для работы игровых рулей и штурвалов.

реклама

Что такое XInput? XInput - это API, который позволяет приложениям получать данные от контроллера Xbox (или любого другого контроллера с аппаратной поддержкой XInput). Подробнее можно почитать тут.

А что же делать юзеру, если у него в арсенале оказался геймпад без аппаратной поддержки XInput, DirectInput-совместимый? Выкидывать геймпад? Продавать и покупать XInput-совместимый? Нет, это совершенно необязательно, потому что существуют различные варианты эмуляции XInput для DirectInput Only геймпада. Вот эти варианты мы сегодня и рассмотрим.

Сразу оговорюсь, эмуляторов DS4Windows и InputMapper, предназначенных для DUALSHOCK 4, в этой статье не будет. Для DUALSHOCK 4 существует отдельная статья в блоге, DUALSHOCK 4 в реалиях ПК, где эта тема раскрыта достаточно широко.

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

Вариант номер один - эмулятор x360ce.

Что представляет из себя x360ce эмулятор? Это кастомные библиотеки:

реклама

плюс файл с настройками:

x360ce.ini конфигурируете вы самостоятельно, конкретно под свой геймпад, с помощью утилиты из комплекта. После чего x360ce.ini и dll-файлы (как правило достаточно одного dll-файла - xinput1_3.dll) подбрасываются в папку с целевой игрой:


реклама





Настроек много и они не универсальные. Эмуляция может работать, а может и не работать, зависит от игры и подобранных настроек. Для 64-битных приложений, нужно использовать 64-битную версию библиотек. Если для вашего DirectInput-геймпада в системе не установлен драйвер с поддержкой вибрации, вибрации не будет и через эмулятор. x360ce не работает с UWP-приложениями.

x360ce-эмулятор был отличным решением несколько лет назад, но сейчас есть варианты поинтереснее. Впрочем, иногда он спасает.

Вариант номер два - XOutput эмулятор.

В XOutput принцип работы уже более продвинутый. При установке этого эмулятора, в систему ставится virtual bus driver (SCP драйвер-враппер, который также используют утилиты DS4Windows и InputMapper, для эмуляции XInput на геймпадах DUALSHOCK 4):


Но в отличие от заточенных под один геймпад DS4Windows и InputMapper, этот эмулятор всеяден и готов работать с любыми DirectInput геймпадами:



После настройки и активации эмуляции в системе (помимо нашего DirectInput геймпада) должен появиться XBox 360 геймпад:


Чтобы скрыть DirectInput сущность нашего геймпада от системы и игр, следует воспользоваться режимом "Exclusivity":


должно стать так:


. по идее должно стать. Эмулятор достаточно капризный, в том, что касается эксклюзивного режима. Особенно на последних версиях Windows 10. Т.е. может и не работать.

Вибрации через эмулятор, даже если она поддерживается вашим геймпадом, и в систему установлен родной forcefeedback драйвер для DirectInput устройства, не будет:


У этого эмулятора есть неоспоримые преимущества перед x360ce: он работает в UWP-приложениях, он не требует никаких сторонних DLL-библиотек в папке с игрой, он легко включается и выключается, его можно добавить в автозагрузку, он работает с 32-битными и 64-битными приложениями.

Также существует новая ветка разработки XOutput. Тут для полноценной работы потребуется другой пакет драйверов (вместо SCP) - ViGEm Bus:




Суть та же, но тут работа над софтом и драйвером идёт активнее.

Вот вам необходимые ссылки по новой версии XOutput:

И наконец вариант номер три - эмуляция XInput через Steam.

Steam поддерживает большое количество геймпадов "из коробки", т.е. не требуется дополнительных телодвижений для того, чтобы Steam распознал ваш геймпад, а точнее правильно определил раскладку кнопок и прочее.

Но нет ничего страшного, если ваш DirectInput-геймпад незнаком стиму.

Для того, чтобы для вашего DirectInput-друга, в играх из библиотеки Steam (или добавленных туда вручную), заработала эмуляция XInput (и прочие плюшки), нужно проделать следующие шаги.


Перейти в пункт меню с настройками контроллера:


поставить галочку на "пользовательские настройки обычного геймпада":


выбрать внизу, в обнаруженных контроллерах, ваш геймпад и настроить его в соответствии с подсказками на экране:


нажать "сохранить" и дать имя вашему геймпаду:


Всё. Теперь ваш геймпад поддерживается в Steam, и для него доступны все настройки для любой игры из библиотеки:



В играх (из библиотеки Steam) ваш геймпад будет определяться, как XBox 360 контроллер. Чтобы произвести дополнительные настройки по конкретной игре, нужно вызвать в процессе игры оверлейный экран Steam (кнопкой GUIDE) или комбинацией клавиш и произвести все необходимые манипуляции.

nefarius released this Dec 15, 2020

This project was only possible with the investment of many years of learning, research and dedication. You're receiving this work for free, if it brought you joy, consider giving back and spend a few coins ❤️

How to install

Simply download the setup below and click through it. Done!

If you want to redistribute it with your solution and run it silently, invoke the setup with the /qn argument to suppress any user interaction.


This program won’t install and I can’t figure out how to download it. My controller won’t connect even though I have it connected to the PC.


Download and install from here.

Where do you install it to? Or will it create its own directory?

Wholesome
Hugz

I just came across the same problem, it came up with the wizard with final instructions on how to connect, clicked on download for ViDEmBus and it stayed at 0.00% - found the best installer to use and it worked.

image


when trying to uninstall this happens and i cannot uninstall the driver.. im stuck with it

The text was updated successfully, but these errors were encountered:

nefarius commented Dec 22, 2020

Do you have this file on your system C:\Windows\System32\advapi32.dll and if so, what version? See screenshot:

image

dejdyla commented Dec 22, 2020

Hi, having the same issue. My version of file mentioned above: "10.0.19041.610"

nefarius commented Dec 22, 2020

Sigh great, what broke now.

nefarius commented Dec 22, 2020

I'll provide a new (hopefully fixed) setup in a few. In the meantime please use this Microsoft tool to get rid of the now broken installation.

nefarius commented Dec 26, 2020

nefarius changed the title stuck with driver and cannot uninstall Dec 26, 2020

nefarius commented Dec 31, 2020

I'd need some feedback on this one 😬

dejdyla commented Dec 31, 2020

worked for me. Thank you!

nefarius commented Dec 31, 2020

Sweet, thanks. Gonna swap out the official downloads soon 😊

Oh sorry, the official one worked somehow worked for me. I actually haven't tried one you send here. Will try them ASAP.

Update: Nevermind. Sorry for the confusion, I did tried the one you send here, just forgot about it and has been away from laptop for quite time.

nefarius commented Dec 31, 2020

I've updated the MSIs - yet again - on the release page. Hopefully for the last time now 😅

yah um.. im not installing it again thanks.. it started making my mouse lag.. and I had to do a system restore

nefarius commented Jan 1, 2021

yah um.. im not installing it again thanks.. it started making my mouse lag.. and I had to do a system restore

Having a hard time believing that. The driver just being present on the system literally does nothing 🤔

AdriandeLima commented Jan 3, 2021

I'll test it out soon and report back here

bsget commented Jan 7, 2021

I am having this issue with both the x64 version as well as x86. I also tried the two you posted to vigem.org with no success. The windows tool to clean out installations was not able to find any remaining registry files from the install. The failure page I got from the install was "Nefarius Virtual Gamepad Emulation Bus Driver Setup Wizard ended Prematurely" which is a page on the wizard itself. It says it made no changes to my system.

I'm happy to provide more information or test things if needed.

  • advapi32.dll file version: 10.0.18362.752
  • Windows version: 10.0.18363 Build 18363

bsget commented Jan 8, 2021

After installing visual studio 2019, the desktop c++ environment, and the wdf the installation was successful.

nefarius commented Jan 8, 2021

@bsget so the installation failed on you, not the removal? With the MSIs provided in the latest release?

bsget commented Jan 8, 2021

Yes, I had VS 2019 installed already, but it was an older version. I went to install with the MSI and it failed on me. I installed the newer VS 2019 (including the desktop dev with C++ workload) and also installed the WDF. Then restarted and re-ran the installer MSI and it worked.

There were no issues with the removal and I never had to use the removal tool you linked as the MSI installer failed gracefully.

nefarius commented Jan 8, 2021

Very weird, so the VCRedist package is missing and it still complains. Good to know, will address in next release. Wanna get rid of the devcon binary anyway.

GlydetheSurfer commented Jan 10, 2021

yah um.. im not installing it again thanks.. it started making my mouse lag.. and I had to do a system restore

Having a hard time believing that. The driver just being present on the system literally does nothing 🤔

well . I didn't have any issues until after installing it. I'm guessing it was conflicting with another controller emulation driver I installed before

Читайте также: