Skip to content

Instantly share code, notes, and snippets.

@Aissen
Created Jun 13, 2012
Embed
What would you like to do?
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

@hoskeri
Copy link

hoskeri commented Jun 13, 2012

Fedora 17 added support to provide gnome3 support even with software rendering.

See http://fedoraproject.org/wiki/Features/Gnome_shell_software_rendering

Copy link

ghost commented Jun 13, 2012

Thats nice but gnome3 is slow enough with hardware acceleration. Good luck running it on a tiny netbook with software rendering. I'm sure it'd work, but given the other choices you have with Linux I don't see why any competent user would do such a thing.

@affixalex
Copy link

affixalex commented Jun 13, 2012

I've played around with these Cedarview chips quite a bit - there are packages available for Ubuntu 12.04 which will work on other glibc 2.15 systems, and with these drivers the setup works pretty admirably. Hardware video decoding works, HDMI output works, and you can watch 1080p video with the CPU idling. It's not as terrible as you make it out to be.

I believe that the problem with open source support for this graphics hardware is that it's used in so many high volume, high markup proprietary devices - to wit, the iPhone, the iPad, the new Sony portable gaming unit whose name escapes me, and a huge variety of phones. IMGTEC only sells IP, they don't manufacture the hardware, so it's not like AMD/Nvidia/Intel where you have reference designs - there's enormous fragmentation among the SGX 5 based chipsets on the market today, and all of the big players have no interest in seeing open source as a first class citizen.

To make matters worse, the design of these chips is wildly different than most other available graphics chipsets. To put it simply: I don't believe anyone is going to reverse engineer a workable driver in the useful lifetime of the SGX 5.

@stoddart
Copy link

stoddart commented Jun 14, 2012

A minor correction on the English in this post: you mean "until then" not "since then." You want to express a point in the future (2013 in this case), not a point in the past.

@Aissen
Copy link
Author

Aissen commented Jun 14, 2012

@stoddart : Thanks, fixed.

@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

affixalex commented Jun 14, 2012

@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

anishsheela commented Jun 19, 2013

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

vivienkit commented Jul 20, 2018

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

424778940z commented Aug 20, 2018

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