• Arch Linux | Wine + DX9 + Open-Source ATI Drivers + Source Engine
    9 replies, posted
Good people at Facepunch, please help. I'm having a quite tricky situation, let me explain step-by-step. I installed the ATI Open-Source drivers, installed Wine and installed Steam using a win32 wine installation (WINEARCH=win32). Everything worked pretty much out of the box. Tested Half-Life - that worked great at 60 FPS. Later, installed Half-Life 2 - That worked too, using built-in wine DirectX support, but it had some lighting artifacts, so I decided to install native 9.0c DirectX. Last time I tried to do that myself, I failed multiple times, so I decided to Google up a guide on that, what I found was [url]http://howto.landure.fr/gnu-linux/install-directx-9-0c-on-linux-using-wine[/url], and it seemed to explain the topic quite well. I followed up on that and installed mscoree.dll, streamci.dll and gm.dls, then configured wine to use native DirectX libraries with the .reg file provided in the guide, then downloaded the DirectX9.0c setup files, unpacked them and installed. Everything went smoothly. I started up HL2, and was pleased to see that it worked well, with some tiny artifacts occuring. Then, after some switching between dx90 and dx80 modes, I managed to get a steady of 30-60 FPS. I proceeded on to Garry's Mod. After some sex with the launch options, I managed to get it work almost flawlessly, as-in, without crashes. Then I did some multiplayer just to ensure that it would work, and it did. Then I loaded up some shitty map in a style of "rebels vs cps + lots of trees, no optimisation" and did some testing. O, how I was pleased to find out that when rendering all the trees I got around 10-20 FPS, when looking down at the ground (And not rendering trees), I got around 40-50 FPS, and when I disabled static props rendering, I got around 60. That was it. Then I had to quit, and next time I started GMod, to my disappointment, I got graphics of dx80 level and 10-20 FPS on gm_construct, although the current mode seemed to be dx90. Also, if I applied video settings in the in-game menu via the "Ok" button, it would suddenly reset to DirectX 8.1. The same started happening in HL2. I tried to replicate the best performance, but to no avail, no matter what resolution/dxlevel combination I used, it wouldn't be the same performance. Sad face :( As I already said, I'm using Arch Linux, with Awesome as the window manager, running Steam on Wine 1.3.31-1 in WinXP mode, Half-Life 2 / GMod in Win98 mode (to avoid several crashes), using DirectX9.0c from Microsoft. My video card is ATI HD Radeon 5750 (Yes, I know, not the best choice, but I had no idea what Linux is when I bought it), with the Open-Source drivers from the Pacman package xf86-video-ati. I hope someone here had experience with running Source games with Wine with an ATI card, and can help me. - Thanks in advance. Insomnia. EDIT: tl;dr version: I'm searching a working DX9 + Wine + ATI Open-Source drivers configuration with a steady FPS of 30-60, without a lot of graphical artifacts and crashes. Because I figured out it's possible.
Wait. The open source drivers give decent performance now? Wow! I remember ye old Linux 2.6.32 when the window border could be moved but the context couldn't. Maybe I should find some time to install a Wine and 32bit libraries to play some games. [editline]4th November 2011[/editline] Just checked, a recent update makes Braid run not like a slideshow. Wow!
Well, yeah, I was surprised myself when I got that performance on Open-Source drivers, after all the negative feedback about 3D in it. It seems capped to 60 FPS though. It still doesn't like rendering a lot of geometry.
at times like these its easier just to dual boot windows
[QUOTE=Kwaq;33115945]at times like these its easier just to dual boot windows[/QUOTE] Yeah, but the fact that I DID manage to make it work somewhat good won't let me sleep now. EDIT: I'm even more confused now. Half-Life 2 works great with DirectX 9 (I can even set the texture resolution to high and it will still fly), I get a steady of 20-40 FPS when rendering a heap of geometry and 60 when rendering almost none. But in GMod rendering seems to occur twice slower, with the same settings applied. In comparison - In Half-Life 2 on the trainstation plaza I get 20-30 FPS depending on the amount of geometry being rendered. In GMod on the trainstation plaza I barely get 10-15 FPS, and 20-30 FPS when not rendering a lot of geometry. Is Garry a shitcoder or this is some dark magic?
[QUOTE=Insomnia Array;33116014]Yeah, but the fact that I DID manage to make it work somewhat good won't let me sleep now. EDIT: I'm even more confused now. Half-Life 2 works great with DirectX 9 (I can even set the texture resolution to high and it will still fly), I get a steady of 20-40 FPS when rendering a heap of geometry and 60 when rendering almost none. But in GMod rendering seems to occur twice slower, with the same settings applied. In comparison - In Half-Life 2 on the trainstation plaza I get 20-30 FPS depending on the amount of geometry being rendered. In GMod on the trainstation plaza I barely get 10-15 FPS, and 20-30 FPS when not rendering a lot of geometry. Is Garry a shitcoder or this is some dark magic?[/QUOTE] If I am not mistaken, HL2 uses a much older version of the OB engine while G-Mod uses the latest and greatest. This probably has quite a bit to do with it, since HL2 isn't using all the fancy new engine effects.
[QUOTE=Jetsurf;33118664]If I am not mistaken, HL2 uses a much older version of the OB engine while G-Mod uses the latest and greatest. This probably has quite a bit to do with it, since HL2 isn't using all the fancy new engine effects.[/QUOTE] Hm, it might be that. I installed and successfully ran TF2 earlier today, with great results, guess I need to check out Episode 2 and/or Portal 2 as well for certain results.
[QUOTE=Insomnia Array;33115939]Well, yeah, I was surprised myself when I got that performance on Open-Source drivers, after all the negative feedback about 3D in it. It seems capped to 60 FPS though. It still doesn't like rendering a lot of geometry.[/QUOTE] The open source drivers basically use vsync so you won't get over 60fps. Theres a way to turn it off. I think the xorg.conf option is SwapBuffersWait. But leaving it on is fine unless you're curious to see actual performance numbers.
[QUOTE=PvtCupcakes;33121159]The open source drivers basically use vsync so you won't get over 60fps. Theres a way to turn it off. I think the xorg.conf option is SwapBuffersWait. But leaving it on is fine unless you're curious to see actual performance numbers.[/QUOTE] This is very interesting in-fact. I looked up some other driver settings, and ended up with the following. The following file is - /etc/X11/xorg.conf.d/20-radeon.conf Section "Device" Identifier "r" Driver "radeon" Option "DRI" "on" Option "ColorTiling" "on" Option "SwapbuffersWait" "off" - Yes, the capitalization is like that. Option "AccelMethod" "EXA" Option "AGPFastWrite" "on" Option "RenderAccel" "on" EndSection Although disabling vsync didn't remove the FPS cap, the overall settings [b]>seemed<[/b] to increase performance. Well, my Radeon HD 5750 is well capable of that, so why not? I got the desired 60 FPS on both gm_flatgrass and gm_construct (although GMod later crashed because of the steam overlay... ._.). GMod command line options - "-w 1680 -h 1050 -window -dxlevel 90 -console" More testing coming. EDIT: Also, the driver settings caused a slight FPS boost in the menu! Yes, I even had the lag in the menu (The movement of pop-ups was a little choppy) EDITEDIT: Alright, I'm quite satisfacted with the results. Conclusion: ATI isn't so bad for Linux, the Open-Source drivers seemed to have improved greatly, and give good FPS results. The low FPS issue in Source games, I think, is connected with the fact that they use DirectX as the renderer, and if they had an option to run with OpenGL, the FPS would be even greater. If you have a good video card like mine (ATI Radeon HD 5750), it's easier to install the open-source drivers rather than catalyst, as the Open-Source ones are constantly improving, and now they are in quite the condition to be capable of running average 3D games (Don't expect Crysis, though. However, [b]you can try![/b]). All you need to do is to find the proper config for your card (In the above config I posted I mainly enabled the unstable performance improvements, but my card seems to support it quite well.). Now it's all up to Wine to improve the support of DirectX and the like. This way my ATI Radeon HD 5750 card is capable of rendering big amounts of geometry without big (relatively) FPS losses, if you want to compare my results. Map I used to test: gm_mountain_defense_hl2 FPS: 20-30 when rendering lots of geometry (That means having the trees in your FOV, the more, the lower FPS is, turn mat_wireframe 1 on to see how many is actually rendered.) 40-60 FPS when not rendering that much (That means having a lesser amount of trees in your FOV, looking down, up, or just away.) Special thanks to PvtCupcakes for pointing out that I can use driver configs. EDITEDITEDIT: The texture resolution barely effects the FPS, btw (Around 5-10 FPS, in comparison of high and low settings). Well, that's if it barely affected it in Windows.
That's good to hear. It's been a while since I've tested the open source ATI drivers. I think I'll give it another go when I go back home (staying in a dorm with only a laptop) where my gaming PC is later this month.
Sorry, you need to Log In to post a reply to this thread.