Bug 499465 (games, issues, OpenGL)

Summary: Almost impossible to play opengl games on ati open drivers
Product: [Fedora] Fedora Reporter: ufa <ufa>
Component: xorg-x11-drv-atiAssignee: Dave Airlie <airlied>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: rawhideCC: eddie, fdc, mcepl, ufa, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: sync-to-jira
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-05 11:18:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Xorg log
none
dmesg none

Description ufa 2009-05-06 18:40:02 UTC
Created attachment 342697 [details]
Xorg log

Description of problem:

Cannot play opengl games with my ati video card (radeon x1550 - r515) with open drivers.

Games tested:

- Quake 1 with darkplaces engine:
  When in F10 ir runs well but got some random lockups and had to log on ssh and reboot the machine (aparently only X froze). Now in F11 I cant even start the game. It says: 

*********************************WARN_ONCE*********************************
File r300_render.c function r300Fallback line 463
Software fallback:ctx->Stencil.Ref[0] != ctx->Stencil.Ref[back] || ctx->Stencil.ValueMask[0] != ctx->Stencil.ValueMask[back] || ctx->Stencil.WriteMask[0] != ctx->Stencil.WriteMask[back]
***************************************************************************
segmentation fault

- Extremetuxracer
  Can play it but got some random lockups too

- supertuxkart
  random lockups and segfaults:
supertuxkart
Data files will be fetched from: '/usr/share/supertuxkart/'
Config directory '/home/ufa/.supertuxkart' successfully created.
New highscore file '/home/ufa/.supertuxkart/highscore.data' created.
*********************************WARN_ONCE*********************************
File r300_render.c function r300Fallback line 463
Software fallback:ctx->Stencil.Ref[0] != ctx->Stencil.Ref[back] || ctx->Stencil.ValueMask[0] != ctx->Stencil.ValueMask[back] || ctx->Stencil.WriteMask[0] != ctx->Stencil.WriteMask[back]
***************************************************************************
WARNING: Alsa source state: 4116
*********************************WARN_ONCE*********************************
File r300_render.c function r300Fallback line 454
Software fallback:ctx->RenderMode != GL_RENDER
***************************************************************************







Version-Release number of selected component (if applicable):

xorg-x11-drv-ati.x86_64                 6.12.2-4.fc11


How reproducible:
Depends of the game. Quake even starts, and the other locks X up at random.


Steps to Reproduce:

Play some opengl games and if it runs, wait for a lock up
  
Actual results:
X freezes

Expected results:
Good opengl performance without X freezes


Additional info: Tested with a Radeon X600 too. Same results

Comment 1 ufa 2009-05-06 18:41:26 UTC
Created attachment 342700 [details]
dmesg

Comment 2 François Cami 2009-05-06 18:46:24 UTC
Does this happen with up to date packages i.e. :
kernel-2.6.29.2-129.fc11.x86_64
xorg-x11-drv-ati-6.12.2-9.fc11.x86_64
mesa-libGL-7.5-0.14.fc11.x86_64
mesa-dri-drivers-7.5-0.14.fc11.x86_64

Could you test adding "nomodeset" to the kernel command line as well ?

Thanks in advance

---
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 3 ufa 2009-05-07 19:35:59 UTC
The kernel did not reached yum repos. Should I install these manually?

Comment 4 François Cami 2009-05-07 20:54:49 UTC
Yes, from :
http://koji.fedoraproject.org/koji/packageinfo?packageID=184
http://koji.fedoraproject.org/koji/packageinfo?packageID=8
please use xorg-x11-drv-ati from yum

---
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 5 ufa 2009-05-08 13:46:32 UTC
Now it is working (with some lag but the same framerate).
But some issues appeared.

- 1:  I got a kernel oops when I leave the game:

The data submitted is shown below:

BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffff811bc282>] __list_add+0x3f/0x81
PGD 12d01a067 PUD 12d019067 PMD 0 
Oops: 0000 [#1] SMP 
last sysfs file: /sys/devices/pci0000:00/0000:00:0e.0/0000:05:00.0/enable
CPU 1 
Modules linked in: ipt_MASQUERADE iptable_nat nf_nat bridge stp llc bnep sco l2cap bluetooth sunrpc nf_conntrack_netbios_ns ip6t_REJECT nf_conntrack_ipv6 ip6table_filter ip6_tables ipv6 cpufreq_ondemand powernow_k8 freq_table reiserfs dm_multipath kvm_amd kvm uinput snd_usb_audio snd_pcm pata_amd snd_timer snd_page_alloc firewire_ohci snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep firewire_core snd i2c_nforce2 ppdev k8temp parport_pc asus_atk0110 parport forcedeth crc_itu_t soundcore pcspkr hwmon ata_generic pata_acpi sata_nv radeon drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan]
Pid: 2134, comm: Xorg Not tainted 2.6.29.2-132.fc11.x86_64 #1 System Product Name
RIP: 0010:[<ffffffff811bc282>]  [<ffffffff811bc282>] __list_add+0x3f/0x81
RSP: 0018:ffff880121923b78  EFLAGS: 00010246
RAX: ffff88012da5a000 RBX: ffff88012da5a668 RCX: ffffffff00f7ff5f
RDX: ffff88012da5a668 RSI: 0000000000000000 RDI: ffff880121935e68
RBP: ffff880121923b98 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000fffff0 R11: ffffffffffffffff R12: 0000000000000000
R13: ffff880121935e68 R14: ffff88012da5a000 R15: 0000000000000000
FS:  00007f65a23687b0(0000) GS:ffff88012ecd8080(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000012dcf3000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process Xorg (pid: 2134, threadinfo ffff880121922000, task ffff88012198dc00)
Stack:
0000000000000000 ffff880121935e00 0000000000000000 ffff88012da5a020
ffff880121923ba8 ffffffffa00224dd ffff880121923bb8 ffffffffa0022517
ffff880121923c68 ffffffffa002406d ffff880121935e68 000000002d0850c0
Call Trace:
[<ffffffffa00224dd>] list_add_tail+0x15/0x17 [drm]
[<ffffffffa0022517>] drm_bo_add_to_lru+0x38/0x48 [drm]
[<ffffffffa002406d>] drm_bo_do_validate+0x48e/0x4f9 [drm]
[<ffffffffa001ac2e>] ? drm_mm_split_at_start+0x57/0x71 [drm]
[<ffffffffa0024e98>] drm_buffer_object_create+0x2e4/0x324 [drm]
[<ffffffffa005dd2a>] radeon_gem_object_alloc+0xcb/0x110 [radeon]
[<ffffffffa005ddc0>] radeon_gem_create_ioctl+0x51/0x106 [radeon]
[<ffffffffa005dd6f>] ? radeon_gem_create_ioctl+0x0/0x106 [radeon]
[<ffffffffa0012b7e>] drm_ioctl+0x20e/0x2c5 [drm]
[<ffffffff810e0e40>] vfs_ioctl+0x6f/0x87
[<ffffffff810e12db>] do_vfs_ioctl+0x462/0x4a3
[<ffffffff810e1372>] sys_ioctl+0x56/0x79
[<ffffffff8101133a>] system_call_fastpath+0x16/0x1b
Code: ec 08 4c 8b 42 08 49 39 f0 74 20 49 89 d1 48 89 f1 48 c7 c2 ca 01 4f 81 be 1a 00 00 00 48 c7 c7 7f 01 4f 81 31 c0 e8 25 c7 e8 ff <4d> 8b 04 24 49 39 d8 74 20 4d 89 e1 48 89 d9 48 c7 c2 17 02 4f 
RIP  [<ffffffff811bc282>] __list_add+0x3f/0x81
RSP <ffff880121923b78>
CR2: 0000000000000000
---[ end trace 25b28acd79e7e670 ]---

- 2: In terminal, the game (quake) complains:
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
...



- 3: I cannot boot anymore with the "nomodeset" boot flag. It throws me a blackscreen when the boot process finishes.

My setup:

mesa-libGL.x86_64  7.5-0.14.fc11
kernel: 2.6.29.2-132.fc11.x86_64
mesa-dri-drivers.x86_64:   7.5-0.14.fc11
xorg-x11-drv-ati.x86_64:    6.12.2-11.fc11

Comment 6 ufa 2009-05-08 23:33:44 UTC
Supertuxkart current status:

$ supertuxkart
Data files will be fetched from: '/usr/share/supertuxkart/'

Config file version '6' is too old.
The following changes have been applied in the current SuperTuxKart version:
Added nitro and drifting, removed jumping and wheelie.
This warning can be ignored, the config file will be automatically updated.
Highscore file format too old, a new one will be created.
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
*********************************WARN_ONCE*********************************
File r300_render.c function r300Fallback line 444
Software fallback:ctx->Stencil.Enabled && (ctx->Stencil.Ref[0] != ctx->Stencil.Ref[back] || ctx->Stencil.ValueMask[0] != ctx->Stencil.ValueMask[back] || ctx->Stencil.WriteMask[0] != ctx->Stencil.WriteMask[back])
***************************************************************************
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)
WARNING: Music not playing when it should be. Source state: 4116
CS section size missmatch start at (r300_cmdbuf.c,emit_cb_offset,254) 16 vs 7
CS section end at (r300_cmdbuf.c,emit_cb_offset,264)


and exits

Comment 7 Eddie Lania 2009-05-09 13:18:41 UTC
Running google earth produces same results:

googleearth 
*********************************WARN_ONCE*********************************
File r300_render.c function r300Fallback line 463
Software fallback:ctx->Stencil.Ref[0] != ctx->Stencil.Ref[back] || ctx->Stencil.ValueMask[0] != ctx->Stencil.ValueMask[back] || ctx->Stencil.WriteMask[0] != ctx->Stencil.WriteMask[back]
***************************************************************************

Comment 8 Eddie Lania 2009-05-16 19:13:02 UTC
Celestia is also very slow and stutters. Is this due to the same problem?

Comment 9 ufa 2009-05-30 11:40:09 UTC
With the 2.6.29.4-167.fc11.x86_64 kernel, the "CS section size" problem is gone, but I still get some lockups from the first post. 

I guess this is a Ati driver problem :(

Comment 10 Matěj Cepl 2009-06-05 11:18:50 UTC
I would venture to say that this is a duplicate of bug 495295. Closing.

*** This bug has been marked as a duplicate of bug 495295 ***

Comment 11 Fedora Update System 2015-08-18 01:11:48 UTC
reposurgeon-3.28-1.fc23 has been submitted as an update for Fedora 23.
https://admin.fedoraproject.org/updates/reposurgeon-3.28-1.fc23

Comment 12 Fedora Update System 2015-08-18 01:13:26 UTC
reposurgeon-3.28-1.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/reposurgeon-3.28-1.fc22

Comment 13 Fedora Update System 2015-08-18 01:14:55 UTC
reposurgeon-3.28-1.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/reposurgeon-3.28-1.el7