Драйвера для материнской платы по линукс

Драйвера и утилиты на материнские платы

Привет всем. Вопрос насчет драйверов и утилит для материнок в Linux. В Windows, например, если скачал специальный драйвер/утилиту для материнки с официального сайта производителя, то можно получить целый пакет плюшек-настроек. Попробовать где-то что-то разонать, поставить например дополнительные вентиляторы в корпус и скорость их вращения можно будет регулировать и т.д. и т.п.

Но я не вижу никаких драйверов/утилит для подобных вещей под Линукс на сайте производителя. Нагуглил, что вроде Intel активно сотрудничает с разработчиками ядра Linux, тем не менее в их разделе ПО тоже не увидел специальных дров/утилит.

Вопрос такой: в настоящее время подобные плюшки и правда возможны только на винде, а в Linux-е можно только довольствоваться только «просто работой железа, без особых настроек — свистелок и перделок». Зачем? Как минимум интересно, а также интересует возможность использования nVidia SLI или Ati CrossFire на Linux.

Линуксоидам кривописаные вендорские программки не нужны. Есть поддержка в драйверах ядра, есть userspace утилиты по типу lm-sensors.

Иногда поддержки каких-то фичей нет и приходится страдать и программировать, но ты же за этим поставил себе линукс да?

Ну, в принципе, да. Ясно спасибо!

Я так понял, ядро Linux БУДЕТ видеть необходимые фичи материнки, просто не всегда к ним есть «интерфейс», который в случае чего нужно писать самому, так?

На самом деле, все наоборот. В Linux полно возможностей тюнить железо, и все это в апстриме ядра и унифицировано, в отличие от кривых поделок от производителей железа, которые тебе приходится искать и ставить отдельно. Но проблема(проблема ли?) в том, что управление этими возможностями — из cli, с помощью спец.утилит типа lm_sensors, с помощью sysfs.

Производители железок не упоминают об этом в документации, а писатели обзоров железа редко рассматривают Linux как платформу.

Практика показывает, что lm sensors имеют хреновую поддержку свежих чипов super-io, а вендоры в каждую новую матиринку стремятся обязательно воткнуть что-то новое. Поэтому если твоя материнка достаточно старая, есть вероятность что ты сможешь легко управлять вентиляторами, снимать показания оборотов, температуры и т.п. Если же у тебя что-то новое — облом.

Ещё для любителей такой магии есть make menuconfig и sysctl, а также всякие hdparm и прочие *ctl. Гуй никто не пишет потому, что это не забота end юзера обычно, а кто лезет крутить эти ручки, вполне в состоянии справится с консолью.

Лэнэкс вообще не для конченных юзеров, тут специфичного гуя нет, юзай соснольку, дешево и сердито.

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

И есть вообще ACPI и прочие разные стандарты, чтобы всё это абстрагировать от системы и использовать где хочешь.

Читайте также  Линукс с драйверами ати

Проблема в том, что производители материнок проверяют, что всё работает только на винде, поддержка всего остального — это лишние траты. А полных спек никто не даст, потому что они сами дизайн купили у одних, биос им написали другие, дрова под винду третьи.

Поэтому надо требовать от них поддержку линукса или бойкотировать. А вообще запусти например powertop и увидишь, как немного питание потюнить.

Поэтому надо требовать от них поддержку линукса или бойкотировать.

Всегда умиляюсь с мамкиных борцунов с системой. Бойкотирование — бесполезно, с учетом процента рынка. Они даже не заметят вашего бойкота.

Но проблема(проблема ли?) в том, что управление этими возможностями — из cli

Это не проблема, а фича. Человеку, не осилившему прочитать мануал, не стоит крутить настройки.

Разогнать можно (и нужно) из настроек BIOS.

поставить например дополнительные вентиляторы в корпус и скорость их вращения можно будет регулировать и т.д.

fancontrol или крути руками через /sys/class/hwmon

возможность использования nVidia SLI или Ati CrossFire на Linux

Еще тогда вопрос на тему нескольких видеокарт одновременно: при правильном подключении и настройке задачи будут делиться между видеокартами автоматически? Или это будет работать, только если сама программа поддерживает эту технологию (была написана, используя соответствующий API. Если честно я не видел в OpenGL, чтобы что-то намекало на несколько видеокарт с точки зрения команд)?

Если честно я не видел в OpenGL, чтобы что-то намекало на несколько видеокарт с точки зрения команд)?

Самое простое решение, например: делать рендеринг четных кадров на первой карте, нечётных — на второй.

это будет работать, только если сама программа поддерживает эту технологию

Так а через что обращаться к конкретной из установленных видеокарт?

при правильном подключении и настройке задачи будут делиться между видеокартами автоматически?

Теоретически — да. На деле и для D3D и для OpenGL это не работает без ручной допилки драйверов производителем.

Если честно я не видел в OpenGL, чтобы что-то намекало на несколько видеокарт с точки зрения команд)?

Там и нет ничего такого, реализация SLI/CFX на 100% в юзерспейсном драйвере от производителя. Само приложение может и не знать, что оно рендерится на двух картах вместо одной.

Ну а так у Nvidia и AMD есть расширения для профессиональной графики позволяющие взаимодействовать с более чем одной видеокартой, но они для других целей.

Бойкотирование — бесполезно, с учетом процента рынка. Они даже не заметят вашего бойкота.

Смысл бойкотирования не в том, чтобы «наказать плохих производетелей».

Нет ничего плохого в том, чтобы отдавать деньги только производителям которые лучше поддерживают платформу.

Как минимум интересно, а также интересует возможность использования nVidia SLI или Ati CrossFire на Linux.

Любые dual-GPU на любой платформе это полное говно ибо: 1 — В куче игр оно вообще не поддерживается и не будет. 2 — Может сломаться поддержка при обновлении игры или драйверов. 3 — Во многих играх добавляет неиллюзорный input lag. 4 — Нужен более дорогой БП, правильная материнка. 5 — Охлаждать сложнее, если у тебя не водянка. Ибо с вероятностью 90% одна карта будет выдувать в другую.

Читайте также  Hp 22f монитор как включить 75 герц

Короче это такой нишевый продукт для оверсракеров которым некуда выкинуть бабла. Для всех остальных одна более мощная карта в 3 раза лучше работает, чем две менее мощных.

Насчет графики для игр спорное преимущество — понятно. Меня скорее интересует несколько карт для GPGPU, например для OpenCL.Карты мощны.На одной бы например полностью рендерить, а вторая пусть исключительно обработкой физики занята.

OpenCL мало отношения имеет к OpenGL и умеет много разных карт (даже от разных вендоров) из коробки.

Источник

Добавление драйвера устройства в Linux

Обычно в системах Unix и Linux установка драйверов для новых устройств не вызывает трудностей. Даже для неопытных пользователей этих систем. Но это в том случае, если производители устройства (и/или разработчики драйверов) позаботились об этом. И оснастили пакет драйвера специальными установочными и конфигурационными скриптами. А также протестировали всё это в нескольких системах. Однако бывают случаи, когда «удобной» возможности установить драйвер устройства нет, но есть исходные коды драйвера. В таком случае можно попытаться собрать драйвер самостоятельно. Конечно, это далеко не так просто, нужно поэкспериментировать. Но успешный результат возможен с высокой вероятностью. И главное, что для этого требуется — это знать и понимать общий порядок действий в случае ручной сборки драйвера. С такими задачами часто сталкиваются администраторы систем, обслуживающих технологические процессы на производствах, хостинг-площадки и т. д.

Способы установки драйверов

Для Linux-систем установка драйверов устройств происходит тремя основными способами:

  • установка патча для определённых версий ядра;
  • использование специальных сценариев для установки и конфигурации драйвера;
  • с помощью загружаемого модуля ядра.

Надо признать, что для Linux ручная установка драйверов представляет собой довольно сложную и трудоёмкую работу. Поэтому разработчики стремятся всё чаще обеспечивать автоматическую установку и настройку для своих драйверов/устройств. Ведь они заинтересованы в максимально эффективном распространении своих разработок. По этой причине самым распространённым способом установки драйверов является использование сценариев установки. Для самых популярных типов устройств, например для видеокарт, аудиоустройств и даже для сетевого оборудования в настоящее время трудно найти драйверы без автоматической установки.Установка таких драйверов ничем не отличается от установки обычных пакетов. Вся инструкция описана в файле README, подробнее об установке из исходников читайте здесь.

Но есть оборудование (всевозможные адаптеры, преобразователи интерфейсов) и ситуации, для которых есть только исходные коды драйвера (часто не официальные) и необходимость интеграции его с ядром.

Если в качестве драйвера используются патчи ядра, то установить их (собственно и сам драйвер) можно выполнив следующие команды:

Расположение «каталог_исходных_кодов_ядра» зависит от системы, в CentOS это /usr/lib/modules/ /kernel, Например

В случае с ручной установкой, необходимо для начала интегрировать драйвер некоего устройства (исходные коды) в дерево каталогов исходных кодов ядра.

Читайте также  Клавиатура hp pr1101u инструкция на русском

Ручная установка драйвера

Для примера, пусть требуется добавить в ядро драйвер некоего сетевого устройства netdevice. Драйвер этого устройства нужно (как уже известно) поместить в один из каталогов с исходными кодами ядра. А именно — в каталог drivers, внутри которого может быть следующее содержимое:

Драйверы чаще всего помещаются в подкаталоги scsi, char, block, net, а также sound и usb. Эти подкаталоги отражают схему размещения драйверов в зависимости от их типа: блочные — для дисков IDE, символьные — для последовательных портов например, для сетевых устройств, звуковых плат и USB-устройств — USB-адаптеры, USB-модемы и т. д. Другие подкаталоги служат для размещения драйверов других категорий, в частности для системных и разного рода шин (pci, pcie, nubus, zorro), а также для платформенно-зависимых драйверов — acorn, macintosh.

Таким образом, драйверы для сетевого устройства netdevice следует поместить в следующий каталог:

Исходные коды драйвера представляют собой набор файлов *.c, *.cpp и *.h, которые могут быть объединены в дерево каталогов, в зависимости от того, как составлен проект «исходников» драйвера.

Теперь необходимо включить исходные коды драйвера netdevice в процесс компиляции ядра. Для этого нужно отредактировать следующие файлы:

  • /drivers/net/Makefile – для сборки самого драйвера;
  • /drivers/net/Kconfig – для того, чтобы имя нового устройства было доступно для конфигурирования.

Файлы Makefile и Kconfig содержатся в каждом каталоге дерева каталогов с исходными кодами ядра Linux. Это необходимо для организации универсальной разработки и расширения функционала и возможностей ядра при его сборке из исходных кодов путём независимого дополнения новым кодом. В данном случае кодом драйвера для устройства netdevice.

В файл Makefile следует добавить следующий код:

Таким образом, при сборке ядра в его составе будет собран и сам драйвер netdevice. После дополнения файла Kconfig следующим кодом:

устройство netdevice будет доступно для использования конфигурационным макросом (необходимо на этапе конфигурирования сборки ядра). Здесь команда config использует ключевое слово NETDEVICE_DEV, которое обязательно должно совпадать с фразой, следующей после CONFIG, которое ранее было указано в файле Makefile.

Команда tristate указывает, что драйвер может быть собран как загружаемый модуль, если это поддерживается. Если нет, то вместо tristate следует указать bool – драйвер будет частью ядра. Фраза ‘Netdevice support’ будет отображаться в выводе конфигурационного скрипта на этапе конфигурирования сборки ядра. Это может быть любой текст, идентифицирующий устройство, для которого добавляется драйвер.

Использование нового драйвера

В современных версиях ядра Linux задействование новых драйверов существенно упрощено. В отличие версий, выпущенных раньше 2.6. Тогда это было настоящей головоломкой и требовало знаний в программировании. Но архитектурные изменения в модели драйверов и устройств, пришедшие в версии 2.6 позволяют теперь связывать драйверы с ядром на более высоком «общепользовательском» уровне. Для этого используется специальный конфигурационный макрос MODULE_DEVICE_TABLE. Он создаёт соответствия, которые позволяют утилите modprobe (и ей подобным) задействовать новые драйверы ядра.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Mac OS X Hints
Adblock
detector