Radeonsi with si scheduler humiliates Catalyst in all tests

Following my last article I decided to test Axel Davy’s si scheduler and run the very same OpenGL4+ tests with both radeonsi+si scheduler and Catalyst.
The si scheduler is such a huge performance boost! Not only it is faster, but now radeonsi is faster than Catalyst in *all* tests, sometimes by a wide margin!
Catalyst version is the latest and greatest 15.7, while the radeonsi stack is from git (including linux 4.2, xorg-server git and llvm 3.8 git). I also use modesetting instead of xf86-video-ati. Distro is gentoo.

Unfortunately both Bioshock Infinite and Dirt Showdown didn’t work for me with Catalyst, quite ironic considering they both work flawlessly with radeonsi (plus a small patch)!

But now let’s have a look at some simpler foss games. Don’t consider the other cards results because they were made at 4K while my monitor is a simple full hd (1920×1080). Just compare HD 7950 radeonsi vs HD 7950 si scheduler vs HD 7950 catalyst. I asked Michael if it was possible to filter out some results, but he still has to answer me. Eventually I will update the graphs later.

Catalyst got completely humiliated! Radeonsi is so much faster that I will no longer consider Catalyst as a reference for future performance improvements: we aim at the Nvidia performance now!

I would like someone else with the very same card to reproduce my results. If you want to test si scheduler just apply this patch on top of llvm git master and comment out:

//else //(uncomment to turn default for SI)
// return createSIMachineScheduler(C);

To run Bioshock Infinite with mesa you need to apply this patch and to set this evironmental variable:
MESA_EXTENSION_OVERRIDE=GL_ARB_copy_image

Radeonsi vs AMD Catalyst vs NVIDIA proprietary on GL4+ workloads

heaven_windows_tassellation_disabled

heaven_radeonsi_tassellation_disabled

heaven_windows_tassellation_normal

heaven_radeonsi_tassellation_normal

Counter Strike Global Offensive: radeonsi is on par with Catalyst

AMD Radeon HD 7950 using kernel 3.17-rc5-drm-next-3.18-wip + hyperz (R600_DEBUG=hyperz). I’m also using libdrm git, xf86-video-ati git, llvm 3.6 git, mesa git and xorg-server 1.17.0 RC 1. Catalyst version is 14.6 beta2 (kernel 3.14.3, xorg-server 1.15.2).

You can find all the info on my system here: http://openbenchmarking.org/result/1409232-DARK-140923107

wine: vanilla vs CSMT (d3dstream) vs Gallium nine vs Catalyst

How to achieve the best possible performance with wine? I compared vanilla wine using latest radeonsi open source drivers, wine with the CSMT (d3dstream) patchset and wine with the Gallium nine patchset. I also compared the results to latest Catalyst drivers using wine patched with CSMT (d3dstream). Surprisingly radeonsi + gallium nine beats Catalyst + CSMT (d3dstream) in 3DMark2005 and reaches 86% of Catalyst + CSMT (d3dstream) in Tropics!

Soon open source radeonsi drivers with the gallium nine state tracker will be the best available solution to get the most out of wine: users aiming for the best performance should get rid of proprietary blobs if favor of open source drivers.

My card is an AMD HD7950 and I used latest graphic stack from git, including drm-next-3.18. To use gallium nine you will need FOSS drivers with a patched mesa and a patched wine. You can’t use gallium nine with proprietary drivers.

Wine has to translate DirectX => OpenGL => Gallium, which add complications and brings inefficiency. Thanks to the gallium nine state tracker we simply skip the OpenGL translation. More info here: http://ixit.cz/faster-wine-games-with-open-source-drivers-d3d9-aka-gallium-nine/

Both 3DMark2005 and Unigine Tropics runs @2560×1600, here are some screenshots:

3dmark2005_2560x1600

tropics_2560x1600

You can find my wine vanilla, wine CSMT (d3dstream) and wine gallium nine ebuilds in my overlay.

A new linuxsystems overlay: wine-nine

This overlay allows you to build latest git version of mesa and wine with the gallium nine patches. Wine has to translate DirectX => OpenGL => Gallium, which add complications and brings inefficiency. Thanks to the gallium nine state tracker we simply skip the OpenGL translation. More info here: http://ixit.cz/faster-wine-games-with-open-source-drivers-d3d9-aka-gallium-nine/

This patchset is maintained by David Heidelberger (here you can find his work).

You can find my media-libs/mesa-9999 and app-emulation/wine ebuilds with gallium nine patches in the new wine-nine overlay: http://www.linuxsystems.it/overlay/

New ebuild: app-emulation/wine-1.7.24 CSMT (d3dstream)

You can find it in the wine-d3dstream overlay: http://www.linuxsystems.it/overlay/

A new linuxsystems overlay: wine

Latest wine version is currently 1.7.26 while latest version available in gentoo repositories is only 1.7.21.
This overlay allows you to build latest version of wine with pulseaudio, pipelight (compholio) and gstreamer support.

You can find my app-emulation/wine-1.7.26 ebuild in the new wine overlay: http://www.linuxsystems.it/overlay/

raspbian wheezy 20140726 available

I updated my Raspbian Wheezy minimal image, raspbian_wheezy_20130926.img.7z is available here:
http://www.linuxsystems.it/raspbian-wheezy-armhf-raspberry-pi-minimal-image/

– New kernel.
– New firmware.
– Works with Raspberry Pi model B+

raspbian wheezy 20140701 available

I updated my Raspbian Wheezy minimal image, raspbian_wheezy_20130923.img.7z is available here:
http://www.linuxsystems.it/raspbian-wheezy-armhf-raspberry-pi-minimal-image/

– New kernel.
– New firmware.
– rpi-update
– wireless-tools
– wpa_supplicant

radeonsi vs Catalyst 3DMark wine benchmarks

If a big team like CD Projekt RED thinks that using a wrapper layer like eON by Virtual Prgramming is a suitable solution for a AAA game port like The Witcher 2, who am I to ditch wine (which performs even better than eON)? I might even speak about benchmarking a native linux 3DMark version according to CD Projekt RED standards…

Anyway, I wanted to becnhmark something different and in particular to test wine’s D3D command stream patches, so I decided to try the famous 3DMarks: 3D Mark 2001, 3D Mark 2005 and 3DMark 2006. I did not test 3DMark 2003 because of this regression.

I’m using default 3DMark settings and my video card is an AMD Radeon HD 7950. For radeonsi I’m using kernel 3.15-rc5 + PTE patches (VRAM page table entry compression) + hyperz (R600_DEBUG=hyperz). I’m also using libdrm git, xf86-video-ati git, llvm 3.5 git with a rebased Tom Stellard’s si-spill-fixes-v4 branch, mesa git (OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.0-devel (git-57730d6)) and Keith Packard’s xorg-server glamor-server branch (1.16.0 RC 2). Catalyst version is 14.4 (kernel 3.14.3, xorg-server 1.15.1 because of compatibility issues). Wine version is 1.7.18 + Stefan Dösinger’s D3D command stream patches.

3dmark2001

3dmark2005

3dmark2006

What about you? Please share your 3DMark results and tell me which card/driver/wine version you are using.