Request: sync new agpgart & drm modules for 50% DRI performance boost with Intel users

Bug #88918 reported by Conn O Griofa
10
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
linux-source-2.6.22 (Ubuntu)
Won't Fix
Wishlist
Ben Collins
mesa (Ubuntu)
Invalid
Undecided
Unassigned
xserver-xorg-video-i810 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: linux-source-2.6.20

Hello,

Since mesa 6.5.2 and xorg 7.2 has been introduced to Feisty, I propose that Ubuntu's drm and agp kernel drivers be updated to allow the new DRI memory management system to become functional.

See here:
git://anongit.freedesktop.org/git/mesa/linux-agp-compat
git://anongit.freedesktop.org/git/mesa/drm
http://www.mesa3d.org/relnotes-6.5.2.html

Once the new xserver-xorg-video-i810 drivers are updated, a new option called "Legacy3D" will allow you to enable or disable mesa's new DRI memory management & i915tex (see mesa's release notes). However, Ubuntu's kernel has an outdated version of agpgart and the drm kernel modules.

If you incorporate these modules, the following will occur (observed on my system with an Intel 82855GM card):
1. Still using Intel's stable i915_dri.so, fps in ppracer will improve from ~20fps to ~30fps
2. Using the new i915_tex.so driver, fps in ppracer will improve from ~20fps to 40-45fps

I have pre-built these modules and put together a hacky archive built against linux-2.6.20-9-generic; if you wish to test see my post here: http://www.ubuntuforums.org/showpost.php?p=2229269&postcount=23

Revision history for this message
Conn O Griofa (psyke83) wrote :

Aside from performance improvements, I believe that this update is genuinely necessary for proper 3D peformance. Using Feisty's latest packages, vertical sync doesn't function properly at all, with jerky movement and tearing still present.

Test yourself if you have an Intel card; run an opengl app that features 2D side-scrolling (in this case, I tried the emulator gens w/opengl, running Sonic), and compare normal output with "vblank_mode=3" output; vertical sync doesn't seem to work properly at all.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

I have merged a new driver (1.6.5->1.7.4), maybe it is uploaded soon after herd5.

Revision history for this message
Conn O Griofa (psyke83) wrote :

Thanks Timo! I'm already using 1.7.4 here, but mesa performance didn't improve until I updated the kernel modules too. The new linux-agp-compat module (and up-to-date drm kernel modules too) seems necessary to enable DRI properly.

Daniel T Chen (crimsun)
Changed in linux-source-2.6.20:
importance: Undecided → Wishlist
status: Unconfirmed → Confirmed
Changed in mesa:
status: Unconfirmed → Rejected
Changed in xserver-xorg-video-i810:
status: Unconfirmed → Rejected
Revision history for this message
benobi (macbenobi) wrote :

Thanks for helping on that problem.
I can confirm that on my machine (intel i915, i810 driver) the update to xorg 7.2 made my beryl sluggish and jerky. Everything was running perfectly before that. Before people asks, my xorg.conf is fine and I've been messing with it has much as possible without any improvement.
Also, when using beryl, xorg memory consumption goes over the roof (taking over half of my 1gig without even accounting for beryl's comsumption). Updating Beryl from SVN changed nothing.

Right now, I'm considering going back to Edgy !

Changed in linux-source-2.6.20:
assignee: nobody → ben-collins
status: Confirmed → Fix Committed
Changed in linux-source-2.6.20:
status: Fix Committed → Fix Released
Revision history for this message
Conn O Griofa (psyke83) wrote :

Hi,

Running latest Feisty, Dell Inspiron 510m laptop, Pentium M 1.5Ghz, 256mb ram, Intel 82855GM. I've upgraded to kernel version 2.6.20-13, and saw in the changelog the relevant commit:

  * drivers/char/{agp/drm}: Resync with 2.6.21-rc4.
    - GIT-SHA 1eae0b2972e215e9f13b99b7fb64b90db04cc556

However, I still cannot activate the new drm memory manager. I'm attaching dmesg, Xorg.0.log, and xorg.conf with '"Legacy3D" "false"' option added.

With this configuration, 3D performance is the same as with 'Legacy3D "true"' (or with this option omitted altogether).

Thanks,
Conn

Revision history for this message
Conn O Griofa (psyke83) wrote :
Revision history for this message
Conn O Griofa (psyke83) wrote :
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Conn, I believe that the driver needs to be rebuilt. For instance the savage-dri is broken at the moment because of the update.

Revision history for this message
Che Guevara (che-guevara-3) wrote :

The thing is, current 2.6.21 as far as I am aware, STILL doesn't include the new intel DRM modules with the memory manager. See this novell bug for reference
https://bugzilla.novell.com/show_bug.cgi?id=255290

Revision history for this message
Conn O Griofa (psyke83) wrote :

Ben,

"Che" is correct; the newer drm module you synced is version 1.6.0 but the new memory manager needs version 1.7.0. Since we're so close to release, I'm not expecting this fix to be included in time, but the bug resolution status is wrong and perhaps should be relegated back to "Confirmed" or "In Progress".

Revision history for this message
Conn O Griofa (psyke83) wrote :

This was incorrectly marked fix released; Feisty did not contain the new DRM kernel modules required for Mesa. Re-assigning for Gutsy release.

Changed in linux-source-2.6.20:
status: Fix Released → New
Revision history for this message
Conn O Griofa (psyke83) wrote :

Considering that Mesa 7.0 has been released and will most likely enter Gutsy, it is more important than ever to provide the required versions of the drm and agpgart modules, or else the new DRI memory manager system will be rendered useless.

Revision history for this message
Conn O Griofa (psyke83) wrote :

It seems that linux-image-2.6.22-7-generic has support for the latest TTM memory manager in the agpgart.ko module, which is a good thing; however, we still need to sync the new drm modules (drm.ko, i915.ko, etc.) in order for this to work. I fetched the latest mesa/drm from git, compiled the modules and copied them over, and the new TTM memory manager now works. With this, Planet Penguin racer now runs at ~40fps, whereas before it ran at ~30fps. The only problem is that compiz doesn't work, but perhaps we need to sync an older version of the drm modules than what exists in the latest git.

Please, try to have everything in sync in time for Gutsy's release - I believe the other drivers aside from intel will migrate to this new TTM memory manager in the future.

Revision history for this message
Conn O Griofa (psyke83) wrote :

Since Gutsy seems to be aspiring for compiz-by-default in time for release, having the latest TTM support for Intel (and some ATI) cards is a high priority.

Michel Danzer (and others) introduced new "aiglx-zero-copy-tfp" patches into xf86-video-intel xf86-video-ati, xserver-xorg and mesa, designed to improve performance with compositing managers using EXA acceleration (especially with scrolling). While these patches are already included in Gutsy's packaged versions so far, until the new drm kernel modules are enabled, this new functionality will not work:

/var/log/Xorg.0.log:
(II) intel(0): Unable to use TTM-based memory manager with DRM version 1.6

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Conn,

It looks like this was never resolved for the Gutsy release. I'm retargeting this towards the upcoming Hardy kernel and have tagged it as "hardy-kernel-candidate". However against the linux-source-2.6.22 package this is being marked as "Won't Fix" as it does not meet the criteria for a stable release update. To learn more about the stable release update process please refer to https://wiki.ubuntu.com/StableReleaseUpdates . Thanks!

Changed in linux-source-2.6.22:
status: New → Won't Fix
Revision history for this message
Conn O Griofa (psyke83) wrote :

Leann,

Thanks for reassigning this bug. Having updated to the Hardy development release and custom compiling the requisite drm modules, it seems things things are working fine.

I noticed some interesting developments recently; as of version 2.2.0, the intel driver will default to EXA acceleration (which uses the new TTM memory manager, part of the new DRM kernel code) and it seems this new driver no longer differentiates between i915.dri and i915_tex.dri DRI modules, obsoleting the Legacy3D option. This means it's more important than ever to have up-to-date DRI functionality for Hardy's release, as running with older DRM kernel modules and libraries results in EXA being in a reduced-performance "compatibility mode", as warned in Xorg.0.log.

As for Gutsy, I'm aware it's too late to have this implemented, thanks. We should push this for consideration in linux-source-2.6.24, to be included with Hardy.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hardy Heron Alpha2 was recently released. It contains an updated version of the kernel. You can download and try the new Hardy Heron Alpha2 release from http://cdimage.ubuntu.com/releases/hardy/alpha-2/ . You should be able to then test the new kernel via the LiveCD. If you can, please verify if this bug still exists or not and report back your results. General information regarding the release can also be found here: http://www.ubuntu.com/testing/hardy/alpha2 . Thanks!

Changed in linux:
status: New → Incomplete
Revision history for this message
wolfger (wolfger) wrote :

Over 4 months without a response. We are closing this "linux (Ubuntu)" package bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status of the "linux (Ubuntu)" package, under the Status column, and change the Status back to "New". Thanks again!

Changed in linux:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.