Skip to content

Instantly share code, notes, and snippets.

@Aissen
Created June 13, 2012 18:20
Show Gist options
  • Save Aissen/2925633 to your computer and use it in GitHub Desktop.
Save Aissen/2925633 to your computer and use it in GitHub Desktop.
Linux users: watch out for last-gen Intel Atom

Linux users: watch out for last-gen Intel Atom

Oops. They did it again.

It hit the market during the last few weeks. Last generation of Intel Atoms: CedarView (D2300, D2500, D2550, D2600, D2700) and Cedar Trail (N2600, N2700, N2800) SoCs integrate a PowerVR GPU from Imagination instead of the usual Intel GPU. If you remember the Poulsbo fiasco, it's the same. More or less.

An unsupported graphic card on Linux distributions, and which can't properly support a basic desktop environnment like Unity or Gnome 3.

To prevent this issue, Intel woke up MeeGo from the dead in last february [to add support for CedarView]((http://www.phoronix.com/scan.php?page=news_item&px=MTA1ODI). And to publish the proprietary Linux driver, in a fairly exotic fashion. This driver is only available in MeeGo repositories. Upstream First? It doesn't seem to be a priority.

Note that this proprietary driver requires adding a 100k+ line patch to the kernel. Available only in the MeeGo source rpm, of course.

Hope ?

Alan Cox, one of the top Linux kernel developers, has been working on modesetting driver for the GMA500 family: he single-handedly added support to turn on the screen and to set it to the right resolution, without an X server. This driver even went out of the kernel staging area recently.

There's also a new Xorg driver: modesetting. This driver is written specifically for the new range of GPUs with kernel modesetting support. But without hardware acceleration.

If you spend your day in a terminal with a tiling window manager, this might not be a big deal for you. Otherwise, you'll miss on quite a few things:

  • Compositing, allowing snappy and smooth window management; it's mandatory with Unity and Gnome Shell.
  • WebGL, allowing a whole new class of webapps and implemented in all modern browsers.
  • Basic video acceleration: wan't to play 1080p videos ? forget it. Want to use Skype ? Not without Xv.
  • want to enjoy great indie games ? Not possible.

My personnal advice is to look at AMD's offering: the Fusion line up is starting to be very well supported in the upstream open source stack(kernel/libdrm/ddx/mesa), as long it's up-to-date.

What's next

Next gen Atom (ValleyView) should have a "classic" Intel GPU from IvyBridge. But they won't be widely available before 2013, so until then, you should be careful.

Intel's Mobile push (with Medfield) will only conceal the issue. Indeed, Intel needs smartphone-capable SoCs, and that means dealing with Imagination. The Lava Xolo X900, or Orange San Diego, already has a PowerVR GPU, like a lot of competing smartphones. It was not by mistake that the FSF made a free PowerVR driver a high priority project. Maybe the Lima or freedreno project will help change things backstage, in the ivory tower of SoC IPs design. It's hard to make predictions.

This article is in CC-by-sa 3.0. You can copy it, modify it as long as you link to this gist or to the original article in french

@pansen
Copy link

pansen commented Jun 14, 2012

@grinder can you please give some more particular hints about the packages? i would really appreciate that. thanks!

@affixalex
Copy link

@pansen Here's a PPA repository courtesy of Sarvatt (you can hunt him down on FreeNode under that nick, he's a super nice guy).

(I stole these instructions from pmcon at http://ubuntuforums.org/showthread.php?t=1953734&page=10)

Add repository in http://ppa.launchpad.net/sarvatt/cedarview/ubuntu/ :
sudo add-apt-repository ppa:sarvatt/cedarview
sudo apt-get install add-apt-key
sudo add-apt-key 0x4c96de60854c4636
sudo apt-get update

Add video=LVDS-1:d to GRUB_CMDLINE_LINUX_DEFAULT variable
sudo vi /etc/default/grub

if you're using PAE kernel, remove it and install generic kernel
sudo apt-get install linux-headers-generic linux-image-generic
sudo apt-get remove linux-headers-generic-pae linux-image-generic-pae

sudo apt-get install cedarview-drm libva-cedarview-vaapi-driver cedarview-graphics-drivers

Change Option "AIGLX" to "Off" because 3D isn't working
sudo vi /usr/share/intel-cdv/X11/xorg.conf.d/61-cdv-pvr.conf

I got the same binaries to work on a Gentoo system, but it requires glibc 2.15 and a specific version of X.org - keep in mind that this is only for the Cedarview chipsets mentioned in the original post, and not for other PowerVR chipsets. Also, I had no problems with 3D acceleration - compiz worked fine for me, but your mileage may vary...

@Aissen
Copy link
Author

Aissen commented Jun 14, 2012

@grinder @pansen : those packages should reach ubuntu precise official repositories very soon, Sarvatt recommended not use his ppa for now.

@anishsheela
Copy link

Any way to make it work on debian ? At least HDMI/VGA output?

@valentt
Copy link

valentt commented Nov 14, 2013

I'm really dissapointed in Intel for using PowerVR junk in their CPUs. Please don't do this to us again.

gma500_gfx driver completely fails on linux (Linux Mint 15, 64bit running kernel 3.11), only blacklisting driver gets desktop without artefacts up and running (using vesa driver).

Check out video showing these ugly artefacts while using gma500_gfx driver - http://youtu.be/mha7fZU1xFg

@vivienkit
Copy link

Hi,
I just fell on this after some research about Linux support on Intel Atom D2550.
I was wondering if things have evolved since then ? I am trying to migrate from WinXPE to Linux (ideally Xubuntu 16.04) on the Nexcom EBC354DL, that has a Atom D2550...
Installation goes well with 32-bit image but I experience some problems to boot : after kernel changes graphic mode to fit the screen, nothing more on the screen, forever...
Any ideas ?
Thanks !

@424778940z
Copy link

also got here by some digging on google for z2760, got an old tablet for linux but find out that intel just not support linux on the gpu z2760 use.

is there any reverse engineering done>?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment