drm/dri update

Hasso Tepper hasso at estpak.ee
Thu Feb 14 00:47:22 PST 2008

Petr Janda wrote:
> > 2) /dev/drm/card0 keeps disappearing due to make upgrade. Can adjust
> > the MAKEDEV script to create the nodes so they dont disappear?
> Sorry, I should have verified it. the /dev/dri/card0 node disappears on
> every reboot, not after make upgrade. Why is that? And what can we do
> to fix it, other than but running mknod on every start up?

It disappears if X starts and has to load modules itself. It does some 
tricks with removing /dev entry, loading modules, creating entry again 
etc, but fails. It doesn't fail if you load modules yourself before 
starting X, but unfortunately loading modules from bootloader doesn't 
work either - drm stuff isn't detected in this case :(. This is the 
problem we need to fix as well ... corecode, any ideas?

But the point why this magic Xorg itself does fails, is that it has wrong 
knowledge about drm device major number used in DragonFly. Replace libdrm 
patch-ab in pkgsrc with attached patch, recompile, install and Xorg 
should be able to create dev entries correctly then.

--- ./libdrm/xf86drm.c.orig	2006-11-08 23:54:38 +0200
+++ ./libdrm/xf86drm.c	2008-02-14 10:14:55 +0200
@@ -62,12 +62,12 @@
 #include "xf86drm.h"
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 #define DRM_MAJOR 145
 #ifdef __NetBSD__
-#define DRM_MAJOR 34
+#define DRM_MAJOR 180
 # ifdef __OpenBSD__

More information about the Users mailing list