RivaTuner and Battlefield 2142 PunkBuster

Discussion in 'Rivatuner Generic Discussion forum' started by benniebeeker, Jun 3, 2007.

  1. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    I think I've missed important point in this posting. benniebeeker, your final conclusion (it seems to me that the mere presence of rivatuner is causing crashes with bf2142) is based on attempts to try running RT with _at_least_one_monitoring_graph_active_, right? So the post #23 may be still true and running the system with totally disabled monitoring module is really trouble free like Massive Overkil says?

    All

    Please try to disable monitoring module completely (i.e. disable background monitoring mode then close monitoring window) and try running RT in passive state with BF 2142. Then report if it is stable for you or not.
     
    Last edited: Jun 6, 2007
  2. benniebeeker

    benniebeeker Member

    Messages:
    41
    Likes Received:
    0
    im back with some results...

    i ran rivatuner with all windows closed and no background monitoring... crash

    i also did what you asked me to do in #44... however, when i changed the forcevgadeviceid, it wouldn't allow a 1234 value... as i was pressing the numbers, it seemed like there was only room for one value... as i pressed each number, the value would change respectively... i just left it at 4...

    regardless of the settings, both drop downs showed no response from the video drivers... i left riva tuner running under these conditions with no crashes... i played for about 1.5 hours with no issues...
     
    Last edited: Jun 6, 2007
  3. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    So that's still not a monitoring for sure. Thanks for confirming. That smells like PunkBuster related issue more and more for me, if monitoring is disabled RT does nothing in background.

    Pressing a numeric key when value is selected in the database allows quick-setting 0-9 values only. To enter values >10 you've to start value editing either by double clicking it or by pressing <Enter>. But that actually doesn't matter for ForceVGADeviceID - I used 1234 as an example of rubbish value, which doesn't match either with ATI (1002) or with NVIDIA (10DE) DeviceIDs. So using 4 allows doing the same and pretty valid for the experiment.

    Thanks a lot, more good and useful results. Can you now try to undo both changes one by one (first delete DisableIODriver but leave ForceVGADeviceID, then try to leave DisableIODriver but delete ForceVGADeviceID) to see which of them was responsible for stoping the crashes?
     
    Last edited: Jun 6, 2007
  4. Massive Overkil

    Massive Overkil Member Guru

    Messages:
    134
    Likes Received:
    0
    benniebeeker, what drivers are you using? In my past troubleshooting, I also re-enabled DEP (Data Execution Protection) for all processes, which reduced the frequency which I would crash/freeze.

    Unwinder, when I froze last night, I was finally able to alt-tab and get to RT.........I launched my 100% Fan setting and exited RT and when I alt-tabbed back to 2142 the freeze was gone. I only played for an hour-hour and a half, but this weekend, before responding in this thread, I played for about 4 hours crash free, using the set fan and exit workaround ...............which was impossible before

    As far as calling it bad code, the whole Battlefield series has been plagued wth bad patches and glitches. It may be 2142 or it may be PunkBuster, but the fact of the matter is, is that EA has been very reluctant to even admit there is a problem. If it's PunkBuster, it's still EA's problem because 99% of the servers use it. I'm hoping the "your mother sucks"-type insults will spark some kind of response from EA. All I want to them to do is admit that there is a problem regardless of whose it is.

    Beenie:

    http://img.photobucket.com/albums/v632/MassiveOverkill/ProofInThePudding.jpg
    http://img.photobucket.com/albums/v632/MassiveOverkill/700_1000.jpg
    http://service.futuremark.com/compare?3dm06=1980650
     
    Last edited: Jun 6, 2007

  5. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    Well, I'm not a big fan of BF series so I cannot tell anything about overall quality of these products.
    But anyway I'd like to ask you to avoid turning this thread into EA bashing one. In my understanding in order to have right to say that the code is bad you should know what is done wrong there and how to fix that. PC is not that simple thing and there can be a lot of reasons besides bad code causing it to work not as it is supposed to.
     
  6. Massive Overkil

    Massive Overkil Member Guru

    Messages:
    134
    Likes Received:
    0
    Fair enough.
     
  7. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    benniebeeker

    I continue brainstorming possible crash reasons and I’ve got some interesting ideas, which I would like to add to the instructions I gave you in the post #63:

    Thanks a lot, more good and useful results. Can you now try to undo both changes one by one (first delete DisableIODriver but leave ForceVGADeviceID, then try to leave DisableIODriver but delete ForceVGADeviceID) to see which of them was responsible for stoping the crashes?

    Please start doing these tests from leaving DisableIODriver=1 but deleting ForceVGADeviceID override. I’ve a strong feeling that it will be 100% crash free combo and that we’ve finally nailed down crash reason. Let me explain why:
    I was reading PunkBuster specs at their website and found that one of counter-cheating measure used in this software is memory scanning. I don’t know for sure if it try to scan BF process memory only or if scanning is done in memory of other processes too, but if it really does that and try to peek into some of address ranges in context of RivaTuner process, then it can be the reason of unpredictable results (including system crashes). Under Windows OS graphics hardware is usually accessed not via I/O ports but via so called MMIO (Memory Mapped Input / Output) technique. MMIO assumes that CPU maps some memory address range directly to GPU registers. It means that when you read from MMIO “memory” you read GPU registers. The same applies to writes – you may write to MMIO “memory” and it will be retranslated to write to GPU register at hardware level. In other words, a part of “memory” in context of application which is using MMIO is not a system memory but a “window” to GPU registers. Such memory shouldn’t (!!!) be accessed without knowing hardware access protocols. GPU have a lot of stall/write-only/read-and-auto-increment registers, which shouldn’t’ be accessed blindly under any conditions. If anti-cheat system is trying to peek into such memory in hope to find cheats there – crash is quite possible.
    And setting DisableIODrver=1 prevents RT from using IO driver, which normally does nothing at background, but it does allocate MMIO range at startup.
    If my hypotesis is correct, then other GPU tweaking tools using MMIO like PowerStrip, ATITool, ATITrayTools etc may be affected by that too.
     
  8. imabiggles

    imabiggles Active Member

    Messages:
    76
    Likes Received:
    0
    Since I seem to have almost the exact system that the OP has, and seemingly dont have any issues - anything that I can do to attempt to assist?
     
  9. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    Thanks a lot for your wish to help, but unfortunately there is nothing you can do. I don't see the issue myself and I cannot do anything but ask other people to probe some critical areas and analyze the results.
     
  10. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    Important addition to my post #67! I've just started contacting creators of other graphics hardware related tools to verify if some of them also experience problems when running PB simultaneously with their software. Already got a reply from a good friend of mine, the guy behind PowerStrip. Check that link in PowerStrip FAQ:

    http://forums.entechtaiwan.net/viewtopic.php?t=31

    Anybody knows if BF 2142 also allows reconfiguring PunkBuster's memory scanning approach? If yes, try doing that.

    *EDIT*:

    Here is a link, explaining how to reconfigure PunkBuster's client for 2142 in order to force it use alternate memory scanning algorithm:

    http://www.conflict2142.com/forums/showthread.php?p=313492

    There are multiple PunkPuster related settings covered in that thread, however the only setting you've to alter to enable alternate memory scanning is pb_system.
     
    Last edited: Jun 6, 2007

  11. benniebeeker

    benniebeeker Member

    Messages:
    41
    Likes Received:
    0
    i don't like making you wait to see results, but unfortunately i work 12-14 hours a day with an hour commute time each way... this doesn't leave me with much time for gaming... once again, i will post results tonight when i get home from work... :( :(
     
  12. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    Sure, take as many time as you need. And thanks again for investing it into this investigation.
     
  13. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    Well, I've got some more info confirming that 2142 also conflicts and w1zzards nice ATITool software (which also uses MMIO and should be affected by PB according to my hypotesis stated in post #67). ATI users report that system also freezes then crashes with the latest version of BF 2142 when ATITool is in memory:

    http://forums.techpowerup.com/showthread.php?p=342977

    Now I'm almost 100% certain that it is EA/PunkBuster's fault, caused by improper MMIO memory range scanning. I think that the end of story is approaching. w1zzard is currenttly offline, I would like to talk to him as soon as he'll be online to see his POV on it before making any public conclusions. Then we'll put something in front of EA nose.
     
    Last edited: Jun 6, 2007
  14. Massive Overkil

    Massive Overkil Member Guru

    Messages:
    134
    Likes Received:
    0

    I just tried this and so far I've played 1 hour without problems WITH monitoring enabled and OSD for FPS and temp. (Now I probably just jinxed myself). Going back to playing.
     
  15. anwaypasible

    anwaypasible Banned

    Messages:
    904
    Likes Received:
    0
    id like to add..

    ive used all of rivatuners hardware monitoring at once including the statistics server to graph frames per second.. i had the record button down so the graphs would continue to log while i was playing

    i always set my fans to 100% via manual when i play games

    and with that.. ive never had any problem whenever i use rivatuner

    my punkbuster is enabled and at default settings
     

  16. Tipton

    Tipton Banned

    Messages:
    70
    Likes Received:
    0
    Nice to see this is getting sorted out. There were a few complaining about this awhile back, but it was brushed off, and advice given to remove Rivatuner from their systems. I knew this was bigger than people were originally thinking. It's nice to see others coming out of the wood work with the same issue, that way this situation gets the recognition it deserves.

    Some were thinking this was some kind of joke, and wasn't worth the effort to try and fix. I am just glad that people are finally taking it serious!!
     
  17. benniebeeker

    benniebeeker Member

    Messages:
    41
    Likes Received:
    0

    i have friends that use 7950gt's and 7800 gtx's that also use rivatuner and have never had problems....

    i think its 8800 related... it seems like its a compilation of the way 2142 uses the 8800 video drivers at the same time that rivatuner uses them... it may not be punk buster related at all....
     
    Last edited: Jun 7, 2007
  18. benniebeeker

    benniebeeker Member

    Messages:
    41
    Likes Received:
    0
    i tested the variables as you suggested... i still crashed after about 15 minutes of playing...

    i also tested the opposite of what you suggested... crashed after about 20 minutes or so...

    im going to try the punk buster edit now...
     
  19. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    I'm absolutely sure that there was some logical mistake during doing these tests, because using both of these settings simultaneously fixes your system so at least one of them _must_ be responsible for that (it cannot be a combined effect because they control different parts of software) - most likely you've not restarted RT after doing these changes in PowerUser.
    Furthermore, after post #70 and #73 we can simply stop searching for the reason inside RT. The problem is clearly not specific to RT and also appears in conjunction with other tools working with hardware directly.
     
  20. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    12,901
    Likes Received:
    2
    +1 more confirmation
    Congratulations, it looks like we've got the winner's name - PB.

    All

    Guys, I'd like to see more confirmations about the solution from post #70 before adding it to FAQ.
     
    Last edited: Jun 7, 2007

Share This Page