Bug 33790

Summary: [r300g] Black windows with opengl apps (ex. glxgears)
Product: Mesa Reporter: speps <dreamspepser>
Component: Drivers/Gallium/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTOURBUG QA Contact:
Severity: major    
Priority: medium    
Version: 7.10   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: related xorg log

Description speps 2011-01-31 17:28:01 UTC
Created attachment 42786 [details]
related xorg log

Card: ATI Mobility Radeon x1600 (RV530)
OS: Arch Linux with official latest mesa 7.10
Other: xf86-video-ati 6.13.2 - xorg-server 1.9.3.901

Hi, i cannot get any opengl to work with r300g,
when i launch glxgears i get a black window with no output.

ltracing i notice it get stuck on a glClear call
$ ltrace glxgears
...
XPending(0x18e4010, 0x3f800000, 0x3f80000000000000, 0, 0) = 0
gettimeofday(0x7fff7a6ccad0, 0x7fff7a6ccb50) = 0
glClear(16640, 0x7fff7a6ccb50, 0x18e5778, -1, 1 <unfinished ...>

Mesa is build with
./configure --prefix=/usr \
    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
    --disable-egl \
    --enable-gallium-radeon \
    --enable-gallium-nouveau \
    --enable-glx-tls \
    --with-driver=dri \
    --enable-xcb \
    --with-state-trackers=dri,glx \
    --disable-glut

as you can check here:
http://projects.archlinux.org/svntogit/packages.git/tree/mesa/trunk/PKGBUILD

7.9 is also affected by the same behaviour, as reported on archlinux forums:
https://bbs.archlinux.org/viewtopic.php?pid=886465

Thanks
Comment 1 Marek Olšák 2011-02-10 18:25:03 UTC
Does the problem go away with the Mesa master branch?
Comment 2 Marek Olšák 2011-03-29 17:04:28 UTC
Can you set this environment variable:

RADEON_THREAD=0

and try again?
Comment 3 Marek Olšák 2011-03-29 17:08:49 UTC
(In reply to comment #2)
> Can you set this environment variable:
> 
> RADEON_THREAD=0
> 
> and try again?

Please, ignore this. I forgot there is no thread offloading in 7.10.
Comment 4 speps 2011-08-05 10:06:56 UTC
With newer 7.11 release, this bug is still present.
I managed to solve this by creating an .drirc file with:

<driconf>
    <device screen="0" driver="dri2">
        <application name="all">
            <option name="vblank_mode" value="0" />
        </application>
    </device>
</driconf>

It works in the same way with vblank_mode setted to 0 or 1,
seems like vblank_mode is unsetted by default and cause the blank output.

Btw, glxgears FPS is still low with about ~400 FPS and glxgears_pixmap
gives an even slower 2 FPS.
Comment 5 Alex Deucher 2011-08-05 10:45:00 UTC
vblank interrupts (or interrupts in general) may not be working on your system.  Try `cat /proc/interrupts` and see if the count on the radeon line increases.  If not, you might try booting with pci=nomsi or noapic or irqpoll on the kernel commandline in grub.
Comment 6 speps 2011-08-05 16:46:36 UTC
You got it,
adding pci=nomsi to kernel solves all issues.

Thanks a lot.

Framerate is high enough, and all opengl apps runs fine
even without .drirc (no blank output).
Is this a real solution or just a workaround for a known bug?

I found the same answer for another related bug (even without no success),
shouldn't this be FAQed somewhere?
Comment 7 Alex Deucher 2011-08-06 06:15:36 UTC
(In reply to comment #6)
> You got it,
> adding pci=nomsi to kernel solves all issues.
> Is this a real solution or just a workaround for a known bug?

It seems MSIs aren't working on your system.  Probably motherboard chipset issue or system bios bug.  You might want to bring it up on the linux kernel mailing list.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.