diff --git a/Graphics/FreeGame/Backends/GLFW.hs b/Graphics/FreeGame/Backends/GLFW.hs
--- a/Graphics/FreeGame/Backends/GLFW.hs
+++ b/Graphics/FreeGame/Backends/GLFW.hs
@@ -18,13 +18,13 @@
 import Control.Monad.Free.Church
 import Control.Monad.IO.Class
 import Data.IORef
-import Data.StateVar
 import Foreign.ForeignPtr
 import Graphics.FreeGame.Base
 import Graphics.FreeGame.Data.Bitmap
 import Graphics.FreeGame.Internal.Finalizer
 import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility
 import Graphics.UI.GLFW as GLFW
+import Graphics.Rendering.OpenGL.GL.StateVar
 import qualified Data.Array.Repa.Repr.ForeignPtr as RF
 import qualified Data.IntMap as IM
 import qualified Graphics.FreeGame.Input as I
diff --git a/Graphics/FreeGame/Data/Color.hs b/Graphics/FreeGame/Data/Color.hs
--- a/Graphics/FreeGame/Data/Color.hs
+++ b/Graphics/FreeGame/Data/Color.hs
@@ -51,7 +51,7 @@
 lighten f (Color r g b a) = Color (r * (1 - f) + f) (g * (1 - f) + f) (b * (1 - f) + f) a
 
 darken :: Float -> Color -> Color
-darken f (Color r g b a) = Color (r * (1 - f) + f) (g * (1 - f) + f) (b * (1 - f) + f) a
+darken f (Color r g b a) = Color (r * (1 - f)) (g * (1 - f)) (b * (1 - f)) a
 
 -- | An intermediate between the given colors.
 intermediate :: Color -> Color -> Color
diff --git a/free-game.cabal b/free-game.cabal
--- a/free-game.cabal
+++ b/free-game.cabal
@@ -1,5 +1,5 @@
 name:                free-game
-version:             0.3.2.6
+version:             0.3.2.7
 synopsis:            Create graphical applications for free.
 description:         Cross-platform GUI library based on free monads
 homepage:            https://github.com/fumieval/free-game
@@ -46,11 +46,10 @@
     , hashable >= 1.2
     , JuicyPixels-repa >= 0.5.1
     , mtl >= 2.1
-    , OpenGL >= 2.6 && < 3.0
+    , OpenGL == 2.8.*
     , OpenGLRaw >= 1.3
     , random == 1.*
     , repa >= 3.2
-    , StateVar
     , transformers >= 0.3
     , vect >= 0.4.7
     , void >= 0.5
