SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Rep:
Three MPlayer and Xine issues
On my ThinkPad T60 with ATI Mobility Radeon X1300 I use Slackware 13.0 with custom generic smp kernel 2.6.29.6 (the only difference between original and my custom kernel is replacing Tuz by Tux). Using these machine and system I encountered a few problems with playing movies from DVD discs and AVI files with MPlayer and Xine.
Aspect ratio issue (PARTIALLY SOLVED -- see: posts #9 and #10)
In that thread: Random system hang ups I described the problem caused by some dockable applications for Window Maker. The only method to avoid system hang ups is in my case to disable DRI and DRI2 in xorg.conf.
With DRI disabled MPlayer doesn't scale AVI files to full screen mode and scales panoramic DVD movies to 4:3 format changing them aspect ratio. Xine works well with both AVIs and DVDs.
So my first question is: Is there any method to enable MPlayer valid scaling with disabled DRI?
Skipping frames issue (SOLVED -- see: post #2)
When I try to play movies from DVDs with Xine it doesn't play them in a smooth way but skips from frame to frame – in small steps with DRI enabled and in big steps with DRI disabled. I encountered the similar problem in the past: Dark gray text on black background or psychedelic colors and 99% CPU in use. Then I installed fglrx driver by ATI to use it instead of generic radeon driver and I resolved the problem.
Now I can't install fglrx driver in the system (the newest version for Radeon Mobility X1300 is: ati-driver-installer-9-3-x86.x86_64.run).
Building a package for Slackware causes a lot of errors:
# sh ati-driver-installer-9-3-x86.x86_64.run --buildpkg Slackware/All
Code:
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Slackware/All
ATI SlackBuild Version 1.3.9
--------------------------------------------
by: Emanuele Tomasi <tomasiATcli.di.unipi.it>
Ezio Ghibaudo <ekxiusATgmail.com>
Federico Rota <federico.rota01ATgmail.com>
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.29.6-custom-smp/build SUBDIRS=/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.29.6'
CC [M] /mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
In file included from /mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:169:
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:164:1: warning: "PM_EVENT_SUSPEND" redefined
In file included from /usr/src/linux-2.6.29.6/arch/x86/include/asm/apic.h:4,
from /usr/src/linux-2.6.29.6/arch/x86/include/asm/smp.h:13,
from include/linux/smp.h:36,
from include/linux/topology.h:33,
from include/linux/mmzone.h:767,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from /mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:91:
include/linux/pm.h:241:1: warning: this is the location of the previous definition
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_GetEffectiveUid':
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1405: error: 'struct task_struct' has no member named 'euid'
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_PosixSecurityCapSetIPCLock':
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1779: error: 'struct task_struct' has no member named 'cap_effective'
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1783: error: 'struct task_struct' has no member named 'cap_effective'
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KCL_MEM_VM_GetRegionPhysAddrStr':
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3223: warning: return makes pointer from integer without a cast
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3224: warning: return makes pointer from integer without a cast
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3225: warning: return makes pointer from integer without a cast
/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3227: warning: return makes pointer from integer without a cast
make[2]: *** [/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/mnt/sda3/Programs/root/Programs/fglrx/fglrx-install.uVMuLe/common/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.29.6'
make: *** [kmod_build] Error 2
build failed with return value 2
ERROR: i don't have make module
Removing temporary directory: fglrx-install.uVMuLe
Starting an installer alone causes some errors too:
# sh ati-driver-installer-9-3-x86.x86_64.run
Code:
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
which: no XFree86 in (/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib/java/bin:/usr/lib/kde4/libexec:/usr/lib/qt/bin:/usr/share/texmf/bin:/root/bin)
Error: ./default_policy.sh does not support version
default:v2:i686:lib::none:2.6.29.6-custom-smp; make sure that the version is being
correctly set by --iscurrentdistro
Removing temporary directory: fglrx-install.DrLwZU
I tried to find help about the usage of --iscurrentdistro switch but I found nothing helpful. As I guess ATI driver version 9-3 doesn't work with the kernel 2.6.29.x.
So my second question is: Is there any method to force Xine to display DVD movies in a smooth way?
``The Big Lebowski'' issue (SOLVED -- see posts: #3, #4 and #5)
With DRI enabled MPlayer and Xine are able to display movies though Xine skips frames. But some movies cause problems...
Yesterday I tried to watch ``The Big Lebowski'' DVD. MPlayer ended the work immediately:
$ mplayer dvd://
Code:
MPlayer r29390-4.3.3 (C) 2000-2009 MPlayer Team
Playing dvd://.
libdvdread: Using libdvdcss version 1.2.10 for DVD access
There are 8 titles on this DVD.
There are 1 angles in this DVD title.
Please send bug report - no VTS_TMAPT ??
libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00000167
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x00000191
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x0000047a
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x000014ef
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x0000152e
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x00011bfb
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_04_0.VOB at 0x00011c3d
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_04_1.VOB at 0x000346e3
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_05_1.VOB at 0x00034722
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_06_0.VOB at 0x000483c1
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_06_1.VOB at 0x0005816c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_07_1.VOB at 0x003383b5
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_08_1.VOB at 0x00344e1e
libdvdread: Elapsed time 0
libdvdread: Found 8 VTS's
libdvdread: Elapsed time 0
audio stream: 0 format: ac3 (stereo) language: en aid: 128.
audio stream: 1 format: ac3 (stereo) language: cs aid: 129.
audio stream: 2 format: ac3 (stereo) language: hu aid: 130.
audio stream: 3 format: ac3 (stereo) language: pl aid: 131.
audio stream: 4 format: ac3 (stereo) language: ru aid: 132.
number of audio channels on disk: 5.
subtitle ( sid ): 0 language: en
subtitle ( sid ): 0 language: bg
subtitle ( sid ): 0 language: hr
subtitle ( sid ): 0 language: cs
subtitle ( sid ): 0 language: hu
subtitle ( sid ): 0 language: is
subtitle ( sid ): 0 language: pl
subtitle ( sid ): 0 language: sl
number of subtitles on disk: 8
MPEG-PS file format detected.
VIDEO: MPEG2 720x576 (aspect 2) 25.000 fps 8000.0 kbps (1000.0 kbyte/s)
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
Using SSE optimized IMDCT transform
Using MMX optimized resampler
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 720x576 => 1024x576 Planar YV12
[mpeg2video @ 0x896bc20]ac-tex damaged at 31 10
[mpeg2video @ 0x896bc20]Warning MVs not available
[mpeg2video @ 0x896bc20]concealing 1170 DC, 1170 AC, 1170 MV errors
A: 0.5 V: 0.3 A-V: 0.143 ct: 0.008 2/ 2 ??% ??% ??,?% 0 0
Exiting... (End of file)
The only difference between MPlayer output when it plays successfully ``Natural Born Killers'' and doesn't play ``The Big Lebowski'' at all is the line:
Code:
Please send bug report - no VTS_TMAPT ??
I tried to found some help related to the above message but I found nothing helpful.
Moreover when I was unable to play yesterday ``The Big Lebowski'' with MPlayer I tried to play it with Xine. It played first half of the movie without problems and then stopped. Since that case when I run Xine it doesn't play movies smoothly but skips frames as I described it above.
So my third question is: How can I avoid problems such as caused by ``The Big Lebowski'' played with MPlayer?
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
Skipping frames issue solved
I ran xine-check and the program said that I have disabled DMA for drive /dev/hda (DVD/CD-RW). It was always enabled. When I watched the movie yesterday something wrong happened and Xine or the system disabled DMA. Now I ran the command hdparm -d1 /dev/hda and Xine works smoothly again.
But xine-check found two further problems:
Code:
[ hint ] Your X server doesn't support YV12 overlays.
That means xine will have to do color space transformation and scaling
in software, which is quite CPU intensive. Maybe upgrading your
X server will help here.
If you have an ATI card, you'll find accelerated X servers on
http://www.linuxvideo.org/gatos/
[ hint ] Your X server doesn't have any XVideo support...
XVideo is an X server extension introduced by XFree86 4.x. This
extension provides access to hardware accelerated color space
conversion and scaling, which gives a great performance boost.
If you have a fast (>1GHz) machine, you may be able to watch all
kinds of video, anyway. You will waste lots of CPU cycles, though...
I added options XVideo, UseInternalAGPGART, RenderAcceleration and VideoOverlay to xorg.conf:
(II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message.
(WW) RADEON(0): Option "XVideo" is not used
(WW) RADEON(0): Option "UseInternalAGPGART" is not used
(WW) RADEON(0): Option "RenderAcceleration" is not used
(WW) RADEON(0): Option "VideoOverlay" is not used
So my new question is: Is it possible to enable YV12 overlays and XVideo support using generic radeon driver?.
I ran xine-check and the program said that I have disabled DMA for drive /dev/hda (DVD/CD-RW). It was always enabled. When I watched the movie yesterday something wrong happened and Xine or the system disabled DMA. Now I ran the command hdparm -d1 /dev/hda and Xine works smoothly again.
So my new question is: Is it possible to enable YV12 overlays and XVideo support using generic radeon driver?.
DMA will be disabled if the drive encounters many read errors - which sounds like the problem with The Big Lebowski. VTS-TMAPT is the Video Title Set - Time Map Table. This error usually does not cause playback to abruptly stop, but a disc scratch - or other manufacturer defect will. VTS-TMAPT errors are caused from producing out of DVD-VIDEO spec discs. This is an authoring error. Some authoring houses attempt to fudge the time-map-table in a failed attempt to employ some type of encryption. It very well could be a bug in the program, but this has not been my experience.
With mplayer, try a different video out driver. -vo help will list what is available. Before I smashed my ATI x1600 cards I had to use -vo gl (or -vo gl2) to get something close to usable.
Does the radeonhd driver work with you chipset? I've read blurbs that this driver is better than radeon.
Taking a stab in the dark here - but perhaps XVideo and overlay are not being used because they require Direct Rendering?
I honestly do feel for those people with Laptops and the ATI chipset. With a desktop it's usually a non issue to replace the GPU with a working, and supported part. Not so easy to just replace a laptop.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
Aspect ratio issue (cont.)
I tried xv, x11, gl and gl2 drivers with DRI disabled. Driver xv doesn't display video, driver x11 changes aspect ratio, drivers gl and gl2 scale image properly but display video in slow motion and after a dozen or so seconds the sound starts to hiccup.
``The Big Lebowski'' issue (cont.)
I ran MPlayer with the command mplayer dvd:// -msglevel all=6.
In the case of ``Natural Born Killers'' (MPlayer plays the movie) the output ends with the messages:
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
@disturbed1
``The Big Lebowski'' issue solved
Thank you for DMA and VTS-TMAPT related errors explanations. It means ``The Big Lebowski'' DVD is invalid. So ``The Big Lebowski'' issue is solved.
***
I tried different drivers. I wrote about it in the previous post.
In my case radeonhd works even worse than radeon: it changes aspect ratio even with DRI enabled.
I tried to enable XVideo and VideoOverlay as well with DRI disabled as with enabled using both radeon and radeonhd. In any case these options weren't used.
Thank you for the mention about laptops. It remembered me that I have the second machine. I tested my ThinkPad T40 with ATI Mobility Radeon 7500 and it works flawlessly with DRI enabled. I didn't watched the entire ``The Big Lebowski'' with Xine so I don't know if it could disable DMA on the second machine. Of course MPlayer wasn't able to play that movie.
The difference between T40 and T60 is the difference between IBM and Lenovo. I had a lot of problems with T40 but I have a lot more of problems with T60.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
I tested all drivers with DRI disabled -- none of them is satisfactory:
xv -- no video
x11 -- invalid aspect ratio
xover -- no video
gl -- slow motion picture and hiccuping sound
gl2 -- as above
dga -- aborts the program
sdl -- valid aspect ratio but bad synchronization of picture and sound
fbdev -- doubled picture in psychedelic colors
fbdev2 -- as above
svga -- error message: cannot open /dev/mem
aa -- ahem...
caca -- as above
v4l2 -- no video
xvidix -- no video
cvidix -- no video
null -- as expected...
mpegpes -- no video
yuv4mpeg -- no video
png -- no video
jpeg -- no video
gif89a -- no video
tga -- no video
pnm -- no video
md5sum -- no video
The 7500 has been around for some time now. I actually still have a 7500 32mb PCI card lying around - just in case. This chipset has been thoroughly supported by the opensource driver for as-long-as-I-can-remember (at least 6 or 7 years).
The x1x00 GPUs were part of the not so long ago AMD/ATI released hardware white-papers. Every now and then I read a blog post or two on the development of these open-source drivers. Your x1300 and my x1600 (agp) are part of the same R500 GPU series. Everything I've read states that the driver is pretty-much stable as far as 2d goes, and usable for some 3d. Hardware overlays and video rendering are reported as working, and working quite well. Your results, along with my own, show that these reporters have the magic combination we evidently do not have .
Current Slackware-13.0 xf86-video-ati is at version 6.12.2, 6.12.4 is available from Xorg with this in the commit log - Fix textured Xv.
The ati driver supports these Mobility x1300 PCI_IDS
I would, honestly, read through, and make a post at the phoronix forums, with a pointer to this thread. Phoronix has many AMD/ATI experts over there. Here's an article with the Mobility x1400 (R500) on a T60. http://www.phoronix.com/scan.php?pag...n_jaunty&num=1
Just in case this wasn't already known
Quote:
Originally Posted by man ati
ati is an Xorg wrapper driver for ATI video cards. It autodetects whether your hardware has a Radeon, Rage 128, or Mach64 or earlier
class of chipset, and loads the radeon(4), r128(4), or mach64 driver as appropriate.
Have you toggled
Option "AccelMethod" (XAA/EXA)
Option "DMAForXv" (on/off)
xv, x11, gl, gl2, and sdl are the most common render engines. xv, gl, gl2 use hardware overlay.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
I tried both AccelMethod options. X Window didn't start in both cases and complained:
Code:
"EXA/XAA" is not a valid keyword in this section.
[EDIT]
I had make some mistake. I tried to put Option "AccelMethod" "EXA" in xorg.conf once again and now it works. Moreover it completely resolves the problem with random system hang ups so I can load DRI and DRI2 in xorg.conf.
Thank you disturbed1 for your assistance once again.
[/EDIT]
I tried DMAForXv option. X Window loaded the driver but seemed to work the same as before.
Xorg.0.log with DRI disabled:
Code:
(**) RADEON(0): Option "DMAForXv" "on"
Xorg.0.log with DRI enabled:
Code:
(**) RADEON(0): Option "DMAForXv" "on"
(**) RADEON(0): Will try to use DMA for Xv image transfers
Tomorrow I'll try to install in the system ati 6.12.4 driver and I'll read ``Open-Source ATI Graphics In Ubuntu 9.04'' article. Now it's very late.
Since you intend to write to the ATI experts maybe you'll find some time to look at that thread: Random system hang ups. I described there an other problem related to my Radeon X1300.
I'm impressed how lot of heart you put into that thread. Thank you very much!
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
Sleepless night...
I compiled xf86-video-ati drivers in versions 6.9.0 (default in Slackware 12.2) and 6.12.4 (the newest one) and compared them to xf86-video-ati driver in version 6.12.2 (default in Slackware 13.0). To test them I used the method described here. I performed these tests in Slackware 13.0 with DRI and DRI2 enabled. With DRI* disabled my machine works well. With DRI* enabled it hangs up from time to time.
I did three attempts with each driver version. I counted the time from the moment when I pressed and kept Enter key after typing mc command to the moment when the machine hung up. The following results are numbers of seconds from pressing Enter to hang up the machine:
The newest driver version is significantly better than the previous versions. It seems that Xorg with that newest driver should work without hang up 8.77 times longer than with the default driver. Assuming that before I encountered up to three hang ups a day I suppose that now I can expect up to three hang ups a week. So I can leave DRI* enabled in my xorg.conf.
That resolves partially two problems: with random system hang ups and with invalid aspect ratio after disabling DRI.
***
I compared Xorg.0.logs produced by Xorg with both drivers. They're similar but with the newest driver disappeared that line:
Code:
(WW) RADEON(0): R500 support is under development. Please report any issues to xorg-driver-ati@lists.x.org
You wrote: ``Your x1300 and my x1600 (agp) are part of the same R500 GPU series''. I suppose I owe better Xorg work to the better support of R500 in 6.12.4 version of that driver.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
Further improvement
I removed xorg.conf at all and now Xorg with ati driver version 6.12.4 loads successfully XVideo extension and YV12 overlays so xine-check commands stopped to complain and when I play movies with Xine CPU/MEM usages are significantly lower than before. So ati driver version 6.12.4 is much better than version 6.12.2.
Distribution: Slackware (personalized Window Maker), Mint (customized MATE)
Posts: 1,309
Original Poster
Rep:
Message edited according to suggestions by BrZ
For your convenience here's SlackBuild script building xf86-video-ati driver version 6.12.4:
xf86-video-ati.SlackBuild
Code:
#!/bin/sh
# Slackware build script for xf86-video-ati
# Written by w1k0 at LinuxQuestions.org
PRGNAM=xf86-video-ati
VERSION=${VERSION:-6.12.4}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
./autogen.sh
xserver_source="/tmp/SBo/xorg-server-1.6.3"
if [ ! -d "$xserver_source" ]; then
echo "$xserver_source does not exist, and you need it."
exit 1
fi
CFLAGS="$SLKCFLAGS -I${xserver_source}/hw/xfree86/ramdac" \
CXXFLAGS="$SLKCFLAGS -I${xserver_source}/hw/xfree86/ramdac" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--infodir=/usr/info \
--mandir=/usr/man \
--disable-static \
--with-xserver-source=${xserver_source} \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null
)
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \;
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
#
The above SlackBuild requires xorg-server source in /tmp/SBo/xorg-server-1.6.3 directory so you have to unpack xorg-server's source into /tmp/SBo/ directory.
You may want to compile also newest MesaDemos, MesaGLUT and MesaLib so this is the third SlackBuild script building mesa version 7.5.2:
mesa.SlackBuild
Code:
#!/bin/sh
# Copyright 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mesa
VERSION=${VERSION:-7.5.2}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
# Be sure this list is up-to-date:
#DRI_DRIVERS="i810,i915,i965,mach64,mga,nouveau,r128,r200,r300,radeon,s3v,savage,sis,tdfx,trident,unichrome,ffb,swrast"
DRI_DRIVERS="i810,i915,i965,mach64,mga,r128,r200,r300,radeon,s3v,savage,sis,tdfx,trident,unichrome,ffb,swrast"
NUMJOBS=${NUMJOBS:--j8}
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-mesa
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf Mesa-${VERSION}
tar xvf $CWD/MesaLib-$VERSION.tar.bz2 || exit 1
tar xvf $CWD/MesaGLUT-$VERSION.tar.bz2 || exit 1
tar xvf $CWD/MesaDemos-$VERSION.tar.bz2 || exit 1
cd Mesa-$VERSION
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--docdir=/usr/doc/mesa-$VERSION \
--with-dri-driverdir=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri \
--with-dri-drivers="$DRI_DRIVERS" \
--build=$ARCH-slackware-linux
# Nobody else is enabling this. Seems like it's asking for trouble.
# --enable-xcb
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
# Install gears and glinfo manually, and make symlinks from the names
# of the deprecated similar programs to reduce confusion:
mkdir -p $PKG/usr/bin
cp -a progs/demos/gears $PKG/usr/bin/gears
cp -a progs/demos/glinfo $PKG/usr/bin/glinfo
( cd $PKG/usr/bin
ln -sf glinfo glxinfo
ln -sf gears glxgears
)
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
for manpagedir in $(find . -type d -name "man*") ; do
( cd $manpagedir
for eachpage in $( find . -type l -maxdepth 1) ; do
ln -s $( readlink $eachpage ).gz $eachpage.gz
rm $eachpage
done
gzip -9 *.?
)
done
)
fi
# Compress info files, if any:
if [ -d $PKG/usr/info ]; then
( cd $PKG/usr/info
rm -f dir
gzip -9 *
)
fi
mkdir -p $PKG/usr/doc/Mesa-$VERSION/html
cp -a COPYING docs/relnotes-$VERSION.html $PKG/usr/doc/Mesa-$VERSION
rm -f docs/relnotes*.html docs/RELNOTES*
cp -a docs/*.html $PKG/usr/doc/Mesa-$VERSION/html
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
#
Well, -zoom option works indeed with DRI disabled but with that option the movie loses sound synchronization.
There is no way back -- I have to find the way to properly configure Slackware 13.0.
Unfortunately, when using the x11 output device, scaling the video is done with the CPU.
If you want to stick with Slackware 13.0, you could try downgrading Xorg and the kernel to use fglrx 9.3. Otherwise you will have to stick with the open source drivers.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.