[devel] проблемы с nvidia
Vladislav Zavjalov
slazav at altlinux.org
Wed Oct 7 18:51:53 UTC 2009
Добрый день!
Во-первых наткнулся на то, что некоторые картинки xfig глухо вешают
драйвер nv (экран неподвижен, на мышки и кнопки не реагирует).
Поскольку xfig - это довольно тупой интерфейс к xlib, я довольно быстро
сумел написать маленькую программку, обладающую тем же эффектом (в приложении).
Все виснет при рисовании пунктирных линий с cap_style=CapProjecting
некоторых определенных форм и толщин.
Ядро 2.6.27-std-def-alt11 или 2.6.24-wks-smp-alt2.4 -- неважно.
Что бы с этим поделать?
Во вторых, попытался для быстрого обхода этой ошибки срочно поставить nvidia
(nvidia_glx-последний) - но оно сказало:
nvidia: access /usr/X11R6/lib/nvidia_0/tls_test failed, No such file or
directory
nvidia: access /usr/X11R6/lib/nvidia_0/tls_test_dso.so failed, No such
file or directory
sh: /usr/X11R6/lib/nvidia_0/tls_test: No such file or directory
dlopen: /usr/lib/X11/modules/extensions/libglx.so: cannot open shared
object file: No such file or directory
(EE) Failed to load /usr/lib/X11/modules/extensions/libglx.so
(EE) Failed to load module "glx" (loader failed, 7)
dlopen: /usr/lib/X11/modules/drivers/nvidia_drv.so: cannot open shared
object file: No such file or directory
(EE) Failed to load /usr/lib/X11/modules/drivers/nvidia_drv.so
(EE) Failed to load module "nvidia" (loader failed, 7)
(EE) No drivers available.
Кто тут виноват?
Ушел в vesa смотреть на сплющенных людей... :(
Слава
-------------- next part --------------
#include<X11/Xlib.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{
Display *dpy;
Window rootwin;
Window win;
Colormap cmap;
XEvent e;
int scr;
GC gc;
XGCValues gcv;
unsigned long gcv_mask;
XPoint points[14];
int coords[] = {156, 38, 139, 24, 121, 26, 96, 39, 90, 58,
101, 82, 121, 107, 142, 148, 167, 166, 197, 166,
212, 147, 212, 130, 207, 116, 156, 38};
int i;
int np=sizeof(coords)/sizeof(int)/2;
for (i=0; i<np; i++){
points[i].x = coords[2*i]/4;
points[i].y = coords[2*i+1]/4;
}
gcv.line_width=9;
gcv.line_style=LineOnOffDash;
gcv.cap_style=CapProjecting;
gcv.dashes=15;
gcv_mask=GCLineWidth | GCLineStyle | GCCapStyle | GCDashList;
if(!(dpy=XOpenDisplay(NULL))) {
fprintf(stderr, "ERROR: could not open display\n");
exit(1);
}
scr = DefaultScreen(dpy);
rootwin = RootWindow(dpy, scr);
cmap = DefaultColormap(dpy, scr);
win=XCreateSimpleWindow(dpy, rootwin, 1, 1, 640, 480, 0,
BlackPixel(dpy, scr), BlackPixel(dpy, scr));
gc=XCreateGC(dpy, win, gcv_mask, &gcv);
XSetForeground(dpy, gc, WhitePixel(dpy, scr));
XSelectInput(dpy, win, ExposureMask|ButtonPressMask);
XMapWindow(dpy, win);
while(1) {
XNextEvent(dpy, &e);
if(e.type==Expose && e.xexpose.count<1)
XDrawLines(dpy, win, gc, points, np, CoordModeOrigin);
else if(e.type==ButtonPress) break;
}
XCloseDisplay(dpy);
return 0;
}
More information about the Devel
mailing list