Gönderen Konu: [Çözüldü] Oyunda Akıcılık Sorunu  (Okunma sayısı 4003 defa)

Çevrimdışı Scipio

  • Penguen
  • ***
  • İleti: 353
[Çözüldü] Oyunda Akıcılık Sorunu
« : 30 Ağustos 2015, 12:18:45 »
2 gündür Linux üzerinde bir oyun oynuyorum. Görüntü geçişlerinde takılmalar ve ekran hareketlerinde akıcılığın olmaması gözüme takıldı. Aynı oyunu Windows'a kurup denedim orada sıkıntı olmadı. Ekran kartında sıkıntı var mı diye merak ettim. Bumblebee de kurulu bu arada.

Oyunun Linux versiyonunda da sıkıntı olabilir gerçi.

Kod: [Seç]
3.19.0-26-generic x86_64
Kod: [Seç]
Graphics:  Card: Intel 4th Gen Core Processor Integrated Graphics Controller bus-ID: 00:02.0
           X.Org: 1.15.1 drivers: intel (unloaded: fbdev,vesa) Resolution: 1366x768@60.0hz
           GLX Renderer: Mesa DRI Intel Haswell Mobile GLX Version: 3.0 Mesa 10.1.3 Direct Rendering: Yes
Kod: [Seç]
direct rendering: Yes
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
    GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil,
    GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp,

Kod: [Seç]
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 850M] (rev ff)

Kod: [Seç]
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 32767 x 32767
eDP1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 345mm x 194mm
   1366x768       60.0*+
   1360x768       59.8     60.0 
   1024x768       60.0 
   800x600        60.3     56.2 
   640x480        59.9 
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Kod: [Seç]
cat: /etc/X11/xorg.conf: No such file or directory

Çözüm:

Oyunun komut kısmının başına primusrun komutunu ekleyince çözüldü.
« Son Düzenleme: 30 Ağustos 2015, 13:39:38 Gönderen: Scipio »

Çevrimdışı Genizcil_N

  • Forum Sorumlusu
  • Guru
  • *****
  • İleti: 1976
  • Dağıtım: Linux Mint 20
  • Masaüstü Ortamı: Mate
Ynt: Oyunda Akıcılık Sorunu
« Yanıtla #1 : 30 Ağustos 2015, 12:54:01 »
Oyunu çalıştırdığınız komutun başına vblank_mode=0 ekleyerek çalıştırmayı deneyebilirsiniz. Sorun dikey senkroniasyondan(vsync) kaynaklanıyorsa bununla çözülebilir.
5 - Sorunlar Hakkında
Hatalı bir şeylerin olduğunu düşünüyorsanız lütfen aşağıdaki komutları sırasıyla uçbirimde çalıştırıp çıktılarını paylaşınız.

Kod: [Seç]
optirun -vvv glxgears
cat /etc/bumblebee/bumblebee.conf
cat /etc/bumblebee/xorg.conf.nvidia
cat /etc/X11/xorg.conf
dpkg -l | egrep 'nvidia|bumblebee|primus|prime|virtualgl'
lspci | egrep 'VGA|3D|Display'

Çevrimdışı Scipio

  • Penguen
  • ***
  • İleti: 353
Ynt: Oyunda Akıcılık Sorunu
« Yanıtla #2 : 30 Ağustos 2015, 13:00:05 »
vblank_mode=0 komutunu ekledim ama hata verdi. Oyun Steam üzerinden çalışıyor hata o yüzden kaynaklanmış olabilir.

Kod: [Seç]
[ 4439.263807] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 4439.264063] [INFO]Configured driver: nvidia
[ 4439.264193] [DEBUG]optirun version 3.2.1 starting...
[ 4439.264200] [DEBUG]Active configuration:
[ 4439.264203] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 4439.264206] [DEBUG] X display: :8
[ 4439.264208] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-346-updates:/usr/lib32/nvidia-346-updates
[ 4439.264211] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 4439.264213] [DEBUG] Accel/display bridge: auto
[ 4439.264215] [DEBUG] VGL Compression: proxy
[ 4439.264218] [DEBUG] VGLrun extra options:
[ 4439.264220] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
[ 4439.264274] [DEBUG]Using auto-detected bridge virtualgl
[ 4442.135287] [INFO]Response: Yes. X is active.

[ 4442.135302] [INFO]Running application using virtualgl.
[ 4442.135399] [DEBUG]Process vglrun started, PID 5189.
10778 frames in 5.0 seconds = 2155.531 FPS
10429 frames in 5.0 seconds = 2085.799 FPS
10681 frames in 5.0 seconds = 2136.190 FPS
10532 frames in 5.0 seconds = 2106.316 FPS
10436 frames in 5.0 seconds = 2087.108 FPS
10797 frames in 5.0 seconds = 2159.369 FPS
10706 frames in 5.0 seconds = 2141.107 FPS
10678 frames in 5.0 seconds = 2135.472 FPS
10863 frames in 5.0 seconds = 2172.540 FPS
10701 frames in 5.0 seconds = 2140.111 FPS
10583 frames in 5.0 seconds = 2116.541 FPS
[VGL] ERROR: in readback--
[VGL]    256: Window has been deleted by window manager
[ 4501.894382] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 4501.896043] [DEBUG]Socket closed.
[ 4501.896092] [DEBUG]Killing all remaining processes.
Kod: [Seç]
# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-346
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-346:/usr/lib32/nvidia-346
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-346/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
Kod: [Seç]
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "false"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
    BusID "PCI:01:00:0"

#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"

    Option "NoLogo" "true"
    Option "UseEDID" "false"
    Option "UseDisplayDevice" "none"
EndSection
Kod: [Seç]
cat: /etc/X11/xorg.conf: No such file or directory
Kod: [Seç]
ii  bumblebee                                   3.2.1-93~trustyppa1                                 amd64        NVIDIA Optimus support
ii  bumblebee-nvidia                            3.2.1-93~trustyppa1                                 amd64        NVIDIA Optimus support using the proprietary NVIDIA driver
ii  nvidia-346-updates                          346.82-0ubuntu0.2                                   amd64        NVIDIA binary driver - version 346.82
rc  nvidia-libopencl1-346-updates               346.82-0ubuntu0.2                                   amd64        NVIDIA OpenCL Driver and ICD Loader library
ii  nvidia-opencl-icd-346-updates               346.82-0ubuntu0.2                                   amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                0.6.2linuxmint1                                     amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                             346.72-0ubuntu1                                     amd64        Tool for configuring the NVIDIA graphics driver
ii  primus                                      20150328-1~trustyppa1                               amd64        client-side GPU offloading for NVIDIA Optimus
ii  primus-libs:amd64                           20150328-1~trustyppa1                               amd64        Shared libraries for primus
ii  primus-libs:i386                            20150328-1~trustyppa1                               i386         Shared libraries for primus
ii  primus-libs-ia32                            20150328-1~trustyppa1                               i386         Shared libraries for primus (32-bit)
ii  virtualgl                                   2.4.1-1~trustyppa1                                  amd64        Toolkit for displaying OpenGL applications to thin clients
ii  virtualgl-libs:amd64                        2.4.1-1~trustyppa1                                  amd64        Library files for virtualg
Kod: [Seç]
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 850M] (rev ff)



Edit: Oyunu primusrun komutuyla açınca düzeldi. Sanırım primusrun ile açınca dikey senkronizasyon etkinleşiyor.
« Son Düzenleme: 30 Ağustos 2015, 13:38:36 Gönderen: Scipio »