diff --git a/.travis-build.sh b/.travis-build.sh
index 8ec2ed70c..22a3a9fd6 100755
--- a/.travis-build.sh
+++ b/.travis-build.sh
@@ -11,8 +11,12 @@ fi
 
 #if OS is linux or is not set
 if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
+    export CC=gcc-4.9
+    export CXX=g++-4.9
+    export PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig:$PKG_CONFIG_PATH
+
     mkdir build && cd build
-    cmake -DUSE_QT5=OFF ..
+    cmake -DCITRA_FORCE_QT4=ON ..
     make -j4
 elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
     export Qt5_DIR=$(brew --prefix)/opt/qt5
diff --git a/.travis-deps.sh b/.travis-deps.sh
index b9561bb66..d10973410 100755
--- a/.travis-deps.sh
+++ b/.travis-deps.sh
@@ -5,24 +5,24 @@ set -x
 
 #if OS is linux or is not set
 if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
-    sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
-    sudo apt-get -qq update
-    sudo apt-get -qq install g++-4.9 xorg-dev libglu1-mesa-dev libxcursor-dev
-    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 90
+    export CC=gcc-4.9
+    export CXX=g++-4.9
+    mkdir -p $HOME/.local
+
+    curl http://www.cmake.org/files/v2.8/cmake-2.8.11-Linux-i386.tar.gz \
+        | tar -xz -C $HOME/.local --strip-components=1
+
     (
-        git clone https://github.com/glfw/glfw.git --branch 3.0.4 --depth 1
+        git clone https://github.com/glfw/glfw.git --branch 3.1.1 --depth 1
         mkdir glfw/build && cd glfw/build
         cmake -DBUILD_SHARED_LIBS=ON \
               -DGLFW_BUILD_EXAMPLES=OFF \
               -DGLFW_BUILD_TESTS=OFF \
+              -DCMAKE_INSTALL_PREFIX=$HOME/.local \
               ..
-        make -j4 && sudo make install
+        make -j4 && make install
     )
 
-    sudo apt-get install lib32stdc++6
-    sudo mkdir -p /usr/local
-    curl http://www.cmake.org/files/v2.8/cmake-2.8.11-Linux-i386.tar.gz \
-        | sudo tar -xz -C /usr/local --strip-components=1
 elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
     brew tap homebrew/versions
     brew install qt5 glfw3 pkgconfig
diff --git a/.travis-upload.sh b/.travis-upload.sh
index 0904b646a..3a15e8f6a 100644
--- a/.travis-upload.sh
+++ b/.travis-upload.sh
@@ -7,7 +7,6 @@ if [ "$TRAVIS_BRANCH" = "master" ]; then
         UPLOAD_DIR="/citra/nightly/linux-amd64"
         mkdir "$REV_NAME"
 
-        sudo apt-get -qq install lftp
         cp build/src/citra/citra "$REV_NAME"
         cp build/src/citra_qt/citra-qt "$REV_NAME"
     elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
diff --git a/.travis.yml b/.travis.yml
index 5c882a574..4d21257bc 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,11 +8,21 @@ env:
   global:
     - secure: "AXHFIafTmbGDsHD3mUVj5a4I397DQjti/WoqAJGUp2PglxTcc04BwxZ9Z+xLuf5N2Hs5r9ojAJLT8OGxJCLBDXzneQTNSqXbFuYSLbqrEAiIRlA9eRIotWCg+wYcO+5e8MKX+cHVKwiIWasUB21AtCdq6msh6Y3pUshZp212VPg="
 
-before_install:
- - sh .travis-deps.sh
+sudo: false
 
-script:
- - sh .travis-build.sh
+addons:
+  apt:
+    sources:
+      - ubuntu-toolchain-r-test
+    packages:
+      - gcc-4.9
+      - g++-4.9
+      - xorg-dev
+      - libglu1-mesa-dev
+      - libxcursor-dev
+      - lib32stdc++6 # For CMake
+      - lftp # To upload builds
 
-after_success:
- - sh .travis-upload.sh
+install: ./.travis-deps.sh
+script: ./.travis-build.sh
+after_success: ./.travis-upload.sh