[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Purpose: how to provide a better user experience running a game



On Mon, Jul 19, 2010 at 5:47 PM, Hans de Goede <hdegoede@redhat.com> wrote:

> We have this small shell script which checks of 3d accel is available,
> and install a symlink to it called <gamename>-wrapper. The .desktop file
> for the games refer to <gamename>-wrapper and the shell script will either
> pop up a dialog that no 3d accel is available, or launch <gamename>

This script is broken. Primrose works fine on my system with nouveau
but no GPU-accellerated OpenGL but the script thinks it is not. Output
of the tests that the script is using:

pabs@chianamo:~$ glxinfo | grep "direct rendering: "
direct rendering: Yes
pabs@chianamo:~$ glxinfo | grep "OpenGL renderer string: Software Rasterizer"
OpenGL renderer string: Software Rasterizer

warzone2100 is almost playable on this system but chromium-bsu is not.
warzone2100 is a much more visually complex game but it runs faster
here. The script above breaks all 3 games but in reality only
chromium-bsu should be blocked and I really wonder if even that is a
good idea. The problem with chromium-bsu is probably a game design
issue rather than a problem with the mesa software renderer since the
chromium-bsu menu renders slowly and the warzone2100 one is perfectly
fine.

In any case the concept of just checking for the possibility of
rendering OpenGL on the GPU is stupid. The only way to tell if a game
can run acceptably on a specific system is to run it and see how fast
it goes. Firstly there is a huge variation in CPUs and GPUs out there.
There is no way to tell which of the two on a particular system will
be faster, especially when you bring in stuff like llvmpipe which runs
on the CPU and uses the various instruction set addons like SSE* to
speed up CPU-based rendering. Then add the games that gracefully
degrade their visual quality when the OpenGL library is either too
slow or don't support certain OpenGL features. This is just for 2D
stuff, but in benchmarks GPUs can actually lose against the CPU and
the individual benchmark can differ between programs:

http://blogs.gnome.org/otte/2010/06/26/fun-with-benchmarks/

No, we cannot write hundreds of UIs, but we can file bugs upstream
asking for the games to fail gracefully and sending patches where we
are able.

Personally, I feel that people who are dependent on buggy proprietary
drivers just cannot be helped, their complaints should be directed to
the company that is responsible for maintaining those drivers.

-- 
bye,
pabs

http://wiki.debian.org/PaulWise


Reply to: