LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Hardware acceleration for ATI video card problems? (http://www.linuxquestions.org/questions/linux-hardware-18/hardware-acceleration-for-ati-video-card-problems-784426/)

displacedtexan 01-24-2010 01:04 PM

Hardware acceleration for ATI video card problems?
 
So I have an old laptop that I am trying to install XBMC on to be able to watch movies on. This requires hardware accelerated OpenGL rendering.

I am using an old Panasonic CF-48 with a ATI Mach64 video card.

lspci -nn shows this:

01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Rage Mobility P/M AGP 2x [1002:4c4d] (rev 64)

There are several older guides on how to get hardware accelerating working, generally with instructions like this:

Code:

git clone git://anongit.freedesktop.org/git/mesa/drm
cd drm/linux-core/
make DRM_MODULES="mach64"

Unfortunately after doing this, there is no linux-core directory to cd into.

According to this site, the source is not being maintained anymore.

Quote:

The source is no longer maintained in freedesktop.org's libdrm git repo (git://anongit.freedesktop.org/git/mesa/drm). The people maintaining libdrm who own that repo have deleted the drm kernel modules (like the one this package packages), because these modules are being developed in the kernel's git tree (http://git.kernel.org/?p=linux/kerne.../linux-2.6.git). However, because mach64 has security issues, it is not in the kernel git tree, however, TryA has uploaded a package by the name of kernel26-mach64 to AUR patched to include these sources.
So, my question is how do I get hardware rendering working on this machine?

Anybody willing to help me do this?

Thanks!

adamk75 01-24-2010 07:20 PM

Did you try the instructions on that site? That's the only place I've heard of anyone getting the mach64 DRM to work on a recent kernel.

displacedtexan 01-25-2010 02:24 PM

Ok... I was able to compile the kernel module using code from here by reverting back to a version that had the missing linux-core directory:

Code:

mark@debian:~$ cd mach64
mark@debian:~/mach64$ cd drm
mark@debian:~/mach64/drm$ git checkout 2.4.15
Note: moving to "2.4.15" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b <new_branch_name>
HEAD is now at a107e5b... Bump to 2.4.15 for release.
mark@debian:~/mach64/drm$ git checkout -b 2.4.15
Switched to a new branch "2.4.15"
mark@debian:~/mach64/drm$ cd linux-core
mark@debian:~/mach64/drm/linux-core$

Now, when I copy both compiled kernel modules (drm.ko and mach64.ko) to /lib/modules/2.6.26-2-686/kernel/drivers/char/drm, my machine will not boot. I get two flashing leds (don't know what that means). I had to start in single user mode and revert drm.ko back to the original (thank goodness I kept a backup copy).

When I get it to successfully boot and run modprobe mach64 I get:

Code:

[  592.857090] mach64: disagrees about version of symbol drm_open
[  592.857127] mach64: Unknown symbol drm_open
[  592.857298] mach64: disagrees about version of symbol drm_fasync
[  592.857305] mach64: Unknown symbol drm_fasync
[  592.857475] mach64: disagrees about version of symbol drm_poll
[  592.857482] mach64: Unknown symbol drm_poll
[  592.857714] mach64: disagrees about version of symbol drm_core_get_reg_ofs
[  592.857722] mach64: Unknown symbol drm_core_get_reg_ofs
[  592.857924] mach64: disagrees about version of symbol drm_pci_alloc
[  592.857932] mach64: Unknown symbol drm_pci_alloc
[  592.858102] mach64: disagrees about version of symbol drm_irq_uninstall
[  592.858110] mach64: Unknown symbol drm_irq_uninstall
[  592.858514] mach64: Unknown symbol drm_get_dev
[  592.858721] mach64: disagrees about version of symbol drm_ioctl
[  592.858728] mach64: Unknown symbol drm_ioctl
[  592.858896] mach64: disagrees about version of symbol drm_exit
[  592.858903] mach64: Unknown symbol drm_exit
[  592.859072] mach64: disagrees about version of symbol drm_getsarea
[  592.859079] mach64: Unknown symbol drm_getsarea
[  592.859423] mach64: disagrees about version of symbol drm_core_ioremapfree
[  592.859431] mach64: Unknown symbol drm_core_ioremapfree
[  592.859603] mach64: disagrees about version of symbol drm_core_get_map_ofs
[  592.859611] mach64: Unknown symbol drm_core_get_map_ofs
[  592.859780] mach64: disagrees about version of symbol drm_init
[  592.859787] mach64: Unknown symbol drm_init
[  592.860195] mach64: Unknown symbol drm_handle_vblank
[  592.860466] mach64: Unknown symbol drm_cleanup_pci
[  592.860644] mach64: disagrees about version of symbol drm_pci_free
[  592.860651] mach64: Unknown symbol drm_pci_free
[  592.860821] mach64: disagrees about version of symbol drm_core_ioremap
[  592.860828] mach64: Unknown symbol drm_core_ioremap
[  592.861057] mach64: disagrees about version of symbol drm_mmap
[  592.861064] mach64: Unknown symbol drm_mmap
[  592.861286] mach64: disagrees about version of symbol drm_core_reclaim_buffers
[  592.861294] mach64: Unknown symbol drm_core_reclaim_buffers
[  592.861464] mach64: disagrees about version of symbol drm_release
[  592.861471] mach64: Unknown symbol drm_release
[  766.778915] mach64: disagrees about version of symbol drm_open
[  766.778955] mach64: Unknown symbol drm_open
[  766.779129] mach64: disagrees about version of symbol drm_fasync
[  766.779136] mach64: Unknown symbol drm_fasync
[  766.779306] mach64: disagrees about version of symbol drm_poll
[  766.779313] mach64: Unknown symbol drm_poll
[  766.779545] mach64: disagrees about version of symbol drm_core_get_reg_ofs
[  766.779553] mach64: Unknown symbol drm_core_get_reg_ofs
[  766.779755] mach64: disagrees about version of symbol drm_pci_alloc
[  766.779763] mach64: Unknown symbol drm_pci_alloc
[  766.779933] mach64: disagrees about version of symbol drm_irq_uninstall
[  766.779941] mach64: Unknown symbol drm_irq_uninstall
[  766.780410] mach64: Unknown symbol drm_get_dev
[  766.780624] mach64: disagrees about version of symbol drm_ioctl
[  766.780632] mach64: Unknown symbol drm_ioctl
[  766.780800] mach64: disagrees about version of symbol drm_exit
[  766.780807] mach64: Unknown symbol drm_exit
[  766.780975] mach64: disagrees about version of symbol drm_getsarea
[  766.780982] mach64: Unknown symbol drm_getsarea
[  766.781328] mach64: disagrees about version of symbol drm_core_ioremapfree
[  766.781336] mach64: Unknown symbol drm_core_ioremapfree
[  766.781508] mach64: disagrees about version of symbol drm_core_get_map_ofs
[  766.781516] mach64: Unknown symbol drm_core_get_map_ofs
[  766.781685] mach64: disagrees about version of symbol drm_init
[  766.781692] mach64: Unknown symbol drm_init
[  766.782017] mach64: Unknown symbol drm_handle_vblank
[  766.782267] mach64: Unknown symbol drm_cleanup_pci
[  766.782444] mach64: disagrees about version of symbol drm_pci_free
[  766.782451] mach64: Unknown symbol drm_pci_free
[  766.782620] mach64: disagrees about version of symbol drm_core_ioremap
[  766.782628] mach64: Unknown symbol drm_core_ioremap
[  766.782857] mach64: disagrees about version of symbol drm_mmap
[  766.782864] mach64: Unknown symbol drm_mmap
[  766.783109] mach64: disagrees about version of symbol drm_core_reclaim_buffers
[  766.783118] mach64: Unknown symbol drm_core_reclaim_buffers
[  766.783288] mach64: disagrees about version of symbol drm_release
[  766.783295] mach64: Unknown symbol drm_release

I am eager to resolve this if someone is willing to help.

Is it possible to use the mach64 kernel module on a recent kernel?

I can't be the only one who would like to get hardware acceleration working on an older laptop.

Thanks!

GreeGTheGeek 04-20-2010 03:27 AM

You're not alone
 
Hi displacedtexan,

Don't know how to help you, but I can tell that you're not alone to try to have 3D Hardware Direct Rendering on old laptop :).

I'm dealing with an ArchLinux (ATI mach64 rev2) and I had to switch to kernel 2.6.31 (by installing kernel26-mach64), as before X always told me DRMopenInit failed (with a 2.6.32 o 33).

Does not work yet (I would use 'gcompris' but is so slow without 3D), glxgears or glxinfo crash when I launch them, but there's no more 'EE' in X.log.0 and I even saw in it that everything look fine (DRM and DRI seems correctly initialized). Also modprobe mach64 is working now...

I would try to help you, but you seem more informed on DRI and DRM architecture than me (it take me so long to understand that there is TWO drives: one for DRI for the Video cards, and one for DRM for the kernel to talk to DRI drivers :s .......)

Cheers,
Greg

JashimChando 04-20-2010 11:35 AM

running the game for 3 hours and had...? Anyway I can fix it? Hardware, softare, PC maintenance, anything? I understand any of this so if you spot a problem tell me: CPU: 2 XP Home ; Service Pack 22600 Video card: ATI Mobility Radeon X1400 -Video Ram: 512MB -Video Card 3D Acceleration: Yes -Pixel shader: 3.0 Video card.

pixellany 04-20-2010 01:29 PM

Jashim;
Please remove the link from your signature.--If you want to advertise here, see the links at the bottom of the page.


All times are GMT -5. The time now is 01:51 AM.