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:
================================================== # sh ati-driver-installer-9-3-x86.x86_64.run Code:
================================================== 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 Code:
Please send bug report - no VTS_TMAPT ?? 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? |
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. Code:
Section "Device" Code:
(II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message. |
Quote:
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. |
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: Code:
*** [vo] Allocating (slices) mp_image_t, 720x576x12bpp YUV planar, 622080 bytes Code:
--- END OF CELL !!! --- 0.159 ct: 0.004 2/ 2 ??% ??% ??,?% 0 0 |
@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. Thank you very much for your useful post! |
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 Quote:
http://www.phoronix.com/scan.php?pag...n_jaunty&num=1 Just in case this wasn't already known Quote:
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. |
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. 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. I described it here and here. 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" Code:
(**) RADEON(0): Option "DMAForXv" "on" 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! |
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: ● xf86-video-ati 6.9.0 -- 1, 3, 2, ● xf86-video-ati 6.12.2 -- 7, 1, 3 ● xf86-video-ati 6.12.4 -- 53, 19, 23 XF86 Video ATI drivers are accessible here. Aspect ratio issue partially solved 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 As always I thank you for your kind assistance. Now I start to read recommended article... |
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. |
I tested the same drivers as above (see: post #6) with DRI enabled -- in three cases the results were satisfactory:
xv -- ok gl -- black screen and playback gl2 -- ok sdl -- ok The rest of the results was the same as before. |
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 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 Xorg Server is accessible here. MesaDemos, MesaGLUT and MesaLib are accessible here. |
Quote:
Quote:
Adam |
@adamk75
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. |
Quote:
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. Adam |
Now I run the machine with DRI enabled and I observe how frequently it'll hang up. Since I installed 6.12.4 version of ati driver my machine hung up once.
I don't want to downgrade the system so I have to learn to live with open source drivers. The current 6.12.4 version of ati driver is much better than 6.8.0 version provided with Slackware 12.1 -- my first Slackware with kernel 2.6.x. It was impossible to work with radeon driver and ATI Mobility Radeon X1300 in those times so I was forced to use fglrx driver. Now I can get rid of the proprietary ATI driver. The current generic ati driver isn't perfect but it's acceptable. |
Quote:
Be sure to follow the driver development. Their mailing list is active. If you don't want to subscribe with your email address, you can always use Gname.org and your news reader (Pan ;) ) by adding news.gmane.org to the servers list. http://gmane.org/faq.php |
For the aspect ratio have you tried something like:
mplayer -monitoraspect 16:9 video.avi Also do you have libdvdcss installed? That could explain the DVD issues. |
Quote:
Quote:
Quote:
|
Quote:
|
I edited the message #12 according to the suggestions by BrZ. Now to compile xf86-video-ati driver you have to put in the desired directory xorg-server.
*** I tested new video driver once again. As before I started Window Maker on two accounts. Both instances used a few dockable applications including wminfo. To perform the tests I started Midnight Commander in xterm window. I did three attempts with each Mesa 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 the numbers of the seconds from pressing Enter to hang up the machine: ● xf86-video-ati 6.12.4, mesa 7.5 -- 15, 0, 34 ● xf86-video-ati 6.12.4, mesa 7.5.2 -- 8, 41, 4 These results aren't such spectacular as presented in post #9. For some reason ATI driver 6.12.4 works now worse than before. |
Take it easy, you do not need to rebuild x, only the structure to compile any lib or driver. Even to compile some of them standalone. But only xf86-video-ati maybe not the solution for your libdri.so being taged as old...
Slackware 13 came with a good working set. My Xpress1100, and ati 9600, 8500 and 7500 had zero problems with mesa 7.5 and ati-6.12.2. Try this combo: Mesa-7.5.1 (current) and ati-6.12.2 and don't mess with xorg-server, please. I built mine fresh just to play with radeon now taht I'm free from fglrx =] |
I tried current mesa as you suggested:
● xf86-video-ati 6.12.2, mesa 7.5.1 -- 42, 5, 21 ● xf86-video-ati 6.12.4, mesa 7.5.1 -- 13, 2, 21 Then I tried once again default Slackware versions of programs: ● xf86-video-ati 6.12.2, mesa 7.5 -- 3, 12, 10 The result for default program's version is significantly worse in my case. The results for mesa 7.5.1 (with different ati driver versions) and for ati driver 6.12.4 (with different mesa versions) are similar. Maybe I have to test each configuration not three but ten times... |
I don't know but it's possible you might have some luck with newer drm modules. The drm code has kernel modules like radeon.ko and drm.ko as well as the libdrm, which comes in the slackware package.
I build it all at once but your slackbuild script (or do it manually) will need to go into the linux-core subdirectory and make the drivers you want. This will include drm, radeon. Below is the working portion of my build script. You will have to change it for your setup. In this I build for 64 bit and I don't tar the source. If you do the git clone method you will get a drm subdirectory but the prgnam is libdrm so manually change that after you git the code. Backup your radeon.ko and drm.ko for the /lib/...kernel you are using. I build drm, then mesa, then xfree...ati. If it is worse then replace the kernel modules from the backups you make and post at phoronix and devs might respond. Give feedback. Good luck. Edit: You also might need symlink from /usr/X11R6/lib/xorg/modules/dri to /usr/lib/dri. I can't remember but I have something like this with the 64 bit (but then its .../lib64/...). This is for mesa drivers which should provide radeon_drv.so, and r300_drv.so for the X1300. Code:
PRGNAM=libdrm |
Thank you for your assistance, forum1793.
I tested the system with the newest drm, new mesa and the newest ati driver: ● drm 2.4.14, xf86-video-ati 6.12.4, mesa 7.5.2 -- 3, 5, 8 The results were worse than with default 2.6.29.6 kernel. Finally I came back to default versions of all programs: ● xf86-video-ati 6.12.2, mesa 7.5 -- 14, 9, 1 These results seemed to be slightly better. Unfortunately I couldn't try mesa 7.6 because of errors during the compilation. |
OK but in drm did you specifically go into linux-core and tell it to make drm.o and radeon.o?
That does not happen with the simple configure, make, make install. The .ko kernel modules it makes need to be put in your /lib/modules/<your kernel number>/kernel/drivers/char/drm area. What errors are you getting in mesa? I had to disable and limit what was built or I got errors. Try adding the following to your script in the configure or autogen part: Code:
--disable-gallium \ I'm not sure we need swrast either but I've had it in my script and never got around to checking. |
In my case compiled modules don't go to:
/lib/modules/<my kernel number>/kernel/drivers/char/drm but to: /lib/modules/<my kernel number>/kernel/drivers/gpu/drm/ Xorg.log.0 reports loading r300_dri.so module: Code:
(II) AIGLX: enabled GLX_MESA_copy_sub_buffer Code:
radeon_screen.c: In function 'radeonCreateScreen': Code:
--with-dri-drivers="$DRI_DRIVERS" \ Code:
--disable-gallium \ *** Quote:
Code:
PRGNAM=libdrm |
It seems I finally solved the problem of DRI and DRI2 causing random system hang ups. The solution is to use the newest GIT version of xf86-video-ati driver. I described it here.
I tried that driver with both current mesa 7.5.1 and default mesa 7.5 (build 2). I used the same method of forcing hang ups as described here and I wasn’t able to hang up the system mangling Midnight Commander for 300 seconds. So I assume the problem is solved. In result I can load DRI* without causing random system hang ups. |
I found simpler method of avoid random system hang ups and I described it here. In short: it's enough to put Option "AccelMethod" "EXA" line into Section "Device" of xorg.conf. It works with default xf86-video-ati 6.12.2 build 2 driver.
|
w1k0, dude u are an ANIMAL! I wish I had someone like you to troubleshoot intel video driver issues & slackware 13.0 :D
|
All times are GMT -5. The time now is 01:46 PM. |