Application Details:
Version: | Steam release |
License: | Retail |
URL: | http://www.rage.com/ |
Votes: | 0 |
Latest Rating: | Platinum |
Latest Wine Version Tested: | 2.15-staging |
Maintainers: About Maintainership
What works
The game is fully supported.
What does not
Workarounds
What was not tested
There wasn't anything i could find which didn't work.
Hardware tested
Graphics:
Additional Comments
Hardware:
R7 1700x
Asus PRIME B350-PLUS
Ram G.Skill F4-3600C17D-32GTZR
GTX 1060 6GB
Operating system | Test date | Wine version | Installs? | Runs? | Used Workaround? | Rating | Submitter | ||
Current | FreeBSD 11.1 amd64 | Sep 28 2017 | 2.15-staging | Yes | Yes | No | Platinum | SF | |
Show | Ubuntu 16.04 "Xenial" amd64 (+ variants like Kubuntu) | Sep 14 2016 | 1.9.18 | Yes | Yes | Garbage | Kari Saaranen | ||
Show | Debian GNU/Linux 8.x "Jessie" x86_64 | Mar 06 2016 | 1.9.1 | Yes | Yes | Platinum | Roman Hargrave | ||
Show | Arch Linux x86_64 | Jul 24 2013 | 1.6 | Yes | Yes | Platinum | Artur h0m3 | ||
Show | Slackware64 14.0 | Jan 05 2013 | 1.5.21 | Yes | Yes | Gold | an anonymous user |
Bug # | Description | Status | Resolution | Other apps affected |
Game requires XAudio2 engine version 2.7 which is a part of Microsoft DirectX June 2010 redistributable. In case you had downloaded and launch the game in a "usual" way using Steam client in a clean Wine prefix it should automatically install DirectX runtime for you. In an unfortunate case it had failed for some reason you should use fresh version of winetricks to install xact_jun2010. Be careful not to confuse it with xact, which would install older version (2.6) of XAudio2 engine from February 2010 DirectX redist that is too old and won't fit for this game.
It had also been reported that for some people it was required to set sound into "Emulation" mode in winecfg preferences. This setting is not available (and most likely is not required) in Wine versions 1.3.29+. In case you use older Wine version and experience sound problems your best bet would be to upgrade to a more recent Wine version. If you've got some strong reasons not to proceed with Wine version upgrade then you might give "Emulation" mode a try. YMMV.
It had been reported that sometimes Rage starts up OK but fails to produce any sound output for uncertain reasons. Chances are that you have your Wine prefix configured to emulate WinXP and you've got stale DirectSound registry entries which causes trouble for an unknown reasons. Try running Rage with a fresh and clean Wine prefix and check if it helps. You may also try to delete all HKLU/Software/Wine/DirectSound key and its subkeys from registry, in my case it helped to fix the problem and get Rage working correctly under old and polluted Wine prefix. Switching prefix to emulate Windows 7 or Vista is another possible workaround for this problem.
RAGE is based on idTech5 engine which uses "Virtual Texture" (a.k.a. "megatexture") technology to texture the game world. This technology is very computation intensive and is extremely hungry to the CPU power, to GPU power (in case you use Cuda-accelerated VT transcode) and to the overall throughput of the disk subsystem. The engine is designed in a such way so it should be tweaked to run most effectively using all available CPU cores your system is equipped with. There's built-in CPU core count detector that is supposed to automatically tweak the engine but it fails to properly do its job due to limitation imposed by Wine (as of Wine 1.5.2). Problem is that the game uses a technique to determine CPU cores count which isn't properly implemented in Wine resulting the game to assume that the system is a single CPU single core box.
To manually tweak the engine you should set the value of two game cvars, namely "vt_maxPPF" and "jobs_numThreads". First one determines how much texture pieces should be decoded per displayed frame in the worst case, second one tells the game to use that much threads simultaneously to do its tasks.
Correct value for "jobs_numThreads" depends on the amount of cores your CPU has. Quad core CPU owners should use 3 or 4, dual core CPUs would work better with 1 or 2. In case your CPU is Hyper-Threaded you'd better set this cvar to the number of physical cores your CPU has (i.e. for 4 cores/8 HT execution threads CPU best value would be 4). At some rare cases (useful for dual core CPU + AMD GPU) it might be better not to use separate job thread at all due to limitations imposed by GPU driver. For latter case you should set jobs_numThreads to 0 to completely turn off usage of job threads.
Best place to set "jobs_numThreads" is in Steam Game Launch Options (details on how to do it). Add something like "+jobs_numThreads
With Rage path 1.2 (released on the 2th of Feb, 2012) it became possible to benchmark the speed of the texture transcode operation. Unless you had compiled and installed the wine-cuda DLL wrapper for your system the speed of this operation is mostly determined by the speed of your CPU and the amount of threads the game is instructed to use through "jobs_numThreads" variable. Don't be fooled by the number this benchmark presents to you - having best texture transcoding performance is not the same as having smooth gaming experience with consistent FPS. If you want to maximize the transcoding performance despite this warning you can try to do as follows:
It is important to understand that there's no point in getting maximum texture transcode performance no matter the costs because it might result in extremely unstable FPS and non smooth gaming experience. For example, with AMD FX 8120 eight core CPU one would get maximum transcoding performance (bench. result ~80 megatexels) when "jobs_numThreads" is set to 8, while most stable FPS level is achieved with "jobs_numThreads" equal to 2 (smooth and almost constant 60FPS) despite the fact that benchmark result for latter case is significantly lower - around 40 megatexels. In other words, if the benchmark result is 35-40 or more - there's no point in trying improve it. On the other hand, having benchmark result less than 20 would result in jerky gaming experience with huge FPS drops during viewport moves.
Second cvar to tweak - "vt_maxPPF" - effectively acts as a balancer between FPS stability and the amount of texture pop-ins. Depending on the speed and type of your CPU and also on whether you use Cuda-accelerated texture decoding or not the good value for "vt_maxPPF" cvar might be in range from 8 to 256. Owners of low-speed dualcore CPU should use 8 or 16, typical value for quad core AMD Phenom II X4 955 CPU would be 32 or 64. Users with Cuda-enabled setups might be happy with setting vt_maxPPF to 128 or 256. In case you can live with moderate amount of textures pop-in but can't stand FPS drops below 60 when moving viewport your best bet would be to use low value for vf_maxPPF like 8 or even 4. To set the value of this cvar add something like "+vt_maxPPF
If your system configuration is similar to "quad-core CPU + GeForce 550 Ti with 1Gb" you could use "jobs_numThreads" set to 2 and "vt_maxPPF" set to 16 as a good starting values. It would allow you to get smooth 60FPS gaming experience when playing at 1680x1050 resolution with 4x antialiasing, "big" textures cache and "high" aniso settings.
In case your videocard have got more than 1GB of video RAM it is reasonable to increase game virtual texture page sizes (think about it as "some kind of texture cache") to be 8K per page. To do this create a new file in «Steam Install Dir»/steamapps/common/rage/base/ foldÂer named «Rageconfig.cfg» and populate it with following lines:
vt_pageimagesizeuniquediffuseonly2 "8192" vt_pageimagesizeuniquediffuseonly "8192" vt_pageimagesizeunique "8192"
Create «Rageconfig.cfg» as was described earlier and populate it with the following lines:
// Do not show unskipable introduction video com_skipIntroVideo "1" // Enable built-in engine FPS counter com_showFPS "1" con_noPrint "0" // Increase mouse sensitivity and use 2-tap mouse input filter to fix "jerky" mlook m_sensitivity 10 m_smooth 2Note: It might be required to specify "+com_skipIntroVideo 1" in the Steam's game "Launch properties..." for intro video skip to work. I have it set in both places and it works like a charm.
You should never force AA/ANISO levels through GPU driver control panel. Game engine uses complicated rendering technology which is incompatible with the ways drivers force AA/ANISO levels and results in visible render glitches in case AA/ANISO level forcing is turned on. nVIDIA users should turn off "Texture Sharpening" as it causes huge render glitches too. Correct way to set the AA level is to use in-game graphical settings menu. Setting the level of anisotropic filtering requires modifying game configuration file. Create «Rageconfig.cfg» as was described earlier and populate it with the following lines:
image_anisotropy "1" vt_maxaniso "2"These two settings control the ANISO level the game uses for texture filtering. Official tweak guide states that the engine only supports two levels on ANISO filtering, namely 2 and 4, and to select one of them you should modify the value of vt_maxaniso cvar. My experiments showed that the visual difference between levels 2 and 4 is almost negligible while performance drop is pretty huge. YMMV, experiment and choose the best to fit your needs. I hadn't been able to notice any visual and performance difference changing image_anisotropy cvar value. Still it might be wise to set it to be 8 or 16 in case it has effect on visual quality in some rare circumstances.
Rage engine is designed in a special way to support brand-new vsync controlling style. Main idea is to dynamically control vsync turning it on in case system it fast enough to render at 60+ FPS and off in case FPS is less than 60 FPS. This technology allows tear-free 60 FPS gameplay on decent systems without undesired drops down to 30 FPS in performance-constrained situations. Unfortunately current versions of GPU drivers lack OpenGL extension that is required for this vsync control system to work. Although it had been reported by nVIDIA linux driver development team member that the implementation of this extension is complete and it would be introduced in future driver versions, as of driver version 295.40 the extension in question is still unavailable. To overcome the problem and get a tear-free gaming experience in Rage one would have to reconfigure the game to use traditional vsync controlling scheme (FPS drops down to 15/30 in case system is not fast enough to render at 60+/30+ FPS). Recommended way to enable traditional vsync control scheme is to create «Rageconfig.cfg» file as explained in previous section and add the following line into it:
r_swapInterval "1"
It should do the trick for the most cases. With some buggy GPU drivers this setting might have no effect. In such case you should try to force vsync "on" in GPU driver control panel. It might help but be prepared to face game "crash to desktop" and all kinds of render glitches as game engine wasn't designed to work with vsync forced on using GPU driver control panel.
The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.
by Jon on Sunday November 12th 2017, 6:56
Also the bug with multiplayer invites still persists, but you can just make a public game and have your friend join it from the "play with friends" menu then change it to private after.
by Harry on Sunday May 12th 2013, 19:12
www.moddb.com/mods/rebalance-mod-ver-11
but mods only works on Rage64.exe
but I still get the XAudio error, so I have to run with nosound as below:
wine64 Rage64.exe \
+com_allowMods 1 \
+fs_savepath ./SAVES \
+com_allowconsole 1 \
+com_skipIntroVideo 1 \
+com_showFPS 1 \
+g_showplayershadow 1 \
+pm_crouchToggle 0 \
+savegame_maxSlots 100 \
+s_nosound 1
anyone have a fix for xaudio in 64bits?
by Harry on Sunday May 12th 2013, 20:38
by Harry on Sunday May 12th 2013, 21:19
xaudio2_7.dll (and all other xaudio dlls) still dont show up at winecfg, but now sound is working!!
by Harry on Wednesday April 24th 2013, 20:04
wine64 Rage64.exe
?
by Booman on Friday January 10th 2014, 16:43
by Leandro Terres on Tuesday May 15th 2012, 12:44
I have compiled the library on a openSUSE 12.1 x86_64, both 32 and 64 bits. My current wine version is 1.5.4 from openSUSE repositories.
My system is an AMD 640 x4 with 8 GB DDR3 and a GTX 550 Ti 1GB. Any ideas why not work?
by Alexey Loukianov on Tuesday May 15th 2012, 17:58
by Leandro Terres on Wednesday May 16th 2012, 8:41
by Alexey Loukianov on Wednesday May 16th 2012, 12:14
by Leandro Terres on Wednesday May 16th 2012, 16:31
Thx.
by Leandro Terres on Wednesday May 16th 2012, 22:18
by Artur h0m3 on Friday December 2nd 2011, 13:28
I've been passing by a problem that is related on the post, i don't think that is time to create a bug entry because i can't find anyone else with my specific problem, and, for that, i cant find the solution.
When i was with Wine 1.3.28 and an older WinePrefix with alot of things installed on it, RAGE was working fine, with sound, i've just need to set sound to full emulation and prefix to Windows 7, so, when i upgraded to Wine 1.3.29, in the same prefix, still was working fine. All of this was happening with Debian Wheezy (Testing) with Alsa sound system, i don't use pulseaudio because it's has some "bad understanding with my sound card" so, most of the applications, even the native ones, like audio players wont work fine, but, this is another history, botton of the line, i'm using alsa rsrs. Well, when i've upgraded to Wine 1.3.30 the sound in RAGE started to be lagged, very bad, like a robot voice, so, because of this bug and the other apps that stopped working on this prefix, i've decided that is better to create a new prefix, i've created a prefix with all the apps that i'm normally installed, and the thing get worse, no sound at all, and i don't know why, what i've tried:
-> installing RAGE with a clean prefix
-> installing DirectX Jun_2010 Version by myself adding all registry keys manually
-> installing DirectX Jun_2010 Version by winetricks
-> installing only the xact_jun2010 with winetricks
-> changing the prefix to Windows XP, Vista and 7
-> Deleting the HKLU/Software/Wine/DirectSound
-> I've not tried to set sound to emulated because the newest versions of wine don't have it, and i think that is for a good reason, so, i don't try to do that by registry.
The strange thing is that only RAGE is affected by this problem, other games and apps are just working really fine, i've also tested all other games on my wine, and, non of then has this problem.
Just one detail, i've been upgrading wine when the versions are sended to sourceforge, now i have Wine 1.3.33, i also can compile from git, but i never compiled wine from git before, and recently i've been upgraded to Debian Wheezy AMD64, but, Wine is still 32Bits, i'm using the ia32 compatibility libs, and the OpenGL Nvidia 32Bits compatibility libs too (to 3D work with 32Bits apps).
by Artur h0m3 on Friday December 2nd 2011, 13:32
I little before Wine 1.3.33 was launched to sourceforge, when i was with Wine 1.3.32, i've changed to Debian AMD64, until then (with Wine 1.3.28, 1.3.29, 1.3.30, 1.3.31, 1.3.32...) i was using Debian i686 with PAE, and for wine, this change to AMD64, absolutly nothing changed rsrs.
by Alexey Loukianov on Friday December 2nd 2011, 13:54
Here is the command I use to start up Steam when want to get audio-related debug logs for RAGE:
LD_PRELOAD="" WINEDEBUG="-all,+tid,+loaddll,err+all,warn+debugstr,+mmdevapi,+winmm,+midi,+dsound,+dmusic,+alsa" wine ./Steam.exe 2>~/wine-Steam-stderr
After Steam client loads I log in into it, start up RAGE, navigate through menus a bit (or even load up a save and play for a few minutes) and then quit both RAGE and Steam. As a result I get a file named "wine-Steam-stderr" laying inside my home folder. Don't forget to adjust paths to fit your installation.
P.S. Collect separate logs for cases when prefix is set to "Win7" and to "WinXP" so it would be possible to compare them - it might be pretty useful.
by Artur h0m3 on Friday December 2nd 2011, 14:35
I oppened steam by this command: "env LD_PRELOAD="" WINEPREFIX="/dados/gamesprefix" WINEDEBUG="-all,+tid,+loaddll,err+all,warn+debugstr,+mmdevapi,+winmm,+midi,+dsound,+dmusic,+alsa" wine ./Steam.exe 2>~/wine-Steam-stderr" like you say, i open RAGE, navigate in the settings menu, start a new game, go to the part when you open the ark, save the game and close the game, and close the steam.
I've passed the limit for log on pastebin, for that, i uploaded the debug in text on my dropbox: dl.dropbox.com/u/6867350/wine-Steam-stderr
by Alexey Loukianov on Friday December 2nd 2011, 16:52
Long explanation:
Looks like you have two ALSA cards on your system, one is Realtek ALC892 HDA codec connected to the ATI chipset South Bridge on your motherboard and another is nVIDIA HDMI audio out device.
Most probably you're using intel-hda kernel module as a driver and use default ALSA config (i.e you haven't got .asoundrc file inside your home folder and haven't configured anything in /etc/asound.conf, /etc/alsa and /etc/alsa.d). If so - what you're actually using is a plug->softvol->dmix->hw alsa-lib plugins chain. At least one of the mentioned plugins has a bug - it reports to an app that the sound engine is in RUN state (i.e. is running and produces sound) while actually this plugin waits for more audio data to start the real sound output. So from the RAGE's (and Wine's) point of view it looks like it had posted some data to be played to the hardware and hardware reports that it's currently playing these data, but nothing actually gets played and sent data remains sitting inside the buffer. RAGE checks every 10ms if some space had become available in buffer so it would pump-out some more sounds to be played (lines in log ending with "pad: 882") and sees that the buffer remains full (882 is the total amount of samples audiobuffer can hold in this case) - thus it don't pump-out any new to sound card and waits for another 10ms and so on.
To workaround the problem we need to force RAGE to pump out more data. As we have no direct control on how RAGE (XAudio2 lib actually) works with audio - we can only change something in Wine and/or in ALSA to get things working as expected. Problem most likely is caused by the bug in "rate" alsa-lib plugin which manifests itself in case rate plugin have to do resampling. It is possible to offload resampling task to Wine as it has resampler (pretty low quality though - take a look into bug #14717) as a part of DirectSound implementation. DirectSound uses 44100 rate by default and you should try changing it to 48000 (this rate is used by dmix in default ALSA config) using a registry key HKCU/Wine/DirectSound/DefaultSampleRate. Chances are that it would "fix" the sound for WinXP emulation but you still would be hitting this bug in Win7 mode because RAGE won't use DirectSound in that case.
You may also try to reconfigure ALSA to use more aggressive defaults (smaller period times for dmix -> less latency, but more chances for sound to stutter when system is under load) or even use temporary redirection of "default" device to point directly into the hardware when playing RAGE.
Create file named ".asoundrc" inside your home folder and try to do the following:
a) Insert the "defaults.pcm.dmix.!rate 44100" line to the ~/.asoundrc, save it, log out and then re-login into your system and check if the sound is still working system wide. If you've got alsa-utils installed - try running "cat /dev/urandom | aplay -f cd -D dmix" in the terminal. It should playback loud noise and do not print working like this:
Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
please, try the plug plugin (-Dplug:dmix)
If you see this warning - you've done something wrong and the settings from the .asoundrc file you had created are not being used. Double check and try rebooting your system entirely to see if it helps. In case your sound stopped to work system wide after doing this step - remove line "defaults.pcm.dmix.!rate 44100" from .asoundrc and proceed with next step. In case the sound is working - try running RAGE, chances are it should be working good by then.
b) Insert the "defaults.dmix.HDA-Intel.!period_size 256" line to the ~/.asoundrc, save it, log off/reboot. Check is sound is still working system wide, then try running RAGE and see if it started to produce sound. If not - remove the inserted line from ~/.asoundrc and continue to the next step.
c) "Brute force" approach. Open up shell with root rights, run "lsof /dev/snd/*" and check that the output do not contain lines with "NAME" fields containing "/dev/snd/pcm". If there are some - identify the apps that holds the sound card open by inspecting contents of "COMMAND" field and terminate that app. It is required to close all the apps that are accessing sound card for output. Next, using your regular rights insert following lines into your ~/.asoundrc:
------- cut -------
pcm.!default = lx2dmix
pcm.lx2dmix {
type dmix
ipc_key 2734
slave {
pcm {
type hw
card 0
}
periods 4
period_size 448
rate 48000
}
}
------- cut -------
Check once again the output of the lsof under root terminal, and - in case nothing is accessing /dev/snd/pcm* - try starting up RAGE. In case it works - be sure to remove ~/.asoundrc after finishing playing the game as leaving it as is would left your ALSA configuration in kinda "partly broken" state.
d) "Last resort". Place "pcm.!default hw:0" as the only line inside your ~/.asoundrc, repeat the "lsof black magic" from previous step and try starting up RAGE. Chances are slim that RAGE would be able to access sound device as Steam would open it up first. To overcome this an extra step would be needed. At first place "pcm.!default null" into .asoundrc, then save it and start up Steam.exe. Then, having steam started up, replace "null" with "hw:0", proceed with lsof check/kill for processes holding your soundcard open, and only then try starting up RAGE. Don't forget to remove .asoundrc (or comment "pcm.!default ..." line by placing hash sign before it like that: "#pcm.!default ...") or you would end up with ALSA config totally borked for normal usage. Also note that you wouldn't be able to hear sound from apps other than RAGE when using ALSA like this.
Well, that's pretty enough for "long" explanation :-). Note that in Win7 mode you might hit sound stutter bug (#28723 in bugzilla). To fix - either try compiling Wine with latest patchset attached to that bugzilla entry, or resort to using WinXP emulation for your Wine prefix.
P.S. There's no need to create a separate bugzilla entry for your problem - it is actually almost the same one as the bug #28723 is about.
by Artur h0m3 on Friday December 2nd 2011, 16:08
Well, i've tested with Windows XP, but, the sound start to work, i don't know why, the test that i did with Windows XP was with this same version of wine (Actually, i make a test of all my bug games with all wine versions that i'm install to check if the bug wasn't corrected in this version), it only was with other prefix, but, with the same configuration, well, it's working with XP, i will let that way, but, if you want to investigate, here is the debug of the Windows XP version:
I do all the same things that ive done the last time, but, this time i've played a little more, and the log is a little bit larger rsrs (128MB oO, i don't know why): dl.dropbox.com/u/6867350/wine-Steam-stderr-xp
by Maquis196 on Tuesday November 29th 2011, 3:48
Isn't platinum reserved for anything that works out the box without any messing around in winecfg? Fact remains that you can't get around the game installing it's own stuff on start (an annoying fact with steam games :S). But wouldn't this fall under the remit of platinum?
Not trolling, I'm just genuinely curious, I'm super for quite a few games so am genuinely wondering :)
Cheers,
Maq
by Alexey Loukianov on Tuesday November 29th 2011, 4:19
Long desc short: rating RAGE as Platinum would confuse people into thinking that the game itself works under Wine without dll overrides - which is not really a case.
by Maquis196 on Tuesday November 29th 2011, 4:26
Still, pretty impressive "out the box" experience for such a cutting edge game. I'll submit new test results when I get in.
by christian on Sunday November 27th 2011, 4:28
as i don't know how to add this to the tips sections, i post it here.
Rage runs perfect on my rig but i had the problem that i could enable vsync in the settings but it did not stay on. This problem also happens to windows Users.
For me switching from antialising 2x to antialiasing 4x solved this issue. As soon as i switch from antialaising 2x to 4x the vsync mode stayed at on ! This is reproducable on my rig.
If someone could add this to the tricks sections would be fine, it took some good amount of googling to fix my vsync issue.
Now everything runs perfect @1920x180,4xAA @60fps
Cu,
Christian
by Alexey Loukianov on Sunday November 27th 2011, 6:54
AFAIK this is known bug in game engine that had been introduced in the first "quick PC hotfix" patch and there was info on Bethesda support forums posted that they are going to fix this bug in future patch.
by christian on Sunday November 27th 2011, 9:32
Whats really strange is the fact that if i enable vsync in the nvidia settings , then i can enable it in the game also and it will stay on and works, Seems to be some strange relationshio between what nvidia-settings does and what wine/cx games does.
Any hint for that issue
by Alexey Loukianov on Sunday November 27th 2011, 17:28
For nVIDIA linux GPU driver it isn't the case - on the contrary linux driver is known to suffer from the bug that it fails to "force vsync on" using driver CP and/or dedicated environment setting in case an app specifically requests to disable vsync. From what you're describing I suspect that you're trying to use VSYNC in "On" mode instead of using it in "Force" mode. RAGE engine is designed in a way to use pretty new non-standard OpenGL extension WGL_EXT_swap_control_tear to do vsync which isn't supported either by Wine and by nVIDIA linux GPU drivers. Having this extension unavailable RAGE should fall back to pretty old and known WGL_EXT_swap_control extension which is supported by Wine but due to limitations of this extension it would cause drops to 30fps in cases when system performance isn't enough to run at 60fps. That's why the game by default don't use vsync for such cases no matter you set it to "Off" or "On" in menus. Setting it to "forced" instructs game engine to not pretend to be smarter than user and do what it's requested to do - to use available vsync opengl ext to do vsyncs. You could also change active vsync "mode" using in-game console: try seting "r_swapinterval 1" to force vsync on through WGL_EXT_swap_control extension, "r_swapinterval -1" to force vsync on using WGL_EXT_swap_control_tear extension (currently wouldn't work under Wine; I had posted feature request on nVIDIA support forums to implement GLX_EXT_swap_control_tear in their linux GPU drivers, and I think it wouldn't took long to implement WGL_EXT_swap_control_tear in Wine as soon as backing driver support would became available) or "r_swapinterval 0" to turn vsync off. In case the value of this cvar reverts back to -1 or 0 after setting it to 1 - looks like you had hit yet another game or wine or nVIDIA linux GPU driver bug. Good place to start investigation in such case would be to go to www.nvnews.net/vbulletin/showthread.php?t=163438 and try playing a bit with demos attached to the later posts in that thread. Testing vsync behavior with native linux OpenGL demo vs. DirectX demo running under Wine vs. various nVIDIA driver CP settings might give you an insight about the roots of the problem and provide you with enough data to file bug report against nVIDIA driver and/or Wine.
by Alexey Loukianov on Sunday November 27th 2011, 17:29
by christian on Saturday December 3rd 2011, 5:43
Forcing VSYNC in Nvidia and not enabling it in game works like a charm !Runs perfect now.
by Del on Tuesday November 15th 2011, 15:45
Set-up: Installed and runs throug Steam.
Wine versions tested: 1.3.28 and 1.3.32
OS: Kubuntu 11.10 64-bit
Nvidia driver version : 280.13
Problem description: I get an error message when starting Rage from Steam claiming that the nvidia driver is too old. I am wondering whether this is some garbage left from the previous nvidia card that was too old to run Rage. Have anyone else had this issue? Choosing to continue, I get to start the game. Once the introduction stops I try to change the resolution, but then the game crashes.
by Alexey Loukianov on Wednesday November 16th 2011, 23:40
RAGE crashing at resolution change is not Wine-specific - there were a lot of reports from Windows users about just the same problem posted on Bethesda support forums.
What should you try:
a) Try starting the game up in fresh-clean Wine prefix.
b) Configure your nVIDIA driver to use twinview/metamodes through xorg.conf even if you have only one monitor. I've seen reports on forums telling that limiting available resolutions range helps to workaround the problem. Try to limit available resolutions to 1680x1050, 1024x768 and 800x600 to start with and then add up additional resolutions in case game would work fine with initial reduced set.
c) Try upgrading nVIDIA driver. Something from 285.x series or even current-beta 290.x might help you. OTOH I had spotted some regressions in 285.x+ driver versions in a bunch of games running under Wine, which seems not to be fixed yet. YMMV.
d) You may wish to try changing game resolution using command line switches and/or editing Rageconfig.cfg. I can't recall the exact syntax you may try to use, google for it on Bethesda and/or Steam support forums.
Please, report back with the solution in case you'd successful in fixing your problem. Thanks!
by Del on Friday November 25th 2011, 8:46
a), b) and d) had no effect, tried it all. The nvidia driver seems to have a life of it's own regardless of xorg.conf. I tried the same machine on a different screen though, and then it gave the correct resolution automatically.
Upgrading to the latest 290 driver and wine to 1.3.33 did the trick though. I now have the correct resolution. In addition, the 1.3.33 fixes the cursor.
However, the game is lagging quite badly when I walk or run. So the overall performance is not good. Even turning graphics settings down to minimum doesn't help the lagging. Note this is on a Core i5-2500K and Nvidia GTX570.
Moreover, I do not see where to adjust sound settings on 1.3.33, so no sound either.
by Alexey Loukianov on Friday November 25th 2011, 17:52
Back to the rest of your problems. Lagging in RAGE most of the times is caused by jobs_numThreads and vt_maxPPF cvars auto-set to an incorrect value that doesn't suit your system well. For i5-2500K jobs_numThreads should be set to "3" or "4", and vt_maxPPF to something in range from 32 to 128. If you took some time and compile/install nVIDIA cuda toolkit and Wine cuda wrapper (github.com/lexa2/wine-cuda) to enable hardware-accelerated texture transcoding then vt_maxPPF might be set to the maximum value that doesn't cause game engine to crash (128 or even 256 might work). Be sure to disable texture sharpening and vsync forcing in nVIDIA X Server Settings utility, and also set antialiasing and aniso settings to "Use application setting". Failing to do any of these would result it corrupted rendering, game crashes and/or huge lagging/stuttering. In case you've got SLI - be sure to disable it as it can't currently work correctly with a RAGE renderpath and as a result causes huge troubles and performance regressions instead of "doubling" the FPS.
I'm not sure about what do you mean by "where to adjust sound settings", but it is known that for some people setting emulated windows version to Win7 fixes "no sound at start" problem in RAGE. Also you might try to change DirectSound-related values in registry (see wiki.winehq.org/UsefulRegistryKeys for reference), most probably you should try to experiment with MaxShadowSize value (try setting it to 0, to 2 or to completely remove this key from registry). Important thing to note: DirectSound related registry keys only have effect in RAGE in case your emulated windows version is set to WinXP. When run on Vista/Seven RAGE uses direct mmdevapi sound rendering path which is unaffected by Wine DS emulation. Argh, and a note about legacy "DirectSound Hardware/Emulated" setting that was previously available in winecfg: since Andrew Eikum had finished his work on Wine sound output subsystem rewrite this setting became obsolete and thus had been removed from winecfg dialog box.
by Del on Saturday November 26th 2011, 5:00
Yes, I did mean connecting it to another monitor. No, I do not think it has to do with EDID. The monitor (HP 21" LCD 1680x1050) is correctly detected in the operating system. It is when starting Rage that the resolution is incorrect.
I will try your suggestions on fixing the lag. That is, when my son returns with the machine from the lan party he is currently at.
There is no SLI.
Again, sorry about the sketchy sound part. Yes it was the missing emulation option I was referring to. I believe somebody reported that choosing emulation fixed the sound. There is basically no settings left (except changing sound device) in winecfg. Right now the sound is on and off, mostly off. Emulated windows version is set to win7. From what you are saying it sounds like I should try with emulating winXP.
by christian on Sunday November 27th 2011, 4:43
so your sound is working and then suddently stopping out of nowhere ?
Do you have ubuntu running with pulse ?
I had the same issue with different games. Getting rid of pulse solved this for me.
Cu,
Christian
by Alexey Loukianov on Sunday November 27th 2011, 7:08
Complication is due to a number of reasons:
* Various capabilities of actual sound hardware installed on the system and advertised through ALSA/alsalib. emu10k1 cards are totally different beasts compared to the intelhda ones.
* Multiple problems related to PulseAudio daemon. Various versions had various bugs which are indistinguishable at a first glance.
* Problems related to bugs in ALSA/alsalib. Most known one is the bug in alsa-plugins pulse plugin which caused audio to "disappear" after a while.
* Bugs in Wine's implementation of native APIs.
* At least two totally different sound render paths when playing XAudio2-based games (RAGE is one of these). In case your emulated OS is WinXP - sound renderpath is like Game->DirectSound->mmdevapi->Pulse(optional)->ALSA. When emulates OS version is set to Win7 renderpath is Game->mmdevapi->Pulse(optional)->ALSA. A way mmdevapi is used in these two render paths differs a lot, so it's perfectly possible to hit different Wine bugs when using either of them.
In any case I'm totally with you on the advice to get rid of PulseAudio daemon. Despite being pretty "nice thing" in concepts actual implementation is buggy as hell and it seems to produce more problems than it is aims to solve.
by christian on Sunday November 27th 2011, 9:38
Funny think youmentioned intel hda and emuk101 based cards. I'm a lucky guy and have both type of cards in my rig. Right now im using my soundblster 512. With hw mixing.
If you knwo any test/testapps which could help wine to checkfor issues im willing to do some tests with both cards. Any need for that ?
by Alexey Loukianov on Sunday November 27th 2011, 17:04
P.S. I had mentioned emu10k1 and intelhda as examples due to these ALSA soundcard drivers being one of the most widely used - most PCs nowdays are quipped with HDA codec integrated into motherboard (this is intelhda case), and also there are a lot of PCI/PCI-X soundcards from Creative out in the wild which are most of the times driven by emu10k1 module. There are some other pretty popular soundcards in use (like various AC97 codecs integrated in older MBs) but their amount seems to be generally lower than that of HDA/emu10k1.
by Del on Wednesday March 14th 2012, 12:29
by christian on Wednesday March 14th 2012, 13:25
by San on Friday November 4th 2011, 16:49
I have an issue with input though. For some reason mouse clicks move the mouse cursor (diagonal) in the menu and ingame the overall mouse input is unplayable due to looking at roofs and floors all the time. I can move around with WASD and the framerate is more than decent. This input issue makes it unplayable :(
I tried the suggestions on the list here (sensitivity and smooth) but it doesn't seem to work. Any thoughts?
Specs:
Ubuntu 10.04 64bit
Nvidia GTX 260 (+xorg-edgers ppa for the latest nvidia drivers)
Latest wine from official repo
by Alexey Loukianov on Friday November 4th 2011, 17:39
In general sensitivity in the game seems to be overkill in menus, while being less-than-I-find-comfortable in game. Unfortunately cvar that controls mouse sensitivity in menus had been locked in latest patch, and cvar that controls the sensitivity in game clamped at the maximum that is too low for my taste. Nevertheless I hadn't faced problems like you describe with totally garbled mouse input under Wine on a bunch of totally different systems (PCs/laptops, AMD/nVIDIA, LFS/Fedora/CentOS/Mandriva) so I suspect that the problems you face are more likely to be caused by Wine prefix misconfiguration or wrong/unoptimal options used to compile Wine rather than real bug in Wine.
by San on Tuesday November 8th 2011, 14:57
After reinstalling to a fresh wineprefix everything works like a charm. I get the same weird mouse issues you described in menus but compared to the earlier issues it feels like a minor glitch.
Thanks for your reply!
by Alexey Loukianov on Tuesday November 8th 2011, 20:29
by Dane Mutters on Tuesday October 25th 2011, 1:25
I haven't tried using the tweaks described here in my Windows installation, so I don't know if they help with that, or if it's mostly/entirely a WINE-related fix/workaround.
My setup:
Intel Core 2 Quad @ 2.66GHz
8GB DDR2/800MHz RAM
Nvidia Geforce 560 Ti video card
1TB 3Gb/s SATA2 HD (rotary).
by Alexey Loukianov on Tuesday October 25th 2011, 1:47
On PC things are different. GPUs use onboard "local cache" (a.k.a. Video RAM) to access texture data. Driver takes care to stream the memory pages from RAM to the VRAM over AGP/PCIEX buses. This driver-in-a-middle thing makes the whole difference. Unoptimized and buggy drivers (hello, AMD/ATI) causes the problems. Additional instance (driver) in the middle causes excess texture download lag. Driver also should use some CPU resources to control the upload process (while the upload process itself usually should be handled by DMA on-chip engines) which also might cause excess lags in CPU constrained situations.
Back to the config you specify, what would cause troubles in your case is relatively-old dual-core CPU. Rage is extremely CPU-hungry and it is pretty well optimized to run on multicore systems. Having only two cores leaves you in situation when texture decode thread, driver texture upload thread, renderer thread, game logic thread and a bunch of other threads compete for CPU time. In case you've got problems with extreme textures pop-ins or FPS drops/stutters when moving - you may wish to play a bit with vt_maxPPX and jobs_numThreads cvars. Set first one to something low (around 2 or 4) to get more steady FPS in expense of getting a lot of pop-ins. Set vt_maxPPF to something higher (8, 16, 32, 64 or 128) in order to reduce pop-ins (as long as your CPU would be able to decoded requested amount of texture data in time) at expense of steady FPS.
Cvar jobs_numThreads should generally be set to a number that equals to amount of cores your CPU has. On Windows this cvar should be set automatically to the correct value depending on the detected amount of CPU cores. With Wine it would fail as currently Wine implements GetLogicalProcessorInformation@kernel32.dll function as a stub. Rage tries to use GetLogicalProcessorInformation@kernel32.dll to detect amount of CPU cores under Wine and fails and then assumes that you has single core system.
Long things short: the tweaks above are not Wine-related at the most part and are rather the general tweaks to get RAGE running smoothly with the best visual appearance available.
by Dane Mutters on Tuesday October 25th 2011, 2:10
// Requires more video ram. Reduces texture pop-in effect.
vt_pageimagesizeuniquediffuseonly2 "8192"
vt_pageimagesizeuniquediffuseonly "8192"
vt_pageimagesizeunique "8192"
// Do not show unskipable introduction video
com_skipIntroVideo "1"
// Tweaking for 4-core CPU; might need to add this as a launch option instead.
jobs_numThreads "3"
// values range from 8 to 128:
vt_maxPPF "24"
// Enable traditional vsync to reduce tearing without taking a frame-rate hit.
r_swapInterval "1"
I didn't take much time testing it (about 1/2 hour), but it worked well with very minimal pop-in (i.e. textures rendered before I noticed the pop-in, most of the time), and with what seemed like great FPS. I haven't tried it in WINE, yet, but I expect it to work well with settings similar to these, but with the graphics reduced somewhat. (I've been running Rage with almost maxed-out graphics.)
In case you missed it above, my CPU is a quad-core Core 2 Quad at 2.66GHz.
Thanks.
by Alexey Loukianov on Tuesday October 25th 2011, 3:05
As you're on Windows and have nVIDIA card you should install latest available drivers from 285.x series (use BETA in case there were no WHQL Windows release for 285.x series driver) and set r_swapinterval to -1. It would use advanced vsync technique provided with WGL_EXT_swap_control_tear OpenGL extension (support for this extension had been added by nVIDIA in 285.x display drivers for Windows) which syncs to your monitor refresh rate in case your system is fast enough to render at that rate and temporarily switches vsync off at the moment when the performance of the system isn't enough to render at monitors refresh rate. This technique helps to avoid 60-30-60-30 FPS stutter problems that are typical for traditional vsync controlling schemes.
When playing under Wine game should run almost the same as it performs under Windows (in case you took care to manually set jobs_numThreads to reasonable value for your system) with exactly the same visual quality - nVIDIA and ATI/AMD drives are known to use almost the same codebase for their OpenGL drivers both on Linux and on Windows. For nVIDIA current linux driver lacks support for GLX_EXT_swap_control_tear extension but I had reported this to the nVIDIA linux devteam and they had opened ench.request ticket for this. Hope they would add the support for this extension to the linux drivers soon.