| Summary: | libGLwrapper don't filter video4linux devices while search appropriate GLX device | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Alexey V. Novikov <shader> |
| Component: | libGLwrapper | Assignee: | Anton Farygin <rider> |
| Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P2 | CC: | pilot |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
|
Description
Alexey V. Novikov
2003-11-25 10:59:49 MSK
посмотрим. покажите мне пожалуйста xvinfo с этой машины Вот слегка поскипанный:
X-Video Extension version 2.2
screen #0
Adaptor #0: "video4linux"
number of ports: 1
port base: 139
operations supported: PutVideo
supported visuals:
<skip>
number of attributes: 11
<skip>
number of encodings: 9
<skip>
Adaptor #1: "NV17 Video Overlay"
number of ports: 1
port base: 140
operations supported: PutImage
supported visuals:
<skip>
number of attributes: 9
<skip>
maximum XvImage size: 2046 x 2046
Number of image formats: 4
<skip>
Adaptor #2: "NV05 Video Blitter"
number of ports: 32
port base: 141
operations supported: PutImage
supported visuals:
<skip>
no port attributes defined
maximum XvImage size: 2046 x 2046
Number of image formats: 5
<skip>
Adaptor #3: "NVIDIA Video Interface Port"
number of ports: 1
port base: 173
operations supported: PutVideo
supported visuals:
<skip>
number of attributes: 9
<skip>
number of encodings: 2
<skip>
Как я говорил, первым идет tvtuner.
Для себя я решил проблему прикладыванием
небольшого патча (прикладывается после GLwrapper-0.1.8-nv_and_fglrx.patch):
diff -uNr Mesa-5.0.1.orig/GLwrapper-0.1.8/GLwrapper.c Mesa-5.0.1/GLwrapper-0.1.
8/GLwrapper.c
--- Mesa-5.0.1.orig/GLwrapper-0.1.8/GLwrapper.c Sat Nov 29 17:09:46 2003
+++ Mesa-5.0.1/GLwrapper-0.1.8/GLwrapper.c Sat Nov 29 19:11:50 2003
@@ -202,6 +202,7 @@
int ignore;
int version;
struct display_dispatch *d;
+ unsigned int glx_adp_ind, glx_adp_fnd;
/* get overridden libraries filename by environment variable */
@@ -231,18 +232,26 @@
version = VendorRelease(dpy);
if (version >= 4000)
{
- if (ainfo && strstr (ainfo[0].name, "NV"))
- {
- current_lib = xf4_nv_lib;
- alt_current_lib = NULL;
+ glx_adp_ind = 0;
+ glx_adp_fnd = 0;
+ while(!glx_adp_fnd && glx_adp_ind < nadaptors)
+ {
+ if (ainfo && strstr (ainfo[glx_adp_ind].name, "NV"))
+ {
+ current_lib = xf4_nv_lib;
+ alt_current_lib = NULL;
+ glx_adp_fnd = 1;
+ }
+ else if (ainfo && strstr (ainfo[glx_adp_ind].name, "ATI") &&
+ (ainfo[glx_adp_ind].base_id == 61) && !strstr
(ainfo[glx_adp_ind].name, "mach"))
+ {
+ current_lib = xf4_fglrx_lib;
+ alt_current_lib = NULL;
+ glx_adp_fnd = 1;
+ }
+ glx_adp_ind++;
}
- else if (ainfo && strstr (ainfo[0].name, "ATI") &&
- (ainfo[0].base_id == 61) && !strstr (ainfo[0].name, "mach"))
- {
- current_lib = xf4_fglrx_lib;
- alt_current_lib = NULL;
- }
- else
+ if(!glx_adp_fnd)
{
current_lib = xf4_glx_lib;
alt_current_lib = alt_xf4_glx_lib;
Возможно, из-за этого у меня дома рендеринг стал софтовым примерно после установки тюнера. Проверю. Выбросил тюнер, не загружаю v4l в иксах. Рендеринг по-прежнему софтовый, так что v4l в моём случае не при чём. libGLwrapper-5.0.2-alt2, система Alt Linux 2.4 Master DVD Edition все то же самое.:( попрежнему нет 3D при наличии v4l.:( в Sisyphus больше не используется libGLwrapper, эта подсистема переписана. |