Две видеокарты

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Две видеокарты

Андрей Кузьмич
Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64 (PCI).

Если использовать каждую по отдельности, то ядро подцепляет их, то есть vga0 at pci1 dev 0 function 0
"NVIDIA GeForce 6600 GT" rev 0xa2 - в первом случае, и vga0 at pci5 dev 1 function 0 "S3 Trio32/64" rev
0x54 - во втором. Значит драйвер для PCI карты есть. Только вот почему когда они обе установлены, PCI
карту ядро не подцепляет? В манах по options, pci, vga, wsdisplay, wscons и ряде других ничего про это
не написано.

#dmesg
OpenBSD 4.6
..
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82G965 Host" rev 0x02
ppb0 at pci0 dev 1 function 0 "Intel 82G965 PCIE" rev 0x02: apic 2 int 16 (irq 11)
pci1 at ppb0 bus 1
vga0 at pci1 dev 0 function 0 "NVIDIA GeForce 6600 GT" rev 0xa2
wsdisplay0 at vga0 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-11 added (80x25, vt100 emulation)
..
"S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
..

Вот кусок конфига ядра:
..
option WSDISPLAY_COMPAT_USL # VT handling
option WSDISPLAY_COMPAT_RAWKBD # provide raw scancodes; needed for X11
option WSDISPLAY_DEFAULTSCREENS=6 # initial number of text consoles
option WSDISPLAY_COMPAT_PCVT # emulate some ioctls; needed for X11

pckbc0 at isa? # PC keyboard controller
pckbd* at pckbc? # PC keyboard
pmsi* at pckbc? # PS/2 "Intelli"mouse for wsmouse
option X86EMU # to POST video cards
vga* at pci?
wsdisplay* at vga?
wskbd* at pckbd? mux 1
wsmouse* at pmsi? mux 0
..

Также пробовал собирать ядро, используя фиксированные значения, то есть так:

vga* at pci? dev 0 function 0
vga* at pci? dev 1 function 0

вот так:

vga0 at pci? dev 0 function 0
vga1 at pci? dev 1 function 0

и даже так:

vga0 at pci1 dev 0 function 0
vga1 at pci5 dev 1 function 0

Все равно пишет not configured.

На другом компьютере с интегрированной видеокартой, и PCI-E (NVIDIA 7300 LE) тоже самое -  
интегрированная карта подцепляется, а PCI-E определяется, но пишет not configured. Может быть OpenBSD не
поддерживает одновременно две видеокарты?
СПАСИБО.


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

Kirill Bychkov-2
On Thu, December 24, 2009 00:07, Андрей Кузьмич wrote:
> Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64
> (PCI).
>
> Если использовать каждую по отдельности, то ядро подцепляет их, то есть vga0
> at pci1 dev 0 function 0
> "NVIDIA GeForce 6600 GT" rev 0xa2 - в первом случае, и vga0 at pci5 dev 1
> function 0 "S3 Trio32/64" rev
> 0x54 - во втором. Значит драйвер для PCI карты есть. Только вот почему когда
> они обе установлены, PCI
А в бивисе у вас нет никаких настроек, которые могут этому препятствовать?

> карту ядро не подцепляет? В манах по options, pci, vga, wsdisplay, wscons и
> ряде других ничего про это
> не написано.
>
> #dmesg
> OpenBSD 4.6
> ..
> pci0 at mainbus0 bus 0: configuration mode 1 (bios)
> pchb0 at pci0 dev 0 function 0 "Intel 82G965 Host" rev 0x02
> ppb0 at pci0 dev 1 function 0 "Intel 82G965 PCIE" rev 0x02: apic 2 int 16 (irq
> 11)
> pci1 at ppb0 bus 1
> vga0 at pci1 dev 0 function 0 "NVIDIA GeForce 6600 GT" rev 0xa2
> wsdisplay0 at vga0 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-11 added (80x25, vt100 emulation)
> ..
> "S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
> ..
>
> Вот кусок конфига ядра:
> ..
> option WSDISPLAY_COMPAT_USL # VT handling
> option WSDISPLAY_COMPAT_RAWKBD # provide raw scancodes; needed for X11
> option WSDISPLAY_DEFAULTSCREENS=6 # initial number of text consoles
> option WSDISPLAY_COMPAT_PCVT # emulate some ioctls; needed for X11
>
> pckbc0 at isa? # PC keyboard controller
> pckbd* at pckbc? # PC keyboard
> pmsi* at pckbc? # PS/2 "Intelli"mouse for wsmouse
> option X86EMU # to POST video cards
> vga* at pci?
> wsdisplay* at vga?
> wskbd* at pckbd? mux 1
> wsmouse* at pmsi? mux 0
> ..
>
> Также пробовал собирать ядро, используя фиксированные значения, то есть так:
>
> vga* at pci? dev 0 function 0
> vga* at pci? dev 1 function 0
>
> вот так:
>
> vga0 at pci? dev 0 function 0
> vga1 at pci? dev 1 function 0
>
> и даже так:
>
> vga0 at pci1 dev 0 function 0
> vga1 at pci5 dev 1 function 0
>
> Все равно пишет not configured.
>
> На другом компьютере с интегрированной видеокартой, и PCI-E (NVIDIA 7300 LE)
> тоже самое -
> интегрированная карта подцепляется, а PCI-E определяется, но пишет not
> configured. Может быть OpenBSD не
> поддерживает одновременно две видеокарты?
> СПАСИБО.
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re[2]: Две видеокарты

Андрей Кузьмич

-----Original Message-----
From: "Kirill Bychkov" <[hidden email]>
To: [hidden email]
Date: Thu, 24 Dec 2009 00:46:01 +0300
Subject: Re: Две видеокарты


> А в бивисе у вас нет никаких настроек, которые могут этому препятствовать?
В bios ничего не препятствует.

> > На другом компьютере с интегрированной видеокартой, и PCI-E (NVIDIA 7300 LE)
> > тоже самое -
> > интегрированная карта подцепляется, а PCI-E определяется, но пишет not
> > configured.
Этот компьютер работает как бездисковая станция, и Linux(Debian) на нем все определяет и подключает. Обе
карты работают. Не меняя настроек в bios, бездисковая станция грузит OpenBSD, находит все оборудование, но
вот только все равно PCI-E видеокарта not configured.


Reply | Threaded
Open this post in threaded view
|

Re: Re[2]: Две видеокарты

Dinar Talypov
On Thu, 24 Dec 2009 12:38:34 +0300
Андрей Кузьмич <[hidden email]> wrote:

>
> -----Original Message-----
> From: "Kirill Bychkov" <[hidden email]>
> To: [hidden email]
> Date: Thu, 24 Dec 2009 00:46:01 +0300
> Subject: Re: Две видеокарты
>
>
> > А в бивисе у вас нет никаких настроек, которые могут этому препятствовать?
> В bios ничего не препятствует.
>
> > > На другом компьютере с интегрированной видеокартой, и PCI-E (NVIDIA 7300 LE)
> > > тоже самое -
> > > интегрированная карта подцепляется, а PCI-E определяется, но пишет not
> > > configured.
> Этот компьютер работает как бездисковая станция, и Linux(Debian) на нем все определяет и подключает. Обе
> карты работают. Не меняя настроек в bios, бездисковая станция грузит OpenBSD, находит все оборудование, но
> вот только все равно PCI-E видеокарта not configured.
>
>
>
возможно его надо прописать в драйвере vga в исходниках

--
Динар Талыпов


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

Mike Belopuhov
In reply to this post by Андрей Кузьмич
On Thu, Dec 24, 2009 at 00:07 +0300, Андрей Кузьмич wrote:

> Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64 (PCI).
>
> Если использовать каждую по отдельности, то ядро подцепляет их, то есть vga0 at pci1 dev 0 function 0
> "NVIDIA GeForce 6600 GT" rev 0xa2 - в первом случае, и vga0 at pci5 dev 1 function 0 "S3 Trio32/64" rev
> 0x54 - во втором. Значит драйвер для PCI карты есть. Только вот почему когда они обе установлены, PCI
> карту ядро не подцепляет? В манах по options, pci, vga, wsdisplay, wscons и ряде других ничего про это
> не написано.
>
> ...
>
> Может быть OpenBSD не
> поддерживает одновременно две видеокарты?
> СПАСИБО.
>
>

может быть.  добавьте в vga_pci_match() printf'ов на каждый return 0.


Reply | Threaded
Open this post in threaded view
|

Re[2]: Две видеокарты

Андрей Кузьмич


> On Thu, Dec 24, 2009 at 00:07 +0300, Андрей Кузьмич wrote:
> > Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64 (PCI).
> >
> > Если использовать каждую по отдельности, то ядро подцепляет их, то есть vga0 at pci1 dev 0 function 0
> > "NVIDIA GeForce 6600 GT" rev 0xa2 - в первом случае, и vga0 at pci5 dev 1 function 0 "S3 Trio32/64" rev
> > 0x54 - во втором. Значит драйвер для PCI карты есть. Только вот почему когда они обе установлены, PCI
> > карту ядро не подцепляет? В манах по options, pci, vga, wsdisplay, wscons и ряде других ничего про это
> > не написано.
> >
> > ...
> >
> > Может быть OpenBSD не
> > поддерживает одновременно две видеокарты?
> > СПАСИБО.
> >
> >
>
> может быть.  добавьте в vga_pci_match() printf'ов на каждый return 0.
>
>
Добавил в /sys/dev/pci/vga_pci.c. Получилось как-то так:

vga_pci_match(struct device *parent, void *match, void *aux)
{
        struct pci_attach_args *pa = aux;

        if (DEVICE_IS_VGA_PCI(pa->pa_class) == 0) {
                printf("vga_pci_match\n");
                return (0);
        }

        /* check whether it is disabled by firmware */
        if ((pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG)
            & (PCI_COMMAND_IO_ENABLE | PCI_COMMAND_MEM_ENABLE))
            != (PCI_COMMAND_IO_ENABLE | PCI_COMMAND_MEM_ENABLE)) {
                printf("vga_pci_match_check_whether_it_is_disabled_by_firmware\n");
                return (0);
        }

        /* If it's the console, we have a winner! */
        if (vga_is_console(pa->pa_iot, WSDISPLAY_TYPE_PCIVGA))
                return (1);

        /*
         * If we might match, make sure that the card actually looks OK.
         */
        if (!vga_common_probe(pa->pa_iot, pa->pa_memt)) {
                printf("vga_pci_match_If_we_might_match\n");
                return (0);
        }

        return (1);
}

В результате dmesg выглядит так:

..
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
vga_pci_match
pchb0 at pci0 dev 0 function 0 "Intel 82G965 Host" rev 0x02
vga_pci_match
ppb0 at pci0 dev 1 function 0 "Intel 82G965 PCIE" rev 0x02: apic 2 int 16 (irq 1
1)
pci1 at ppb0 bus 1
vga0 at pci1 dev 0 function 0 "NVIDIA GeForce 6600 GT" rev 0xa2
wsdisplay0 at vga0 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
vga_pci_match
uhci0 at pci0 dev 26 function 0 "Intel 82801H USB" rev 0x02: apic 2 int 16 (irq
11)
..
vga_pci_match
ppb4 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xf2
pci5 at ppb4 bus 5
vga_pci_match_check_whether_it_is_disabled_by_firmware
"S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
..

Получается какие-то микропрограммы отключены.


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

Alexander Yurchenko-3
On Fri, Dec 25, 2009 at 01:48:33PM +0300, Андрей Кузьмич wrote:
> vga_pci_match_check_whether_it_is_disabled_by_firmware
> "S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
> ..
>
> Получается какие-то микропрограммы отключены.

Шибко умный BIOS отключил эту видюху.

--
Alexander Yurchenko


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

BSW-2
25.12.2009 15:54, Alexander Yurchenko пишет:

> On Fri, Dec 25, 2009 at 01:48:33PM +0300, Андрей Кузьмич wrote:
>    
>> vga_pci_match_check_whether_it_is_disabled_by_firmware
>> "S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
>> ..
>>
>> Получается какие-то микропрограммы отключены.
>>      
> Шибко умный BIOS отключил эту видюху.
>    
А что BIOS думает о способности ОСи к PnP?


Reply | Threaded
Open this post in threaded view
|

Re[2]: Две видеокарты

Андрей Кузьмич
In reply to this post by Alexander Yurchenko-3
>
> Шибко умный BIOS отключил эту видюху.
>
> --
> Alexander Yurchenko
>
>
Как я уже ранее писал, в bios ничего не препятствует. В bios есть такая опция, которая позволяет конфигурировать устройства либо biosом, либо ОС. Ее я и включал, и выключал - результат тот же. Вот загрузил ubuntu.

ubuntu@ubuntu:~$ lspci
00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600 GT] (rev a2)
02:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)
02:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 AHCI Controller (rev 03)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
05:01.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 54)
05:02.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

lspci is a utility for displaying information about PCI buses in the system and devices connected to them.

Из вывода команды видно, что устройства найдены и подключены.

01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600 GT] (rev a2)
05:01.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 54)

А вот вывод dmesg OpenBSD.
vga0 at pci1 dev 0 function 0 "NVIDIA GeForce 6600 GT" rev 0xa2
"S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured

Даже цифры те же:
ubuntu              OpenBSD
01:00.0 (rev a2)    pci1 dev 0 function 0 rev 0xa2
05:01.0 (rev 54)    pci5 dev 1 function 0 rev 0x54

Только вторая карта не подцеплена.

На другом компьютере с интегрированной видеокартой, и PCI-E (NVIDIA 7300 LE) тоже самое - интегрированная карта подцепляется, а PCI-E определяется, но пишет not configured. В bios тоже все разрешено.
Может быть что-то в коде ядра, может быть какая-нибудь опция в конфиге ядра.


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

Igor Zinovik-3
In reply to this post by Андрей Кузьмич
24 декабря 2009 г. 0:07 пользователь Андрей Кузьмич <[hidden email]> написал:
> Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64 (PCI).

Скажите пожалуйста, а для чего это нужно?  Вы делаете видеообработку
на OpenBSD или хотите сделать из них SLI-кластер чтобы игры не
тормозили?
Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

Ilya A. Kovalenko
In reply to this post by Андрей Кузьмич
> Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64 (PCI).
> Если использовать каждую по отдельности, то ядро подцепляет их, то
а OpenBSD разве, в принципе, позволяет использовать две видюхи ?

> ..
> "S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
> ..
"not configured" обычно означает что ни один драйвер не признал
устройство своим и BIOS, как бы, не при чем. Просто нужно апдейтить
(читай - хачить) соответствующий драйвер. А вторая она или третья, по
идее, значения не имеет. Для отчистки совести можете для теста
выдернуть/запретить другую видюху, сомневаюсь что результат изменится.

--
С уважением,
Илья А. Коваленко                     (mailto:[hidden email])
Системный администратор
ЗАО Оганер-Сервис
+7 3919 348-629


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

Dinar Talypov
On Mon, 28 Dec 2009 09:14:52 +0700
"Ilya A. Kovalenko" <[hidden email]> wrote:

> > Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64 (PCI).
> > Если использовать каждую по отдельности, то ядро подцепляет их, то
> а OpenBSD разве, в принципе, позволяет использовать две видюхи ?
>
> > ..
> > "S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
> > ..
> "not configured" обычно означает что ни один драйвер не признал
> устройство своим и BIOS, как бы, не при чем.
по результатам тесат автора вышло:
vga_pci_match_check_whether_it_is_disabled_by_firmware
"S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
скорее всего дело в биосе, хотя как вариант можно попробовать воткнуть другую карту.
Мне думается результат будет таким же.

> Просто нужно апдейтить
> (читай - хачить) соответствующий драйвер. А вторая она или третья, по
> идее, значения не имеет. Для отчистки совести можете для теста
> выдернуть/запретить другую видюху, сомневаюсь что результат изменится.
>

--
Динар Талыпов


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

Mike Belopuhov
On Tue, Dec 29, 2009 at 13:51 +0300, Dinar Talypov wrote:

> On Mon, 28 Dec 2009 09:14:52 +0700
> "Ilya A. Kovalenko" <[hidden email]> wrote:
>
> > > Есть две видеокарты. Одна NVIDIA GeForce 6600 GT (PCI-E), другая S3 Trio32/64 (PCI).
> > > Если использовать каждую по отдельности, то ядро подцепляет их, то
> > а OpenBSD разве, в принципе, позволяет использовать две видюхи ?
> >
> > > ..
> > > "S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
> > > ..
> > "not configured" обычно означает что ни один драйвер не признал
> > устройство своим и BIOS, как бы, не при чем.
> по результатам тесат автора вышло:
> vga_pci_match_check_whether_it_is_disabled_by_firmware
> "S3 Trio32/64" rev 0x54 at pci5 dev 1 function 0 not configured
> скорее всего дело в биосе, хотя как вариант можно попробовать воткнуть другую карту.
> Мне думается результат будет таким же.
>

можно попробовать закомментарить эту проверку, но я не уверен что это
правильно (:

> > Просто нужно апдейтить
> > (читай - хачить) соответствующий драйвер. А вторая она или третья, по
> > идее, значения не имеет. Для отчистки совести можете для теста
> > выдернуть/запретить другую видюху, сомневаюсь что результат изменится.
> >
>
> --
> Динар Талыпов
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Две видеокарты

BSW-2
In reply to this post by Ilya A. Kovalenko
28.12.2009 07:14, Ilya A. Kovalenko пишет:
> а OpenBSD разве, в принципе, позволяет использовать две видюхи ?
$ cat /sys/arch/i386/conf/GENERIC | grep -i ^vga
vga0            at isa?
vga*            at pci?

Т.е. не более одной на ISA и хоть до посинения на PCI.

Но попробовать, к сожалению, не на чем.