FS#18378 - [nouveau-drm,xf86-video-nouveau] need upgrade/rebuild for libdrm 2.4.18
Attached to Project:
Arch Linux
Opened by Ray (ataraxia) - Wednesday, 17 February 2010, 23:22 GMT
Last edited by Andreas Radke (AndyRTR) - Friday, 19 February 2010, 09:06 GMT
Opened by Ray (ataraxia) - Wednesday, 17 February 2010, 23:22 GMT
Last edited by Andreas Radke (AndyRTR) - Friday, 19 February 2010, 09:06 GMT
|
Details
After upgrading to the just-released libdrm 2.4.18-1 (and
the new
xorg-server), I can no longer start X: drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 8, (OK) drmOpenByBusid: Searching for BusID pci:0000:01:00.0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 8, (OK) drmOpenByBusid: drmOpenMinor returns 8 drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0 (EE) [drm] failed to open device (EE) No devices detected. Fatal server error: no screens found I tried rebuilding xf86-video-nouveau against this new libdrm, but it doesn't compile: nouveau_xv.c: In function ‘nouveau_xv_bo_realloc’: nouveau_xv.c:251: error: ‘NOUVEAU_BO_TILED’ undeclared (first use in this function) nouveau_xv.c:251: error: (Each undeclared identifier is reported only once nouveau_xv.c:251: error: for each function it appears in.) make: *** [nouveau_xv.lo] Error 1 make: *** Waiting for unfinished jobs.... nv_accel_common.c: In function ‘NVAccelInitImageBlit’: nv_accel_common.c:273: error: ‘NV04_IMAGE_BLIT_DMA_NOTIFY’ undeclared (first use in this function) nv_accel_common.c:273: error: (Each undeclared identifier is reported only once nv_accel_common.c:273: error: for each function it appears in.) nv_accel_common.c:275: error: ‘NV04_IMAGE_BLIT_COLOR_KEY’ undeclared (first use in this function) nv_accel_common.c:279: error: ‘NV04_IMAGE_BLIT_CLIP_RECTANGLE’ undeclared (first use in this function) nv_accel_common.c:283: error: ‘NV04_IMAGE_BLIT_OPERATION’ undeclared (first use in this function) nv_accel_common.c:284: error: ‘NV04_IMAGE_BLIT_OPERATION_ROP_AND’ undeclared (first use in this function) nv_accel_common.c: In function ‘NVAccelInitScaledImage’: nv_accel_common.c:327: error: ‘NV04_SCALED_IMAGE_FROM_MEMORY_DMA_NOTIFY’ undeclared (first use in this function) nv_accel_common.c:337: error: ‘NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION’ undeclared (first use in this function) nv_accel_common.c:338: error: ‘NV04_SCALED_IMAGE_FROM_MEMORY_COLOR_CONVERSION_DITHER’ undeclared (first use in this function) nv_accel_common.c:340: error: ‘NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION’ undeclared (first use in this function) nv_accel_common.c:341: error: ‘NV04_SCALED_IMAGE_FROM_MEMORY_OPERATION_SRCCOPY’ undeclared (first use in this function) nv_accel_common.c: In function ‘NVAccelInitImageFromCpu’: nv_accel_common.c:436: error: ‘NV05_IMAGE_FROM_CPU_BETA4’ undeclared (first use in this function) nv_accel_common.c:439: error: ‘NV05_IMAGE_FROM_CPU_SURFACE’ undeclared (first use in this function) make: *** [nv_accel_common.lo] Error 1 Downgrading libdrm makes X work again. shining tells me (on arch-general) that an upgrade and rebuild of the nouveau packages will resolve this. |
This task depends upon
Closed by Andreas Radke (AndyRTR)
Friday, 19 February 2010, 09:06 GMT
Reason for closing: Fixed
Additional comments about closing: just reverted the API changes in libdrm.
Friday, 19 February 2010, 09:06 GMT
Reason for closing: Fixed
Additional comments about closing: just reverted the API changes in libdrm.
@Andreas: I used the commented line from your PKGBUILD of [xf86-video-nouveau] to re-clone the git-repository and the compiling errors are gone. However it does NOT solve the actual bug. Still looking further into it...
"1. Xorg fails to start with "(EE) [drm] failed to open device"
Did you miss the basic question "Are you using the latest code" above ? If you are using a 2.6.33 kernel from kernel.org , that nouveau code is not compatible with libdrm 2.4.18 or git. Either upgrade nouveau drm code (see InstallDRM) or use an old git version of libdrm and DDX, 2010-02-15 or older."
The mentioned 'basic question' a few lines above (still 'http://nouveau.freedesktop.org/wiki/TroubleShooting'):
"9. Are you using the latest code?
Make sure you use the latest available Nouveau code from the git repositories listed in FrontPage: DDX, DRM and Nouveau kernel. And this really means GIT, not your just distribution's latest package. GIT as of TODAY . Kernel.org git repositories do not count, use the freedesktop.org repositories. As long as Nouveau is in staging in the Linux kernel, the user space ABI can break. This means that the git version of libdrm or DDX does not work with the kernel.org version of Nouveau code, until the changes flow upstream."
1) Install xf86-video-nouveau-git from AUR
2) Get nouveau-drm from ABS, use the upstream master.tar.gz snapshot as source, build
If you are not able to do that, why use Arch at all ?
The biggest advantage of Arch is that packaging is simple, and building/editing packages when needed is easy.
This version of the code definitely does solve the problem, and even fixes a long-standing upstream bug! (http://bugs.freedesktop.org/show_bug.cgi?id=25036)
I didn't have to do anything unusual to build or use these packages. The PKGBUILDs should be directly usable by Andy (or any other dev) for official updates, with the exception of the URL of the source. Thanks to shining for reminding me that this might be a useful exercise.