|
During the last months since I moved to Linux, I've had to use the fglrx / proprietary ATI driver (Radeon HD 6870 card). Mostly because it's the only driver capable of running 3D games well especially Xonotic. Tomorrow my distribution is having an upgrade, and I'm considering giving another try to the open-source Radeon driver, which I heard got some improvements recently. My prediction is that most Linux games I have will work, but Xonotic might still have issues. If anyone else here uses Linux and has an ATI card, I could really use some advice on how to get Xonotic working with the open-source drivers.
This is my experience so far: 6 months ago I tested Xonotic in openSUSE 12.2 (Kernel 3.4) before installing fglrx. The result was that Xonotic starts flawlessly, everything renders correctly, but performance is horrible. FPS was 3 times slower than with fglrx, and I couldn't even play properly.
Are there any DarkPlaces settings that can improve performance for the Radeon driver? Or any way to edit the configuration of the driver itself to make it faster for Xonotic? fglrx is very buggy and also closed-source so I'd really like to get rid of it.
|
|
That's pretty much how things are. As much as there has been some improvement, the open source drivers will normally fall several times short of the commercial drivers. My experience with the Radeon driver is that it does render things correctly (or better than the Windows driver on r300) but performance is not as good as the commercial driver.
There are kernel parameters like ColorTiling=on, EnablePageFlip=on, AccelMethod=XAA and others which can be added to the kernel line in your boot loader and may improve things but it's trial and error. Have a look here as a place to start:
http://free3d.org/
Also try enabling texture compression from the command line:
Code: export force_s3tc_enable=true
This may give corruption in which case you don't want it.
The 6xxx series is the newest properly supported by the Radeon driver so it should be expected that it is not as optimised as some earlier generations of hardware.
I'm at least a reasonably tolerable person to be around - Narcopic
|
|
Lower the resolution and detail setting :-P.
On my card (hd3850) it looks like this: fglrx ~50fps on high@1280x960, floss driver ~30fps on medium@800x600. I consider staying with opensuse 12.2 for a while since there won't be any legacy fglrx on 12.3 :-P.
It's a pity the free drivers suck so much in terms of performance. If they were 25% slower, I wouldn't mind, but the current state is ridiculous.
My contributions to Xonotic: talking in the forum, talking some more, talking a bit in the irc, talking in the forum again, XSkie
|
|
03-13-2013, 04:04 AM
(This post was last modified: 03-13-2013, 04:05 AM by edh.)
(03-13-2013, 02:26 AM)Cyber Killer Wrote: I consider staying with opensuse 12.2 for a while since there won't be any legacy fglrx on 12.3 :-P. There's another ATI problem: they only support cards for about 5 minutes before dropping support. Yes, a couple of generations ago means it might no longer be sold but this doesn't mean no one will want to use it. NVIDIA has recently dropped Geforce 6 and 7 support but these are somewhat older than Radeon HD3xxx cards.
Perhaps another thing to check is that PCI-E 2.0 is being used:
http://www.phoronix.com/scan.php?page=ar...gen2&num=1
There is still very much a case for sticking to NVIDIA for gaming on Linux.
I'm at least a reasonably tolerable person to be around - Narcopic
|
|
I'll be going with AMD for the foreseeable future anyway, because they support making the free drivers. With time the free drivers are going to get better than the proprietary ones. (not to mention AMD cards are both better and cheaper than nVidia cards)
When opensuse 12.2 was out, there wasn't any legacy fglrx for my card, after a few months AMD published one. I think that I'll get the legacy fglrx after a while for 12.3 too. I'm looking into getting a new GPU anyway, my current one is just too old for my needs.
My contributions to Xonotic: talking in the forum, talking some more, talking a bit in the irc, talking in the forum again, XSkie
|
|
(03-13-2013, 04:34 AM)Cyber Killer Wrote: I'll be going with AMD for the foreseeable future anyway, because they support making the free drivers.
That's one way of looking at it. However if they really did support them they'd always have support for new cards on day 1 of release. Radeon HD7xxx 3D acceleration is lacking after over a year. I would argue things another way: AMDs support of OpenGL in their drivers (Windows, Linux, any platform) is so poor that it holds back games using OpenGL and being ported to Linux.
(03-13-2013, 04:34 AM)Cyber Killer Wrote: With time the free drivers are going to get better than the proprietary ones.
Wishful thinking but that won't happen. R300 is the most mature and best supported generation, it has been slowly improving for many years and is now said to be as good as it's going to get yet still falls behind legacy fglrx in most games despite fglrx being so bad.
(03-13-2013, 04:34 AM)Cyber Killer Wrote: not to mention AMD cards are both better and cheaper than nVidia cards
Do I detect a hint of fanboyism? While it depends on your application and varies with time and pricepoint, there are clear occasions where one manufacturer or other surpasses another in a set pricepoint but you simply can't say what you have just said and not come across as biased.
I'm at least a reasonably tolerable person to be around - Narcopic
|
|
I don't use openSUSE, but it seems that you can use flgrx driver after update, if you don't use legacy driver.
Quote:fglrx (Catalyst 13.1) drivers has been refreshed and published for 12.3 with the RC2 build.
During the first few days after the release, and fresh new build will be made with the final version, and first updates.
Quote: If you still have a radeon from hd2xxx to hd4xxx you’re welcomed to use the free radeon. It made progress and could eventually be as efficient as the proprietary drivers.
http://lizards.opensuse.org/tag/fglrx/
|
|
I know can still use fglrx and I already switched back to it Problem is I don't want to. Both because it's closed-source and proprietary, and because it's a lot more buggy than the pre-installed ATI driver (even causing system freezes).
Anyway, I did my distro upgrade yesterday and tested again. I noticed performance got a tiny little bit better with the latest kernel and Radeon driver, but it's still about 3 times slower. Everything renders correctly and works fine otherwise... just very slow.
I tested other Linux games, and it appears they work great with both drivers. Glest, MineTest, Hedgewars (although 2D)... even netRadiant works. Of course none of these use the post-processing effects and shaders Xonotic does. So for the most part, I have to keep using fglrx only for Xonotic at this point... which of course I will if necessary.
I wonder if either DarkPlaces or the Radeon team could do anything in this sense. It's weird that for such a long time the open-source Radeon team isn't able to solve those problems and improve performance in their driver. I hate having to be stuck with fglrx, but I'll probably try to poke the Radeon devs more often and offer Xonotic as a test case.
|
|
(03-13-2013, 05:24 AM)edh Wrote: (03-13-2013, 04:34 AM)Cyber Killer Wrote: With time the free drivers are going to get better than the proprietary ones.
Wishful thinking but that won't happen. R300 is the most mature and best supported generation, it has been slowly improving for many years and is now said to be as good as it's going to get yet still falls behind legacy fglrx in most games despite fglrx being so bad.
I've seen benchmarks that clearly showed that in 2D the free driver surpasses fglrx. It's reasonable to assume that in due time this will also happen for 3D.
(03-13-2013, 05:24 AM)edh Wrote: (03-13-2013, 04:34 AM)Cyber Killer Wrote: not to mention AMD cards are both better and cheaper than nVidia cards
Do I detect a hint of fanboyism? While it depends on your application and varies with time and pricepoint, there are clear occasions where one manufacturer or other surpasses another in a set pricepoint but you simply can't say what you have just said and not come across as biased.
Maybe a slight hint, but I'm quite pragmatic in regards to hardware. I've seen benchmarks that show that for a given price point the AMD cards are currently better than the nVidia ones (aka the price to performance ratio is better for AMD). I'm not looking at the most top class gpu, as those change nearly every month.
My contributions to Xonotic: talking in the forum, talking some more, talking a bit in the irc, talking in the forum again, XSkie
|
|
(03-14-2013, 02:40 AM)Cyber Killer Wrote: I've seen benchmarks that clearly showed that in 2D the free driver surpasses fglrx.
In some 2D benchmarks yes, in others, definitely not. Just because Phoronoix gives a headline to that effect doesn't mean it is conclusively universally faster.
(03-14-2013, 02:40 AM)Cyber Killer Wrote: It's reasonable to assume that in due time this will also happen for 3D. Wishful thinking again but just because some 2D benchmarks are now faster it doesn't mean that 3D will ever become faster than fglrx. They're totally different requirements.
The r300 generation is now 10 years old and is said to be as good as it'll get and definitely the best supported Radeon generation and yet it still can't match fglrx. By a decade old no one is working with this hardware anymore so further development will grind to a halt. Compare that to fglrx which supports everything just as well/badly from day one until support is ended. Now unless you want to use old hardware, fglrx will always be faster.
(03-13-2013, 05:24 AM)edh Wrote: I've seen benchmarks that show that for a given price point the AMD cards are currently better than the nVidia ones (aka the price to performance ratio is better for AMD).
Well I'd disagree there. If you're looking at OpenGL performance (which we inherently are under Linux) then NVIDIA is clearly a better choice and especially when their driver support for Linux is better. This goes back for a long time but ATI never took OpenGL support to be as important as NVIDIA did. 2004 was a clear demonstration of this when the Radeon X series was the card to have for the DirectX 9.0 Half-Life 2 and the Geforce 6 series was the card to have for Doom 3 by a much larger margin.
I'm at least a reasonably tolerable person to be around - Narcopic
|
|
05-02-2013, 08:01 AM
(This post was last modified: 05-02-2013, 08:02 AM by MirceaKitsune.)
I've been having some issues with fglrx, so again I asked myself "When can I switch to the free Radeon driver". The answer of course is "When it will be able to run Xonotic". I rediscussed the subject in several places today, and from what I understand there is good news on the matter.
Part of the issue lies in Mesa, which is where some of the latest OpenGL technologies need to be optimized. Without that, it might be pointless for both Radeon and Nouveau to struggle making things faster. Still, this page shows that gl3 status (which is supposedly where the free drivers are lacking) is almost complete. Other than that, it's said Mesa 10 will fully support gl3 when it's out... next year
But there's another theory, which feels more likely based on my test of Xonotic on the Radeon driver. It's said that the free driver doesn't handle power management yet, and lacks the ability to dynamically change the video card's GPU and VRAM frequencies. For this reason they're left running at the lowest frequency by default, and are basically under-clocked by a high amount.
I might be wrong, but I think this is a more probable explanation for Xonotic running 5 times slower than on fglrx. The Radeon driver doesn't crash Xonotic, it doesn't cause visual corruption or artifacts, all post-processing effects work as intended... the FPS is just constantly lower. While all 3D Linux games with low-end graphics and fewer visuals work perfectly and as fast on both drivers. It's acting as if it's an older graphics card from 10 years ago, not like it lacks support for OpenGL functions... which might be wrong but that's my impression.
I wonder if any ATI + Linux user is willing to test this theory, since I currently can't mess with my video driver. This page explains how to override the default profile and set it to high, supposedly allowing the video card to constantly run at the maximum safe frequency (chapter 2.4, "radeon-KMS power-management"). That's a lot more power-consuming than clocking the GPU only when needed (which is what any sane driver does), but should be safe and we'll know if that's the reason Xonotic is slow on the free driver or it's missing parts in Radeon / Nouveau + Mesa after all. If anyone tries this, I'd like to know what your result is.
|
|
Ok, I changed my mind. Before leaving for a week tomorrow, I temporarily switched back to the Radeon driver and did a few hours of testing today. The result? A partial but shocking success.
The good news: I was able to run Xonotic with maximum details at performance equal to the fglrx driver, under the open-source Radeon driver. Yep... it's true believe it or not The secret was in enabling the 'high' profile, which is turned off by default due to lack of power management. You do this with the following line as root:
Code: echo "high" > /sys/class/drm/card0/device/power_profile
This eliminates the theory that an incomplete implementation of OpenGL hooks was the cause of bad performance. At least on my graphics card (Radeon HD 6870) the Radeon driver can practically run Xonotic with maximum details at perfect performance
But now comes the bad news: Even so, you still can't play Xonotic with high details. Compared to fglrx, Radeon has a major problem; Once too many high-res textures are loaded, performance breaks down to seconds per frame. This is why maps with few textures worked acceptably, but large maps broke all hell lose. This is probably because the Radeon driver runs into trouble when video memory gets filled. Whereas the fglrx driver will swap textures between the ram and vram more gracefully (even if still visible) when there's no more video memory.
Conclusion: Xonotic can work as fast on both drivers with maximum details after all! However, if you cause too much memory to be used (by enabling high-res textures, normal maps, etc) the Radeon driver will break down on you, whereas fglrx keeps going. So it's getting there, but still far for now. If you're the kind that plays with textures off (show surfaces), Xonotic might be fully functional for you on the free driver at the best performance you can get.
Lastly, I also ran Vore Tournament on the Radeon driver. Specifically because it uses the Nexuiz maps and textures which are much lower quality. I'm shocked to say that unlike Xonotic, it runs nearly as fast as on fglrx with maximum details! I could barely tell a difference in performance. Certainly a surprise I didn't expect.
The Radeon people are also telling me that the vram handling issue might get better with Mesa 9.2, and performance improvements were already done in 9.1 (currently I have 9.0). I'll see how it goes once the next versions will be in my distro, but this is surely a wish coming true
|
|
So after all it confirms my view that the free drivers are getting there after all :-).
Thanks for checking this out.
My contributions to Xonotic: talking in the forum, talking some more, talking a bit in the irc, talking in the forum again, XSkie
|
|
(05-07-2013, 03:54 AM)Cyber Killer Wrote: So after all it confirms my view that the free drivers are getting there after all :-).
Thanks for checking this out.
NP, hope it was useful for others too. They totally seem to be, and apparently it's just tweaks that are needed to get them fully working. In my case I shall test again after openSUSE 13.1 will be out, since that's said to have a driver + Mesa version that fixes the remaining problems.
|
|
11-13-2013, 07:14 PM
(This post was last modified: 11-13-2013, 07:14 PM by MirceaKitsune.)
So yesterday I upgraded to openSUSE 13.1, and with this occasion got rid of the problematic proprietary driver. This time it hit the jackpot: Xonotic runs almost perfectly on the free driver! It's still a little slower than fglrx, but performance can certainly rival it.
The GART swapping breakage wasn't fully fixed, but got strongly improved in my version of Mesa (9.2.2) and the Radeon driver (7.2.0). I need to use texture compression and limit texture resolution to 1024 pixels, but with that everything's fine. Solarium was the most problematic map with this driver, but now even it is fully playable with all effects maximized
So I guess this solves the concern of the thread. If anyone else uses Linux, I suggest throwing away your proprietary drivers (unless you know a game strictly relies on them) and trying Xonotic with the latest version of Mesa. Hopefully, proprietary drivers will fully stop being a requirement for Linux gamers in the near future.
|
|
I'm going to upgrade do 13.1 in the coming weeks also, and with no catalyst atm for this release, there isn't any other option (ok there's catalyst beta, but I prefer stable versions) but the free driver. Good thing it's finally really usable! ;-)
My contributions to Xonotic: talking in the forum, talking some more, talking a bit in the irc, talking in the forum again, XSkie
|
|
(11-19-2013, 03:11 AM)Cyber Killer Wrote: I'm going to upgrade do 13.1 in the coming weeks also, and with no catalyst atm for this release, there isn't any other option (ok there's catalyst beta, but I prefer stable versions) but the free driver. Good thing it's finally really usable! ;-)
A word of warning: After you uninstall the proprietary driver, you must manually re-enable KMS in the kernel, otherwise you risk being left with a system that doesn't boot. Once removing fglrx, go to YaST -> System -> /etc/sysconfig Editor -> System -> Kernel -> NO_KMS_IN_INITRD and set it to "no". You might already know this, but just saying since if you restart before fixing that you'll have to fix it from a recovery console.
Anyway, please let me know how Xonotic runs for you once on Mesa. Note that if you have only 1024 MB of vram and plan on using all effects, you'll have to enable compression and use some tricks to avoid too GART swapping. If FPS drops at certain stages, add this to autoexec.cfg:
Code: // Needed to reduce issues with full textures in the free driver (GART swapping)
gl_max_size 1024
gl_texturecompression 1
gl_texturecompression_2d 0
gl_texturecompression_color 1
gl_texturecompression_gloss 1
gl_texturecompression_glow 1
gl_texturecompression_lightcubemaps 1
gl_texturecompression_normal 1
gl_texturecompression_q3bspdeluxemaps 1
gl_texturecompression_q3bsplightmaps 1
gl_texturecompression_reflectmask 1
gl_texturecompression_sky 1
gl_texturecompression_sprites 1
|
|