Low Frames with mobile nvidia card

Hey,

 

I have bought a new laptop:

intel I7-4500u

8GB Ram

Nvidia 740m

 

The problem is that I have low frames when using the nvidia graphics card. 

I use Ubuntu 14.04 and the nvidia driver is nvidia 331.38 from nvidia-331-updates (via additional drivers).

 

If I try other games like metro last night or dota 2 there is no problem. This games running very well.

 

In Star Conflict I have 1920x1080 and the lowest graphics and even in the hangar I can’t get above 20 frames per second.

 

In the attached file is a log where sc is loaded and I’m in the hangar. Maybe that helps to find the problem.

 

 

If anybody can help that would be great, but it seems for a bug to me cause only in sc I have the problem.

 

Are you sure you are using nvidia card? with nvidia and i7 you probably have laptop with optimus technology. You will need to install nvidia-prime . More info here :

 

http://www.webupd8.org/2013/12/more-work-to-support-nvidia-optimus.html

Yes I am sure that I use the nvidia card. Also I have nvidia-prime installed. I can switch between both graphic cards. I currently use the onboard Intel HD card for SC cause it is playable with this card (about 50fps in the hangar with the intel and 7 with the nvidia). Also I play other games with the nvidia card (like Metro last night).

Did I miss something to get the nvidia running properly with sc? 

any news on this topic? I have similar problem. Its not that bad, but Im getting only about 25fps with geforce GT555M and i7 on my laptop…

 

I tried several drivers -  331.38,  331.104, 343.XX … I even tried to overclock the card by around 15% but with no improvement…

Im wondering if there may be some problem with the i7 hyperthreaded processor. Im not able to disable hyperthreading in my bios, so I cant test this. 

 

Any suggestion besides buying new laptop?

Buy a Laptop with an ati card :slight_smile: My old laptop had an ATI and it worked better.

I don’t think it is the i7. I can play at 40FPS with my Intel Graphic card.

 

I don’t know where the problem could be :( 

any news on this topic? I have similar problem. Its not that bad, but Im getting only about 25fps with geforce GT555M and i7 on my laptop…

 

I tried several drivers -  331.38,  331.104, 343.XX … I even tried to overclock the card by around 15% but with no improvement…

Im wondering if there may be some problem with the i7 hyperthreaded processor. Im not able to disable hyperthreading in my bios, so I cant test this. 

 

Any suggestion besides buying new laptop?

Which Linux version are you playing on and which resolution are you using in game?

If you’re using Ubuntu-based distro, you could install phoronix-test-suite. This app can list out your hardware specs with “detailed-system-info” command. Since you’re using nvidia-prime, in Nvidia-mode, try running the test suite app and check the output like my example below. See under display driver and make sure it states “Display Driver : YourNvidiaGPUName , OpenGL : AtLeastVer4” or something along these lines. If it says your display driver is a modesetting driver, you’ll probably have to purge the nvidia drivers with nvidia-prime and reinstall them. 

 

P.S. : If you plan to purge and reinstall the nvidia drivers, make sure you blacklist the nouvaeu drivers beforehand. With recent versions of Ubuntu I’ve used so far, the system “intelligently” chooses which GPU to use in certain power conditions; intel on battery and nouvaeu on AC supply after each reboot or power off.

 

sysSpecs.png

Thank you for your feedback nightbane112

I setup the nvidia card with nvidia prime but it will use the intel driver instead of the nvidia one. 

Could you help me setting up the right driver? What can I do? 

Could this lead to the poor performance in SC?

 

Also if I play Dota2 I have enough frames even more than with the intel card. In SC it is otherwise.

$ phoronix-test-suite detailed-system-info

Phoronix Test Suite v4.8.3
System Information

Hardware:
Processor: Intel Core i7-4500U @ 3.00GHz (4 Cores), Motherboard: ASUS X550LB v1.0, Chipset: Intel Haswell-ULT DRAM, Memory: 8192MB, Disk: 500GB Seagate ST950056, Graphics: ASUS NVIDIA GeForce GT 740M 2048MB (540/800MHz), Audio: Intel Haswell-ULT HD Audio, Network: Realtek RTL8111/8168/8411 + Qualcomm Atheros AR9485 Wireless

Software:
OS: Ubuntu 14.10, Kernel: 3.16.0-29-generic (x86_64), Desktop: Xfce 4.10, Display Server: X Server 1.16.0, Display Driver: intel 2.99.914, OpenGL: 4.4.0, Compiler: GCC 4.9.1, File-System: ext4, Screen Resolution: 1366x768


PROCESSOR:

Core Count: 2
Thread Count: 4
Cache Size: 4096 KB
Instruction Set Extensions: SSE 4.2 + AVX2 + AVX + RDRAND + FSGSBASE
AES Encryption: YES
Energy Performance Bias: YES
Virtualization: VT-x
Compiler Configuration: --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-multilib-list=m32,m64,mx32 --with-tune=generic -v
Graphics Compute Cores: 384
Disk Scheduler: DEADLINE
Disk Mount Options: data=ordered,relatime,rw
Cpu Scaling Governor: intel_pstate performance
Graphics 2d Acceleration: SNA
Hardware:
Graphics: ASUS NVIDIA GeForce GT 740M 2048MB (540/800MHz)

Software:
Display Driver: intel 2.99.914, OpenGL: 4.4.0

There’s really something wacky goin’ on in your machine there. By right, your machine should be using the Nvidia display driver since the test suite detected your machine is using the Nvidia GPU.

 

The correct output should be if you’re using the nvidia-340 drivers are : "Display Driver: NVIDIA 340.65, OpenGL: 4.4.0"

Here the deal, your machine probably symlinked the wrong GL libraries during the nvidia-prime or Nvidia driver installation. Usually in this case, I would :

  1. Purge the Nvidia driver & nvidia-prime and any Nvidia driver related libraries. You might also need to purge acpi-call & bbswitch-dkms module to sort of “reset” the kernel modules.

 

  • If you haven’t blacklisted the nouveau drivers, now is a good time to do so.  From your root directory (just launch a file browser using root and enter the / directory), go to /etc/modeprobe.d .

 

  • If you look around, there should be a file named “blacklist.conf”. Open that file in a text editor and add the following line at the end :

 

Prevent nouveau from loading

blacklist nouveau

 

 

  • Save the file.

 

  1. Reboot. A must to reset the kernel modules.

 

  1. Launch “phoronix-test-suite detailed-system-info” to confirm only the intel drivers are in use, not the modesetting ones. (Mesa should be GL 3.3 for Intel and 1.4 or 1.3 for modesetting if I recall).

 

  • If you’re still using the modesetting drivers, make sure the blacklisting nouveau was done since usually xserver will do this if it can’t find the Nvidia driver nor the Intel drivers, I think :004j: . Check & make sure there are no leftovers packages by the Nvidia drivers & nvidia-prime by running “sudo apt-get autoremove”. Reboot.

 

  1. If your system is already using only the Intel drivers, run "sudo apt-get install nvidia-prime NvidiaDriverVer " in the terminal . If you wish to install the 331 drivers, then the NvidiaDriverVer would be nvidia-331. Ubuntu will automatically install the dependencies as usual.

 

  1. Reboot and you should get your nvidia drivers running.

 

It’s worth mentioning that I’m currently using a Manjaro Linux based system. This distro has automatic Optimus laptops setup detection and based on Arch Linux. If you willing to try, it might soothen up thing to set up your Nvidia driver installation.

 

P.S. : Never have both Bumblebee and nvidia-prime on one system. Those two will never coexist since Bumblebee works via symlinking GL libraries of the two GPUS and nvidia-prime works by xorg.conf modding.

Thank you for the advise. I’ll try this at the weekend and let you now if it works or not.

Hey,

 

yesterday I tried it as you said but I did not get SC running properly.

I removed the driver (purge nvidia*) and set nouveau on the blacklist. 

Then I install with apt-get the nvidia-331 driver. But the same issue was there.

 If I open glxinfo I get the correct driver version for my nvidia card: 

glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 740M/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 331.113
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.4.0 NVIDIA 331.113
OpenGL shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

But phoronix-test-suite detailed-system-info says:

Hardware:
Processor: Intel Core i7-4500U @ 1.80GHz (4 Cores), Motherboard: ASUS X550LB v1.0, Chipset: Intel Haswell-ULT DRAM, Memory: 8192MB, Disk: 500GB Seagate ST950056, Graphics: ASUS NVIDIA GeForce GT 740M 2048MB (540/800MHz), Audio: Intel Haswell HDMI, Network: Realtek RTL8111/8168/8411 + Qualcomm Atheros AR9485 Wireless

Software:
OS: Ubuntu 14.04, Kernel: 3.13.0-43-generic (x86_64), Desktop: Unity 7.2.3, Display Server: X Server 1.15.1, Display Driver: intel 2.99.910, OpenGL: 4.3.0, Compiler: GCC 4.8, File-System: ext4, Screen Resolution: 1920x1080

What does phorinix test what glxinfo did not? 

Maybe some driver sym links are wrong or something like that?

 

I think I should post the problem in an ubuntu forum. 

 

 

Also I installed manjaro yesterday.

After about 3hours of installation try and error it was running. I did not get the EFI thing… Grub wouldn’t have it. So I found the CLI installation which did not need EFI and then it works.

Finally I get steam running and after an hour SC but the fps was also very low. I had the ybrid intel nvidia driver installed . I am sure I did something wrong but I don’t know what cause I have no idea of archlinux and pacman. 

 

Edit:

Intel version of glxinfo

glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile 
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:

Intel version of phoronix-test-suite detailed-system-info
 

Hardware:
Processor: Intel Core i7-4500U @ 1.80GHz (4 Cores), Motherboard: ASUS X550LB v1.0, Chipset: Intel Haswell-ULT DRAM, Memory: 8192MB, Disk: 500GB Seagate ST950056, Graphics: ASUS NVIDIA GeForce GT 740M 2048MB (1100MHz), Audio: Intel Haswell HDMI, Network: Realtek RTL8111/8168/8411 + Qualcomm Atheros AR9485 Wireless

Software:
OS: Ubuntu 14.04, Kernel: 3.13.0-43-generic (x86_64), Desktop: Unity 7.2.3, Display Server: X Server 1.15.1, Display Driver: intel 2.99.910, OpenGL: 3.3 Mesa 10.1.3, Compiler: GCC 4.8, File-System: ext4, Screen Resolution: 1920x1080

Haha, seems like you tried Manjaro too. :004j: Sure, it may be difficult at first but if you slowly learn how to use it, you’ll get the hang of it, just like Ubuntu.

By looking, I see you’re back on Ubuntu. Since I assume you installed the Nvidia driver and nvidia-prime, do you experience horizontal tearing when moving windows around and able to launch nvidia-settings with its full menu? That’s one way to see if you’re actually using the nvidia drivers. This is due to the limitation of Xserver. But hey, at least you know its working! :005j: . If this nvidia-prime works, let me know. Your low performance could be due to something else (e.g. non-unredirected compositing, low power settings, not OCed, or something else I don’t know)… I hope

 

P.S. : Phoronix reports that intel driver is in use probably due to your hardware configuration build or something. This is something techincal which is out of my range of knowledge. Feel free to google around for the same problem on your hardware. BTW, did you update your intel-ucode package? I think sometime ago low performance in Haswell were caused by the microcode used in linux. You could try that too.

Yeah, I’m back on ubuntu. It was too strange :) 

Maybe I’ll try it if I have more time.

 

There is no tearing and I can enter the nvidia-settings. 

The nvidia-prime works too. I can switch from one crad to the other. 

 

Low performance:

  • non-unredirected compositing What is it?
  • low power settings on the graphic card is off. Also I have the power cable plugged in
  • not OCed What is it?
  • _update your intel-ucode package _I think I don’t. How do I do that?

Also I would like to now if you have an hybrid graphic cards setting and if you can run SC properly on your nvidia if so.

Thanks for answering :slight_smile:

 

Bye 

 

Spinner0815

That’s funny :007j: On my machine, whenever I use nvidia-prime, tearing will occur if the Nvidia GPU is used. This doesn’t occur in bumblebee since the intel GPU is used for vsync and is already doing triple-buffering. Weird. I’ve also heard some cases of no tearing occuring on some laptops. Not sure how the manufacturers buit that thing.

SC works fine on my laptop. Check my post on this thread ( [http://forum.star-conflict.com/index.php?/topic/24883-r-invisible-turrels-and-drones/](< base_url >/index.php?/topic/24883-r-invisible-turrels-and-drones/) ) It’s doing fine on low settings with Bumblebee, though if i’m using Lubuntu with nvidia-prime, I can at barely run medium settings (poor GPU) :00333:  with all optimizations made (OCed GPU, unredirected compositing, Thermald enabled, latest drivers).

 

Anyways, we’ll try fixing other things first to see if it can improve your gaming performance.

  1. Unredirect compositing

In Windows, your games are not composited by default. Compositing essentially collects all the frames into a buffer before rendering on the screen. This allow any special effects (e.g. transparency) are done onto the frames in the buffer before displaying it. Basically, most desktop environment (DE) in Linux (KDE / Gnome / Cinnamon) are configured to block or prevent compositing to occur when playing games as it will affect performance heavily.

Just in case, we need to check whether your D.E. (Unity) unredirects compositing by default. Unity uses Compiz for compositing; So, we need a tool called “CompizConfig Settings Manager” to check this setting .It should be in the Ubuntu Software Center. Under “general” settings, if I’m not mistaken, there is an option for “Unredirect Fullscreen Windows”. Enable it to get performance boost for games in fullscreen.

 

  1. Low power settings
    What I originally meant for this is the overall power consumption settings on your laptop. From what I’ve read sometime ago, an app from Intel called “Thermald” can improve power saving and performance just by installing it. This brought great benefit as the CPU can offload computations to the GPU faster with higher clocks (not sure about this).

When the Haswell series was released, Thermald cause some major problems (CPU overheating , kernel panics and etc.) on Linux. So, as long you’re using pre-Haswell hardware, it may improve performance. For Haswell, you could use TLP to manage the power management and reclocking process http://www.webupd8.org/2013/04/improve-power-usage-battery-life-in.html . Like THermald, it may improve performance and power saving.

  1. OC (OverClock)
    As you are using an Intel CPU, the reclocking process or overclock process is done automatically be Thermald or TLP if installed. Usually, CPU clock speeds are managed by the kernel itself hence no manual intervention is needed. For GPU OverClocking, Nvidia drivers starting from the 337 series have been enabled for Fermi or newer cores. It can be enabled by modifying the xorg.conf file https://wiki.archlinux.org/index.php/NVIDIA#Enabling_overclocking . Since the GPU has to be manually set for what clock speeds they run at, you’ll have to be careful not to overclock to high clock speeds as they may cause damage to your GPU.

  2. Intel U-code (a.k.a microcode update)

From https://wiki.archlinux.org/index.php/microcode , a microcode is basically a firmware used by the microprocessor to execute and understand command. An update to the microcode may improve processor performance or does seemingly nothing. I suggest you do some research first before upgrading the microcode as it may result unforeseen circumstances if done blindly.

As far as I know, using pure Ubuntu (with Unity) is kinda bloated. They preinstall so many apps with it into the ISO. Another suggestion is to pick other variants of Ubuntu or Ubuntu-based distro if you may. Using Xubuntu or Lubuntu are some examples of Ubuntu official variants if you need to stick with Ubuntu. http://distrowatch.com/search.php?basedon=Ubuntu

Topic too big. If issue not solved, please, create a new correct burgeport