Кастомные драйвера что это
Введение
Железо у нас опять не менялось (хотя кое-что в прошивке мы обязательно поменяем в следующей статье), поэтому начнем с обзора того, что нам предстоит сделать.
Несмотря на то, что наш драйвер из прошлой статьи уже умеет выводить графику, использовать его в полной мере (например, вывести консоль или запустить графическое приложение) весьма затруднительно. Дело в том, что подобные приложения требуют вполне определенного, стандартизованного интерфейса, так называемого фреймбуфера. При регистрации фреймбуфера в системе нам необходимо будет заполнить несколько специализированных структур-дескрипторов, на этот раз куда более специфических, чем просто абстрактные «файловые операции», которые мы заполняли в прошлый раз. Операции там тоже будут, но кроме них будут специальные колбэки, такие, как fb_imageblit (вызывается, когда кто-то хочет перенести блок бит с изображением в определенное место экрана), fb_copyarea (похожий перенос, но блок бит берется не из внешнего буфера а из видеопамяти) и т.п. Кроме того, будут структуры с описанием разрешения экрана, битности цвета и того, как в этой «битности» расположены цветовые компоненты.
Первое, что нужно осознать: у нас несколько нестандартная ситуация, если сравнивать с видеокартами PC (хотя для эмбеддед устройств вполне себе обычная) — наше устройство не имеет как таковой видеопамяти, к которой мы могли бы обращаться — точнее, память-то оно имеет, ту самую GRAM, запрятанную в недрах дисплея, но доступ у нас к ней только через «окошко» в 16 бит шириной. Памяти на борту тоже не настолько много, чтобы хранить там весь буфер кадра.
К счастью, в линуксе для этого предусмотрен специальный подход — для нас уже написаны функции с префиксом "sys_", например, "sys_imageblit", которые реализуют необходимую фреймбуферу функциональность, работая с областью оперативной памяти системы как с буфером кадра.
То есть, если буфер кадра у нас размещен в видеокарте и у нас есть аппаратная поддержка подобных операций, мы в колбэках просто пинаем нашу железку, отдавая команду «выполнить перенос блока бит» или «скопировать область видеопамяти».
Если же у нас ничего этого нет, мы выделяем в ядре память, размером равную нашему буферу кадра, и в колбэках вызываем эти самые функции с префиксом "sys_", которые выполняют необходимые операции в RAM.
Таким образом, можно получить полностью работающий фреймбуфер, который вообще не будет взаимодействовать с железом — такой драйвер уже есть и он называется vfb, virtual framebuffer. Его исходный код лежит в drivers/video/vfb.c.
Если к такому драйверу добавить периодическую посылку данных на реальное устройство мы получим уже настоящий драйвер фреймбуфера. Но перед тем, как мы займемся этим, давайте немного понастраиваем нашу систему и потренируемся на виртуальном драйвере, vfb.
Включаем поддержку графики в ядре
- Для того, чтобы мы увидели консольный вывод в памяти фреймбуфера (ну и на экране, если он настоящий, а не виртуальный) необходимы два драйвера — это, собственно, драйвер самого фреймбуфера, который создаст устройство /dev/fb[x] и драйвер консоли, работающий поверх него — это драйвер fbcon
- В ядре, соответственно, должна быть включена поддержка фреймбуферов, поддержка виртуальных терминалов (абстракция, объединяющая в себе устройство вывода+устройство ввода, дисплей и клавиатуру), поддержка отображения системной консоли на таких терминалах (да, это тоже можно отключить, тогда системная консоль будет выводиться только на физически существующие символьные устройства вроде ком-портов), сам драйвер fbcon, а также какой нибудь из доступных вбилденных в него шрифтов.
- Тот самый пункт, который я в начале упустил, когда не мог понять, почему ничего не выводится — нужно сообщить ядру, что необходимо выводить содержимое системной консоли на тот /dev/tty[x], который сцапал fbcon!
Дело в том, что драйвер fbcon пытается захватить первый доступный /dev/tty[x], например, tty0. Но ядро ничего туда не выводит, это ни к чему не привязанная абстракция, т.к. на нем не запущено ни приложение, позволяющие логиниться в системе, ни вывод системной консоли.
Для того чтобы решить эту проблему мы должны во-первых сказать ядру, что мы хотим видеть системную консоль на /dev/tty0 (впрочем, это опционально, если вдруг кто-то не хочет видеть процесс загрузки и системный вывод, то этот пункт можно опустить), а во-вторых сообщить иниту, что там нужно запустить софт для логина
Сейчас мы проделаем все три пункта относительно драйвера виртуального фреймбуфера, и, когда получим картинку в памяти, перейдем к написанию своего. fbcon и драйвер фреймбуфера могут быть сбилдены либо оба статически, либо оба в виде подключаемых модулей, либо кто-нибудь один статически, второй динамически — проблем это не вызовет, fbcon сцапает фреймбуфер сразу, как только его увидит.
Правда, при работе с vfb есть одна тонкость — чтобы его активировать, необходимо передать модулю параметр vfb_enable=1, либо запустить ядро с параметром "video=vfb". С модулем работать будет проще, поэтому ограничимся им. fbcon же вбилдим в ядро.
- Выполняем make kernel_menuconfig и заходим в пункт Device Drivers
- Включаем Graphics Support — Support for frame buffer devices, после чего нам становится доступен список самих драйверов, в котором выбираем Virtual framebuffer.
- Возвращаемся уровнем выше, идем в Character devices и включаем там
Virtual terminal
Enable character translations in console
Support for console on virtual terminal
Support for binding and unbinding console drivers
Последнее, что нам нужно сделать перед пересборкой — зайти в make menuconfig и включить в предоставляемые busybox возможности утилиту fbset, которая позволит задать параметры нашего фреймбуфера. Она находится в меню Base System — Busybox — Linux SyStem Utilities
Теперь можно пересобирать ядро. В build_dir/target-mips_r2_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.6.9/dri
vers/video/
забираем то, что с расширением .ko
Вопреки ожиданиям, он там будет не один, включение драйвера, использующего функции с префиксом "sys_" активирует сборку нескольких модулей, в которых эти самые функции лежат. Что интересно, в принципе, ничего не мешает вбилдить их статически в ядро, оставив драйвер подключаемым модулем, однако из меню мне этого сделать не удалось, пришлось писать соответствующий патч к Kconfig-файлу. Но это мы сделаем позже, а сейчас просто перешьем роутер новой прошивкой и перекинем на него все модули.
После заходим по SSH на роутер и идем /etc. Открываем файл inittab и видим там что-то вроде этого:
В последней строке как раз и сказано, что нужно запустить софт для логина (в данном случае, как и все системные бинарники — часть busybox'а) на ttyATH0, последовательном порту. При этом указано (askfirst) что для активации этой консоли нужно будет сначала нажать enter.
Добавляем еще одну строчку:
Посмотрим, правильно ли указаны параметры ядра через
и перезагрузим роутер.
Теперь по очереди инсмодим все, кроме драйвера vfb, а в самом конце пишем
После этого мы в dmesg должны увидеть слова наподобие этих: Console: switching to colour frame buffer device 53x21
Размеры консоли будут отличаться в зависимости от выбранного шрифта. Установим фреймбуферу параметры, более похожие на параметры нашего дисплея:
Это полезная пара команд, которая нам ни раз пригодится — без этого не выгрузить драйвер фреймбуфера, т.к. он будет занят консолью.
Очень не помешает подключить к роутеру клавиатуру — можно вслепую ввести команды clear и dmesg чтобы быть уверенным, что на виртуальном дисплее что-то есть.
После получаем «скриншот» командой
4x4
6x11
8x8
4x4
6x11
8x8
Пишем драйвер фреймбуфера
Для начала — о подходе. Очевидным и не очень хорошим решением стало бы периодическое обновление всего экрана — можно было бы завести таймер, который бы кидал все содержимое фреймбуфера по USB уже знакомыми нам из прошлой статьи командами. Однако есть куда более правильное решение, так называемое deferred io.
Суть его проста: нам нужно только указать функцию-колбэк, задать интервал времени и зарегистрировать это самое deferred io для нашего фреймбуфера. При регистрации виртуальная память будет настроена так, что обращение к памяти буфера кадра вызовет исключение, которое поставит наш колбэк в очередь на обработку через заданный нами интервал. При этом операция записи в память не прервется! А когда вызовется колбэк, в него будет передан список страниц, которые были изменены. Не правда ли, очень удобно? Юзерспейс может спокойно писать в видеопамять не задумываясь ни о чем и не прерываясь, при этом периодически будет дергаться наш колбэк со списком страниц памяти, которые были изменены — нам нужно будет кидать на устройство только их, а не весь буфер.
Так как освобождение фреймбуфера — задача не такая простая, как кажется на первый взгляд (USB-устройство может уже отсутствовать, но сам фреймбуфер клиенты еще не отпустят и чистить память в этот момент никак нельзя), мы поступим не очень хорошо — напишем себе жирнейшим шрифтом TODO и клятвенно пообещаем реализовать правильную очистку и отключение устройства чуть-чуть позже, а пока напишем все остальное, чтобы наконец, увидеть плод своих действий. Нормальную очистку вместе с допиливанием прошивки видеокарты (что поднимет FPS минимум в два раза) мы обязательно рассмотрим в следующей статье.
Начнем с простого — так как нам будет приходить список страниц, в которые была произведена запись, проще всего заранее сохранить координаты на экране, соответствующие началу страницы а также указатель на соответствующую ей область памяти. Поэтому создадим структуру с этими полями, не забыв добавить атомарный флаг, показывающий, требуется ли данной странице апдейт. Это необходимо, т.к. внутренние операции фреймбуфера, те, что выполняются через функции с префиксом "sys_" не вызывают наш хендлер deferred io, поэтому нам нужно будет вручную посчитать, к каким страницам было обращение и пометить их как подлежащие апдейту.
Здесь все прозрачно, единственное что — храним длину, т.к. последняя страница может быть неполной — нам ни к чему слать дисплею лишние данные.
Объявим несколько дефайнов, связанных с размерами дисплея — количество пикселей в странице, количество страниц во фреймбуфере и т.п.
PAGE_SIZE задефайнена за нас, в исходниках ядра.
Объявим требуемые колбэки операций с фреймбуфером и колбэк-хендлер нашего deferred io.
Далее идет структура с неизменяемой информацией о дисплее.
Тоже все просто — задаем строковый ID нашего дисплея, тип пикселей — другие нас не интересуют, у нас самый обычный битмэп, цвет у нас truecolor, во всяком случае близко к нему и уж точно не монохромный и не direct color.
Далее идет более интересная структура с (потенциально) переменной информацией. Но так как возможность смены разрешения мы реализовывать не будем, для нас она будет такой же постоянной как и в прошлой структуре.
Тут мы видим уже знакомые по fbset видимое и виртуальное разрешения, физические размеры дисплея в миллиметрах (можно задать, в принципе, любыми, я задал такими же, как и его разрешение), битность изображения, и — важные структурки — описатели того, как цветовые компоненты расположены в байтах. В них первым значением идет смещение, вторым длина в битах и третьим — флаг, «значащий бит справа».
Последней объявляем структуру отложенного ввода-вывода, deferred io.
На чтение сразу запишем колбэк из тех, что "sys_", нам там делать нечего. Во всех остальных нам нужно будет еще пометить соответствующие страницы на обновление, так что указываем свои.
Структура-дескриптор нашего девайса почти не изменится со времен предыдущей статьи, опишем ее.
В нее добавился массив наших описателей страниц видеопамяти. Вообще-то, статически размещать большие объемы данных в ядре не рекомендуется, но сама структура у нас вышла небольшая, да и по количеству их всего 38, поэтому, чтобы не морочиться с лишними указателями оставим этот массив статическим, 760 байт или около того ядро как-нибудь осилит.
Последнее поле, pseudo_palette — место под псевдо-палитру, которую требует fbcon. Заполняется она в колбэке .fb_setcolreg, без которого fbcon отказывается работать. Во всех дровах, что я видел, этот колбэк выглядит копипастнутым из файла-примера фреймбуфера из исходников ядра, поэтому мы тоже не будем изобретать велосипед, тем более что, кроме fbcon этим, похоже, никто и не пользуется. С него и начнем.
Это, как я уже сказал, стандартный код для такого колбэка, включая макрос CNVT_TOHW, который используется для получения значений цветовых компонентов. Его также таскают из драйвера в драйвер — не совсем понятно, почему его в итоге не внесут в основной заголовочный файл fb.h.
Задача данного колбэка — заполнить 16-цветную псевдопалитру, к которой будет обращаться уже упомянутый драйвер консоли.
Теперь объявим небольшую функцию, которой мы будем передавать, по сути, прямоугольник, в области которого было произведено воздействие на видеопамять. Функция вычислит, какие страницы видеопамяти затронуты этим прямоугольником, поставит им флаг «требуется апдейт» и запланирует выполнение того же колбэка, который зовется в случае deferred io. После этого все колбэки операций сведутся к вызову функций "sys_" и написанной нами функции, которую мы обзовем touch, по аналогии с командой в Linux.
Код, я думаю, вполне понятен — просто вычисляем какие страницы мы затронули исходя из разрешения, округляем всегда в большую сторону, а точнее — просто берем с запасом, по одной странице с обоих концов.
Теперь опишем все остальные колбэки — они становятся очень простыми:
Теперь опишем, наконец, наш колбэк от deferred io, который будет слать информацию на дисплей. Он во многом будет совпадать с колбэком .write из прошлой статьи. Будем писать в дисплей по страницам, не забывая приписывать, как и в прошлой статье, к ним требуемый заголовок. Благодаря нашей структуре videopage координаты x, y и длины уже посчитаны, так что все что нужно — просто запихнуть это в буфер и кинуть по USB.
Так как в этот колбэк мы можем попасть честным путем(через deferrd io), а можем — по собственному почину (запланировав его выполнение в одном из колбэков операций, вызвав display_touch), мы просто пробежимся по всем переданным нам страницам, если таковые имеются, и пометим их как подлежащие апдейту.
Если мы попали сюда не через отложенный ввод-вывод, то список просто будет пустым.
После этого мы просто проходимся по всем страницам атомарно проверяя необходимость апдейта и выполняя этот самый апдейт путем синхронной посылки по USB. В следующей статье, когда будем допиливать драйвер до нормального состояния, мы заменим синхронную посылку более правильным механизмом, именуемым USB Request Block, или URB. Он позволит кинуть USB-хосту запрос на отправку данных и сразу же вернуться к дальнейшей обработке. А о том, что URB долетел (или не долетел) до получателя нам сообщат в прерывании. Это позволит выжать еще чуть-чуть FPS из нашей системы (не превышая, однако, теоретического предела, о котором я говорил выше).
Нам осталось совсем чуть-чуть — раз уж мы решили поступить плохо и не чистить за собой, то осталось только инициализировать все в колбэке Probe.
Здесь мы сначала выделяем память под наш дескриптор устройства, потом под структуру описателя фреймбуфера, и только потом — под сам фреймбуфер. Обратите внимание — выделяем через vmalloc. Отличие от kmalloc состоит в том, что vmalloc может перенастроить таблицы страниц виртуальной памяти, и «собрать по кусочками» запрошенный нами буфер. То есть для нас он будет выглядеть единым блоком памяти, но физически он может состоять из страниц даже близко не находящихся друг с другом. kmalloc же возвращает память, которая и физически является единым блоком. Так как мы запрашиваем достаточно большой кусок, хорошей практикой будет воспользоваться vmalloc.
Все, компиляем, инсмодим, и если все сделано правильно лицезреем консоль на дисплее!
Заключение
Первая Кирандия
Хабр в консольном браузере (шрифт VGA8x8)
Оболочка Gmenu2X
Встроенный в нее файловый браузер
Настройки
Здесь будут собираться драйвера для видео от INTEL грубо говоря кастомые, вносящие разные изменения в отличии от стоковых.
Для успешной установки лучше удалить текущие драйвера через Display Driver Unistaller во избежания синих экранов и проблем после установки.
PHDGD Sapphire GR
Версия:EVALUATION RELEASE 5
- Intel(R) GMA 945
- Intel(R) GMA 950
- Intel(R) GMA 965 a.k.a X3100
- Intel(R) GMA 3000
- Intel(R) GMA 3100
- Intel(R) GMA 3150
- Свой код
- Большая поддержка GPU
- Улучшена производительность и эффективность в играх
- Более широкая оптимизация игр
- Улучшено цветовое пространство в видео
- Лучшая поддержка игр
- Стабильность
- Анизотропная фильтрация, вершинная обработка и вертикальная синхронизация.
- Дополнительная регулировка яркости для улучшения жизни батареи
Операционная система:Windows 7/8/10 32 бит.
P.S. бывает такое что вместо установщика, вылезает неизвестно что, для решения проблемы достаточно в папке lang/hdmi удалить папку RUS и все встанет на места.
- Intel(R) GMA 945
- Intel(R) GMA 950
- Intel(R) GMA 965 a.k.a X3100
- Intel(R) GMA 3000
- Intel(R) GMA 3100
- Intel(R) GMA 3150
- Intel(R) 82945G
- Intel(R) Mobile 945
- Intel(R) G965
- Intel(R) Mobile 965
- Intel(R) Q965/Q963
- Intel(R) 946GZ
- Intel(R) G33/G31
- Intel(R) G35
- Новый интерфейс
- Основные настройки для некоторых игр уже встроенны в драйвер
- Полная поддержка пиксельных шрейдеров 2.0 начиная с Windows vista
- Полная совместимость DirectX 9.0c и DirectX 10 начиная с Windows vista
- Полная поддержка Аеро.
- Поддержка DXVA для кодеков.
- Сокращение использования оперативной памяти для драйвера
- Возможность контроля аппаратного ускорения для конкретного приложения, так же и добавления новых.
Операционная система:Windows 7/8/10.
- Intel(R) GMA 945
- Intel(R) GMA 950
- Intel(R) GMA 965
- Intel(R) GMA 3000
- Intel(R) GMA 3100
- Intel(R) GMA 3150
- и часть Express Chipset Family и mobile gma
Операционная система:Windows 7/8.
Intel HD Graphics:
Драйвера PHDGD:
PHDGD Quantic
- Аппаратное ускорение флэш
- Оптимизация в некоторых играх и бенчмарках
- Поддержка новых ОС
- Улучшено воспроизведение видео
- Лучше цвета
- Батарею держит чуть больше при игре
- Больше видеопамяти
Операционная система:Windows 7/8/10 64 бит.
P.S. бывает такое что вместо установщика, вылезает неизвестно что, для решения проблемы достаточно в папке lang/hdmi удалить папку RUS и все встанет на места.
PHDGD Omega
- Поддержка 4К разрешения
- Улучшен BIT2 и BIT3
- Оптимизированы некоторые игры к примеру GTA V
- Улучшено воспроизведение видео
- Лучше цвета
- Батарею держит чуть больше при игре
- Больше видеопамяти
Операционная система:Windows 7/8/10.
P.S. бывает такое что вместо установщика, вылезает неизвестно что, для решения проблемы достаточно в папке lang/hdmi удалить папку RUS и все встанет на места.
PHDGD IvyDrive
Операционная система:Windows 7/8/10 64 бит.
P.S. бывает такое что вместо установщика, вылезает неизвестно что, для решения проблемы достаточно в папке lang/hdmi удалить папку RUS и все встанет на места.
PHDGD Skylake
- Улучшена производительность DirectX 12
- Улучшена общая производительность
Операционная система:Windows 7/8/10 64 бит.
P.S. бывает такое что вместо установщика, вылезает неизвестно что, для решения проблемы достаточно в папке lang/hdmi удалить папку RUS и все встанет на места.
Поддержка OpenGL 3.0 за счет ЦПУ: ТУТ
На данный момент тут собраны актуальные кастомные драйвера. Раздел будет пополнятся со временем.
1.В случае ошибки при установке драйвера - попробовать установку в безопасном режиме с отключением цифровой подписи драйверов. TY -> ОВЛ
ЧаВо от Intel
Модифицированный OpenGL x64 и x86
Еще драйвера
Если есть идеи по поводу наполнение шапки, пишите в QMS
Не стали, "Ошибка установки одного или нескольких драйверов". Устанавливал два вида Omega и IVYDRIVE,так же и на чистую систему. У меня Intel HD 2500.
DENI2haker, не могли бы вы сказать, как специалист по драйверам Intel, существуют ли драйвера на Intel HD 4400 под Windows XP SP3
Ясно , оригинальных дров Intel вроде не выпускал (только начиная с Windows7), подумал может кто кастомные сделал.
DENI2haker, Спасибо за ссылку, но к сожалению драйвера не подошли Пишет "Эта система не удовлетворяет минимальным требованиям для установки программного обеспечения" Посмотрел распакованный файл igxp32.inf Эти драйвера для видеокарт VEN_8086&DEV_0106 ,VEN_8086&DEV_0102,VEN_8086&DEV_0116,VEN_8086&DEV_0112 ,VEN_8086&DEV_0126,VEN_8086&DEV_010A и VEN_8086&DEV_0122 а у меня VEN_8086&DEV_041E. Я давно уже забил на это дело и поставил дискретную видеокарту, но наткнулся на эту тему и решил спросить на всякий случай.
andrefz, ну честно говоря винда хр уже вроде года 2 как не имеет поддержки. Так что лучше вин7 поставить тебе, для XP встанет Chell, но он для GMA.
Думаю, ни для кого не секрет, что современные версии операционной системы Windows - это весьма умный продукт, который стремится всё выполнять за пользователя. В этом нет ничего плохого, но иногда из-за такой автоматизации могут быть проблемы. В данном материале вы узнаете, как разом установить и обновить все драйверы для вашего ПК и получить максимально возможную производительность.
Прежде чем начать
Прежде чем переходить к гайду, стоит чуть подробней рассказать, что такое драйвер.
Драйвер — это прослойка (программа) между железом и операционной системой Windows, которая подсказывает системе, как лучше работать с устройством. Обычно Windows применяет универсальные или устаревшие драйверы для оборудования, что позволяет обеспечить его функционирование, но не достичь задуманного производителем уровня работы устройства.
Проведём эксперимент. Сравним работу CS: Source на системе с установленными драйверами и без.
Как вы могли заметить, результат потрясает. В системе без установленных драйверов, а я имею в виду не только драйвер видеокарты, скорость загрузки упала более чем в 6 раз, а о разнице в FPS и говорить не стоит. Перейдём к гайду.
Существует множество стороннего ПО для установки и обновления драйверов ПК, но всё оно в большинстве случаев сомнительного качества или платное. Благо, есть проверенное временем бесплатное решение под название Snappy Driver Pack Installer.
Snappy Driver Pack Installer — это бесплатный инструмент для установки и обновления драйверов от бывшего разработчика DriverPack, который не был согласен с политикой интеграции рекламы, а также внедрением шпионского ПО в проект.
Инструкция:
Программа просканирует подключённые устройства к ПК и свяжется с базой драйверов. После получения данных отмечаем все или только нужные устройства. Нажимаем установить и ждём окончания установки. Выполняем перезагрузку ПК.
Вот, собственно, и всё. Не заплатив ни копейки и сэкономив уйму времени, мы разом выполнили установку и обновление всех драйверов ПК. Возможно, кто-то скажет, что лучший вариант это всегда устанавливать драйверы с сайта производителя устройства, но гайд был создан для экономии времени, и автора данное ПО ещё никогда не подводило. Используйте свой ПК на максимум!
Об авторе
Пожаловаться на комментарий
112 комментариев
Добавить комментарий
Непонятно зачем нужная эта программа. Windows уже давно самостоятельно устанавливает драйвера из центра обновлений. Такие программы были актуальны во времена Windows XP и 7, но сейчас они абсолютно бессмысленны.
В вашем примере сравнивается производительность системы с установленными драйверами и системы без драйверов. Но как этот пример доказывает необходимость использования программы из статьи? Зачем городить костыли, если можно установить драйвера и добиться того же самого эффекта средствами windows. Достаточно открыть центр обновлений, вручную проверить обновления и установить все необязательные обновления драйверов.
Глупость не говорите, вы читали хоть материал? Я же всё там указал, зачем и почему.
Хорошо, я повторюсь, современная система Windows обновляет всё по принципу базы, и о ужас, она обновляется реже, чем у этого ПО.
Простой пример:
Выполните установку чипсета или драйвера видеокарты с помощью центра обновления Windows и Snappy или оф с сайтов.
Вы удивитесь различиям в версии драйвера или количеству недоустановленных драйверов. Не беря в рассчёт уже всякие обрубки-пиратки без возможности обновления.
Пожалуйста, разберитесь в теме, прежде чем подобное повторять в будущем.
Обрубки-пиратки и прочие дно сборки вообще не стоит устанавливать. Windows — закрытая ОС и вырезание чего-то «ненужного» по мнению очередного сборщика Васи Пупкина может привести к непредсказуемым последствиям. Что же касается версий, то обычно Microsoft предлагает наиболее стабильные версии драйверов. И бывает так что после ручного обновления все может накрыться. У меня так было когда я обновила драйвер как раз на графику. Производительность упала и система часто стала падать с ошибками «ОС windows заблокирован доступ к графическому оборудованию». По моему опыту лучшие драйвера те которые ставит сама система. Проблема была у меня только с одним специфичным планшетом Dell, для которого драйверов не было в центре обновлений. Но это очень специфичное железо и в таком случае проще просто скачать драйвера с сайта производителя устройства.
Вы рассуждаете со стороны серверного сегмента, где важна стабильность, а гайд воплощает геймерские идеи максимальной выжимки-производительности. В данном сегменте поощаряется и обрезание Windows, ибо современная Win это чёртыв отстой с кучей мусора, а также выжимку всего и вся.
Ну не скажите, у меня, например, винда постоянно пытается откатить графический драйвер проца на старую и как раз нестабильную версию, на которой присутствуют артефакты даже в отрисовке страниц браузера. Поэтому приходится вручную устанавливать при помощи официального веб приложения от интела и запрещать центру обновления снова откатывать всё назад. Ну и процессор не специфический, а i5-11600 с графикой uhd 750
Благодарю за подтверждающий отзыв. О чём собственно и речь. Я понимаю, что с «прогрессом» многим стало казаться, будто ручная установка в прошлом, но не нужно заблуждаться, так качество современной Windows зависит от индусов х0.
Тоже заметил, что самые стабильные драйвера это те, которые ставит сама Windows. Сравнивал производительность их и более свежих с сайта — в пределах погрешности. Вообще сейчас всякие программы загрузки драйверов нафиг не нужны, т.к. Windows сама все умеет.
А приведенная программа напоминает старые времена установки Windows, когда сначала нужно было загрузиться с дискеты, использовать команды «fdisk», «format c» и т.п. А сейчас все это делается также средствами самой Windows.
типичный криворукий юзер у которого всё глючит и падает на засранной винде, со времён XP пользуюсь только мини-сборками не нарадуюсь скоростью работы и отсутствию целлюлита на несколько десятков гигов, просто самая лучшая ОС в мире, текущая 10ка стоит от Flibustier.
Не пишите чушь) Как раз таки у меня система всегда чистая. Все программы из надежных источников — репозитории winget, MS store. И установлено только то что мне нужно. Как раз таки криворукие пользователи, такие как вы и ставят сборки собранные непонятно кем. Нужно понимать что windows не открытая ОС, это не конструктор. Это законченный коммерческий продукт. И вырезание чего-то типо «ненужного» может привести абсолютно к непредсказуемым последствиям. Это сильно снижает стабильность ОС. Если вам нужен конструктор, то пожалуйста вперед на Gentoo Linux. Вот там можно собрать систему самостоятельно(включая ядро) и убрать все вам «ненужное».
Особенно смешно кстати когда в этих сборках отключают всю систему безопасности) А потом такие вот пользователи сборок кричат «ууу винда решето!» после очередной массовой эпидемии какого нибудь вируса шифровальщика. Это же додуматься нужно отключить систему безопасности, отключить обновления безопасности… А и еще любимая фишка всех этих сборок это вырезать все языки кроме русского) А главное для чего это все? Там производительность повышается максимум на пару процентов) И в ОЗУ освобождается несколько мегабайт)
Там производительность повышается максимум на пару процентов) И в ОЗУ освобождается несколько мегабайт)
Это в лучшем случае, а в общем — разницы нет вообще=) Зато — нестабильная работа и неработоспособность приложений, зависящих от вырезанных служб и библиотек.
«Нужно понимать что windows не открытая ОС, это не конструктор. » — dism говорит несколько иное, да и windows adk в недоумении:)
Если вы качали сборки не удосужившись разобраться, что скачиваете, с непонятного ресурса.
Раньше сам сборки под свои нужды собирал, щаз лень и нет насущной необходимости, просто на торрентах читаю чОкак модифицировали, отзывы и как то проблем не было со времн вин7. А вот обновления на оригинал что-нить ломали это я видел.
«А и еще любимая фишка всех этих сборок это вырезать все языки кроме русского) » — может сборка на основе домашки с одним языком, или английский тоже вырезали?
«Это же додуматься нужно отключить систему безопасности, отключить обновления безопасности» — может человек сторонним брэндмауром и антивирусом пользуется…
Для некоторых специфичных или старых драйверов до сих пор нету WHQL драйвера. Эта прога хорошо помогает, например, если пытаться поставить Винду на старый ноут. Плюс, не все драйверы оптимальны, иногда для лучшей работы какого-то устройства нужно откатиться на какую-то определенную версию, например. В общем, программа эта должна в арсенале любого пользователя быть.
Попробуйте установить систему без интернета или с ограниченным интернетом и поймете зачем (и да, win11 так же возможно установить без наличия интернета). Второе: на некоторое старое железо винда не устанавливает драйвера автоматически, приходится пользоваться вот такими паками.
У меня был случай когда win10 упорно скачивала не тот драйвер для видеокарты AMD ATI, а с помощью этого пака не тратя времени на поиск быстро установил нужный.
Этот Snappy Driver Pack Installer сэкономил, лично мне, массу времени и нервов.
… И лучше бы она это не делала. Получить отвал устройства, BSOD или даже полный брик (угу, после обновления биоса) — проще простого.
Кстати, полностью отключить эту мерзость, как обычно — крайне непросто.
Не соглашусь.
Да, так было некоторое время назад, но с какой-то сборки вынь вдруг перестала автоматом подтягивать дрова на интегрированное видео, могу ошибаться, кажется с 21H1, ну да не суть. Мы то уж обрадовались, спрятали драйверпаки в дальний ящик стола, а оно вишь как. Так что у таких сборок есть будущее. И особо они востребованы у сервисов и прочих мастеров.
Винда не стала УСТАНАВЛИВАТЬ драйвера автоматически, но НЕ ПЕРЕСТАЛА их предлагать в центре обновлений. Заходите в центр обновлений, указываете, что нужно искать не только обновления для Windows, но и для других программ и драйверов и затем в Необязательных выбираете себе найденный драйвера.
Если бы винда ПРЕДЛАГАЛА дрова в центре обновлений, мы бы их установили, не побрезговали. Фишка в том что все дрова она предлагает, а вот под новые IGS не предлагает, так-как не находит их в базе, при этом утверждает что всё Ок. А на графику мажет свой богомерзский стандартный драйвер от мелкомягких, при котором комп тормозит даже при скроле страницы браузера )
Да да бессмысленны. Я тебя огорчу — не на всем железе они устанавливаются корректно и в итоге приходится сносить то что поставила винда. Но ты я вижу уверен что все прекрасно работает.не буду тебя огорчать.
ИМХО лучший и удобнейший драйвер пак. Для меня маст хэв, экономит тучу времени и нервов. Крайне рекомендую к использованию.
На видео карту напомнит утилита же, идущая с драйверами. На материнку обновления не столь часты.
На софт выше ссылка
Ставить не пойми чего — пусть априори хуже
Простите, но вы, боюсь, меньше пишете по времени, чем я делаю то, о чем вы пишете.
И не стоит тут кидаться громкими словами, дабы получить плюсеки в карму.
Интсрукция:
Скачиваем и устанавливаем желаемую версию ПО.
Разархивируем файлы в любую папку.
Запускаем файл SDI_x64_R2000.exe или SDI_R2201.exe, в зависимости от битности вашей системы.
Производим сканирование оборудования.
------
Ну поехали почитаем вдумчиво)
1. Ошибка грамматики
2. Сканирование проводится драйверов оборудования (либо они есть либо их нет). И именно их (драйвера) предлагается обновить.
3. «битность системы» не соотнесена с х86 и х64 по названиям файла, приходится догадываться. Ну ок, догадаемся)
4. Запуск от имени администратора точно не нужен такому файлу? И не надо пояснять?
Я вас тоже люблю, но лучше вам поумереть свой третий глаз провидца, ибо вам совершенно не ведамо кто и чем занят.
Не говорите, что мне делать, и не услышите, куда идти, юноша.
Поправьте лучше статейку и да прибудет с вами карма с плюсиками..)
Спасибо, что поправили. Смыслового толка как не было так и нет, но, хотя бы не бьют в глаза иные «сущности»…
Ну ошибочки убрали, уже хорошо..
Теперь надо бы научиться не переходить на личности, но это, видимо следующей «статьей» решится…
«Я вас тоже люблю, но лучше вам поумереть свой третий глаз провидца, ибо вам совершенно не ведамо кто и чем занят.»
А теперь по-русски: поумерить, не ведомо, кто.
Проблема всех подобных поделий — они почему-то думают, что если VID/PID совпали — все, можно накатывать последнюю версию.
Реальность несколько отличается — в результате можно получить совершенно феерические баги или просто неработоспособную систему.
Вообще по-хорошему надо смотреть весь комплекс и учитывать особенности данной конкретной модели (и сочетания компонентов), но это сложно собирать и поддерживать, поэтому… пользоваться подобным никому не советую.
Думаю что все подобные программы и обновление через Винду, для людей далёких от компьютера или ленивых.Это и в правду удобно, быстро.
Большинство и я в том числе, ставят сами с сайта материнской платы и ТД.
Наверное соглашусь с тем что такой софт имеет место быть, просто потому что сейчас на рынке хватает околоноунеймовских устройств под которые винда весьма печально ищет драйвера.
Хотя если у вас устройство уважаемого бренда, то вам, скорей всего, данное ПО не нужно.
Не ставьте это. Проблем потом не оберетесь. Установил драйвер на ТВ Тюнер и работа компа стала невыносимой. Все стало тупить, и неожиданно ни с чего вдруг при только что установленной системе выскочил синий экран. Виновника я вычислил быстро. Как раз вот это ПО и вызвало ошибку. Посмотрел в журнале событий. Но удалить эту хрень стало трудно. Пришлось заходить в безопасный режим с отключением цифровой подписи драйверов. Только тогда я смог вычистить эту хрень. После перезагрузки комп стал работать вполне себе нормально. Драйвер на ТВ Тюнер в итоге я скачал с сайта производителя. Вполне себе нормально установилось и никаких синих экранов нет. Не тратьте время на подобный софт. Лучше для надежности скачайте драйвер с сайта производителя вашего оборудования, если не хотите получить проблем в работе вашего ПК. Автор говорит тут об экономии времени, но про работоспособность вашего ПК он молчит. Не доверяйте всяким сторонним утилитам. Сохраните работу вашего ПК в стабильном состоянии.
SamDrivers -два в одном, DRP и SDI. На некоторых конфигах драйвер бывает либо в одном, либо во втором варианте. Объём конечно больше, но в работе показал себя с наилучшей стороны.
Ну очень двояко про все эти драйвер паки. Ибо на двух ноутах эта прога ставит странные драйвера для тачпада, ибо после их установки тачпад тупо отвалился. Дальше на материнке асус и гигабайте этот драйвер пак пытался прошить микрокод биоса. В итоге асус пришлось поднимать программатором, в на гиге два биоса, так что сама себя восстановила. Дальше всё интересней, берём драйвера для чипсета материнки и эти же драйвера из драйвер пака одной версии. Во первых разница в размере, оф версия весит больше, из пака меньше. Нашёл оф дрова и дрова из пака одной версии и одного размера. Но вот хеш у дров совсем разный, и это странно. Дальше совсем интересно, уже не раз на разных пк этот драйвер пак почему то предлагает обновить видео драйвер. Притом не полностью драйвера на видео, а чисто драйвер видео без всей программной оснастки. И при таком обновлении ломается граф интерфейс дров, постоянный отказ в доступе. И так я могу перечислять до бесконечности все проблемы любых драйверпаков. Этот драйвер пак хорош только тем что там можно найти старые драйвера, для древнего железа, и то автоматической установкой лучше не пользоваться, а вытащить драйвера и установить вручную. А автоматическая установка всех дров разом это вообще зло. Некоторые драйвера требуют перезагрузки после установки. Да некоторым дровам пофиг и можно потом перезагрузить пк, а некоторым нет, и если продолжить что то ещё ставить то дрова ломаются.
Так что пользоваться таким софтом нужно крайне осторожно и с опаской, а лучше взять дрова с оф сайта и поставить, так точно будет понятно что так или не так работает.
У меня тяжёлый случай — старый винт вставил в другую сборку. Винт не мой, что там за винда стоит — не знаю. Можно через флэшку и эту прогу установить новые драйвера и запустить систему?
необходимо правильно установить драйвера, которые после модификации потеряют цифровую подпись.
Чтобы временно отключить проверку цифровой подписи драйверов, проделываем следующее:
обойти проверку подлинности драйвер - создать два .bat файла, к примеру:
ON.bat - в нем прописать bcdedit -set testsigning on
OFF.bat - bcdedit - set testsigning off
каждый раз перед установкой драйвера запускать on.bat от имени администратора, потом перезапуск, установка мод-го драйвера, запуск off.bat от имени админа и снова перезапуск.
не работает с включенным в биосе secureboot.
можно еще пойти другим путем - единожды выключив проверку драйвера, убрать "водяной" знак с помощью специальной утлилиты.
перед модификацией запустить ON.bat от имени администратора, перезагрузить ноутбук
в правом нижнем углу появится надпись "тестовый режим"
1) скачиваем, запускаем драйвер, распаковываем и отменяем установку в момент поиска оборудования.
У меня это PCI\VEN_10DE&DEV_13D7&SUBSYS_05AB1028
Где обозначения имеют вид:
VEN_10DE - производитель nVidia
DEV_13D7 - модель видеокарты GTX 980M
SUBSYS_05AB1028 - шасси Alienware 18
2) далее в папке C:\NVIDIA\DisplayDriver\xxx.xx\Win10_64\International\Display.DriverИщем файл nvdmi.inf, в нем находится интересующий нас ноутбук.
Вот список остальных производителей
nvaci.inf Acer, Gateway
nvami.inf Asus
nvaoi.inf Apple
nvbli.inf HP
nvcti.inf Compal
nvcvi.inf Clevo
nvdmi.inf Dell, Alienware
nvfmi.inf Fujitsu
nvfui.inf Siemens
nvhmi.inf HP
nvloi.inf LG
nvlti.inf lenovo
NVMIi.inf MSI
nvqni.inf NEC
nvszci.inf Sony
nvtdi.inf Toshiba Qosmio
nvtsi.inf Toshiba
Ищем в нем строку с соответствующим SUBSYS:
в данном случае:
PCI\VEN_10DE&DEV_1198&SUBSYS_05AB1028
Заменяем на строку из диспетчера ус-в:
PCI\VEN_10DE&DEV_13D7&SUBSYS_05AB1028
Добрый день.
Недавно в руки попал ноутбук SONY PCG-61412M (VPCCW1S1E/L) с Windows 7 Home Premium х64. Решил поставить на него новый драйвер для видеокарты NVIDIA GeForce GT M330, так как стоял еще старый от производителя за 28/10/2010.
Скачал последний официальный драйвер, но при установке он мне выдал, что поддерживаемых устройств в системе не найдено. Решил проверить через сайт c помощью автоматического определения устройства в системе, в результате получил приглашение перейти на сайт производителя ноутбука.
Анализ
Прочитав несколько статей кто и как решал эту проблему, наткнулся на утилиту nVidia Mobility Modder Tool. Если её натравить на оригинальный драйвер, то она изменит определенные файлы и добавит устройства от производителей ноутбуков. В моем случае она не помогла бы, так как в списке добавляемых видеокарт моей не было.
Далее наткнулся на сайт, который предоставляет уже измененные свежие драйвера NVIDIA для видеокарт производителей ноутбуков. Достаточно указать идентификатор устройства ( DEV ) и идентификатор поставщика подсистемы ( SUBSYS ) и, возможно, появится список подходящих драйверов. Идентификаторы Вашей видеокарты можно посмотреть в Диспетчере устройств (нажать + R, написать devmgmt.msc и нажать ОК).
[На изображении DEV = 1243 и SUBSYS = 85081043 ]
Затем открыть Cвойства [Properties] видеоадаптера и на вкладке Сведения [Details] посмотреть Код экземпляра устройства [Hardware Ids] ). Мне этот сайт не помог.
Редактирование
На этом мои поиски закончились и я решил просмотреть, какие устройства и их идентификаторы указаны в оригинальном драйвере от Nvidia. Скачал и распаковал последний драйвер версии 310.90. После распаковки драйвера перешел в каталог Display.Driver . Там меня интересует файл, в котором должна содержаться запись [NVIDIA_SetA_Devices.NTamd64.6.1] – для ОС Windows 7, определяющая для какой операционной системы, и запись названия устройства "NVIDIA GeForce GT 330M" . В моём случае это был файл nvtd.inf .
В этом файле есть еще разделы [NVIDIA_SetA_Devices.NTamd64.6.0] – для Windows Vista, [NVIDIA_SetA_Devices.NTamd64.6.2] – для Windows 8.
В конце файла есть раздел [Strings] , в этом разделе ищу название своей видеокарты. Я нашел несколько записей:
NVIDIA_DEV.0A29.FD22.1179 = "NVIDIA GeForce GT 330M"
NVIDIA_DEV.0A29.FD30.1179 = "NVIDIA GeForce GT 330M "
В этих записях можно обнаружить идентификаторы DEV и SUBSYS . Пример, 0A29 – это идентификатор устройства, а FD22.1179 – идентификатор поставщика подсистемы (здесь он разделен точкой, в Диспетчере устройств нет). Я выбрал самую первую запись NVIDIA_DEV.0A29.FD22.1179 = "NVIDIA GeForce GT 330M" .
Для моей видеокарты запись должна выглядеть так
NVIDIA_DEV.1243.8508.1043 = "NVIDIA GeForce GT 330M"
Теперь перехожу в раздел [NVIDIA_SetA_Devices.NTamd64.6.1] и запись %NVIDIA_DEV.0A29.FD22.1179% = Section002, PCI\VEN_10DE&DEV_0A29&SUBSYS_FD221179 меняю на свою
%NVIDIA_DEV.1243.8508.1043% = Section002, PCI\VEN_10DE&DEV_1243&SUBSYS_85081043
Можно изменить существующие записи, а можно и добавить новые. После изменений сохранил файл и установил драйвер.
Читайте также: