You are not logged in.
Hi, I've been using ubuntu (which I don't like) to play steam games, I use xfce4 and nvidia drivers (381.09). I own an Asus GL752VW with nvidia gtx960 and i7 processor, 8gb ram.
Since I cannot continue handling all the annoyances of Ubuntu I installed Arch today. Basic setup, just Xorg, nvidia drivers, fluxbox, pulseaudio and steam. The problem is that when running CSGO it doesn't feel fluent, not as much as in Ubuntu. Because of that I switched on fps counter and saw that in ubuntu was around 10-30 fps higher. Since I wanted a better measure I used a benchmark that can be found in steam workshop for CSGO. It threw 104fps for Arch and 150fps for Ubuntu. In ubuntu I didn't even touch the processor governor, in Arch I set it to performance and did tweak nvidia-settings for maximum performance, but didn't make a noticeable change.
Does anyone know what can I do to get better performance?
Thanks in advance and best regards
Last edited by jlol (2017-05-27 17:23:38)
Offline
Are you sure that you are using the nvidia card? ubuntu has some mighty magic working for optimus support, which arch does not have.
im not sure if newer nvidia driver can handle it by itself or not.
run glxinfo and look at the opengl vendor string. if it displays nvidia, ignore my post.
Offline
Offline
Hey, thanks Shawn8901, yeah it's using it, actually I'm not using the option to switch graphics card, not my first time in Arch, been using it and others for long, I installed ubuntu just because of steam. Just in case, the glxinfo "server glx vendor string: NVIDIA Corporation"
Gonna have a look on that link and be back here with the results, thanks brebs!
Offline
Have you tried steam-native-runtime?
It makes a small but noticeable difference with my (rather pathetic) HD4600 in CS:GO
Offline
Hey, tried all that. With no overlay I saw 123 fps average in the "benchmark", but then I enabled it again and got more or less the same result. It might have something to do with the fact that, since yesterday, I installed verynice and played a bit with parameters in this website.
With steam-native-runtime I didn't see any change either.
Well, at least, with whatever I did (verynice or the parameters) this is some improvement and I think I will take it. I'm curious anyway on why there's a difference between both linux.
Thanks all for your hints!! ^_^
Offline
404: Page not found – the page https://goo.gl/WQ8hCQ/ does not exist.
No need to juse URL shorteners on this forum, use url tags
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Oh! Sorry for that.. Hope url is ok like this
Still puzzled why ubuntu keeps making 30fps more o_o I suppose must be something with version of packages...
Offline
You should use Bumblebee and Primus/Optimus to enable the Nvidia card. Otherwise you'll be using the Intel card by default. See here: https://wiki.archlinux.org/index.php/bumblebee
Offline
As far as I know I'm using that already, this is my xorg.conf
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0@0:2:0"
Option "AccelMethod" "None"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1@0:0:0"
Option "ConstrainCursor" "off"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
And my .xinitrc has
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
And like I said, I get NVIDIA string in glxinfo.
I was thinking that the difference might be some kernel options. Or maybe some xorg.conf tweak could do the trick, I'm going to check in that direction...
Offline
Hmm, I have not really done what you did there, which I take it means you have disabled the onboard GPU and told Xorg to only use Nvidia. I find it odd this works since generally the onboard display is connected to the onboard GPU. Have you tried removing all Xorg and xrandr settings and just running Steam with primusrun or optirun after enabling Bumblebee? I used to do this on a GeForce 940M without problems.
Offline
In the past I used similar xorg configuration that I used in my previous optimus laptop, but this setup in particular it's a copy of the one in Ubuntu. What it does is using only Nvidia with no possibility of switching to intel (which doesn't matter to me), I assume that Intel still is active in some way in order to use the screen.
Anyway, as soon as I can, I will give bumblebee a try to see if it can improve fps and I will report here, thanks!
Offline
Hey, just tested with bumblebee, optirun and primusrun, worse in both cases, I used vblank_mode=0 primusrun like says here and nothing, the best I could get was less than 100fps. I was able to get a bit more (around 107fps) with switchable graphics disabled and using the features to avoid tearing shown here, was good to not have tearing but I'm not sure if having significantly less fps is a good trade off...
Any more ideas will be appreciated
Offline
Maybe try:
PRIMUS_SYNC=1 VGL_READBACK=pbo vblank_mode=0 optirun -c proxy -b primus %command%
You can also try schedtoold, and maybe linux-ck and SHED_ISO, MuQSS and BFQ.
/etc/schedtoold.conf
-------------------------------------
csgo_linux64 -I -n -10 -a 0x5
Change 0x5 to thread that you want to use, or drop -a 0x5.
You should check what is your current cpufreq governor. If it's something other than performance, change it to performance.
Last edited by Rethil (2017-05-21 22:18:23)
Offline
Side note: unless your monitor has really high refresh rate, more than 60 FPS is a placebo, your eye won't see any difference. Now, if you get more FPS than your monitor can make screen draws per second, you will experience tearing, or your compositor will choke those additional frames, to prevent the tearing. Hunting numbers when game has stable 60 FPS with 60Hz refresh rate of monitor is pointless.
It's other story, if you get shuttering in some games while using good GPU and CPU, but hey, most of the time it's not GPU problem in those cases.
Last edited by Rethil (2017-05-23 02:07:21)
Offline
Side note: unless your monitor has really high refresh rate, more than 60 FPS is a placebo, your eye won't see any difference. Now, if you get more FPS than your monitor can make screen draws per second, you will experience tearing, or your compositor will choke those additional frames, to prevent the tearing. Hunting numbers when game has stable 60 FPS with 60Hz refresh rate of monitor is pointless.
It's other story, if you get shuttering in some games while using good GPU and CPU, but hey, most of the time it's not GPU problem in those cases.
With those high fps numbers in an FPS game, you will notice a difference when moving the mouse to look around.
When you play an FPS game and it paints at 60 fps, the picture that gets sent to the screen will show what your hand was doing with the mouse 17 ms in the past. If the game paints its stuff at 120 fps, half of the frames will never be seen and will be thrown away on your 60 Hz monitor, but the frames that you do see will have just 8 ms latency for the mouse input. If you get to 180 fps, it's dropping to 5.5 ms.
That's why people are after super high fps numbers in games they take really serious like CS:Go and such.
Offline
Thanks Rethil, I tried first thing for now, I must have a look on ck and schedtool, but I don't rely much on it, I tried ck a couple of months ago in Antergos and didn't feel good, CSGO didn't run very smooth with some hicups (not sure if that's the word I'm looking for, kind of getting slow for a moment).
About the FPS, I'm with Ropid (thanks for the comment btw), frame sent to screen will be more "fresh" if you play at 120fps than 60fps, and gameplay will fell better, smoother.
Offline
Arg! It's so frustrating, I cannot believe Ubuntu it's faster with games! I just tried linux-ck after some compile fun, no luck for me. Even "benchmark" in csgo got frozen 2 times for around 2-3 seconds. After that got boosted for around 6 seconds to higher fps then normalized...
Anyway, I was just thinking, that must be something else, I mean, linux-ck and some other "tricks" I tried are just that, tricks. The Ubuntu I'm using is just stock Ubuntu, no bumblebee (it just uses nvidia), no ck, no need to set performance governor, nothing.
I cannot think on anything else, anyone with more ideas? Because my last option would be gentoo, optimizing everything, but still I don't have much hope on that option and it would take so long.
Offline
Many factors contribute to graphics performance, narrowing this down won't be easy.
If you want to give it a try, start with giving steam CSGO it's own separate x-server.
Tthis will eliminate differences caused by WM/DE , compositors and such .
Make sure nothing else is running on the system, then take the numbers for ubuntu and AL.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Problem solved! I don't know exactly what was the problem, but I just removed every steam folder (losing all configs and csgo game files) and run steam again and install csgo again... now I got around 180fps in the benchmark. I will try tomorrow to play with my game config restored (keys, mouse sensitivity, etc.) and report if still everything is ok.
Thanks Lone_Wolf, I tried to run csgo in a separated x-server but got blank screen, I think was due to csgo needing steam running. Anyway I installed a minimal system with fluxbox to get the least possible interferences in performance.
And thanks everyone for your time!
Offline
Confirmed, it seems it was steam folder, still working well. Thanks everyone!
Offline