[Openchrome-users] Direct Rendering is not enabled

Thomas Hellström unichrome
Mon Nov 28 16:19:05 PST 2005


> Hi!

>>
>> What does "glxgears" say when you run with LIBGL_DEBUG=verbose?
>
> Actually, I attached it in the previous e-mail. Now paste it here for your
> convinience:
> #sudo glxgears
> libGL: XF86DRIGetClientDriverName: 5.0.0 unichrome (screen 0)
> libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/unichrome_dri.so
> drmOpenByBusid: Searching for BusID PCI:1:0:0
> drmOpenDevice: node name is /dev/dri/card0
> drmOpenDevice: open result is 4, (OK)
> drmOpenByBusid: drmOpenMinor returns 4
> drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
>
> ERROR!  sizeof(VIADRIRec) does not match passed size from device driver
> __driCreateNewScreen_20050727 - succeeded
> libGL warning: 3D driver returned no fbconfigs.
> libGL error: InitDriver failed
> libGL error: reverting to (slow) indirect rendering
> 627 frames in 6.0 seconds = 104.500 FPS
> 600 frames in 5.0 seconds = 120.000 FPS
> 480 frames in 5.0 seconds = 96.000 FPS
> X connection to :0.0 broken (explicit kill or server shutdown).
>
Ah, sorry. I didn't catch that, and nor did I remember you were using a 64
bit system.

There is currently a bug in our building system for 64-bit, which I
haven't  had time to work around. The plain Xorg via driver will work,
whereas the openChrome driver will not. To make it work you will have to
do the following:

Edit the openChrome Imakefile file, and change the line

X_DRM_H_LOCATION = -I$(DRMSRCDIR)/shared -I$(XF86OSSRC)/shared/drm/kernel
to
X_DRM_H_LOCATION = -I$(DRMSRCDIR)/shared-core

Then change the line

DRIDEFINES = $(GLX_DEFINES)
to
DRIDEFINES = $(GLX_DEFINES) -D__linux__

Then

make Makefile
make clean
make
make install

And you should hopefully be OK.

The problem is that the DDX defines drm_handle_t as 64-bit whereas the DRI
driver defines it as 32-bit. With the above changes, it will be defined as
32-bit also in the DDX.

I'll figure out a clean way to do this and update our driver.
64-bit openChrome dri support is fairly new :)

/Thomas




More information about the Openchrome-users mailing list