PDA

View Full Version : mesa git


forum1793
05-28-2009, 04:35 PM
I'm getting errors trying to compile the mesa gits lately. I wiped it today and did a new clone. This with the libdrm from agd5f's 3d. I then switched to regular libdrm location.

I tried pointing (checkout) drm and mesa to different branches (r6xx...) and now have them both pointing back to master.

Latest error is:gcc -c -I. -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers -I/src/gallium/include -I/src/gallium/auxiliary -I/src/gallium/drivers -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../src/mesa/drivers/dri/common -I../../../../src/mesa -I../../../../include -I../../../../src/egl/main -I/usr/include/drm -O2 -fPIC -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fPIC -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS egl_context.c -o egl_context.o
In file included from egl_context.c:6:
egl_tracker.h:134: error: expected specifier-qualifier-list before 'drmModeModeInfoPtr'
gmake[4]: *** [egl_context.o] Error 1
Am I doing something wrong? If so, what?

edit: I should also point out that drm.ko and radeon.ko are also still from the 3d agd5f version. Could this be it?

agd5f
05-28-2009, 04:46 PM
configure mesa with --disable-gallium unless you are trying to build the gallium drivers which require updated drm headers.

forum1793
05-28-2009, 09:59 PM
That may have helped although the feedback lines during compile still show alot of gallium.

I'm using (your) libdrm from agd5f

mesa fails to compile due to missing intel headers that show up in current libdrm. I figured out which ones and simply copy them over.

Then,

Mesa from radeon-rewrite compiles but no r600 or dri. radeon-ati fails glxinfo.
Radeonhd works with glxinfo but fails with glxgears, Error: couldn't get an RGB, Double-buffered visual

mesa-r6xx-r7xx-support compiles and has r600 but dri doesn't work on hd3200 (780g).

Mesa (r6xx-rewrite) fails with:

gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm -O2 -fPIC -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fPIC -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_cmdbuf.c -o r200_cmdbuf.o
r200_cmdbuf.c:208:32: error: macro "radeon_bo_open" requires 7 arguments, but only 6 given
r200_cmdbuf.c: In function 'r200AllocEltsOpenEnded':
r200_cmdbuf.c:206: error: 'radeon_bo_open' undeclared (first use in this function)
r200_cmdbuf.c:206: error: (Each undeclared identifier is reported only once
r200_cmdbuf.c:206: error: for each function it appears in.)
gmake[5]: *** [r200_cmdbuf.o] Error 1

What am I doing wrong?

r6xx-rewrite looks most interesting to me as the git shows identifying something about the 780 id.

edit: it appears that radeon_bo_open is defined in radeon_bo_drm.h which is at mesa/src/mesa/drivers/drivers/radeon.

bridgman
05-28-2009, 10:17 PM
agd5f added a missing 780 pci ID to 6xx-rewrite a few days ago - 0x9610 IIRC. Does that match your hardware (lspci) ?

forum1793
05-28-2009, 11:09 PM
lspci shows: 01:05.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3200 Graphics


For r6xx-rewrite, I configured now with
--with-dri-drivers=swrast,radeon,r600
This worked and I did not get radeon_bo_open error.

But dri doesn't load and glxinfo fails

xorglog for ati X.Org X Server 1.4.2
X Protocol Version 11, Revision 0

(--) RADEON(0): Chipset: "ATI Radeon HD 3200 Graphics" (ChipID = 0x9610)
(WW) RADEON(0): R600 support is mostly incomplete and very experimental

(II) RADEON(0): ATOM BIOS Rom:
SubsystemVendorID: 0x1002 SubsystemID: 0x1002
IOBaseAddress: 0xee00
Filename: MA78M_S2H_HD
BIOS Bootup Message:
B27721 RS780 DDR2 200e/500m

(II) RADEON(0): Framebuffer space used by Firmware (kb): 16

(II) RADEON(0): Direct rendering not officially supported on RN50/RS600/R600

(==) RADEON(0): Backing store disabled
(WW) RADEON(0): Direct rendering disabled
(EE) RADEON(0): Acceleration initialization failed
(II) RADEON(0): Acceleration disabled
(**) Option "dpms" "true"
(**) RADEON(0): DPMS enabled

Likewise radeonhd doesn't have dri

X.Org X Server 1.4.2
X Protocol Version 11, Revision 0
Build Operating System: Slackware 12.2 Slackware Linux Project
(**) RADEONHD(0): Depth 24, (--) framebuffer bpp 32
(**) RADEONHD(0): Option "AccelMethod" "None"
(**) RADEONHD(0): Option "DRI" "on"
(**) RADEONHD(0): Option "HDMI" "all"
(WW) RADEONHD(0): All methods of acceleration have been disabled.
(--) RADEONHD(0): Detected an RS780 on an unidentified card

(II) RADEONHD(0): ATOM BIOS Rom:
SubsystemVendorID: 0x1002 SubsystemID: 0x1002
IOBaseAddress: 0xee00
Filename: MA78M_S2H_HD
BIOS Bootup Message:
B27721 RS780 DDR2 200e/500m

(WW) RADEONHD(0): Direct rendering for R600 and up forced on - This is NOT officially supported yet and may cause instability or lockups
(II) RADEONHD(0): Found libdri 5.4.0.
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenByBusid: Searching for BusID pci:0000:01:05.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenByBusid: drmOpenMinor returns 10
drmOpenByBusid: drmGetBusid reports pci:0000:01:05.0
(II) RADEONHD(0): Found libdrm 1.3.0.
(II) RADEONHD(0): Found radeon drm 1.29.0.
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"(II) Module "i2c" already built-in

(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension

(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: Searching for BusID pci:0000:01:05.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: drmOpenMinor returns 11
drmOpenByBusid: drmGetBusid reports pci:0000:01:05.0
(EE) AIGLX error: dlsym for __driCreateNewScreen_20050727 failed (/usr/lib64/xorg/modules/dri/r600_dri.so: undefined symbol: __driCreateNewScreen_20050727)
(EE) AIGLX: reverting to software rendering
(II) Loading sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Loading /usr/lib64/xorg/modules/extensions//libGLcore.so
(II) Module GLcore: vendor="X.Org Foundation"
compiled for 1.4.2, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) GLX: Initialized MESA-PROXY GL provider for screen 0
(II) RADEONHD(0): Setting screen physical size to 1040 x 580


edit: it appears that __driCreateNewScreen shows up in mesa/src/egl/drivers/dri/egldri.c and miniglx.c

glxinfo works but glxgears fails with same double buffer error.

Can I do anything else simple or just wait until further progress?

Thank you.

forum1793
05-31-2009, 09:05 AM
agd5f added a missing 780 pci ID to 6xx-rewrite a few days ago - 0x9610 IIRC. Does that match your hardware (lspci) ?

In case my previous response was not clear, you can see from xorg.log that I do have a 0x9610. The answer is yes.