code: protected void setup() throws SlickException {
  		if (targetDisplayMode == null) {
  			setDisplayMode(640,480,false);
  		}
  
  		Display.setTitle(game.getTitle());
  
  		Log.info("LWJGL Version: "+Sys.getVersion());
  		Log.info("OriginalDisplayMode: "+originalDisplayMode);
  		Log.info("TargetDisplayMode: "+targetDisplayMode);
  		
  		AccessController.doPrivileged(new PrivilegedAction() {
              public Object run() {
          		try {
          			PixelFormat format = new PixelFormat(8,8,stencil ? 8 : 0,samples);
          			
          			tryCreateDisplay(format);
          			supportsMultiSample = true;
          		} catch (Exception e) {
          			Display.destroy();
          			
          			try {
  	        			PixelFormat format = new PixelFormat(8,8,stencil ? 8 : 0);
  	        			
  	        			tryCreateDisplay(format);
  	        			alphaSupport = false;
          			} catch (Exception e2) {
  	        			Display.destroy();
  	        			// if we couldn't get alpha, let us know
  		        		try {
  		        			tryCreateDisplay(new PixelFormat());
  		        		} catch (Exception e3) {
  		        			Log.error(e3);
  		        		}
          			}
          		}
  				
  				return null;
              }});
  		
  		if (!Display.isCreated()) {
  			throw new SlickException("Failed to initialise the LWJGL display");
  		}
  		
  		initSystem();
  		enterOrtho();
  
  		try {
  			getInput().initControllers();
  		} catch (SlickException e) {
  			Log.info("Controllers not available");
  		} catch (Throwable e) {
  			Log.info("Controllers not available");
  		}
  		
  		try {
  			game.init(this);
  		} catch (SlickException e) {
  			Log.error(e);
  			running = false;
  		}
  	}
docs: Setup the environment
  
  @throws SlickException Indicates a failure