FreeGlut не работает в ghci

#haskell #ghci #freeglut

#haskell #ghci #freeglut

Вопрос:

Я написал небольшую программу, используя «Перенасыщение»

 import Graphics.Rendering.OpenGL 
import Graphics.UI.GLUT
main = do 
  (progname, _) <- getArgsAndInitialize
  createWindow "Hello World"
  mainLoop
  

Программа, скомпилированная GHC, работает нормально (ghc —make t.hs), но когда я пытаюсь запустить программу из ghci, ghci вылетает с сообщением:

 freeglut (<interactive>):  ERROR:  Internal error 
<FBConfig with necessary capabilities not found> in function fgOpenWindow
  X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  4 (X_DestroyWindow)
  Resource id in failed request:  0x0
  Serial number of failed request:  33
  Current serial number in output stream:  36
  

Можно ли запустить программу перенасыщения из ghci?

Комментарии:

1. Здесь ваша программа работает нормально. GLUT-2.2.2.0, GHC 6.12.1, Ubuntu 10.04 (на данный момент на моем старом ноутбуке, поэтому использую несколько устаревшие версии).

2. У меня тоже работает (ghci 7.0.1, GLUT 2.2.2.0, Linux x86-64).

Ответ №1:

По моему опыту, это, по-видимому, связано с использованием драйверов Nvidia в Linux. Мой опыт работы с этой конкретной проблемой ограничен Ubuntu 11.04, в котором я могу исправить эту ошибку, удалив проприетарные драйверы.