Узнать, с какого сидюка загружен Linux
Делаю LiveCD. В нём ядро будет грузиться с initrd, на котором находится скрипт для инициализации системы. Надо узнать, с какого сидюка загружено ядро.
Делаю LiveCD. В нём ядро будет грузиться с initrd, на котором находится скрипт для инициализации системы. Надо узнать, с какого сидюка загружено ядро.
Будет ли он работать с CUPS?
У меня ядро 2.6.11. Решил обновиться до 2.6.12.2, накачал кучу патчей. Когда применил патч 2.6.11.1, всё было нормально, а когда применил 2.6.11.2, то сработало не всё. Вопрос: патчи надо накладывать на передыдущую y-версию (2.6.x.y) или на предыдущую x-версию?
Если не понятно, приведу пример, т.к. сформулировать трудно:
Чтобы получить ядро 2.6.11.7, надо накладывать patch-2.6.11.7 на ядро 2.6.11.6 или на 2.6.11? А чтобы получить linux-2.6.12, надо накладывать patch-2.6.12 на ядро 2.6.11.11 или на 2.6.11?
Кто-нибудь пробовал запустить Need For Speed Hot Pursuit 2 под cedega?
Unable to find a sufficient number of fonts available to FreeType.
FreeType will not be loaded as a result.
FreeType could not be loaded.
This is not necessarily a fatal error, however some
applications require FreeType to be installed and
may not function or display text correctly otherwise.
Please consult the Cedega Font FAQ for more details
about this problem
Warning: loading builtin x11drv.dll, but native version already present. Expecttrouble.
wine: Unhandled exception, starting debugger...
И идёт отладка. Что такое?
Хочу реализовать простое API.
Для этого
someAPI_set_func(void (*func)(int i))
{
// здесь надо сохранить func, чтоб потом запускать, но где?
}
Странная вещь: во всех моих проектах на OpenGL FPS периодически падает до 10. Все значения FPS < 20 пишутся в консоль. Посмотрите, у вас такое будет или нет.
Компиляция: gcc file.c -o file -lGL -lGLU -lglut -lX11 -lXmu -lXt -lSM -lICE -lXext -lXi -lm -L/usr/X11R6/include -L/usr/X11R6/lib -O2
#include <GL/glut.h>
#include <sys/time.h>
void resize(int width,int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-5.0,5.0, -5.0,5.0, 0.1,100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt( 0,0,15, 0,0,0, 0,1,0 );
}
int w=400, h=400;
char buf[80];
int frames=0;
struct timeval t1, t2;
struct timezone tz = {0, 0};
void printstring(int x, int y, char *s)
{
glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(0.0, (double)w, 0.0, (double)h, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glColor4ub(255, 255, 255, 100);
glRasterPos2i(x, y);
int i, sl=strlen(s);
for(i = 0; i < sl; i++)
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, s[i]);
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
}
void display(void)
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glColor3f(1.0, 0.0, 0.0);
glutWireSphere(2.0, 10, 10);
frames++;
gettimeofday(&t2, &tz);
printstring(5, 5, buf);
if (frames==10)
{
float seconds = (float)t2.tv_sec + (float)t2.tv_usec*0.000001 - (float)t1.tv_sec - (float)t1.tv_usec*0.000001;
if (seconds < 0) seconds *= -1.0;
sprintf(buf, "FPS: %G", frames/seconds);
if(frames/seconds < 20.0) printf("%G\n", frames/seconds);
gettimeofday(&t1, &tz);
frames = 0;
}
glutSwapBuffers();
}
int main(int argc,char **argv)
{
float position[4] = {3.0, 4.0, 3.0, 1.0};
glutInit(&argc,argv);
glutInitWindowPosition(0, 0);
glutInitWindowSize(500, 500);
glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutIdleFunc(display);
glutReshapeFunc(resize);
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_COLOR_MATERIAL);
glLightfv(GL_LIGHT0, GL_POSITION, position);
gettimeofday(&t1, &tz);
glutMainLoop();
}
Как подвинуть курсор, используя Xlib?
| ← назад |