why drm?

Anton Shterenlikht mexas at bristol.ac.uk
Tue Feb 19 18:01:10 UTC 2013


	Date: Tue, 19 Feb 2013 17:21:39 +0100
	From: Andrea Venturoli <ml at netfence.it>
	To: freebsd-x11 at freebsd.org
	Subject: Re: why drm?

	On 02/19/13 09:22, Anton Shterenlikht wrote:
	>
	> I'm confused about DRM/DRI.

	Hi Anton.
	I waited before replying, since I'm no expert on this one; in fact I 
	share some of your doubts.
	However, since no one else stepped forward, I'll try what little I can.

Thanks for taking time to answer.

	> I've done some brief reading but still
	> not clear what these do, or
	> even if DRM and DRI do the same thing?

	Take a look at this:
	http://www.bitwiz.org.uk/s/how-dri-and-drm-work.html.

	I cannot verify if this is current or even correct, but there are some 
	sentences which might answer you:

	"The Direct Rendering Manager, DRM, is the kernel part of the wider 
	Direct Rendering Infrastructure (DRI)."...
	"With DRM in place, the X server uses the ioctl interface to pass its 
	commands down to the kernel."...
	""DRI" could be taken to mean the overall infrastructure which makes 
	accelerated rendering possible.  The DRI interface, which is what this 
	section is about, is specific to X."...
	"DRI is just one way to use the underlying DRM framework.  For instance, 
	there are other graphics systems (such as Wayland) which also use DRM to 
	access the hardware."

I'll have a full read later, but what you quote
does make some sense.

	> If I build a kernel with drm:
	>
	> # grep drm /root/kernels/BUZI
	> device          drm             # DRM core module required by DRM drivers
	> device          i915drm         # Intel i830 through i915
	> device          r128drm         # ATI Rage 128
	> device          radeondrm       # ATI Radeon
	> device          viadrm          # VIA
	> #
	>
	> (I probably don't need all these drm options)

	I have a Radeon too, although not the same model you have.
	I never compiled drm modules into the kernel, they get loaded dynamically.

Well, I prefer to link everything I need in the kernel,
but I guess I could've done it with modules.

	> 1. Do I need DRM/DRI. My understanding is
	> that X will do just as well without it,
	> perhaps a bit slower. Is that correct?

	I'm not sure you can run the Radeon driver without drm and radeon 
	modules; for sure you don't need them in the kernel.

Well, X certainly work for me with no drm at all.

	You could also try the VESA driver if speed is not an issue.

with vesa I get another error, forgot exactly what,
I think something about not finding the colour depth,
although I tried all values from 24 down to 1.

	Do you have a xorg.conf file? If so, what's in Section "Module"?

Section "Module"
        Load  "extmod"
        Load  "record"
        Load  "dbe"
        Load  "dri"
        Load  "dri2"
        Load  "glx"
EndSection

and it all loads fine:

(II) "extmod" will be loaded. This was enabled by default and also specified in the config file.
(II) "dbe" will be loaded. This was enabled by default and also specified in the config file.
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.
(II) "record" will be loaded. This was enabled by default and also specified in the config file.
(II) "dri" will be loaded. This was enabled by default and also specified in the config file.
(II) "dri2" will be loaded. This was enabled by default and also specified in the config file.

*skip*

(II) LoadModule: "dri"
(II) Loading /usr/local/lib/xorg/modules/extensions/libdri.so
(II) Module dri: vendor="X.Org Foundation"
        compiled for 1.7.7, module version = 1.0.0
        ABI class: X.Org Server Extension, version 2.0
(II) Loading extension XFree86-DRI
(II) LoadModule: "dri2"
(II) Loading /usr/local/lib/xorg/modules/extensions/libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
        compiled for 1.7.7, module version = 1.1.0
        ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DRI2


	> I'd be grateful for any advice or a link
	> to a relevant existing document.

	Unfortunately, with recent X, I always found it hard to find documents 
	which could stay "current" for a long time.


	HTH

	  bye
		av.

	P.S.
	So that other might help you, it would possibly be useful to know which 
	version of FreeBSD you are running.

This is 10.0-CURRENT #29 r246370M

M refers a patch by John Baldwin because my BIOS is
apparently broken.

Many thanks again

Anton


More information about the freebsd-x11 mailing list