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 here: * 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. Thanks, Bake [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. _______________________________________________ gNewSense-users mailing list gNewSense-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/gnewsense-users