c++ - Nouveau 内核在 Allegro5-C++ 上拒绝了 Pushbuf

标签 c++ kernel nvidia allegro

我遇到了麻烦: 我已经在 Ubuntu 上安装了 Allegro5,并编译了我的 Helloworld 项目

#include <allegro5\allegro.h> #include <allegro5\allegro_native_dialog.h> int main(void) {
  ALLEGRO_DISPLAY *display=NULL;
  if(!al_init()) {
    al_show_native_message_box(NULL, NULL, NULL, "failed to initialize allegro!", NULL, NULL);
    return -1;
  }
  display=al_create_display(640,
  480);
  if(!display) {
    al_show_native_message_box(NULL, NULL, NULL, "failed to initialize display!", NULL, NULL);
    return -1;
  }
  al_destroy_display(display);
  return 0;
}

使用“g++ -Wall TestProgram.cc pkg-config --libs allegro-5.0 allegro_font-5.0 allegro_ttf-5.0 ”。 在终端上运行它,它给我这个错误(或崩溃?)消息:

nac@NAC:~$ ./a.out 
nouveau: kernel rejected pushbuf: Bad file descriptor
nouveau: ch0: krec 0 pushes 1 bufs 1 relocs 0
nouveau: ch0: buf 00000000 00000002 00000004 00000004 00000000
nouveau: ch0: psh 00000000 00000004a8 00000004bc
nouveau:    0x00107b00
nouveau:    0x00000000
nouveau:    0x20217000
nouveau:    0x00000003
nouveau:    0x1000f010

经过一些测试,我发现它在“al_destroy_display(display);”上或之后崩溃,事实上,在该错误之后我必须按 ctrl+C 来结束程序。

我该怎么办?

最佳答案

这个问题已经有几个月了,但在搜索此错误时它是第一个出现的问题。我在使用 Allegro 5.0.10 运行 LinuxMint 17.2 时遇到了同样的错误,并通过更新我的显卡 (GeForce GTX 460) 驱动程序解决了该问题。希望这对 future 的用户有所帮助。

关于c++ - Nouveau 内核在 Allegro5-C++ 上拒绝了 Pushbuf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30262323/

相关文章:

c++ - wxWidgets:定期重绘 wxFrame 中的图像

c - 操作系统是用什么C写的?

haskell - OS X 10.9.5 上的 nvcc + c2hs

c - 从 cudaBindTexture2D 读取

C++ 继承具有多个参数的构造函数 [作业]

c++ - 如何打印方阵的右半球

linux - wait_event_interruptible 代码

linux - 动态注册 IOCTL

linux - OpenCL 不显示 Nvidia GPU

c++ - 什么是对图进行排序的有效方法?