diff --git a/GLUtil.cabal b/GLUtil.cabal
--- a/GLUtil.cabal
+++ b/GLUtil.cabal
@@ -1,5 +1,5 @@
 Name:                GLUtil
-Version:             0.6.2
+Version:             0.6.3
 Synopsis:            Miscellaneous OpenGL utilities.
 License:             BSD3
 License-file:        LICENSE
@@ -20,9 +20,12 @@
                     examples/shaders/hello-gl.frag,
                     examples/shaders/hello-gl.vert
 
-source-repository this
+-- source-repository this
+--   type:     git
+--   tag:      0.6.2
+--   location: http://github.com/acowley/GLUtil.git
+source-repository head
   type:     git
-  tag:      0.6.2
   location: http://github.com/acowley/GLUtil.git
 
 Library
@@ -45,7 +48,7 @@
                        bytestring,
                        array,
                        containers,
-                       linear,
+                       linear >= 1.1.3,
                        JuicyPixels >= 3,
                        OpenGLRaw >= 1.1,
                        OpenGL >= 2.4,
diff --git a/src/Graphics/GLUtil/Camera2D.hs b/src/Graphics/GLUtil/Camera2D.hs
--- a/src/Graphics/GLUtil/Camera2D.hs
+++ b/src/Graphics/GLUtil/Camera2D.hs
@@ -3,7 +3,7 @@
 -- direction.
 module Graphics.GLUtil.Camera2D 
   (-- * Camera movement
-   Camera, track, roll, rollRad,
+   Camera(..), track, roll, rollRad,
    -- * Camera initialization
    camera2D,
    -- * Math
diff --git a/src/Graphics/GLUtil/Camera3D.hs b/src/Graphics/GLUtil/Camera3D.hs
--- a/src/Graphics/GLUtil/Camera3D.hs
+++ b/src/Graphics/GLUtil/Camera3D.hs
@@ -6,7 +6,7 @@
 -- 'projectionMatrix'.
 module Graphics.GLUtil.Camera3D 
   (-- * Camera movement
-   Camera, panRad, pan, tiltRad, tilt, rollRad, roll, dolly,
+   Camera(..), panRad, pan, tiltRad, tilt, rollRad, roll, dolly,
    -- * Camera initialization
    rosCamera, fpsCamera,
    -- * Matrices
diff --git a/src/Graphics/GLUtil/Textures.hs b/src/Graphics/GLUtil/Textures.hs
--- a/src/Graphics/GLUtil/Textures.hs
+++ b/src/Graphics/GLUtil/Textures.hs
@@ -86,6 +86,7 @@
   where loadTex TexMono = case pixelType of
                             GL.UnsignedShort -> loadAux Luminance16 Luminance
                             GL.Float         -> loadAux R32F Red
+                            GL.UnsignedByte  -> loadAux R8 Red
                             _                -> loadAux Luminance' Luminance
                             
         loadTex TexRGB = loadAux RGBA' RGB
diff --git a/src/Graphics/GLUtil/TypeMapping.hs b/src/Graphics/GLUtil/TypeMapping.hs
--- a/src/Graphics/GLUtil/TypeMapping.hs
+++ b/src/Graphics/GLUtil/TypeMapping.hs
@@ -9,7 +9,7 @@
 import Foreign.Storable (Storable)
 import qualified Graphics.Rendering.OpenGL as GL
 import Graphics.Rendering.OpenGL
-import Linear (V2, V3, V4, M22, M33, M44)
+import Linear (V1, V2, V3, V4, M22, M33, M44)
 
 -- | A mapping from Haskell types to values of 'VariableType'. This
 -- defines how Haskell values may be mapped to values that may be
@@ -24,22 +24,27 @@
 instance HasVariableType Word32 where variableType _ = UnsignedInt'
 instance HasVariableType GLuint where variableType _ = UnsignedInt'
 
+instance HasVariableType (V1 GLfloat) where variableType _ = Float'
 instance HasVariableType (V2 GLfloat) where variableType _ = FloatVec2
 instance HasVariableType (V3 GLfloat) where variableType _ = FloatVec3
 instance HasVariableType (V4 GLfloat) where variableType _ = FloatVec4
 
+instance HasVariableType (V1 GLint) where variableType _ = Int'
 instance HasVariableType (V2 GLint) where variableType _ = IntVec2
 instance HasVariableType (V3 GLint) where variableType _ = IntVec3
 instance HasVariableType (V4 GLint) where variableType _ = IntVec4
 
+instance HasVariableType (V1 Int32) where variableType _ = Int'
 instance HasVariableType (V2 Int32) where variableType _ = IntVec2
 instance HasVariableType (V3 Int32) where variableType _ = IntVec3
 instance HasVariableType (V4 Int32) where variableType _ = IntVec4
 
+instance HasVariableType (V1 Word32) where variableType _ = UnsignedInt'
 instance HasVariableType (V2 Word32) where variableType _ = UnsignedIntVec2
 instance HasVariableType (V3 Word32) where variableType _ = UnsignedIntVec3
 instance HasVariableType (V4 Word32) where variableType _ = UnsignedIntVec4
 
+instance HasVariableType (V1 GLuint) where variableType _ = UnsignedInt'
 instance HasVariableType (V2 GLuint) where variableType _ = UnsignedIntVec2
 instance HasVariableType (V3 GLuint) where variableType _ = UnsignedIntVec3
 instance HasVariableType (V4 GLuint) where variableType _ = UnsignedIntVec4
