Sunday, May 20, 2012

Sapphire Radeon HD7750 & Ubuntu

Sapphire Radeon HD7750 PCIe card
The Radeon HD7750 is currently unsupported on Ubuntu (tried on Ubuntu 12.04) at this time. If you're thinking of getting some hardware accelerated action, forget it. If you happen to be running Windows 8 Consumer Preview, forget it. It's that simple.

Plug in a HD7750 and you'll just get dropped to the fallback desktop session with no desktop effects. That's all fine if you prefer no desktop effects. Having no desktop effects can actually make your system feel like it's running faster. The problem is no being able to enable desktop effects also means anything 3D is also out of the question.

Hardware

So let's take a look at the basic specifications. The Radeon HD7750 is a 28nm GPU using AMD's latest Graphics Core Next (GCN)  architecture. It's got 1GB GDDR5 RAM. It's the highest end card that doesn't require those annoying 6-pin/8-pin connectors. It's also the lowest end GCN-based GPU out there at this time.

More details about the card are, of course, available from AMD.

Installing the driver

Desktop without desktop effects
For simple desktop use, this GPU works fine. You just have to stick to the default driver that comes with Ubuntu 12.04 and it just works. Here's the relevant output from glxinfo:

direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x300)
    GL_NV_conditional_render, GL_AMD_draw_buffers_blend,

As you can see above, direct rendering is supposed to be enabled. Too bad it's not enough for Gnome Shell to work. You can install mesa-utils to get glxinfo.

~$ sudo apt-get install mesa-utils

So you want desktop effects? Or, at least hardware acceleration? Head over to System Settings->Additional Drivers and install the fglrx driver.


Choose the one without "post-release updates", install, reboot and lo and behold desktop effects work again.

Desktop has desktop effects after installing fglrx

direct rendering: Yes
OpenGL renderer string: AMD Radeon HD 7700 Series
    GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_conditional_render,

All looks well.

Unfortunately, it doesn't last. I found the desktop would randomly freeze up. You eventually get keyboard control back so you can at least attempt Alt+SysRq+reisub but that doesn't always work. The freezes happen often enough to render your PC practically useless.

For the time being at least, you'll be stuck with just basic hardware support only.

Update #1:

It seems the system freeze could be due to other factors and not just a simple matter of a Catalyst driver bug. In any case, I've since downloaded and installed the latest Catalyst driver direct from AMD and that seems to work just fine.

~$ sudo sh ./amd-driver-installer-12-4-x86.x86_64.run

Also, the watermark in the bottom right corner indicating unsupported hardware is no longer there for the driver downloaded from AMD. It seems the driver that's available from Ubuntu is a little outdated.

If you prefer Ubuntu specific packages to be generated you could give these instructions a go. I just let AMD's driver tool do all the work and there's no apparent ill effects so far. Your mileage may vary.

Update #2:

A recent update caused fglrx to stop working. It'll be handy to know how to run uninstall the proprietary drivers from terminal in case it happens.

~$ sudo sh /usr/share/ati/fglrx-uninstall.sh

Reboot then reinstall fglrx if you still want to stick with the proprietary drivers. It's a good idea to keep the driver installer around for these times.