tech-x11 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: More amd64 drmkms radeon
Taylor R Campbell wrote:
> Date: Thu, 14 Aug 2014 19:21:51 +0100 (BST)
> From: Robert Swindells <rjs%fdy2.co.uk@localhost>
>
> X fails to start though with:
>
> [ 64.826] (II) AIGLX: Loaded and initialized
> /usr/X11R7/lib/modules/dri/r200_dri.so
> [ 64.826] (II) GLX: Initialized DRI2 GL provider for screen 0
> [ 64.848] (II) RADEON(0): Setting screen physical size to 480 x 270
> [ 66.187] Segmentation fault at address 0x0
>
> I can try debugging this and/or send the logs.
>
>Can you get a stack trace with gdb?
Have done but see below.
> The error is ENODEV (19) returned from the call to mmap(2) from bo_map()
> in xsrc/external/mit/libdrm/dist/radeon/radeon_bo_gem.c.
>
> The server is trying to allocate 16384 bytes for the cursor, the drm
> ioctl just before the mmap() returns 0x100000000 as the address to use.
>
> Adding some printfs to the kernel it doesn't look to be calling into
> the drm code from the mmap() syscall.
>
>Probably needs to be changed to use drmMap instead of mmap,
>un{til,less} we sort out getting proper mmap for non-vnode files.
Switching to drmMap() in libdrm_radeon does get a bit further, the
cursor allocations seem to work, but the implementation of drmUnmap()
just calls munmap(2) which panics the kernel, there doesn't seem to be
a DRM_IOCTL_MUNMAP defined.
On i386 with the RV280, the calls to drmMap() fail with an error 19.
Robert Swindells
Home |
Main Index |
Thread Index |
Old Index