Comment # 138 on bug 60879 from
I don't think we should use X if we know that the GPU driver is totally broken.
Piglit should be used for such testing.

How to build it:

1) Mesa should be built with:
--with-egl-platforms=x11,drm
This is also required for X acceleration, so it should be set already.

2) Build and install waffle:
git://github.com/waffle-gl/waffle

3) Build piglit (no install):
https://cgit.freedesktop.org/piglit/
Configure it with ccmake and enable waffle.


How to get ready:
1) Boot with the "text" kernel parameter (disables X) and also add
"radeon.lockup_timeout=0" to prevent the kernel driver from trying to recover
from GPU hangs.
2) Go to the piglit/bin directory.
3) Type: export PIGLIT_PLATFORM=gbm


Tests to run:

1) If this works, most things will work:
./fbo-generatemipmap-formats -auto

2) Something simpler:
./ext_transform_feedback-position -auto

3) You can invoke very simple internal driver tests by setting GALLIUM_TESTS=1.
This will exit before the program can do something, so the executable doesn't
matter. For example:
GALLIUM_TESTS=1 ./ext_transform_feedback-position


Diagnosing GPU hangs:

If the GPU hangs during these tests, you can see errors in dmesg. I recommend
using radeontop for overview of which GPU hw blocks are busy. If some blocks
report 100% activity for no reason, they are stuck.

Which blocks are stuck is the first piece of information we need to know. Then,
we need to know if any internal driver tests pass if you run something with
GALLIUM_TESTS=1 (see above).


You are receiving this mail because: