Showing posts with label tearing. Show all posts
Showing posts with label tearing. Show all posts

Monday, October 20, 2014

nVidia Tearing Fix in Kubuntu 14.04

Finally got around to revisiting this issue. Last time I tried I black screened the system, but with the TTY consoles successfully in operation that isn't so much of a risk.

Seems the following fix from AskUbuntu (thanks Barafu!) solves the problem. The solution is almost identical to the fix I used for 13.04, but adds an extra line to /etc/profile:

export __GL_YIELD="USLEEP" export __GL_THREADED_OPTIMIZATIONS=1

Not sure why I got the black screen, it may have been something unrelated, as this worked perfectly on two differed Kubuntu+nVidia systems.

Sunday, October 20, 2013

AMD GPU on Linux, Revisited

It's been almost a year since I first tried to run an AMD graphics card on Linux. After some success with an AMD A-CPU build a few weeks back, I picked up a 2nd hand HD7770 yesterday to try out and see if things have improved.

There were a number of tests I was interested in doing. I didn't have a convenient dual-monitor setup available, so everything is on a single screen (dual screen was one of my major problems last time, so I might get around to this at some point). The tests were:

  • Dragging a window around, looking for tearing
  • Scrolling in a web browser, looking for tearing again
  • Playing a HD video
  • Playing a game

I installed the card on my old Intel Q6600 system, and ran off the onboard graphics to start with, to get a baseline. I installed a fresh Kubuntu 13.04 as the test platform. These are the results, discussion at the end:

Test 1: Intel i915 (onboard) Graphics
ActionResultComments
Drag windowXNoticeable glitches
Browser scrollXOccasional glitches
Movie:)
GameXUnplayable (took a few minutes and hadn't even made it through the intro to the title screen)

Test 2: Open Source (Radeon) Drivers
ActionResultComments
Drag windowXNoticeable glitches
Browser scrollXOccasional glitches, similar in appearance to the onboard performance
Movie:)
GameXGame ran, going from 20 FPS sometimes down to 5. Some major glitching, and eventually a black screen. Not playable.

Example of the in-game glitching with the open source drivers


Test 3: AMD Catalyst 13.4
ActionResultComments
Drag window:)Looks nice, but need to ensure "Tear Free" option is selected in AMD Control Centre
Browser scroll:)Again, need to ensure "Tear Free" option is selected
Movie:)And again
Game:DVery good results (eventually), no noticeable lag on full-screen.

I intended to use 13.10, but the current version of Catalyst wouldn't install properly, so I dropped back to 13.04.

Installing the driver is still fraught with difficulties. The first couple of attempts failed -- even using the ubuntu libraries with apt-get install fglrx fglrx-amdccle wouldn't work. In the end, the way I got it going was by following the instructions in this askubuntu answer. In particular, I think getting all the dependencies is critical.

The proprietary driver may have an unfair advantage in my tests drag/scroll tests, since I found the "Tear Free" switch. I'm not sure if such an option exists for the open source drivers.

So, I had better luck than last time round, but the installation process is still daunting, and dual-screen support would be good to try out.

Sunday, September 15, 2013

Fixing Tearing with Kubuntu 13.04 and nVidia 304.88

UPDATE 26th May 2014: I tried this same fix on Kubuntu 14.04, and it black-screened the system. I'd also been tinkering with some other stuff at the same time, so haven't tracked it down exactly (or what the new fix might be), but I suspect it is the GL_YIELD change to /etc/profile below. I don't recommend doing it unless you're ready to rollback/recover the original.. UPDATE 20th Oct 2014: Tried a very similar fix on 14.04 and this time it worked, so not sure what was going on here.

After finding a workaround to fix tearing on Mint 15 Cinnamon, I jumped to Kubuntu 13.04 because there were some strange issues with screen recording in Mint, I assume because of the tearing workaround affected some of the internals in the graphics stack that screen capture uses.

Unfortunately, Kubuntu had the same tearing issue that Xubuntu exhibited. The solution again was a workaround, but different:

  • Install KDE 4.11 as per the instructions at this noobslab article:

    sudo add-apt-repository ppa:kubuntu-ppa/backports
    sudo apt-get update
    sudo apt-get dist-upgrade

    (Not sure if this was actually necessary, but it was one of the other things I tried first).
  • In "Desktop Effects -- KDE Control Module" => Advanced tab, set Compositing type to "OpenGL 3.1" and Tearing Prevention (VSync) to "Re-use screen content".
  • Add:

    export __GL_YIELD="USLEEP"

    To /etc/profile as per this KDE forum post. NOTE: But see above regarding this possibly having problems in more recent versions.

That should fix the tearing.

Note on Fullscreen Games

For some reason, the above worked in the general desktop environment, but fullscreen games were still tearing. The fix that worked in that case was to uncheck "Suspend desktop effects for fullscreen windows". Not sure why that made things better, since I would have thought the other way around would work, but that's the change that fixed it.

Things That Didn't Work

For reference, here are the things I tried that didn't work:

  • Turn off compositing with Alt+Shift+F12 (no effect).
  • Install KDE 4.11 (as noted above, this by itself didn't help, but may be necessary for the workaround).
  • Install compiz. The tearing was perhaps a little better, but still not great, and compiz just doesn't look as good as kwin.

And one last resort I would have tried eventually: Re-compiling KDE with this patch.