meh... the cpu is probably alot more bandwith limited than the cpu anyway so that contributes to slowness as well.
Announcement
Collapse
No announcement yet.
LLVMpipe rocks :)
Collapse
X
-
Libgl_always_software=1
for no other reason than someone might find this info useful sometime and they referenced an unnamed phoronix thread
>?lmos: BTW I found absolutely no docs about how to change the driver to softpipe from
> r300g. After hours of googling the only clue I found was
> 'LIBGL_ALWAYS_SOFTWARE=1' in a comment on a phoronix forum.
Marek Ol??k: Create an empty directory, add a swrast_dri.so symlink there that points to
swrastg_dri.so or whatever driver you need. Set LIBGL_DRIVERS_PATH for it to
contain the path to that directory. Every 3D application will then look for
$LIBGL_DRIVERS_PATH/r300_dri.so, which wouldn't be there. Then it will look for
$LIBGL_DRIVERS_PATH/swrast_dri.so and load it.
To get r300g:
LIBGL_DRIVERS_PATH=/home/..../mesa/lib/gallium glxinfo
To get r300c:
LIBGL_DRIVERS_PATH=/home/..../mesa/lib glxinfo
To get swrast:
ln -s /home/..../mesa/lib/swrast_dri.so /some-path/swrast_dri.so
LIBGL_DRIVERS_PATH=/some-path glxinfo
To get llvmpipe (assumming you build with --enable-gallium-llvm):
ln -s /home/..../mesa/lib/gallium/swrastg_dri.so /some-path/swrast_dri.so
LIBGL_DRIVERS_PATH=/some-path glxinfo
To get softpipe (assumming you build with --enable-gallium-llvm):
ln -s /home/..../mesa/lib/gallium/swrastg_dri.so /some-path/swrast_dri.so
LIBGL_DRIVERS_PATH=/some-path GALLIUM_DRIVER=softpipe glxinfo
Or you may use LIBGL_ALWAYS_SOFTWARE, but I don't use that.
Comment
-
Originally posted by darkbasic View PostThis is openarena@640x480 with lowest settings on my shitty Intel gma45:
Code:niko2@laptop ~ $ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 14.0 seconds 60.0 fps 6.0/16.7/57.0/3.0 ms
And this is with LLVMpipe on my *1.4Ghz* Core 2 duo ULV:
Code:niko2@laptop ~ $ LIBGL_ALWAYS_SOFTWARE=1 openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 35.6 seconds 23.6 fps 22.0/42.3/794.0/15.0 ms
Code:rune@runescomp:~$ LIBGL_ALWAYS_SOFTWARE=1 openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 152.8 seconds 5.5 fps 88.0/181.9/465.0/44.5 ms
Comment
-
Originally posted by runeks View PostThat's odd. I get 5.5 fps running lowest settings on my Core 2 Quad 2.83 GHz:
Code:rune@runescomp:~$ LIBGL_ALWAYS_SOFTWARE=1 openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 152.8 seconds 5.5 fps 88.0/181.9/465.0/44.5 ms
Comment
-
^
Yep, you are right:
Code:rune@runescomp:~$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep OpenGL OpenGL vendor string: Mesa Project OpenGL renderer string: Software Rasterizer OpenGL version string: 2.1 Mesa 7.10-devel OpenGL shading language version string: 1.20 OpenGL extensions:
I was actually going to try that, but I don't know where xorg-edgers have put the Gallium drivers now... They're not in /usr/lib/dri/gallium/ like they used to be. And libgl1-mesa-dri-experimental only contains the following:
Code:rune@runescomp:~$ dpkg -L libgl1-mesa-dri-experimental /. /usr /usr/lib /usr/lib/dri /usr/lib/dri/nouveau_dri.so /usr/share /usr/share/doc /usr/share/doc/libgl1-mesa-dri-experimental /usr/share/doc/libgl1-mesa-dri-experimental/changelog.gz /usr/share/doc/libgl1-mesa-dri-experimental/changelog.Debian.gz /usr/share/doc/libgl1-mesa-dri-experimental/copyright
Comment
-
Originally posted by runeks View Post^
Yep, you are right:
Code:rune@runescomp:~$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep OpenGL OpenGL vendor string: Mesa Project OpenGL renderer string: Software Rasterizer OpenGL version string: 2.1 Mesa 7.10-devel OpenGL shading language version string: 1.20 OpenGL extensions:
I was actually going to try that, but I don't know where xorg-edgers have put the Gallium drivers now... They're not in /usr/lib/dri/gallium/ like they used to be. And libgl1-mesa-dri-experimental only contains the following:
Code:rune@runescomp:~$ dpkg -L libgl1-mesa-dri-experimental /. /usr /usr/lib /usr/lib/dri /usr/lib/dri/nouveau_dri.so /usr/share /usr/share/doc /usr/share/doc/libgl1-mesa-dri-experimental /usr/share/doc/libgl1-mesa-dri-experimental/changelog.gz /usr/share/doc/libgl1-mesa-dri-experimental/changelog.Debian.gz /usr/share/doc/libgl1-mesa-dri-experimental/copyright
Comment
-
LIBGL_ALWAYS_SOFTWARE=1 uses swrast by default not llvmpipe. As was noted previously, see this link to force which 3D driver is used:
Comment
-
Thanks for the input all. You're right, xorg-edgers don't package llvmpipe, so I had to build it myself. I finally got around to doing that:
Runs at a respectable ~30 fps:
Code:rune@runescomp:~/Programming/mesa$ glxinfo | grep OpenGL OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe OpenGL version string: 2.1 Mesa 7.11-devel OpenGL shading language version string: 1.20 OpenGL extensions: rune@runescomp:~/Programming/mesa$ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 30.5 seconds 27.6 fps 15.0/36.3/1021.0/16.0 ms
Code:rune@runescomp:~/Programming/mesa$ glxinfo | grep OpenGL OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RV670 OpenGL version string: 1.4 (2.1 Mesa 7.11-devel) OpenGL extensions: rune@runescomp:~/Programming/mesa$ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 36.2 seconds 23.2 fps 2.0/43.1/109.0/19.6 ms
Here's 1600x1200 for a comparison:
Code:rune@runescomp:~/Programming/mesa$ glxinfo | grep Gallium OpenGL renderer string: Gallium 0.4 on llvmpipe rune@runescomp:~/Programming/mesa$ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 76.1 seconds 11.0 fps 53.0/90.6/787.0/22.6 ms
Code:rune@runescomp:~/Programming/mesa$ glxinfo | grep Gallium OpenGL renderer string: Gallium 0.4 on AMD RV670 rune@runescomp:~/Programming/mesa$ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 43.2 seconds 19.5 fps 3.0/51.4/113.0/21.1 ms
Hmm, by closer look I notice the r600g driver only supports OpenGL 1.4, could that be the problem? Falling back to software to reach version 2.1, or whatever is required by OpenArena?
Comment
-
I must have messed something up, probably setting LD_LIBRARY_PATH to something invalid. I'm getting proper framerates on r600g now.
At 640x480, a whopping 58 fps from llvmpipe vs. 72 fps for r600g:
Code:rune@runescomp:~/Programming/mesa$ LD_LIBRARY_PATH=/home/rune/Programming/mesa/lib LIBGL_DRIVERS_PATH=/home/rune/Programming/mesa/lib/gallium/ glxinfo | grep OpenGL OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe OpenGL version string: 2.1 Mesa 7.11-devel OpenGL shading language version string: 1.20 OpenGL extensions: rune@runescomp:~/Programming/mesa$ LD_LIBRARY_PATH=/home/rune/Programming/mesa/lib LIBGL_DRIVERS_PATH=/home/rune/Programming/mesa/lib/gallium/ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 14.5 seconds 57.8 fps 7.0/17.3/355.0/10.2 ms rune@runescomp:~/Programming/mesa$ glxinfo | grep OpenGL OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RV670 OpenGL version string: 2.1 Mesa 7.11-devel OpenGL shading language version string: 1.20 OpenGL extensions: rune@runescomp:~/Programming/mesa$ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 11.6 seconds 72.3 fps 4.0/13.8/50.0/2.6 ms
Code:rune@runescomp:~/Programming/mesa$ LD_LIBRARY_PATH=/home/rune/Programming/mesa/lib LIBGL_DRIVERS_PATH=/home/rune/Programming/mesa/lib/gallium/ glxinfo | grep OpenGL OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe OpenGL version string: 2.1 Mesa 7.11-devel OpenGL shading language version string: 1.20 OpenGL extensions: rune@runescomp:~/Programming/mesa$ LD_LIBRARY_PATH=/home/rune/Programming/mesa/lib LIBGL_DRIVERS_PATH=/home/rune/Programming/mesa/lib/gallium/ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 41.5 seconds 20.2 fps 31.0/49.4/519.0/14.0 ms rune@runescomp:~/Programming/mesa$ glxinfo | grep OpenGL OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RV670 OpenGL version string: 2.1 Mesa 7.11-devel OpenGL shading language version string: 1.20 OpenGL extensions: rune@runescomp:~/Programming/mesa$ openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames' 840 frames 11.0 seconds 76.7 fps 2.0/13.0/51.0/5.0 ms
Comment
-
Originally posted by runeks View PostI'm still impressed by llvm(pipe). r600g frame rate seems to be limited to vsync though, and vblank_mode=0 doesn't seem to help.
Code:vblank_mode=0 glxgears ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option vblank_mode overridden by environment. 4469 frames in 5.0 seconds = 893.767 FPS
Comment
Comment