Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Adorbs

FINAL Solution for OPTIMUS nvidia cards

cvchcvch Senior MemberPosts: 138Registered Users
edited September 2012 in Total War Eras Support Forum
Well, after almost one year I have managed to figure out how to solve the 2 main problems that we (Nvidia users with optimus technology) are having with the game, I hope it helps you because it has taken me many hours to figure this out as CA has not provided us with any help.

First of all lets say there are 2 possible problems:

1- Your game DOES NOT detect that you have an NVIDIA card and it plays under the Intel HD card
If this is your problem, you MUST BE SUFFERING FROM VERY LOW FPS ingame, if your FPS are OK, even if the game shows you are playing under Intel HD, your problem is the second one (Explained below). Well, this first problem is easy to solve, just follow this steps:

1- Update your drivers and change the Shogun 2 Nvidia profile in order to make it use your Nvidia Card and not the integrated one. New drivers should solve this first problem ande lead you to the second one.

2- The game runs smoothly (because it is running on your NVIDIA card) but it LOWERS THE GRAPHICS SETTINGS as it detects you are playing under the Intel HD card with just 535mb of Ram and not your NVIDIA card
This is the most troublesome issue, we were all getting low graphics due to that "automatic downgrade", i FINALLY solve this problem, follow the steps because for some people the first step solves the issue and for others, such as me, it doesen´t.

Solution nº1:
Investigating on the script file, and playing with it, I've found a way to play with the nVidia card!

First of all you must modify the first line:
write_preferences_at_exit false; # write_preferences_at_exit <bool>, Write preferences at exit #

So the app doesn't update the file every time.
If you look throught the file you see:
gfx_gpu "Intel(R) HD Graphics"; # gfx_gpu <path>, The GPU description #

WTF?!?
I've tried to modify with:
gfx_gpu "NVIDIA GeForce GT 540M     "; # gfx_gpu <path>, The GPU description #

Why the spaces? 'Couse if you go on the Device Manager -> Video Card -> Right click on the nVidia -> Properties -> Details -> Device Description -> Right click on the list below -> Copy I get the name with the spaces. I keep them just to be sure.
Now if you lunch the game you see the the initial nag screen a little bit smoother the before, good sign.
Now you need to tweak the settings.
Following I copy all my settings. Feel free to experiment with them.
Just an advise. Don't modify the setting throught the game, otherwise you lost the "nVidia setting".
write_preferences_at_exit false; # write_preferences_at_exit <bool>, Write preferences at exit #
app_multirun false; # app_multirun <bool>, Allow multiple instances of the application #
x_res 1366; # x_res <int32>, Fixed window width #
y_res 768; # y_res <int32>, Fixed window height #
x_pos 0; # x_pos <int32>, Window position #
y_pos 0; # y_pos <int32>, Window position #
vfs_log_level 0; # vfs_log_level <int32>, 0 - off, 1 - mod-user, 2 - dev #
unit_test false; # unit_test <bool>, unit test (for daily build) #
campaign_unit_multiplier 0.75; # campaign_unit_multiplier <float>, Set default unit multiplier for campaign #
naval_fleet_multiplier 0.75; # naval_fleet_multiplier <float>, Set default fleet size for battles #
gfx_first_run false; # gfx_first_run <bool>, First time application run #
gfx_dx11_checked true; # gfx_dx11_checked <bool>, Have we checked that user wants dx11? #
gfx_video_memory 2147483648; # gfx_video_memory <int>, Override available video memory (bytes) #
gfx_fullscreen true; # gfx_fullscreen <bool>, Run the application in fullscreen or not #
gfx_vsync true; # gfx_vsync <bool>, vertical synchronization #
gfx_hdr true; #  gfx_hdr <bool>, Use high dynamic range rendering pipeline #
gfx_shadermodel 4; # gfx_shadermodel <int>, Set shader model, 0-SM3LQ, 1-SM3, 2-SM4, 3=SM4.1, 4=SM5 #
gfx_aa 4; # gfx_aa <int>, Set antialiasing, 0-no, 1 = MLAA, 2 = MSAA_2X, 3 = MSAA_4X, 4 = MSAA_8X #
gfx_texture_filtering 0; # gfx_texture_filtering <int>, Set texture filtering, 0-trilinear, 4- anisotropic 16x #
gfx_texture_quality 2; # gfx_texture_quality <int>, Set the quality of textures. 0 - lowest, 3 - ultra #
gfx_ssao true; # gfx_ssao <bool>, Enable Screen Space Ambient Occlusion buffer #
gfx_enable_directx11 true; # gfx_enable_directx11 <bool>, Enable DirectX 11 rendering #
gfx_distortion true; # gfx_distortion <bool>, Enable Distortion Effect buffer #
gfx_depth_of_field 1; # gfx_depth_of_field <int>, Set depth of field quality 0 - off, 2 - high #
gfx_hardware_shadows true; # gfx_hardware_shadows <bool>, Enable hardware shadows #
gfx_tesselation true; # gfx_tesselation <bool>, Enable tesselation #
gfx_sky_quality 2; # gfx_sky_quality <int>, Set the quality of sky. 0 - lowest, 3 - ultra #
gfx_unit_quality 2; # gfx_unit_quality <int>, Set the quality of units. 0 - lowest, 3 - ultra #
gfx_ship_quality 2; # gfx_ship_quality <int>, Set the quality of ships. 0 - lowest, 3 - ultra #
gfx_building_quality 2; # gfx_building_quality <int>, Set the quality of buildings. 0 - lowest, 3 - ultra #
gfx_water_quality 2; # gfx_water_quality <int>, Set the quality of water. 0 - lowest, 3 - ultra #
gfx_unit_scale 2; # gfx_unit_scale <int>, Set unit scale. 0 - lowest, 3 - ultra #
gfx_shadow_quality 3; # gfx_shadow_quality <int>, Set unit scale. 0 - off, 4 - ultra #
gfx_tree_quality 3; # gfx_tree_quality <int>, Set unit scale. 0 - off, 4 - ultra #
gfx_grass_quality 3; # gfx_grass_quality <int>, Set unit scale. 0 - off, 4 - ultra #
gfx_terrain_quality 1; # gfx_terrain_quality <int>, Set unit scale. 0 - low, 1 - high #
gfx_gamma_setting 2; # gfx_gamma_setting <float>, Set gamma correction #
gfx_brightness_setting 1.2; # gfx_brightness_setting <float>, Set brightness #
gfx_screenshot_folder ./screenshots; # gfx_screenshot_folder <folder>, Folder to where save screenshots relative to Empire directory #
gfx_gpu "NVIDIA GeForce GT 540M     "; # gfx_gpu <path>, The GPU description #
gfx_effects_quality 2; # gfx_effects_quality <int>, Set effects quality. 0 - lowest, 3 - ultra #
gfx_vignette true; # gfx_vignette <true|false>, Enable vignette #
gfx_picture_in_picture false; # gfx_picture_in_picture <true|false>, Enable picture_in_picture #
camera_move_speed 100; # camera_move_speed <float>, Set camera movement speed #
camera_turn_speed 5; # camera_turn_speed <float>, Set camera turn speed #
default_camera_type 0; # default_battle_camera <card32>, default battle camera: 0-totalwar 1-rts 2-debug #
enable_sound true; # enable_sound <bool>, enables all audio content (default = true). If disabled none of the database or sound pack files are loaded. #
fix_res true; # fix_res <bool>, Forbid window resizing #
fix_window_pos true; # fix_window_pos <bool>, Forbid window repositioning #
mouse_wheel_sensitivity 50; # mouse_wheel_sensitivity <card32>, mouse wheel sensitivity: <0-100> default value = 50  #
invert_cam_x_axis false; # invert_camera_x_axis <bool>, invert camera tilting up/down #
invert_cam_y_axis false; # invert_camera_y_axis <bool>, invert camera panning left/right #
minimised_ui false; # minimised_ui <true|false>, show minimised ui #
ui_order_button_mode 0; # ui_order_button_mode <0|1|2>, Only applicable with minimised ui. 0 = always, 1 = slide on, 2 = never #
show_selection_markers true; # show_selection_markers <true|false>, Show the selection markers under the units #
show_path_markers true; # show_path_markers <true|false>, Show paths in naval battles #
show_target_zones true; # show_target_zones <true|false>, Show firing arcs etc #
ui_order_button_mode 0; # ui_order_button_mode <0|1|2>, Only applicable with minimised ui. 0 = always, 1 = slide on, 2 = never #
ui_card_mode 0; # ui_card_mode <0|1|2>, Only applicable with minimised ui. 0 = always, 1 = slide on, 2 = never #
ui_radar_mode 0; # ui_radar_mode <0|1|2>, Only applicable with minimised ui. 0 = always, 1 = slide on, 2 = never #
ui_land_unit_ids 0; # ui_land_unit_ids <0|1|2>, 0 = always, 1 = on mouse over, 2 = never #
ui_naval_unit_ids 0; # ui_naval_unit_ids <0|1|2>, 0 = always, 1 = on mouse over, 2 = never #
ui_mouse_scroll true; # ui_mouse_scroll <true|false>, Allow/disallow scrolling of the map by putting the cursor at the edge of the screen #
battle_time_limit 60; # battle_time_limit <int>, Sets the time (in minutes) for each battle. -1 for unlimited #
battle_difficulty 0; # battle_difficulty <int>, Sets the handicap for battles. Positive gives advantage.  -2 is vhard, -1 is hard, 0 normal, 1 easy #
autoresolve_difficulty 0; # autoresolve_difficulty <int>, Sets the handicap for battles that are autoresolved. Positive gives advantage.  -2 is vhard, -1 is hard, 0 normal, 1 easy #
campaign_difficulty 0; # campaign_difficulty <int>, Sets the handicap for campaigns.  Positive gives advantage.  -2 is vhard, -1 is hard, 0 normal, 1 easy #
battle_advice_level 2; # battle_advice_level <int>, Sets advice level in the battle game #
campaign_advice_level 2; # campaign_advice_level <int>, Sets advice level in the campaign game #
info_panel_mode 1; # info_panel_mode <int>, Sets info panel options. 0 - only in campaign, 1 - campaign and battle cards, 2 - campaign and battle cards and battle units #
advisor_mode 2; # advisor_mode <int>, Sets Advisor options. 0 - text only, 1 - audio only, 2 - text and audio both #
campaign_time_limit -1; # campaign_time_limit <int>, Sets the time (in minutes) for each round of the campaign. -1 for unlimited #
show_cpu_moves true; # show_cpu_moves <true|false>, Show/hide the movement of the ai pieces on the campaign map #
automanage_regions false; # automanage_regions <true|false>, Let the AI manage taxes etc in players regions #
limitless_ammo true; # show_cpu_moves <true|false>, Enable/disable Infinite ammo on battlefields #
occupiable_building_markers true; # show_occupiable_building_markers <true|false>, Enable/disable occupiable building markers on battlefields #
allow_drop_in_battles true; # allow_drop_in_battles <bool>, Allow invititations to other peoples campaign battles when playing a single player campaign #
friend_only_drop_in_battles true; # friend_only_drop_in_battles <bool>, invite only friends to your campaign drop in battles when playing a single player campaign #
multithreaded_model_enabled true; # multithreaded_model_enabled <true|false>, Run the battle model on a separate thread #
battle_camera_shake_enabled true; # battle_camera_shake_enabled <true|false>, Enable battle camera shake effects #
subtitles true; # subtitles <true|false>, Display subtitles during movies #
sound_master_volume 100; # sound_master_volume <int>, master sound volume 0-100 #
sound_music_volume 75; # sound_music_volume <int>, music sound volume 0-100 #
sound_speech_volume 100; # sound_speech_volume <int>, speech sound volume 0-100 #
sound_sfx_volume 100; # sound_sfx_volume <int>, sfx sound volume 0-100 #
sound_master_enabled true; # sound_master_enabled <true|false>, master sound enabled #
sound_music_enabled true; # sound_music_enabled <true|false>, music sound enabled #
sound_speech_enabled true; # sound_speech_enabled <true|false>, speech sound enabled #
sound_sfx_enabled true; # sound_sfx_enabled <true|false>, sfx sound volume enabled #
sound_provider 0; # sound_provider <int>, sound provider index (0-?) #
sound_channels 256; # sound_channels <int>, Number of sound channels. Fewer channels means fewer sounds but faster performance. #
voice_chat_enable true; # voice_chat_enable <bool>, Enables VOIP functionality in Steam. (default = true) #
voice_chat_microphone_gain 100; # voice_chat_microphone_gain <int>, voice_chat_microphone_gain (0-100). #
voice_chat_microphone_gain_boost true; # voice_chat_microphone_gain_boost <bool>, Boost microphone gain. #
voice_chat_volume 100; # voice_chat_volume <int>, Voice chat volume (0-100). #
voice_chat_quality 2; # voice_chat_quality <int>, Voice chat quality (0-2, 0 = low, 1 = medium, 2 = high). #
voice_chat_transmit_only_when_key_pressed true; # voice_chat_transmit_only_when_key_pressed <bool>, voice_chat_transmit_only_when_key_pressed (otherwise always trasnmitting). #
bink_use_thread true; # bink_use_thread <bool>, tells bink to use asynchronous update, increased performance on some systems, decreased on others. (default = true) #
number_of_threads 0; # number_of_threads <int>, Set the number of threads <= 0 - automatic, >0 = explicit number  #
campaign_camera_edge_scroll_delay 0.5; # campaign_camera_edge_scroll_delay <float>, Set the number of seconds of delay between the mouse cursor entering the edge-scroll zone on the campaign map the camera starting movement. #

As you can see I use the DX11 for playing the game.
There is only a small price to pay... Every time you lunch the game it ask to select if use DX9 or DX10 (the Intel card).
I think that solution could give an idea where the problem is. In fact the nVidia Optimus use the nVidia card, as you can see from the Windows taskbar (like someone said here), but the game doesn't see the card. In fact if you go on the preference menu you see Intel, not nVidia.

If that didn´t work, let´s go to solution nº2, but FIRST, delete your preferences.script profil and restart the game so it creates a new one and write manually 0 on the gfx_video_memory part. [ex: gfx_video_memory 0; # gfx_video_memory <int> ]

SOLUTION Nº2:
first u have to download this program
http://downloads.guru3d.com/NVIDIA-I...load-2612.html

there several line u need to change to make shogun recognize ur video card, USE DIRECTX 9 ONCE YOU OPEN THE GAME.

first click there to start it will as for admin right
Attachment not found.

then change the line I high line to the same in the pic
Attachment not found.

apply change and u good to go.

This will make the game to recognize your video card while you play under DIRECTX 9, not Directx 11.

SOLUTION Nº3 (MOST IMPORTANTE ONE):
OK, at this point you should be able to run the Game on Directx 9 using your NVIDIA card without any problem, if you are okay with Directx 9 and it runs smooth for you, stay here. BUT if you want to use Directx 11 (which was my case as under Directx 9 it runs horribly bad) you will have one problem:

Once you use Directx 11, your graphics get downgraded with everything on low as it just detects your Intel HD card, even if it´s running under the NVIDIA card, SO, what you have to do is:

1- Be sure that under the preferences.script file you have a 0 value: gfx_video_memory 0;
2- Open the game under Directx 9 (which is now detecting your Nvidia card) and put the graphic settings you want to have (I had to go into a siege and land battle to change everything from inside the battles as the main menu didn´t work for me).
3- Choose in the main menu Directx 11 when you are done
4- Open the game with Directx 11 and play!

The game should not downgrade your graphics now, it should keep the graphic settings you selected when you opened the game under Directx 9.

PD: DON´T touch any graphic settings under the Dx11 mode or your graphics will be downgraded and you will have to repeat the whole process.


WELL, I hope I´ve helped you, thanks to all the users of the forum from posting possible solutions and special thanks to Anandir and Gananian who found the most importante ways to solve the problem. We have not recived any help from CA nor the moderators, which is sad, but let´s hope this contribution helps all the users that have been waiting for a patch that never came in order to play the game ^^

I´d appreciate if moderatos marked this thread as important so everyone can solve their problems.
Post edited by cvch on

Comments

  • IscaranIscaran Tech-Hero. Posts: 4,229Registered Users
    edited February 2012
    Glad you finally found the time to read the nvidia inspector solution from here (amongst the other workarounds)
    http://forums.totalwar.com/showthread.php/20115-STW2-and-Nvidia-Optimus-GPU-s-3-workarounds-solutions

    Though I will stick this topic anyway - maybe two stickies will help finding the workarounds.
    Iscaran

    Hero.

    If you need help with a support request on these boards please read this and follow the instructions.
  • cvchcvch Senior Member Posts: 138Registered Users
    edited February 2012
    Iscaran, the Nvidia Inspector solution is only part of the way to solve the problem, if you don´t do the 3rd step (as I explain above), you won´t notice the difference between using the inspector solution or not if you want to play under Directx11;)
  • AsakuraAsakura Member Posts: 41Registered Users
    edited February 2012
    Not being into programming, I'm not sure how to fset an inbetween setting outside of the game. I need to turn off all the soft shadows, vertical synchronization and such, and set all the graphics settings to high, and lower the MSAA to 2x. How do I do that in the script file? I can switch the entire page, but I don't know how to make individual changes past the graphics card choice.
  • cvchcvch Senior Member Posts: 138Registered Users
    edited February 2012
    Asakura, read again the "Step 3" of the "Second solution", you have to open the game under Directx 9, change the graphic options, select Dx11, close the game and re open it, and you will have the graphic settings you choose on Dx9 ^^
  • Colonel MallardColonel Mallard Senior Member Posts: 1,044Registered Users
    edited February 2012
    but doesn't that make us unable to use shader model 5, tesselation and more than the lowest antialiasing?
    I don't suffer from insanity, I enjoy it...

    "If at first you don't succeed, you fail."

    "All I know is that my gut says maybe" - President Average of the Neutral Planet

    Total War:Barbarian Invasion 2:The Invadening
  • cvchcvch Senior Member Posts: 138Registered Users
    edited February 2012
    Just shadder moddel 5, you will have to keeph SM3, but for some reason you can apply tesselation and antialising without loosing your graphics configuration, but don´t toucha any other settings or you will have to repeat the process.
    But the main advantage of Dx11 is the performance, it works (At least for me) at 50fps under Dx11 and at 20-25 under Dx9.

    I know SM5 is important, and that this is not a complete solution, I have just made what can be done with the tools we have, it should be CA who made a patch in order to fix this and not make the users work as beta testers >.<
    Hope it helps =)
  • Colonel MallardColonel Mallard Senior Member Posts: 1,044Registered Users
    edited February 2012
    Alright. Seems like that's as far as we'll get on our own here. I hope an official fix is inbound, but at least I can finally play my game to some acceptable standard now. Thanks for the solution.
    I don't suffer from insanity, I enjoy it...

    "If at first you don't succeed, you fail."

    "All I know is that my gut says maybe" - President Average of the Neutral Planet

    Total War:Barbarian Invasion 2:The Invadening
  • Takiya's devilTakiya's devil Junior Member Posts: 1Registered Users
    edited February 2012
    I've done this and it worked. However now my Nvidia card is being displayed not all of it's memory is only half of the full 1024mb. what do I do? and Thank you :D :rolleyes:
  • Colonel MallardColonel Mallard Senior Member Posts: 1,044Registered Users
    edited February 2012
    That doesn't affect your performance though does it...
    I don't suffer from insanity, I enjoy it...

    "If at first you don't succeed, you fail."

    "All I know is that my gut says maybe" - President Average of the Neutral Planet

    Total War:Barbarian Invasion 2:The Invadening
  • cvchcvch Senior Member Posts: 138Registered Users
    edited February 2012
    Takiya, as Mallard says, you should have no technical problem even if the Ram shown is 535Mb ^^ But if you absolutely want to make it show the 1024Gb try by writing 0 on the gfx_video_memory line on your preferences.script file =) (you may have to redo the whole process)
  • SylisSylis Junior Member Posts: 23Registered Users
    edited February 2012
    hey how i change the shogun 2 profile to make it use Nvidia graphics card in step 1...
  • TedsteryTedstery Junior Member Posts: 7Users Awaiting Email Confirmation - NO EMAIL
    edited March 2012
    cvch wrote: »
    Just shadder moddel 5, you will have to keeph SM3, but for some reason you can apply tesselation and antialising without loosing your graphics configuration, but don´t toucha any other settings or you will have to repeat the process.
    But the main advantage of Dx11 is the performance, it works (At least for me) at 50fps under Dx11 and at 20-25 under Dx9.

    I know SM5 is important, and that this is not a complete solution, I have just made what can be done with the tools we have, it should be CA who made a patch in order to fix this and not make the users work as beta testers >.<
    Hope it helps =)


    You can't apply tessellation unless your using a higher shader model than 3. And the game says I am using the Intel card when i did solution 3 but I still have the same options I chose in DX9 when my nivida was showing, so it worked right?
  • sunchungsunchung Junior Member Posts: 1Registered Users
    edited March 2012
    I've been trying to get this to work, but the only way I can get the game to recognize the nvidia card is when I go into my bios and choose "discrete graphics" vs "optimus". If I leave it on "optimus" it always shows the intel graphics card no mater what. I have a Lenovo W520 withe Quadro 2000m which should be a decent card for this game no?
  • Madix-3Madix-3 Junior Member Posts: 2Registered Users
    edited March 2012
    I have the same problem. The game recognizes the Nivdia card, and I have several options I can tick (up to high) but I can't even enable AA and the game looks the same no matter what I pick.
  • SteakthyGeneralSteakthyGeneral Junior Member Posts: 12Registered Users
    edited March 2012
    the link to the website is broken
  • EvilEmperorZoRG GREvilEmperorZoRG GR Member Posts: 35Registered Users
    edited June 2012
    Got to check them out tomorow as I was having this problem and I gave up. I really hope so cause I was never able to play this game properly on both my PC and laptop {on my sig}.
    AMD Phenom x4 Quad Core 2.5GHz 9850 Black Edition
    Diamond Radeon HD 4890 1GB GDDR5 256bit
    4GB {2x2GB} Ram CORSAIR DOMINATOR XMS2-8500 1066MHz
    ASROCK AOD790GX/128M
    Corsair GS 800W
    LG FlatronL192WS 19' 1440x900
    Windows 7 Home Premium 64bit

    LAPTOP - Turbo-X Horizon i5 {Intel Core i5 2410M 2.3-2.9GHz, 4GB DDR3, GeForce GT 540M 1GB, 1366x768, Windows 7 Home Premium 64bit}
  • sesselfurzersesselfurzer Junior Member Posts: 4Registered Users
    edited July 2012
    Perhaps this is a stupid question....where is the script file to be edited and what is it called? I can't find it.

    Thanks
  • sesselfurzersesselfurzer Junior Member Posts: 4Registered Users
    edited July 2012
    I finally got through your entire process and IT WORKS. I have an HP Pavilion dv7t with a 650M GPU which would not be recognized by FOTS, only the onboard Intel 4000.

    THANK YOU CVCH! Don't know how you figured that out, but thanks so much for sharing.
  • AK37AK37 Junior Member Posts: 21Registered Users
    edited September 2012
    Fabulous, I have try different ways and it still not work. I know the problem, and this problem definitely fits into my profile.

    In the section2, the first 3 line, where and what file should I open and what should I open with.

    Please reply me, and thanx for sharing your solutions.
Sign In or Register to comment.