GPUs & Beryl: What is Needed?

-from Phoronix

We thought it was already clear what graphics processors and drivers work and don’t work with Linux desktop eye candy such as Beryl and Compiz, but it seems based upon the number of e-mails we have been receiving along with messages in community bulletin boards that the line isn’t so clear after all. For those that have never tried out Beryl, it is a compositing window manager branched from Compiz (though Beryl will merge back with Compiz soon) that provides a variety of window decorations and other desktop “eye candy” for X.Org users. In this article we hope to make it clear for you what GPUs will make your Linux desktop look the most pleasurable and what ones just sweat thinking about these desktop effects. We have taken eight different systems, benchmarked them using the Beryl Benchmark, and have our thoughts on these ATI/AMD, Intel, and NVIDIA solutions with Beryl v0.2.

For the ATI graphics processors in this article we will be testing the R200, R300, and R400 series with comments on Beryl for the R500/R600 generation processors. On the NVIDIA side we will be testing the GeFore FX, 6, and 8 series. Finally, we will also be testing the Intel GMA 3000 IGP.

ATI Radeon 9200 (R200)

The GPUs with the best open-source display driver and support for AIGLX the longest is the ATI Radeon R200 series, which consist of GPUs from the Radeon 8500 to the Radeon 9250. While these cards have had the longest support their performance is far from the best. Some parts of Beryl, such as the water plug-in, cannot even function due to the lack of the GL_ARB_fragment_program extension. The R200 system we had tested Beryl on had used an ATI Radeon 9250 AGP graphics card with 128MB of video memory (running at 1280×1024), 1GB of system memory, and a Pentium 4 2.8GHz “C” processor while running Ubuntu 7.04 Feisty Fawn.

Beryl Benchmark is not an incredibly accurate benchmark, but it does serve to show how well Beryl can run on a particular setup. Beryl Benchmark is simply a plug-in that will show a pop-up window that displays the frame rate in frames per second (FPS). Also, keep in mind that with each of these different systems we had used more than just a different graphics card so there are many more variables at play. Our Radeon 9250 system with Beryl v0.2 was averaging 16 to 20 frames per second while the desktop was idling with the Beryl window manager being active and no other desktop effects. However, when it came to dragging around wobbly windows and other subtle effects, the frame rate was consistently less than 5 FPS. For the very basic desktop eye candy an R200 graphics card with the open-source X.Org Radeon driver will work, but anything beyond that will lag your desktop experience.


ATI Radeon X300 (R300)

The open-source support for the R300 series had to be reverse engineered (for more information see ATI Has Open-Source Drivers Too) and as a result there remains much room for improvement with this driver, but their performance overall is much higher. In this test we had used an ATI Mobility Radeon X300 64MB (running at 1400×1050) with an Intel Pentium M 750 (1.86GHz) and 2GB of DDR2-533 memory running Fedora 7 Test 4 and the X.Org 7.2 Radeon driver.

In this environment while idling on the desktop Beryl Benchmark was reporting 60~65 FPS, but once we started utilizing the Beryl water effects and other eye candy the frame-rate had dropped to 15~20 FPS. At this rate, the desktop wasn’t lagging nearly as bad as the Radeon 9250, but there is of course much room for improvement. AMD/ATI Radeon graphics cards that are from the R300 series or newer are generally able to cope with Beryl on the desktop without any serious issues.


ATI Radeon X800XL (R400)

While the R400 series is just an extension of the R300 class these faster GPUs offer a much more pleasing experience with desktop eye candy. Using an ATI Radeon X800XL 256MB (resolution at 1680×1050), which is one of the fastest graphics cards right now with open-source X.Org drivers, it had performed extremely well. The desktop while idling and during basic desktop usage was always over 200 FPS and the lowest that the frame-rate had ever dropped during heavy usage was to about 25 FPS. Other system components had included dual Intel Xeon Clovertown quad-core processors and 4GB of RAM with Ubuntu 7.04 Feisty Fawn.


ATI Radeon X1000/X2000

With the ATI Radeon X1000 (R500) and ATI Radeon HD 2000 (R600) series this is where the curve ball comes. There is no support. While the R500 series is being reverse engineered, the only option right now for Linux desktop users running these current-generation graphics cards is to use the AMD Linux Catalyst “fglrx” display driver. The problem with the fglrx driver is that it doesn’t support AIGLX and namely the GLX_EXT_texture_from_pixmap extension. Without this support you cannot run Beryl or Compiz directly. You can run XGL and then run Beryl or Compiz, but that is not a path we endorse. Fortunately, the needed support will come. The fglrx support for AIGLX will also allow R300 and R400 owners to have an improved desktop experience through faster acceleration using this driver. When this support does finally come you can expect a very fluid desktop experience with Beryl or Compiz using the R300/400/500/600 graphics cards. When will this support arrive? Well, stay tuned to Phoronix to find out when these Linux users can finally rejoice.

Intel GMA 3000 (Q965)

While there are only open-source drivers right now for Radeon graphics cards up to the R400 series, Intel’s open-source drivers cover all of their integrated graphics processors and eventually their discrete graphics cards (once they are launched). The Intel IGP we had used for these Beryl tests was the GMA 3000 (@ 1280×1024) with the Intel Q965 Chipset. Along with the Q965 motherboard were an Intel Pentium D processor and 2GB of RAM running Ubuntu 7.04 Feisty Fawn.

When the desktop was idling and not seeing much action, Beryl Benchmark was hovering around 130 FPS. When we had started implementing some of the different intensive desktop effects the frame-rate would jump between 20 and 55 FPS. With the Intel X.Org driver and Beryl in our particular setup we ran into a bug where the windows would be disappear or lose control. Intel IGPs that are with the 9XX series Chipsets should have what it takes to handle Beryl quite well on the desktop. Other GMA 3000 benchmarks from Phoronix can be found here.

NVIDIA GeForce FX5200

When it comes to NVIDIA and Linux all the talk recently has been about the Nouveau 3D open-source driver for NVIDIA graphics cards. While things are progressing very well for this FreeDesktop project and it should get especially interesting later in the year, right now the open-source NVIDIA driver is not at the stage to support Beryl/Compiz as they are still working on the core 3D functionality. However, the official NVIDIA binary drivers already support the GLX_EXT_texture_from_pixmap extension. This support was added in the NVIDIA 1.0-9XXX series.

Our first Beryl test was done with a PCI based GeForce FX5200 graphics card with 128MB of video memory (running @ 1280×1024). Other system components included dual Xeon LV “Sossaman” dual-core processors and 1GB of ECC Registered DDR2 system memory. With this hardware the FX5200 would idle with Beryl at around 70 FPS. However, once we started glamorizing the desktop with various effects the frame-rate had quickly dropped. While a bit better than the Radeon 9200, the frame-rate during desktop activity was generally between 4 and 10 FPS.


NVIDIA GeForce 6600GT

Moving up to a GeForce 6600GT the experience was much more appealing. In this system we had used a PCI Express GeForce 6600GT with 1GB of RAM and an AMD Sempron 3400+ processor running once again Ubuntu 7.04 Feisty Fawn at 1280 x 1024. With minimal desktop effects the system would idle about 75 frames per second and even when we had begin utilizing the demanding water effects we had seen the frame-rate spike at just over 70 FPS. The lowest we had seen the frame-rate go with Beryl 0.2 and the 6600GT was about 30 FPS. Graphics cards in the GeForce 6 series or newer is where Beryl begins to shine on NVIDIA hardware.


NVIDIA GeForce 8500GT

Finally onto our last test system for this article we had used a NVIDIA GeForce 8500GT 256MB graphics card with dual Intel Quad-Core Xeon processors and 4GB of system memory and a 22″ display running at 1680×1050 with Fedora 7 Test 4. Starting out with this new PCI Express graphics card the frame-rate was consistently above 250 FPS and briefly had topped over 300 FPS. With the different desktop effects, Beryl Benchmark had reported the frame-rate at about 80 FPS with a majority of the different effects and Beryl options we had used. The desktop eye candy on this system was extremely pleasing even at this higher resolution.


So What’s Needed?

In this article we only went through eight different systems and graphics cards, but we have used Beryl and Compiz on dozens of hardware configurations at Phoronix. While a Radeon R200 will work for some of the basic effects, to really enjoy Beryl on ATI hardware you will need an R300 or R400 generation graphics card. To much dismay, R500 owners or anyone else using the fglrx driver is stuck without support. XGL can be used, but we would recommend steering away from it when possible. The much-awaited support for AIGLX in the fglrx driver is still not here but by year’s end we should hopefully be able to share a much brighter story.

Intel’s IGPs are certainly not the fastest but using a GMA 3000 or newer GPU should be able to provide a clean and fluid Beryl/Compiz experience. On NVIDIA hardware using the 1.0-9XXX or 100.xx.xx series driver, a GeForce 6 series graphics card or newer should be able to efficiently handle Beryl/Compiz.

These GPU recommendations are not only based upon the different systems mentioned in this article but from all the different hardware systems we have tested up to this point. You can share your experiences with Linux desktop eye candy in this Phoronix Forums thread. When the time comes we will have an article dedicated to ATI/AMD graphics cards with the fglrx driver using Beryl and Compiz.

4 Comments

  1. Я смотрю вас здесь уже заспамили

  2. Howdy! I simply would like to give an enormous thumbs up
    for the nice information you have got right here on this post.
    I can be coming back to your weblog for extra soon.

  3. Can I simply say what a relief to uncover an individual who genuinely understands wht they’re talking about over tthe internet.
    You actually knw how to bring a problem to light and make it important.
    More and more people must check this ouut and understand this side of your story.
    I can’t believe you are not more popular since you certainly
    ppossess the gift.


Comments RSS TrackBack Identifier URI

Leave a comment