Package Details: mach64drm 20160507-1

Git Clone URL: https://aur.archlinux.org/mach64drm.git (read-only)
Package Base: mach64drm
Description: Mach64 DRM module
Upstream URL: http://dri.freedesktop.org/wiki/DRM
Licenses: GPL
Submitter: lambchops468
Maintainer: trya
Last Packager: trya
Votes: 5
Popularity: 0.000000
First Submitted: 2008-06-21 14:27
Last Updated: 2016-05-07 11:19

Latest Comments

trya commented on 2015-02-22 21:57

Updated sources to build with linux 3.18.

trya commented on 2014-08-30 21:20

Updated sources to build with linux 3.16.

trya commented on 2014-04-11 14:01

Updated sources to build with linux 3.14.

trya commented on 2013-12-29 18:05

Updated sources to build with linux 3.12.

trya commented on 2013-01-30 10:59

Updated sources to build with linux 3.7.

trya commented on 2012-10-18 22:09

Updated sources to build with linux 3.6.

trya commented on 2012-10-18 11:05

The code is ready for 3.6, but the Makefile has a bug in the clean target. You'll have to wait a little before the update.

trya commented on 2012-09-18 15:57

@BenoitSvB: yes, you're right, DRI support in the xorg driver came back since July 17th. The instructions in the wiki still apply.

Anonymous comment on 2012-09-18 15:35

RE: 21 Jun 2012, [quote] ...Anyway, DRI is disabled on the xf86-video-mach64 package from [extra]. If you want to try the DRI driver, you have to rebuild xf86-video-mach64 with --enable-dri and build mach64-dri from the PKGBUILD: ...[endquote]

Is this still true?
We have mach64-dri 7.11.2-2 from [community] since 2012-06-28: http://www.archlinux.org/packages/community/i686/mach64-dri/ and xf86-video-mach64 6.9.3-1 from [extra] mentions optional DRI1 support from this mach64-dri: http://www.archlinux.org/packages/extra/i686/xf86-video-mach64/

trya commented on 2012-07-14 22:13

Normally, it should build without modification, since /lib is symlinked to /usr/lib. If you can't build, it probably means you have a problem with your filesystem hierarchy. Nonetheless, I edited my PKGBUILD in order to reflect the change, as it only applies to Arch.

cip91 commented on 2012-07-14 17:35

After the last update that makes that /lib is a simlink (at least, I think it's because of that) the package doesn't compile on linux-ck-pentm. I had to edit Makefile to make it work: I changed
KSRC=/lib/modules/`uname -r`/build
to
KSRC=/usr/src/linux-`uname -r`/
I don't know if there is a better solution, but this worked for me.

trya commented on 2012-06-21 11:33

@ismaelvc: the driver is already written, it was a figure of speech. :)
Nonetheless, it's in a real bad state, abandoned and incomplete. Actually, you don't need it (and the DRI drivers neither) in order to launch a X session. When X doesn't detect a screen, it's sometimes caused by a priority problem in the Xorg video driver choice. So, you should mention the particular driver you want to use in xorg.conf (as explained in the wiki: https://wiki.archlinux.org/index.php/Mach64).

Anyway, DRI is disabled on the xf86-video-mach64 package from [extra]. If you want to try the DRI driver, you have to rebuild xf86-video-mach64 with --enable-dri and build mach64-dri from the PKGBUILD: http://pastebin.com/QgEk4CqT

ismaelvc commented on 2012-06-21 05:25

I'm not sure, but I have done some test, I absolutely need this packages for X to detect the screen: I need both xf86-video-mach64 and xf86-video-ati as well as ati-dri, I don't know but I suppose the dri part is being provided by ati-dri, am I correct? I don't know how to write a driver, but maybe in the future lol, thanks again!

trya commented on 2012-06-17 11:02

Updated sources to build with linux 3.4.

@ismaelvc: the DRM module is the missing piece of software between the graphical hardware and the DRI driver in Mesa. The DRI is supposed to be OS-agnostic, so if you want direct rendering on your OS, you have to write a driver for the kernel in order to deal with OpenGL operations sent by the DRI.

ismaelvc commented on 2012-06-16 00:55

I wasn't able to build guys got this error; (but recently installed it in chakra with aur2ccr, before the mach64-dri removal from their repos)

http://pastebin.com/q5vWLR1s

Would you recomend me to try building also the mach64-dri with the PKGBUILD trya linked to. Or what would you suggest, I have had no problem with my arch install, but I don't really know much about driver related stuff. What is the purpose of this drm module, as far as I understand it porvides opengl right? I have an old laptop vaio with ati rage mobility agp2.

Thanks in advance!

Anonymous comment on 2012-03-16 14:57

OK thanks a lot for your explainations and the tip. That's really the Arch Way: we still have a choice =:)
Keep the good work..

trya commented on 2012-03-15 22:07

It's not really a big deal, Mesa never worked well with mach64 chips, you've got Composite and a high-res 24-bit display thanks to the good quality Xorg driver, which doesn't require this DRM module. Nevertheless, it's always possible to get the PKGBUILD for the previous branch of Mesa in order to build the old DRI drivers: http://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/mesa&id=aa3114cc6d0ea5ad48ecf9a3f0df94a8980222c5

trya commented on 2012-03-15 22:04

It's not really a big deal, Mesa never worked well with mach64 chips, you've got Composite and a high-res 24-bit display thanks to the good quality Xorg driver, which doesn't require this DRM module. Nevertheless, it's always possible to get the PKGBUILD for the previous branch of Mesa in order to build the old DRI drivers.

trya commented on 2012-03-15 22:04

It's not really a shame, Mesa never worked well with mach64 chips, you've got Composite and a high-res 24-bit display thanks to the good quality Xorg driver, which doesn't require this DRM module. Nevertheless, it's always possible to get the PKGBUILD for the previous branch of Mesa in order to build the old DRI drivers.

Anonymous comment on 2012-03-15 14:29

To all users of mach64drm: CAUTION with Mesa upgrade 8.0.1-2, because it goes only DRI2 !!!

The support of all old DRI(1) drivers (including our beloved Mach64) is ended, so there no more mach64_dri.so to be found, meaning no 3D (again) at the end.
You have to stick to mesa (and libgl) 7.11 and blacklist the upgrades in pacman.conf.
I just discovered it today when Pacman proposed me to erase the package mach64-dri, even if this was annouced last year:

Legacy Mesa Drivers Receive Their Death Sentence
http://www.phoronix.com/scan.php?page=news_item&px=OTgzMg (there'is also the devs mailing list thread link)

I've know ideas how long Xorg upgrades will play along, if we stick with mesa 7.11, we will see...

That's sad because with your job and the clever settings of Arch's wiki page, I can get in 2012 my VAIO (Mach64 8MB) doing 1024x768@24bpp (yes, 24!) + Composite enabled, something I've never achieved before =:(

trya commented on 2012-01-19 14:02

Updated sources to build with 3.2.

Birkov commented on 2012-01-19 01:19

==> Starting build()...
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make[1]: Entering directory `/usr/src/linux-3.2.1-1-ARCH'
CC [M] /tmp/packerbuild-0/mach64drm/mach64drm/src/mach64-20110417/mach64_drv.o
/tmp/packerbuild-0/mach64drm/mach64drm/src/mach64-20110417/mach64_drv.c:57:12: error: ‘THIS_MODULE’ undeclared here (not in a function)
/tmp/packerbuild-0/mach64drm/mach64drm/src/mach64-20110417/mach64_drv.c:93:15: error: expected declaration specifiers or ‘...’ before string constant
/tmp/packerbuild-0/mach64drm/mach64drm/src/mach64-20110417/mach64_drv.c:94:20: error: expected declaration specifiers or ‘...’ before string constant
/tmp/packerbuild-0/mach64drm/mach64drm/src/mach64-20110417/mach64_drv.c:95:16: error: expected declaration specifiers or ‘...’ before string constant
make[2]: *** [/tmp/packerbuild-0/mach64drm/mach64drm/src/mach64-20110417/mach64_drv.o] Error 1
make[1]: *** [_module_/tmp/packerbuild-0/mach64drm/mach64drm/src/mach64-20110417] Error 2
make[1]: Leaving directory `/usr/src/linux-3.2.1-1-ARCH'
make: *** [default] Error 2
==> ERROR: A failure occurred in build().
Aborting...
The build failed.

trya commented on 2011-06-13 16:58

Updated sources to build with 2.6.39.

trya commented on 2011-02-04 14:15

Updated sources to build with 2.6.37.

Anonymous comment on 2011-01-08 20:36

It Works!
Great job
Thanks a lot :)

trya commented on 2010-12-20 16:44

You did nothing wrong, the sources were outdated for this kernel version (I don't build this module very often).

But please, next time, put the console output in a pastebin.

trya commented on 2010-12-19 10:59

You did nothing wrong, the sources were outdated for this kernel version (I don't build this module very often).

But please, next time, put the console output a pastebin.

Anonymous comment on 2010-12-18 23:18

I have the following result:


make -C /lib/modules/`uname -r`/build M=`pwd` modules
make[1]: Wejście do katalogu `/usr/src/linux-2.6.36-ARCH'
CC [M] /tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_drv.o
CC [M] /tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_dma.o
CC [M] /tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_irq.o
CC [M] /tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.o
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:44:2: error: implicit declaration of function ‘DRM_IOCTL_DEF’
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:44:2: warning: missing braces around initializer
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:44:2: warning: (near initialization for ‘mach64_ioctls[0]’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:44:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:44:2: error: (near initialization for ‘mach64_ioctls[0].cmd’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:45:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:45:2: error: (near initialization for ‘mach64_ioctls[0].flags’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:46:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:46:2: error: (near initialization for ‘mach64_ioctls[0].func’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:47:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:47:2: error: (near initialization for ‘mach64_ioctls[0].cmd_drv’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:48:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:48:2: error: (near initialization for ‘mach64_ioctls[1].cmd’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:49:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:49:2: error: (near initialization for ‘mach64_ioctls[1].flags’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:50:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:50:2: error: (near initialization for ‘mach64_ioctls[1].func’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:51:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:51:2: error: (near initialization for ‘mach64_ioctls[1].cmd_drv’)
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:52:2: error: initializer element is not constant
/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.c:52:2: error: (near initialization for ‘mach64_ioctls[2].cmd’)
make[2]: *** [/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810/mach64_state.o] Błąd 1
make[1]: *** [_module_/tmp/yaourt-tmp-bubx/aur-mach64drm/src/mach64-20100810] Błąd 2
make[1]: Opuszczenie katalogu `/usr/src/linux-2.6.36-ARCH'
make: *** [default] Błąd 2
Przerywam...
==> ERROR: Makepkg was unable to build mach64drm.
==> Restart building mach64drm ? [y/N]
==> ----------------------------------
==>

What is wrong ?

trya commented on 2010-08-20 15:19

Oops, missed quotes. Thanks.

Anonymous comment on 2010-08-19 02:21

One small mistake prevents this package from installing properly.

--- a/mach64drm.install 2010-08-18 19:11:01.256666693 -0700
+++ b/mach64drm.install 2010-08-18 19:11:40.049999997 -0700
@@ -6,10 +6,10 @@
echo ""
echo "IMPORTANT NOTES"
echo "---------------"
- echo "- This DRM module is unstable and hasn't been updated
- echo " for long. It is very likely you will experience
+ echo "- This DRM module is unstable and hasn't been updated"
+ echo " for long. It is very likely you will experience"
echo " crashes if suspending or switching between X and VTs."
- echo "- Direct rendering doesn't work with 24bpp color depth.
+ echo "- Direct rendering doesn't work with 24bpp color depth."
echo " Configure your X server to use 16bpp or less."

trya commented on 2010-08-11 15:01

Either you build this package, or you compile and install the module with make; make install.

jackoneill commented on 2010-08-11 14:13

#TryA
Too bad I haven't a clue how to do any of that (the TODO list)...

Do you have some instructions for compiling this?

trya commented on 2010-08-10 17:51

I finally got it to compile out of the tree on newer kernels. Much simpler to install and maintain. It is still very unstable, but direct rendering works pretty well (16bpp is mandatory though). Feel free to take a look at the source tarball and more specifically at the TODO list if you can sort out something about it.