Bug 52002

Summary: xserver 1.12.99.901 (1.13.0 RC 1) showing frozen screen.
Product: xorg Reporter: Jos van Wolput <wolput>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.log
none
dri_interface.h from mesa none

Description Jos van Wolput 2012-07-12 08:02:03 UTC
Created attachment 64134 [details]
Xorg.log

I tried xserver 1.12.99.901 (1.13.0 RC 1) but it ends showing a frozen screen.
I'm using Debian/Sid with the latest git versions of input-evdev, video-ati,
libX11 and mesa.
My system is AMD64 with ATI Radeon HD 3200 Graphics.
My xorg.conf:
----
Section "Device"
    Identifier	"ATI Radeon"
    Driver	"ati"
#    Driver	"r600g"
    Option		"ColorTiling2D"	"on"
    Option		"DRI" "on"
    Option		"EnablePageFlip" "on"
    Option		"AccelDFS" "on"
EndSection

Section "InputClass"
	Identifier "Keyboard Defaults"
	MatchIsKeyboard		"yes"
	Option		"XkbModel"	"pc105"
	Option		"XkbVariant"	"intl"
	Option		"XkbOptions"	"compose:lwin"
#	Option		"XkbOptions"	"lv3:ralt_switch"
EndSection
----
A lot of features don't appear in Xorg.log such as evdev, DRI2,
GLX: Initialized DRI2 GL provider for screen 0, and many more.
It also didn't work when using driver r600g!
Comment 1 Michel Dänzer 2012-07-12 08:29:16 UTC
Your radeon driver was probably miscompiled, causing the X server to die due to an unresolved symbol. This would be visible in the X server stderr output, e.g. in the display manager log file.

Does re-running autogen.sh in the xf86-video-ati Git tree and recompiling the driver help?
Comment 2 Jos van Wolput 2012-07-12 12:49:51 UTC
(In reply to comment #1)
Making the driver clean, re-running autogen.sh and recompiling doesn't help.

The last line of lightdm x-0.log shows an undefined symbol in the radeon driver:
-----
/usr/bin/X: symbol lookup error: /usr/lib/x86_64-linux-gnu/xorg/modules/drivers/radeon_drv.so: undefined symbol: DRI2ScreenInit
-----
Comment 3 Michel Dänzer 2012-07-12 14:02:35 UTC
Did the xserver build produce libdri2.so? It should be loaded by default, but there's no trace of it in your log file.

Granted, the driver could probably handle this more gracefully, but I assume you want DRI2 anyway.
Comment 4 Jos van Wolput 2012-07-12 15:08:47 UTC
(In reply to comment #3)

No libdri2.so wasn't compiled. I upgaded dri2proto to the latest git version
and started rebuilding xserver. Unfortunately it no longer builds because of
the following error:
----
glxdri2.c: In function 'dri2_convert_glx_attribs':
glxdri2.c:431:24: error: '__DRI_API_OPENGL_CORE' undeclared (first use in this function)
glxdri2.c:431:24: note: each undeclared identifier is reported only once for each function it appears in
glxdri2.c:474:20: error: '__DRI_CTX_FLAG_DEBUG' undeclared (first use in this function)
glxdri2.c:474:20: error: '__DRI_CTX_FLAG_FORWARD_COMPATIBLE' undeclared (first use in this function)
glxdri2.c:486:9: warning: statement with no effect [-Wunused-value]
glxdri2.c: In function 'initializeExtensions':
glxdri2.c:902:29: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
glxdri2.c: In function '__glXDRIscreenProbe':
glxdri2.c:949:36: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
glxdri2.c:950:24: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
glxdri2.c: At top level:
glxdri2.c:393:1: warning: 'dri2_convert_glx_attribs' defined but not used [-Wunused-function]
make[1]: *** [glxdri2.lo] Error 1
make[1]: Leaving directory `/home/jos/src/xorg/xorg-server-1.12.99.901/glx'
make: *** [all-recursive] Error 1
-----
Comment 5 Michel Dänzer 2012-07-12 15:36:24 UTC
Looks like you need GL/internal/dri_interface.h from a newer version of Mesa.
Comment 6 Jos van Wolput 2012-07-12 15:53:15 UTC
(In reply to comment #5)
> Looks like you need GL/internal/dri_interface.h from a newer version of Mesa.

I'm already using the latest git version of mesa, and of drm, libX11, libxcb, libXi, xf86-video-ati and xf86-input-evdev.
/usr/include/GL/internal/dri_interface.h is the same as the one in mesa.
Comment 7 Michel Dänzer 2012-07-12 15:58:26 UTC
(In reply to comment #6)
> /usr/include/GL/internal/dri_interface.h is the same as the one in mesa.

So, does it contain those defines? If yes, is there another version of the header somewhere else that the build might be picking up? ...
Comment 8 Jos van Wolput 2012-07-13 02:20:37 UTC
Created attachment 64157 [details]
dri_interface.h from mesa

This is /usr/include/GL/internal/dri_interface.h provided by mesa (git version)

There was also an old version in /usr/local/include/ which I removed
but this doesn't fix the build issue.
Comment 9 Jos van Wolput 2012-07-13 02:34:33 UTC
This build issue is not new, I previously filed Bug 51140 - git xserver fails to build.
No such issue with xserver-db9d2b8 and previous ones.
Comment 10 Michel Dänzer 2012-07-13 10:07:47 UTC
I don't see how the xserver build can pick up the dri_interface.h file you attached and fail with the errors in comment #4...
Comment 11 Jos van Wolput 2012-07-13 10:58:43 UTC
(In reply to comment #10)
It will stay a mystery!
Since today's last git xserver-d5977e5, xf86: include xf86platformBus.h in xf86AutoConfig.c no more build issues.
This bug can be closed.

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.