- DriverPack бесплатно установит драйверы и решит проблемы с любыми устройствами
- DriverPack — самый удобный и быстрый способ настроить компьютер
- DriverPack — самый удобный и быстрый способ настроить компьютер
- Наши партнеры
- Обновление графических драйверов AMD для Windows в программе Boot Camp
- Проверка версии установленных графических драйверов AMD
- Загрузка и установка последней версии графических драйверов AMD
- DriverPack Solution
- О программе
- Что нового
- Системные требования
- Полезные ссылки
- Подробное описание
- Основы работы с IOKit. Тонкости программирования драйверов
- Экскурс в глубины теории
- Кое-что об IOKit
- Проба пера
- Сделаем что-нибудь полезное?
DriverPack бесплатно установит драйверы и решит проблемы с любыми устройствами
DriverPack — самый удобный и быстрый способ настроить компьютер
DriverPack — самый удобный и быстрый способ настроить компьютер
Наши партнеры
Opera Software — глобальная компания-разработчик браузеров и программного обеспечения для работы в интернете.
Насчитывает более чем 20-летнюю историю. Opera Software участвует в развитии веб-стандартов в рамках проекта W3C. Продуктами Opera пользуются более 350 млн человек во всем мире.
Штаб-квартира расположена в столице Норвегии — Осло.
Яндекс — глобальная компания-разработчик одноименной поисковой системы и популярных интернет-сервисов.
В России, откуда Яндекс родом, его поисковая доля составляет 56,4% (Яндекс.Радар, март 2018). Компания одна из немногих, кто успешно выдерживает конкуренцию с поисковым гигантом Google.
Штаб-квартира расположена в столице России — Москве.
Avast Software — глобальная компания-разработчик программного обеспечения в области информационной безопасности.
Выпускает самый популярный в мире бесплатный антивирус. Каждый месяц программы от Avast предотвращают 1.5 млрд атак на компьютеры и сети.
Штаб-квартира расположена в столице Чехии — Праге.
Из маленькой программы, написанной на чистом энтузиазме 8 лет назад, мы превратились в компанию, которая помогла настроить компьютеры более чем 40 миллионам людей по всему миру!
За эти 8 лет работы программа стала невероятно быстрее и умнее. Сегодня, DriverPack это самая большая в мире база уникальных драйверов, которая расположена на сверхскоростных серверах по всему миру. Для того, чтобы установка драйверов всегда проходила не только быстро, но и максимально качественно, мы используем технологии машинного обучения, что делает наш алгоритм подбора еще лучше и точнее. При всем этом, нам удалось оставить программу абсолютно бесплатной, чтобы каждый желающий мог ей воспользоваться.
Я и моя команда гордимся нашим продуктом и надеемся, что он станет вашим надежным помощником, который сможет быстро настроить любой компьютер. Мы тратим все наше время, чтобы экономить ваше!
Источник
Обновление графических драйверов AMD для Windows в программе Boot Camp
Загрузка и установка последних графических драйверов AMD для Windows на моделях компьютеров Mac с графическими процессорами AMD.
Если для запуска Windows на компьютере Mac используется программа Boot Camp, последнюю версию драйверов AMD для Windows можно загрузить с веб-сайта AMD. Графические процессоры AMD используются в следующих моделях компьютеров Mac:
- 15-дюймовые компьютеры MacBook Pro, выпущенные в 2015 г. или позже;
- 27-дюймовые компьютеры iMac, выпущенные в 2014 г. или позже;
- 21,5-дюймовые компьютеры iMac с дисплеем Retina, выпущенные в 2017 г. или позже;
- компьютеры iMac Pro, выпущенные в 2017 г.;
- компьютеры Mac Pro, выпущенные в 2013 г. или позже.
Проверка версии установленных графических драйверов AMD
- Запустите компьютер Mac в ОС Windows.
- Выполните любое из указанных ниже действий, чтобы открыть настройки Radeon:
- Щелкните на рабочем столе правой кнопкой мыши и выберите AMD Radeon Settings (Настройки AMD Radeon).
- Также можно щелкнуть значок настроек Radeon в области уведомлений
- или выбрать пункт AMD Radeon Settings (Настройки AMD Radeon) в меню «Программы».
- В окне настроек Radeon перейдите на вкладку System (Система), затем на вкладку Software (Программное обеспечение).
- Номер версии отображается в разделе Driver Packaging Version (Версия пакета драйверов).
Загрузка и установка последней версии графических драйверов AMD
- В Windows перейдите на веб-сайт AMD и щелкните «Драйверы и поддержка».
- Выберите нужный продукт в списке, а не в меню: сначала выберите Graphics (Графика), затем Mac Graphics (Графика Mac) в следующем столбце, затем Apple Boot Camp в следующем столбце.
- Нажмите кнопку «Отправить», чтобы просмотреть список доступных драйверов.
- Найдите версию драйвера, совместимую с моделью вашего компьютера Mac. Если это более поздняя версия (имеет больший номер), чем установленная на вашем компьютере Mac, нажмите «Скачать».
- Распакуйте загруженный файл ZIP, затем запустите программу Setup из получившейся папки, чтобы установить драйверы.
Информация о продуктах, произведенных не компанией Apple, или о независимых веб-сайтах, неподконтрольных и не тестируемых компанией Apple, не носит рекомендательного или одобрительного характера. Компания Apple не несет никакой ответственности за выбор, функциональность и использование веб-сайтов или продукции сторонних производителей. Компания Apple также не несет ответственности за точность или достоверность данных, размещенных на веб-сайтах сторонних производителей. Обратитесь к поставщику за дополнительной информацией.
Источник
DriverPack Solution
Разработчик: | Artur Kuzyakov (Россия) |
Лицензия: | Бесплатно |
Версия: | 17.11.106 (Online) / 17.10.14-21093 (Offline) |
Обновлено: | 2021-09-29 |
Системы: | Windows |
Интерфейс: | русский / английский |
Рейтинг: | |
Ваша оценка: | |
Категория: | Драйверы и обновления |
Размер: | 7.9 MB (Online) / 24.0 GB (Offline) |
О программе
Что нового
Системные требования
Полезные ссылки
Подробное описание
DriverPack Solution – программа для автоматической установки драйверов Windows. Программа упрощает процесс поиска и установки драйверов после переустановки Windows. Поиск и установка драйверов осуществляются в автоматическом режиме. Программа имеет понятный интерфейс, что делает работу с ней доступной для простых пользователей.
Режим эксперта, будет полезен для опытных пользователей и системных администраторов. Он позволяет вручную выбирать версии драйверов для установки и контролировать весь процесс.
Полная версия DriverPack Solution содержит драйвера для следующего оборудования: чипсеты, видео карты, звуковые карты, сетевые карты, Wi-Fi модули, модемы, датчики биометрии, тачпады, TV тюнеры, Bluetooth, кардридер, мониторы, принтеры, веб-камеры, USB адаптеры, а также некоторого другого распространённого оборудования.
Основные возможности DriverPack Solution:
- Режимы работы для начинающих и опытных пользователей
- Определение оборудования и установка отсутствующих драйверов
- Обновление устаревших версий драйверов
- Поиск и загрузка недостающего драйвера из интернета
- Установка полезных программ и один клик
Различие версий DriverPack Solution:
- DriverPack Online – Онлайн версия сборника. Для её работы требуется подключение к интернету.
- DriverPack Offline Network — Работает без интернета и содержит только драйверы для сетевого оборудования и Wi-Fi адаптеров. Эта версия полезна, когда на компьютере нет сетевых драйверов и без них нельзя подключиться к интернету для использования Online версии.
- DriverPack Offline Full — Работает без интернета и содержит все наборы драйверов.
Запуск Offline версии:
После загрузки торрента, распакуйте архив DriverPack_17.7.101-18094.7z в текущую папку. В результате, должна быть следующая структура папок и файлов:
Обновление Offline версии:
Для обновления рабочей Offline версии DriverPack Solution, необходимо скачать обновлённые драйвер-паки и их индексы. Скачайте файлы драйвер-паков и скопируйте их в папку drivers. Содержимое файла indexes-18102.zip извлеките в папку index.
DriverPack Solution – программа для автоматической установки драйверов Windows. Программа упрощает процесс поиска и установки драйверов после переустановки Windows. Поиск и установка драйверов осуществляются в автоматическом режиме. Программа имеет понятный интерфейс, что делает работу с ней доступной для простых пользователей.
Режим эксперта, будет полезен для опытных пользователей и системных администраторов. Он позволяет вручную выбирать версии драйверов для установки и контролировать весь процесс.
Полная версия DriverPack Solution содержит драйвера для следующего оборудования: чипсеты, видео карты, звуковые карты, сетевые карты, Wi-Fi модули, модемы, датчики биометрии, тачпады, TV тюнеры, Bluetooth, кардридер, мониторы, принтеры, веб-камеры, USB адаптеры, а также некоторого другого распространённого оборудования.
Основные возможности DriverPack Solution:
- Режимы работы для начинающих и опытных пользователей
- Определение оборудования и установка отсутствующих драйверов
- Обновление устаревших версий драйверов
- Поиск и загрузка недостающего драйвера из интернета
- Установка полезных программ и один клик
Различие версий DriverPack Solution:
- DriverPack Online – Онлайн версия сборника. Для её работы требуется подключение к интернету.
- DriverPack Offline Network — Работает без интернета и содержит только драйверы для сетевого оборудования и Wi-Fi адаптеров. Эта версия полезна, когда на компьютере нет сетевых драйверов и без них нельзя подключиться к интернету для использования Online версии.
- DriverPack Offline Full — Работает без интернета и содержит все наборы драйверов.
Запуск Offline версии:
После загрузки торрента, распакуйте архив DriverPack_17.7.101-18094.7z в текущую папку. В результате, должна быть следующая структура папок и файлов:
Обновление Offline версии:
Для обновления рабочей Offline версии DriverPack Solution, необходимо скачать обновлённые драйвер-паки и их индексы. Скачайте файлы драйвер-паков и скопируйте их в папку drivers. Содержимое файла indexes-18102.zip извлеките в папку index.
Источник
Основы работы с IOKit. Тонкости программирования драйверов
В рамках поддержки блога разработки под Mac OS X, я представляю свою статью о низкоуровневой разработке под Mac OS X. Обычно тема разработки драйверов не столь популярна, однако и здесь Mac OS X выгодно выделяется из ряда прочих операционных систем. Да, писать драйвера для Mac O S X – просто! Проще чем когда-либо ранее!
Экскурс в глубины теории
Очень часто я слышу фразы, что Mac OS X – это Linux. Или же что OS X основано на ядре FreeBSD и посему драйвера легко портировать из одной системы в другую. А вот и нет! Очень часто концепция разработки под Mac OS X противоречит классическим принципам, к примеру вместо традиционных спин локов (spin lock) Apple предлагает использовать примитив IOCommandGate для синхронизации доступа. Также достаточно жестко регламентируется использование ядерной памяти. Примерный совет от Apple выглядит так: «Выделяйте столько памяти в ядре, сколько вам необходимо использовать и не байтом больше. Предпочитайте основную часть работы с большими буферами памяти переносить в пользовательский режим (user space)».
Сердцем, т.е. ядром, Mac OS X является XNU. XNU – это гибридное ядро, которое сочетает в себе множество преимуществ, а также недостатков, монолитных и микроядерных ОС. Собственно, XNU состоит из микроядра mach, разработанного институтом Карнеги Мелоуна, подсистемы Posix из BSD 4.3 (позже эта часть синхронизировалась с последней веткой FreeBSD, дописывалась самой Apple, а также 3-ми лицами), и объектно-ориентированного фреймворка IOKit, на который положена ответственность взаимодействовать с аппаратной частью Mac’ов. Стоит упомянуть, что ядро mach предоставляет операционной системе следующие сервисы: планировщик потоков и процессов, вытесняющую многозадачность (pre-emptive), механизм виртуальной памяти, защиту памяти, mach-IPC (через передачу сообщений), отладчик ядра.
Кое-что об IOKit
И так, что же из себя представляет IOKit? Как и многие другие наработки, IOKit – это наследие NeXT Computer (гениальные люди видимо работали в NeXT). IOKit – это объектно-ориентированный фреймворк реализующий драйверную модель Mac OS X. Написан IOKit на С++, вернее на его урезанной версии – Embedded C++ [1]. Проще говоря, это старый добрый С++ без множественного наследования, RTTI, шаблонов и исключений. Также в IOKit запрещается определять конструкторы и деструкторы классов. Впрочем, если очень хочется, то использовать можно все, кроме RTTI и исключений, но Apple за это вас по голове не погладит! Ранее IOKit был написан на Objective C, как и фреймворк Cocoa, и назывался Driver Kit. Однако, для упрощения разработки драйверов 3-ми лицами, Driver Kit переписали на C++. Впрочем, по словам одного из основных разработчиков IOKit, Годфри ван дер Линдена (Godfrey van der Linden), это решение было ошибочным. Тем не менее, в IOKit можно невооруженным взглядом увидеть наследие Objective C, к примеру механизм подсчета ссылок и retain/release, именование классов (приставки OS и IO), именование методов классов и многое другое. Еще один интересный факт: Godfrey van der Linden — студент университета Nicta, того самого австралийского НИИ, который открыл исследовательский проект Darbat [2].
Для того, чтобы приступить в делу вам достаточно установленного XCode SDK, собственно самого IDE XCode, а также Terminal.app для загрузки драйверов. При создании нового проекта, выберете Generic IOKit Driver и XCode создаст для вас пустой проект. Вам остается только добавить код драйвера, откомпилировать его, и загрузить с помощью следующих строк (предполагается, что драйвер называется SampleDriver.kext):
sudo chmod –R 0755 ./SampleDriver.kext
sudo chown –R root:wheel ./SampleDriver.kext
sudo kextload –t ./SampleDriver.kext
Как видно из вышеприведенных строк: загрузка драйвера выполняется с правами root с помощью сторонней программы kextload (из набора kext utils, который в свою очередь входит в xnu utils). Драйвер, как и любое приложение Mac OS X (за исключением простых консольных приложений), представляет из себя bundle, т.е. директорию в которой хранятся данные, которые непосредственно относятся к драйверу, а именно: Info.plist файл, файл с локализированными строками и конечно же сам бинарный файл драйвера (SampleDriver.kext/Contents/MacOS/SampleDriver). Также драйвер может содержать дополнительные ресурсы (SampleDriver.kext/Contents/Resources), либо другие драйверы (SampleDriver.kext/Contents/PlugIns).
IOKit в своей концепции активно эксплуатирует две парадигмы ООП: наследование и полиморфизм. Наследование позволяет уменьшить количество использованной ядерной памяти: любой IOKit драйвер, наследует определенный базовый класс, который специфичен для каждого стека устройств в системе. Например для драйверов LAN устройств – это IOEthernetController, WAN устройств – IO80211Controller, звуковых карт – IOAudioDevice и т.д. Механизм виртуальных функций, позволяет драйверу легко переопределить определенные методы базово класса, таким образом реализуя необходимую функциональность.
Проба пера
Любой класс в IOKit драйвере должен быть прямо или косвенно унаследован от класса OSObject. Этот класс обеспечивает подсчет ссылок, поддержку псевдо-RTTI за счет макросов и дополнительной метаинформации, примитивы для создания инстанса класса (перегруженный оператор new) в среде IOKit и многое другое. Самый простой IOKit класс выглядит следующим образом:
*.h файл:
class MyIOKitClass: public OSObject
<
OSDeclareDefaultStructors(MyIOKitClass)
public :
virtual bool init();
protected :
virtual void free()
private :
void *fSimpleMember;
*.cpp файл:
bool MyIOKitClass::init()
<
if (!OSObject::init())
return false ;
// TO-DO: Add basic initialization here
fSimpleMember = NULL;
return true ;
>
void MyIOKitClass::free()
<
// TO-DO: Add deinitialization code here
if (fSimpleMember)
<
// .
>
OSObject::free();
>
Наш класс MyIOKitClass унаследован от класса OSObject, в нем переопределены два метода:
- bool init() – данный метод будет вызван тогда, когда будет создан новый инстанс класса. В методе рекомендуется проводить начальную инициализацию полей класса, в общем все то, что вы бы сделали в конструкторе.
- void free() – данный метод будет вызван во время того, когда будет вызван последний release для экземпляра класса и его счетчик ссылок будет равен 0. Т.е. роль метода – деструктор класса.
Также в переопределенных методах необходимо вызывать методы класса-предка, для того, чтобы IOKit выполнял основную часть работы по инициализации/уничтожению инстанса класса за вас.
От OSObject могут быть унаследованы лишь вспомогательные классы, которые необходимы при реализации более крупной системы. Главный класс драйвера (да и любой другой класс, который претендует на то, чтобы предоставлять операционной системе определенные сервисы) прямо или косвенно наследуется от класса IOService.
IOService помогает реализовать в вашем драйвере поддержку Plug’n’Play, Power Management (организовывает взаимодействие с Power Domain операционной системы), взаимодействие с IORegistry и другими драйверами системы. Здесь следует также упомянуть про IORegistry – это не что иное, как динамическое дерево устройств Mac OS X. Строить это дерево начинает загрузчик ОС (boot loader), ядро ОС, а также вспомогательные драйвера. К примеру драйвер IOACPIPlatformExpert строит в IORegistry дерево всех PCI устройств в системе, основываясь на информации из ACPI таблиц, а также APIC контроллера прерываний.
IOService имеет два достаточно полезных метода, которые вам наверняка следует реализовывать в большинстве ваших драйверов:
- bool start( IOService *provider ) – данный метод будет вызван во время старта вашего драйвера. Здесь вы можете поместить код, который будет заниматься выделением ресурсов, необходимых драйверу.
- void stop( IOService *provider ) – этот метод будет вызван во время останова вашего драйвера.
В сигнатуре вышеприведенных методов, вы могли заметить параметр provider. И так, что же он значит, и для чего нужен? Все очень просто, как было сказано ранее, в Mac OS X существует динамический список устройств IORegistry. В нем существует связка наб-драйвер. Любой драйвер, может регистрировать в системе свои сервисы и делать их набами (nubs) для любых других драйверов. Итак, наб – это класс, который другой драйвер системы зарегистрировал в IORegistry, и теперь этот наб может быть передан как провайдер в ваш драйвер. К примеру, для драйверов PCI устройств набом является инстанс класса IOPCIDevice. Информация о набе, а также идентификаторы устройства задаются в Info.plist файле драйвера. Следующая секция Info.plist файла иллюстрирует этот прием (данный код был взят из моего сетевого драйвера):
dict >
key > Realtek RTL8111B/RTL8168 NIC key >
dict >
key > CFBundleIdentifier key >
string > rtl.r1000.nic.ext string >
key > IOClass key >
string > RealtekR1000 string >
key > IOPCIMatch key >
string > 0x816910ec 0x816710ec 0x816810ec 0x813610ec string >
key > IOProbeScore key >
integer > 500 integer >
key > IOProviderClass key >
string > IOPCIDevice string >
dict >
dict >
Опишем наиболее значимые параметры:
- IOProviderClass – указывает тип наба, который IOKit передаст в метод start нашего драйвера.
- IOClass – это имя класса нашего драйвера. Если обратится к нашему предыдущему примеру — это MyIOKitClass.
- CFBundleIdentifier – bundle идентификатор нашего драйвера, проще говоря этот параметр однозначно идентифицирует наш драйвер в системе.
- IOPCIMatch – список DeviceID-VendorID PCI устройств, которые будет обслуживать наш драйвер. К примеру возьмем 0x816810ec, 0x8168 – это DeviceID нашего сетевого контроллера, 0x10ec – это VendorID, в данном случае Realtek.
Остальные параметры – тема для еще одной статьи 😉 Примерный же код нашего метода start будет выглядеть так: bool RealtekR1000::start(IOService *provider)
<
if (!IOEthernetController::start(pciDev))
return false ;
IOPCIDevice *pciDev = NULL;
pciDev = OSDynamicCast(IOPCIDevice, provider);
if (!pciDev)
return false ;
pciDev->retain();
pciDev->open( this );
// Add initialization of device here
Я надеюсь, что данный код более-менее понятен для вас, добавлю лишь, что OSDynamicCast – это макрос, который заменяет отсутствие RTTI в IOKit за счет использования дополнительной метаинформации.
Сделаем что-нибудь полезное?
Все что вам необходимо сделать, чтобы создать свой сетевой драйвер:
- Создать скелет для драйвера, как было описано выше.
- Унаследовать класс драйвера от класса IOEthernetController.
- Переопределить необходимые методы в своем классе (всего около 10-12).
- Задать необходимые параметры в Info.plist файле.
И драйвер готов! Как видим, Mac OS X в очередной раз поражает нас изяществом. Здесь нет никаких огромных *.inf файлов, никакой системы минипортов, и прочих неочевидных вещей. Портирование драйвера для сетевого контроллера с Linux в Mac OS X заняло у меня около 7 дней, при том, что я должен был также освоить основы IOKit с нуля.
На этом этапе я намеряно делаю паузу до следующей статьи, если конечно же кому-то будет интересна данная тематика на хабре. Я опустил такие интересные вещи, как: Power Management, работа с IO портами и DMA, взаимодействие с user space и т.д. Желающим освоить IOKit могу порекомендовать начать с туторила IOKit Fundamentals [3], а заинтересованным – список тем о низкоуровневой разработке, которые им были бы наиболее интересны. Прошу оставлять свои отклики и пожелания 😉
Источник