[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gNewSense-users] A case of older software outdoing newer

From: b3timmons
Subject: [gNewSense-users] A case of older software outdoing newer
Date: Sun, 07 Aug 2011 19:49:14 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Lest ye envy thy neighbor's newer nonfree software, note that newer is
not always better!

You might think of some hardware or software examples here, but I want
to describe what I believe is an underappreciated example that affects
quite a few people: video card software.

A big obstacle to using video cards is the dependence on nonfree
firmware.  We can avoid using it with the proper driver, but at a cost
of performance or features.

I have an ATI radeon video card driving a rotated display.  Much advice
out there suggests bad performance for many of these cards if the
firmware is not used.  But this can be misleading: sometimes the right
software can make all of the difference and in this case it happens to
involve the ancient X11 software found in gNS deltah!

After occasional testing over the years, I found that versions of
xorg-server newer than 1.4.2 simply are unbearably slow here.  Moreover,
1.4.2 is also fastest for a system using an old Savage card. [1]

Note: for the radeon it's not quite that simple.  Another piece of this
software puzzle is the right driver, and, once again, "obsolete"
software comes to the rescue.  I did not notice RadeonHD in the gNS
package list, but it turns out to be what is needed here.

The free software RadeonHD driver has been abandoned for some time for
the "ati" driver, but it seems to me that it is underappreciated among
those of us trying to get good performance using only free software on
certain cheap and popular ATI cards.

In my case RadeonHD versions 1.25 and higher work well.  Some advice

* Try the latest git version and work backwards if you have to.

* Newer versions fix a bug that might hurt performance, so I undid the
  fix by deleting an exclamation mark in src/radeon_exa_render.c :

<       if (SetIGPMemory && ! RHD_MC_IGP_SideportMemoryPresent(rhdPtr)) {
>       if (SetIGPMemory && RHD_MC_IGP_SideportMemoryPresent(rhdPtr)) {

* Two options in the "Device" section of /etc/X11/xorg.conf helped me:

Option     "AccelMethod"        "exa"
Option     "OffscreenSize"      "16M"

  The first option gave more accurate performance for me than the "xaa"
  method, but the opposite may be true for you.

  The second option mattered to me because it is the minimum value
  needed for rotating the display using my cheap integrated video.

* Consider a tiling window manager.  I currently recommend StumpWM.

* What if you want the features of newer Xorg packages?  My current
  solution is like this -- I just installed my older X11 server software
  and driver in /usr/local.

In short, older software has allowed me to get reasonable performance
out of equipment while not compromising on freedom.  This is not the
first example for me and likely not the last.

I hope this info helped someone; if it intimidated any novice, please
take heart.  Read, learn from the experience of others, play around, and
find out what free software--even older free software--can do for you.


[1] In theory, I should file bug reports on these, but I hesitate.
First, X11 servers newer than 1.4.2 involved an overhaul of PCI device
detection code, and I suspect that addressing these performance
regressions would be tough.  Second, by now these cards are obsolete
hardware that programmers would care little about.  Third, I sense that
newer Xorg software increasingly assumes the use of firmware and not the
use of alternative methods of communicating with the video card.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]