Moin moin Liebe Leute,
bis ich versucht habe unter Linux (Ubuntu Studio) zu spielen lief mein System mit der Onboard Grafik des Laptops eigentlich ganz gut. Seit kurzem versuche ich Digital Paintball 2 zu spielen. Nachdem ich das ans Laufen bekommen habe, habe ich insbesondere in rauchigen Gegenden, oder solchen mit viel Wasser, die also viel Rechenleistung brauchen, teilweise nur 10 FPS. Das finde ich für eine Quake 2 Mod bei meinem Computer doch sehr übertrieben wenig.
Mein Computer:
Dell XPS 15 L502x, 4GB Ram, i7 Prozessor
1 2 3 4 | lspci | grep VGA ^[[A00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 540M] (rev a1) |
Ich benutze Nouveau mit Prime und starte das Spiel über
1 | DRI_PRIME=1 ./paintball2 +snd_driver alsa |
Folgende Ausgabe bei Start im Terminal:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | DRI_PRIME=1 ./paintball2 +snd_driver alsa Paintball 2 -- Version 2.0 Execing configs/config.cfg. Console initialized. ------- Sound initialization ------- LoadLibrary("./snd_alsa.so") Initializing ALSA Sound System Period size: 2048 Buffer size: 8192 Stereo: 1 Samples: 16384 Samplepos: 0 Samplebits: 16 Submission_chunk: 4096 Speed: 48000 Sound sampling rate: 48000 ------------------------------------ ------- Loading ref_pbgl.so ------- LoadLibrary("./ref_pbgl.so") ref_gl version: PB2GL 0.40 Failed to load "/usr/lib/libGL.so", trying "libGL.so.1.2" Failed to load "libGL.so.1.2", trying "libGL.so.1" Using libGL.so.1 for OpenGL... Initializing OpenGL display ...setting fullscreen mode 23: 1920 1080 Using XFree86-VidModeExtension Version 2.2 I got 8 bits of red I got 8 bits of blue I got 8 bits of green I got 24 bits of depth I got 8 bits of alpha I got 8 bits of stencil Using hardware gamma SSE Enabled. ------------------------------------ ===== Paintball II Initialized ===== Recursive shutdown. |
Teste ich die Ausgaben von glxgears, bekomme ich mit der GT540 weitaus höhere Framerates als mit der onboard Karte. OpenGL sollte laut glxinfo ebenfalls funktionieren.
1 2 3 4 5 6 7 8 9 10 11 12 | DRI_PRIME=1 glxinfo | grep OpenGL OpenGL vendor string: nouveau OpenGL renderer string: Gallium 0.4 on NVC1 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: |
Laut der "Hersteller"website digitalpaint.org soll ich die x86 Versionen der folgenden Pakete installieren:
1 | libgcrypt, libgpg-error, libjpeg, libpng12, libstdc++, libpthread, libgcc_s, libXxf86vm, libXau, libXdmcp, libXext, libXdamage, libXfixes, libdrm, libX11, libGL, libxcb, libz, libdl, librt, libm, libc |
Bis auf das Paket libstdc++ können diese nicht gefunden werden. Der Installationsversuch von libstdc++ gibt mir den folgenden Fehler:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | sudo apt-get install libstdc++:i386 Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Hinweis: »libstdc++6-4.7-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.8-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-4.8-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.8-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.5-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.5-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.2-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.3-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.1-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-3.3-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-pic:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-3.3-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-4.8-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.0-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-3.3-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.5-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.0-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-4.8-dev-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.5-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-4.8-dev-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.0-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.3-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.1-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.1-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-3.3-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-3.3-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++3.0-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.0-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dev-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.5-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.1-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.2-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.2-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.3-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.2-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.8-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-3.3-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.8-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.8-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.1-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-pic:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.3-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.1-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++2.8-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.5-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-4.8-pic:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.3-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-4.8-dev-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++2.10-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.2-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.0-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.3-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5-3.3-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.0-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.5-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++2.9-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-dbg:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++-4.8-dev-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++5:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-dbg-ppc64el-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.0-dbg-arm64-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++2.9-glibc2.1-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.1-dbg-armhf-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.7-dev-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.4-dev:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.2-dbg-armel-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.2-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.3-doc:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-4.6-pic:i386« wird für regulären Ausdruck »libstdc++« gewählt. Hinweis: »libstdc++6-dbg-powerpc-cross:i386« wird für regulären Ausdruck »libstdc++« gewählt. libstdc++6:i386 ist schon die neueste Version. Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass Sie eine unmögliche Situation angefordert haben oder, wenn Sie die Unstable-Distribution verwenden, dass einige erforderliche Pakete noch nicht erstellt wurden oder Incoming noch nicht verlassen haben. Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen: Die folgenden Pakete haben unerfüllte Abhängigkeiten: libstdc++6-4.4-dev:i386 : Hängt ab von: g++-4.4:i386 (= 4.4.7-8ubuntu1) soll aber nicht installiert werden libstdc++6-4.6-dbg:i386 : Kollidiert mit: libstdc++6-4.4-dbg:i386 aber 4.4.7-8ubuntu1 soll installiert werden libstdc++6-4.6-dev:i386 : Hängt ab von: g++-4.6:i386 (= 4.6.4-6ubuntu2) soll aber nicht installiert werden libstdc++6-4.7-dbg:i386 : Kollidiert mit: libstdc++6-4.4-dbg:i386 aber 4.4.7-8ubuntu1 soll installiert werden Kollidiert mit: libstdc++6-4.6-dbg:i386 aber 4.6.4-6ubuntu2 soll installiert werden libstdc++6-4.8-dbg:i386 : Kollidiert mit: libstdc++6-4.4-dbg:i386 aber 4.4.7-8ubuntu1 soll installiert werden Kollidiert mit: libstdc++6-4.6-dbg:i386 aber 4.6.4-6ubuntu2 soll installiert werden Kollidiert mit: libstdc++6-4.7-dbg:i386 aber 4.7.3-12ubuntu1 soll installiert werden E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete. |
Folgende Befehl änderten nichts:
1 2 | sudo apt-get install -f sudo apt-get update |
Hier noch die Paketquellen:
1 2 3 4 5 6 7 8 9 10 11 12 | grep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list deb http://de.archive.ubuntu.com/ubuntu/ trusty main restricted deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted deb http://de.archive.ubuntu.com/ubuntu/ trusty universe deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates universe deb http://de.archive.ubuntu.com/ubuntu/ trusty multiverse deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates multiverse deb http://de.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu trusty-security main restricted deb http://security.ubuntu.com/ubuntu trusty-security universe deb http://security.ubuntu.com/ubuntu trusty-security multiverse deb http://archive.canonical.com/ubuntu trusty partner |
CPU- und Ram-Auslastung bleiben unter 20%, zumindest da ist also noch viel Luft nach Oben.
Da ich selbst nicht wirklich viel Ahnung von Linux habe bin ich hier am Ende meines Lateins angekommen und würde mich freuen, wenn mir jemand weiterhelfen kann.
Vielen Dank
TheOddo
Bearbeitet von JörnS:
Verschoben, da es sich um ein Problem mit dem Grafikkartentreiber handelt.