[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