Comment 212 for bug 1220426

Revision history for this message
Patrick Mertens (pmertens16) wrote :

Ok guys, I've had the same issue for a while now on my Asus K53S running various versions of Ubuntu now.
I've applied the patch to my Elementary OS Freya machine just now, and so far (for ~30 mins) it's working beautifully (Note it has crashed very early for me, often after a few seconds).
I'm writing some more detailed instructions for you, as I had some issues during patching as well, but before you read this I want to clarify that I am by no means
an advanced Linux user. These noob-friendly instructions should work on any Ubuntu 14.04 based distros, but please correct me if there are some unnecessary steps or something is wrong:

0. Prerequisites (I don't think you really need those if you know what you're doing :P)
Make sure you have an Internet connection and about 2GB of free disk space in your home directory.
Install the nvidia-331.38 driver, go into the NVIDIA X Server Settings app and select the Intel GPU under "PRIME Profiles" (enter superuser password and logout/reboot needed afterwards).

1. Enable software sources
Go to your Software Updater, go to Settings and check "Source code" under "Ubuntu Software" and under "Other Software",
check all PPAs suffixed with the "(Source Code)" just to be on the save side. (I assume only the ../yourOS/branch/ubuntu trusty main ones really matter).

2. Downloading the patch
Download or copy the patch text file (https://launchpadlibrarian.net/190259378/0001-os-Fix-timer-race-conditions.patch) into your Downloads folder and name it "nvidia-psmouse.patch".

3. Patching and Installation
For all of these you need a terminal (Ctrl+Alt+T), commands are prefixed with "foldername$ " so you know where you are ;). As usual, close any other programm, blabla.

Switch to the directory where you placed the patch file:
~$ cd ~/Downloads

Run an apt update to be save (takes a few secs):
~/Downloads$ sudo apt-get update

Build the needed dependencies (takes a few minutes, type "Y" to all questions):
~/Downloads$ sudo apt-get build-dep xorg-server

Get the source code of the packages we're going to patch (may take a bit):
~/Downloads$ sudo apt-get source xorg-server

There should now be a new folder inside your Downloads directory, move into it:
~/Downloads$ cd xorg-server-1.15.1

Apply the patch:
~/Downloads/xorg-server-1.15.1$ sudo patch -p1 < ../nvidia-psmouse.patch

Compile the patched source (this takes a looong time and prints loads of stuff, be patient):
~/Downloads/xorg-server-1.15.1$ sudo fakeroot debian/rules binary

Once that has finished, the compiled .deb files are in your Downloads, move into that dir:
~/Downloads/xorg-server-1.15.1$ cd ..

There should now be 11 "*.deb" files in that folder (run ll *.deb to check).
As nielsmayer pointed out we need to install only two: xserver-common_1.15.1 and xserver-xorg-core_1.15.1 (The exakt file names vary depending on your distro! Just type the first few letters and hit the TAB key to get them typing this command):
~/Downloads$ sudo dpkg -i ./xserver-common_1.15.1-0ubuntu2.3_all.deb ./xserver-xorg-core_1.15.1-0ubuntu2.3_amd64.deb

Once that has finished you can reapply your NVIDIA GPU in the X Server Settings, reboot and if all worked well you should have a working graphics and touchpad driver now!

Now a few questions to the devs from myself:
1. Once there is an update for xserver, does the patch stop that/do we still get notified/can we install it?
2. If the update doesn't come with the patch built-in, I assume we need to reapply it?

Oh my god I'm so happy to finally have working drivers xD!