Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определеить видеокарту, программно 
V
    Опции темы
Rickert
Дата 21.6.2007, 05:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: -2
Всего: 52



Как программно определить видяху, которая у тебя стоит?
Slackware.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
MAKCim
Дата 21.6.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Rickert, 
1. lspci (парсинг)
2. VFS /sys
3. Ручное сканирование шин PCI на нужный class/subclass code  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Rickert
Дата 21.6.2007, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: -2
Всего: 52



MAKCim, я знаю, что ты спец и можешь ответить на многие вопросы, но я только несколько месяцев пересел под никсы и из всего что ты перечислил - мне незнакомо ниодно слово. Пояснишь?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
BlackStar
Дата 21.6.2007, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 13.12.2006

Репутация: 2
Всего: 5



1. lspci - приложение выводящее список PCI устройств (подробнее man lspci)
2. sysfs - файловая ситема ядра находится в каталоге /sys
3. должно быть понятным.
PM MAIL Jabber   Вверх
MAKCim
Дата 21.6.2007, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



1. есть программа lspci, которая выдает информацию обо всех контроллерах, устройствах, подключенных к шине PCI
из нее парсингом можно получить информацию о видеокарте (но сложно)
2. есть виртуальная ФС /sys, которая в иерархическом виде хранит информацию о системе
идешь в /sys/class/pci_bus, оттуда рекурсивно проходишь по всем подкаталогам, если в очередном каталоге есть файл с именем class, то открываешь его и сравниваешь то, что там написано, с class-кодом видеокарты (3 или 4, точно не помню), если совпало - из остальных файлов этого каталога берешь остальную информацию (device_id, vendor_id, irq, ...)
3. пишешь модуль ядра, где вручную сканируешь шины PCI 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Rickert
Дата 21.6.2007, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: -2
Всего: 52



Думаю первый способ подойдёт smile 
Цитата
3. пишешь модуль ядра, где вручную сканируешь шины PCI 

А откуда надо начинать копать? Какие библиотеки / функции?

Это сообщение отредактировал(а) Rickert - 21.6.2007, 09:50


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
MAKCim
Дата 21.6.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



Цитата(Rickert @  21.6.2007,  09:48 Найти цитируемый пост)
А откуда надо начинать копать? Какие библиотеки / функции?

можно без сторонних функций (прямая работа с портами), но тогда будет зависимость от CPU и чипсета
можно использовать функции
pci_conf1_read(), pci_conf1_write()
pci_conf2_read(), pci_conf2_write()
+ немножко сведений о структуре PCI, конфигурационных пространствах, принципах взаимодействия устройств


Это сообщение отредактировал(а) MAKCim - 21.6.2007, 10:01


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Rickert
Дата 21.6.2007, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: -2
Всего: 52



А где описания функций найти? А то в man'е нету.

Добавлено через 1 минуту и 3 секунды
А не, нашёл


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
smalcom
Дата 21.6.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: нет
Всего: 7



Код

#!/bin/bash
dialog --infobox "Определение видеокарты..." 5 40

CARD_STR=`lspci | grep "VGA compatible controller" | cut -f 3 -d ':'`
#checking for nvidia card
TMP_VSTR=`lspci | grep "VGA compatible controller" | cut -f 3 -d ':' | cut -f 2 -d ' '`
if [ "$TMP_VSTR" = "nVidia" ]; then
        dialog --infobox "Найдена видеокарта [$CARD_STR]" 5 40
        cat $DVD_CONF/xorg.nvidia > $SYS_MNT/etc/X11/xorg.conf
#checking for sis card
elif [ "$TMP_VSTR" = "Silicon" ]; then
        dialog --infobox "Найдена видеокарта [$CARD_STR]" 5 40
        cat $DVD_CONF/xorg.sis > $SYS_MNT/etc/X11/xorg.conf
#checking for intel card
elif [ "$TMP_VSTR" = "Intel" ]; then
        dialog --infobox "Найдена видеокарта [$CARD_STR]" 5 40
        cat $DVD_CONF/xorg.intel > $SYS_MNT/etc/X11/xorg.conf
else
        dialog --infobox "Драйвер для видеокарты [$CARD_STR] ненайден, используем VESA-драйвер" 5 40
        cat $DVD_CONF/xorg.vesa > $SYS_MNT/etc/X11/xorg.conf
fi



писяно на bash'е

 smile 

Это сообщение отредактировал(а) smalcom - 21.6.2007, 12:03


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
MAKCim
Дата 21.6.2007, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 84
Всего: 207



smalcom, 
а че, прикольно  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
BlackStar
Дата 21.6.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 13.12.2006

Репутация: 2
Всего: 5



smalcom, почему бэкап xorg.conf не делается? почему ati не определяется?
PM MAIL Jabber   Вверх
smalcom
Дата 21.6.2007, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 494
Регистрация: 16.10.2004
Где: Dnepr

Репутация: нет
Всего: 7



бэкап ниделаицо патамуша эта кусок кода с ливдвд собранного для подъема системы, ати нет ибо сакс и юзеть нех.

ЗЫ. мы неюзаим мамки со встроеными ати картами


--------------------
What DA F...???
PM MAIL WWW Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.