Bug 99859

Summary: Glamor Crashes on big endian Hardware
Product: Mesa Reporter: intermediadc <intermediadc>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: blocker    
Priority: highest CC: erhard_f
Version: git   
Hardware: PowerPC   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: glamor build
xorg log
new xorg log
really new xorg.0.log
From xinit i have this log
Xorg log test one
Xorg log test two
new Xorg log
logs of Crarshes on Qoriq P5020
Mesa 13.06 complete buid log

Description intermediadc@hotmail.com 2017-02-19 08:53:34 UTC
Created attachment 129740 [details]
glamor build

When use radeon or amdgpu board that access on glamor module on bigendian 
Glamor crashes and Xorg dont run. The only way is rename or delete the xorg module glamoregl and the xorg run but without hw accelerations.

I build glamor module on my G5 Quad machine and probably all is because an endianes never resolved.
many people are reporting in the BE community the same issue with all the BE machine new too.

My configuration is PowerMac G5 Quad 8Gb and RadeonHd 7750 2Gb
Tested and issue present on:
Ubuntu Mate 15.x ,16,x 17,x 
Lubuntu 15.x 16.x 
Fedora 25 PPC64
Opnesuse PPC64 Tumblewee
Debian wheezy,Jessy,Sid

i atteched my glamor build on fedora PPC64. 
If something more is needed for resolve the issue pls ask i will glad to help.
Comment 1 intermediadc@hotmail.com 2017-02-19 09:42:35 UTC
Created attachment 129741 [details]
xorg log

my xorg log
Comment 2 Michel Dänzer 2017-02-20 03:48:24 UTC
A gdb backtrace of the crash is needed.
Comment 3 intermediadc@hotmail.com 2017-02-20 08:15:52 UTC
Hi Michael, 
i have to gdb the Xorg? is need to dowload some debug simbols.
if some one explain how to do i will made it ASAP because it is a really stultify error who made the machines not running the deskop.
Comment 4 Michel Dänzer 2017-02-20 08:17:54 UTC
See https://www.x.org/wiki/Development/Documentation/ServerDebugging/ for some details.
Comment 5 intermediadc@hotmail.com 2017-02-21 10:38:24 UTC
Hi Michael,
sorry for the late reply but i have issue in fedora 25 ppc64 with gdb and xorg.
if i start to made the xorg debug (i downloaded all the debug pakages) i have system stop with black screen and one cursor frozen on the screen top.

I will try to do the debugging on  Lubuntu hoping will have finally the debug file to share.
Comment 6 intermediadc@hotmail.com 2017-02-22 10:01:26 UTC
Hi Michael On Lubuntu Xorg geve me totally crashing with freezing of the machine with glitched graphic.
On one occasion i see a message of  ring 0 and ring 3 stalled with GPU lockup.
im sorry because im not able to bt the cache. :-/
Comment 7 intermediadc@hotmail.com 2017-02-22 19:35:38 UTC
Hi made more tests because cant produce a gdb log (see up)

but i understand one thing .
first of all:
on my quad g5 i have the RadeonHD 7750 as first 16x pcie 

0000:0a:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]
0000:0a:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]

and the open firmware nouveau as the 3rd pcie 
0001:06:00.0 VGA compatible controller: NVIDIA Corporation G70GL [Quadro FX 4500] (rev a1)


On my kernel 4.10.8 i dont have a nouveau module installed .
this is my kenrel append: 
nouveau.modeset=0 video=nouveaufb:off radeon.modeset=1 video=radeonfb:off pci=realloc radeon.dpm=1 pci=realloc video=offb:ff radeon.dpm=1 nosplash 


lsmod show  drm_kms_helper 2 amdgpu,radeon 

i removed the /etc/X11/xorg.conf 

If i made an xorg -configure , 
xorg produce a nouveau configuration xorg.conf on busid 6:0:0 
starting X made a black screen with cursor blinking 
so 
i removed the xorg driver for nouveau 
xorg -configure 
and xorg produce a modesetting xorg.conf on busid 6:0:0 
starting X made a black screen without blinking cursor 

so 
i removed the /usr/bin/xorg/modules/driver/modesetting 
and xorg -configure dont find any screen and not made any xorg.conf.new

i made my xorg.conf 
with radeon busid 10:0:0 
i have a glitched graphic ... 

i removed glemour module on xorg i have radeon working but without acceleration... thare is some other test i can do for understand how to fix this?
Comment 8 Michel Dänzer 2017-02-23 01:06:46 UTC
This bug report is about the glamor crash, so let's stick to that here. Any other issues would have to be tracked elsewhere.

I only now realized that you're trying to use glamor from the standalone repository. That one is obsolete, instead use glamor from the xserver tree. Instead of

 (II) Loading /usr/lib64/xorg/modules/libglamoregl.so
 (II) Module glamoregl: vendor="X.Org Foundation"
 	compiled for 1.19.1, module version = 0.6.0

it should say

 (II) Loading /usr/lib64/xorg/modules/libglamoregl.so
 (II) Module glamoregl: vendor="X.Org Foundation"
 	compiled for 1.19.1, module version = 1.0.0

in the Xorg log file.
Comment 9 intermediadc@hotmail.com 2017-02-23 02:59:18 UTC
hi Michel i build it my self because i have the same issue with the xorg one.
in case i will try to made all the needed test again and report
Comment 10 intermediadc@hotmail.com 2017-02-23 18:10:03 UTC
Created attachment 129882 [details]
new xorg log

This is the log of glamor 1.0 .
Note the same crash is present on Hardware Qoriq P5020,P5040,P1022 and Pat6 Semi.
i hope will produce the crash log
Comment 11 intermediadc@hotmail.com 2017-02-23 18:19:40 UTC
Created attachment 129883 [details]
really new xorg.0.log

im sorry i been copy before the wrong xorg log.

this is the right one
Comment 12 intermediadc@hotmail.com 2017-02-23 19:18:26 UTC
Created attachment 129884 [details]
From xinit i have this log

starting from xinit log gave this error hope can help
Comment 13 intermediadc@hotmail.com 2017-02-24 07:50:05 UTC
Hi Michel i been try to gdb the xorg.
if i run it from the host machine as standalone the result is the freezing of the 
G5 with the 7750.
for try to find i way i start running gdbserver on the host machine
where the guest was my Qoriq e5500 .
result was  the frozing of the guest.

On both machine there is fedora 25 ppc64 same version of Xorg the only difference is on the qoriq there is a 6570.

ciao
Luigi
Comment 14 intermediadc@hotmail.com 2017-02-25 21:05:08 UTC
Created attachment 129913 [details]
Xorg log test one

Hi michel,
probably i found the issue, all is related the mesa package.
the radeonsi made glamor crashing and system freezing.

this is my kernel log when radeonsi and egl library are  presents and freezing the system i will attach the xorg logs where you will  see without it glamor not crashing.
without egl present i dont have totally glitched graphic with fence errors but black screen with only white cursor


Feb 25 21:45:26 gigi-desktop kernel: [  292.171903] radeon 0000:0a:00.0: scheduling IB failed (-12).
Feb 25 21:45:26 gigi-desktop kernel: [  292.171984] [drm:.radeon_vce_get_create_msg [radeon]] *ERROR* radeon: failed to schedule ib (-12).
Feb 25 21:45:26 gigi-desktop kernel: [  292.172030] [drm:.radeon_vce_ib_test [radeon]] *ERROR* radeon: failed to get create msg (-12).
Feb 25 21:45:26 gigi-desktop kernel: [  292.172080] [drm:.radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 6 (-12).
Feb 25 21:45:26 gigi-desktop kernel: [  292.172093] radeon 0000:0a:00.0: scheduling IB failed (-12).
Feb 25 21:45:26 gigi-desktop kernel: [  292.172136] [drm:.radeon_vce_get_create_msg [radeon]] *ERROR* radeon: failed to schedule ib (-12).
Feb 25 21:45:26 gigi-desktop kernel: [  292.172180] [drm:.radeon_vce_ib_test [radeon]] *ERROR* radeon: failed to get create msg (-12).
Feb 25 21:45:26 gigi-desktop kernel: [  292.172229] [drm:.radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 7 (-12).
Feb 25 21:45:36 gigi-desktop kernel: [  302.197346] radeon 0000:0a:00.0: ring 0 stalled for more than 10432msec
Feb 25 21:45:36 gigi-desktop kernel: [  302.197362] radeon 0000:0a:00.0: GPU lockup (current fence id 0x0000000000000001 last fence id 0x0000000000000004 on ring 0)
Feb 25 21:45:36 gigi-desktop kernel: [  302.840463] radeon 0000:0a:00.0: Saved 209 dwords of commands on ring 0.
Feb 25 21:45:36 gigi-desktop kernel: [  302.840545] radeon 0000:0a:00.0: GPU softreset: 0x00000148
Feb 25 21:45:36 gigi-desktop kernel: [  302.840549] radeon 0000:0a:00.0:   GRBM_STATUS               = 0xA0003028
Feb 25 21:45:36 gigi-desktop kernel: [  302.840552] radeon 0000:0a:00.0:   GRBM_STATUS_SE0           = 0x00000006
Feb 25 21:45:36 gigi-desktop kernel: [  302.840555] radeon 0000:0a:00.0:   GRBM_STATUS_SE1           = 0x00000006
Feb 25 21:45:36 gigi-desktop kernel: [  302.840559] radeon 0000:0a:00.0:   SRBM_STATUS               = 0x20020EC0
Feb 25 21:45:36 gigi-desktop kernel: [  302.840616] radeon 0000:0a:00.0:   SRBM_STATUS2              = 0x00000000
Feb 25 21:45:36 gigi-desktop kernel: [  302.840620] radeon 0000:0a:00.0:   R_008674_CP_STALLED_STAT1 = 0x00000000
Feb 25 21:45:36 gigi-desktop kernel: [  302.840623] radeon 0000:0a:00.0:   R_008678_CP_STALLED_STAT2 = 0x00000000
Feb 25 21:45:36 gigi-desktop kernel: [  302.840626] radeon 0000:0a:00.0:   R_00867C_CP_BUSY_STAT     = 0x00000802
Feb 25 21:45:36 gigi-desktop kernel: [  302.840629] radeon 0000:0a:00.0:   R_008680_CP_STAT          = 0x800001E3
Feb 25 21:45:36 gigi-desktop kernel: [  302.840633] radeon 0000:0a:00.0:   R_00D034_DMA_STATUS_REG   = 0x44C83D57
Feb 25 21:45:36 gigi-desktop kernel: [  302.840636] radeon 0000:0a:00.0:   R_00D834_DMA_STATUS_REG   = 0x44C83D57
Feb 25 21:45:36 gigi-desktop kernel: [  302.840640] radeon 0000:0a:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x00000000
Feb 25 21:45:36 gigi-desktop kernel: [  302.840643] radeon 0000:0a:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x00000000
Comment 15 intermediadc@hotmail.com 2017-02-25 21:05:43 UTC
Created attachment 129914 [details]
Xorg log test two

without egl package.
Comment 16 intermediadc@hotmail.com 2017-03-01 17:11:01 UTC
Created attachment 130004 [details]
new Xorg log

Hi Michel,
today i made another test . i put the defaultdepth as 16 on xorg.conf and glemor didnt crashed. it means the bug come when the default depth is up to 16 and mesa radeonsi or egl load and acceleration in hw start run.
swrast is working without issue.
My xorg log is attached.
Comment 17 intermediadc@hotmail.com 2017-03-06 11:36:15 UTC
Created attachment 130087 [details]
logs of Crarshes on Qoriq P5020

Adding the crashes of Qoriq P5020 hw
Comment 18 intermediadc@hotmail.com 2017-05-21 10:03:05 UTC
I been swapped the gpu now i have on Qriq the Asus R7 250 2Gb gddr5
Same issue with this gpu too.

investigatig better i sow some waring when i build libdrm regarding si (down in the message) 
plus when glamor crashes it become because this message

radeon failed to allocate virtual address for buffers radeon size 8192 bytes 
radeon: aligment 16384 bytes 
radeon: domains 4
radeon: va : 0x8ec000
glamor failed to allocate 24x24 FBO due to GL_OUT_OF_MEMORY.(WW)
glamor expect reduced performance .Xorg: glamor_fbo.c:57
glamor_pixmap_ensure_fb: Assertion 'fbO->tex !=0'


(this are the warning of libdrm)

radeon_surface.c: In function ‘cik_surface_init’:
radeon_surface.c:1614:11: warning: ‘stencil_tile_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         r = si_surface_init_1d(surf_man, surf, surf->stencil_level, 1, stencil_tile_mode, surf->bo_size, 0);
         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
radeon_surface.c:2335:31: note: ‘stencil_tile_mode’ was declared here
     unsigned mode, tile_mode, stencil_tile_mode;
                               ^~~~~~~~~~~~~~~~~
radeon_surface.c: In function ‘si_surface_init’:
radeon_surface.c:1614:11: warning: ‘stencil_tile_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         r = si_surface_init_1d(surf_man, surf, surf->stencil_level, 1, stencil_tile_mode, surf->bo_size, 0);
         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
radeon_surface.c:1731:31: note: ‘stencil_tile_mode’ was declared here
     unsigned mode, tile_mode, stencil_tile_mode;
                               ^~~~~~~~~~~~~~~~~

hope will help 
thanks
Luigi
Comment 19 Michel Dänzer 2017-05-22 01:23:48 UTC
Sorry, I should have realized this earlier: The radeonsi driver is known not to work yet on big endian hosts. That probably explains the glamor failure.

(In reply to intermediadc@hotmail.com from comment #18)
> radeon_surface.c: In function ‘si_surface_init’:
> radeon_surface.c:1614:11: warning: ‘stencil_tile_mode’ may be used

FWIW, this is probably harmless. stencil_tile_mode is only used for stencil surfaces, the compiler isn't smart enough yet to realize that.
Comment 20 intermediadc@hotmail.com 2017-05-22 08:51:48 UTC
Thanks for the reply Michel,
i hope will be fixed because all actual gpu are using SI and this made Linux unusable on BE host if a new machine (like is mine) .
Comment 21 intermediadc@hotmail.com 2017-05-28 18:12:23 UTC
Created attachment 131554 [details]
Mesa 13.06 complete buid log

here there is my complete log of building mesa.
in this case are the mesa 13.06 i sow many warning an incompatible pointer in SI 
hope will help to resolve the SI issue on BE
Comment 22 intermediadc@hotmail.com 2017-07-06 18:38:02 UTC
last mesa xorg log

just to report.
different error. with last mesa dev
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.2.0-devel (git-f78aa2c986)



[  5057.542] (II) glamor: OpenGL accelerated X.org driver based.
[  5057.583] (EE)
[  5057.583] (EE) Backtrace:
[  5057.584] (EE) 0: /usr/libexec/Xorg (OsLookupColor+0x23c) [0x1021908c]
[  5057.585] (EE) 1: linux-vdso64.so.1 (?+0x23c) [0x3fff88570710]
[  5057.585] (EE) unw_get_proc_info failed: no unwind info found [-10]
[  5057.585] (EE)
[  5057.585] (EE) Segmentation fault at address 0x2b56ebec
[  5057.585] (EE)
Fatal server error:
[  5057.585] (EE) Caught signal 11 (Segmentation fault). Server aborting
Comment 23 erhard_f 2018-03-08 18:51:34 UTC
Tried Glamor on a more recent xorg stack on my PM G5 11,2 which works perfectly well! It's on a Radeon HD 6450 however, so a r600 card and not a radeonsi as the HD 7750.

I am running:
sys-kernel/gentoo-sources-4.9.85
x11-libs/libdrm-2.4.90
x11-drivers/xf86-video-ati-7.10.0
media-libs/mesa-18.0.0_rc4

[   153.370] (--) Depth 24 pixmap format is 32 bpp
[   153.372] (II) RADEON(0): [DRI2] Setup complete
[   153.372] (II) RADEON(0): [DRI2]   DRI driver: r600
[   153.372] (II) RADEON(0): [DRI2]   VDPAU driver: r600
[   153.374] (II) RADEON(0): Front buffer size: 8160K
[   153.374] (II) RADEON(0): VRAM usage limit set to 218116K
[   153.378] (II) RADEON(0): SYNC extension fences enabled
[   153.379] (II) RADEON(0): Present extension enabled
[   153.379] (==) RADEON(0): DRI3 enabled
[   153.379] (==) RADEON(0): Backing store enabled
[   153.379] (II) RADEON(0): Direct rendering enabled
[   153.484] (II) RADEON(0): Use GLAMOR acceleration.
[   153.485] (II) RADEON(0): Acceleration enabled
[   153.485] (==) RADEON(0): DPMS enabled
[   153.485] (==) RADEON(0): Silken mouse enabled
[   153.485] (II) RADEON(0): Set up textured video (glamor)
[   153.485] (II) RADEON(0): [XvMC] Associated with GLAMOR Textured Video.
[   153.485] (II) RADEON(0): [XvMC] Extension initialized.
[   153.485] (II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[   153.487] (--) RandR disabled
[   153.492] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[   153.492] (II) AIGLX: enabled GLX_ARB_create_context
[   153.492] (II) AIGLX: enabled GLX_ARB_create_context_profile
[   153.492] (II) AIGLX: enabled GLX_EXT_create_context_es{,2}_profile
[   153.492] (II) AIGLX: enabled GLX_INTEL_swap_event
[   153.492] (II) AIGLX: enabled GLX_SGI_swap_control
[   153.492] (II) AIGLX: enabled GLX_EXT_framebuffer_sRGB
[   153.492] (II) AIGLX: enabled GLX_ARB_fbconfig_float
[   153.492] (II) AIGLX: enabled GLX_EXT_fbconfig_packed_float
[   153.492] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
[   153.492] (II) AIGLX: enabled GLX_ARB_create_context_robustness
[   153.494] (II) AIGLX: Loaded and initialized r600
[   153.494] (II) GLX: Initialized DRI2 GL provider for screen 0
[   153.498] (II) RADEON(0): Setting screen physical size to 508 x 285

Only downside at the moment is that I need to run a 4.9.x kernel to get 2D/3D acceleration 'cause of bug #99851.
Comment 24 GitLab Migration User 2019-09-25 17:57:15 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1254.

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.