Piston refusing to make me a window

I’m trying to make the Rust game engine Piston work on my Ubuntu 14.04 laptop. I have already got it up and running on my desktop and I’ve made Snake there. So I know the basics of how to use the package.

However, on my (somewhat older) laptop, piston refuses to do what it’s supposed to do. Here is my main.rs:

extern crate piston_window; use piston_window::*;  fn main() {     let mut window : PistonWindow = WindowSettings::new(             "Piston-test", (200, 200))         .exit_on_esc(true)         .build()         .unwrap();      while let Some(e) = window.next() {         match e {             Event::Loop(Loop::Render(_)) => {                 window.draw_2d(&e, |_context, graphics| {                     clear([1.0, 0.5, 0.5, 1.0], graphics);                 });             }             _ => {}         }     } } 

and in my Cargo.toml, I have

[dependencies] piston_window = "0.83.0" 

The program compiles fine, but when it runs, the window it’s supposed to create appears for a split second, then disappears again. The error I get is a panic at the unwrap() call, with the message

GL context creation failed

Now, I’ve googled this, and it’s a problem I’m not alone in having. I have tried what I came across. I’ve tried specifying opengl(OpenGL::V3_2) and V2_1 on the WindowSettings, and I’ve tried using glutin_window instead of piston_window (glutin itself, and the example they have on their GitHub seems to run just fine, though).