PDA

View Full Version : xrandr -q blinks and freezes


phtpht
06-27-2009, 03:48 AM
Ever since I've been using fglrx I noticed that whenever *something* happens, the monitor does a couple of faint blinks and the whole X session *freezes* for a moment (something like 2-5 seconds).

Definitions:
*something* = I don't really know what the low-level operation is, but for example running 'xrandr -q' or 'wine' triggers it.

*freezes* = The mouse pointer does move but neither the mouse or the keyboard are sending events. The X process eats a lot of CPU.

Can someone tell me why is this happening and/or how to make it behave better?

Kano
06-27-2009, 05:00 AM
I discovered that when you use CRT2 then it flickers but when you use CRT1 it does not. Maybe somebody should check that code...

poofyyoda
06-27-2009, 05:16 AM
Yeah this is annoying me too, ever since I upgraded to Jaunty. It's really disturbing especially when playing music and evoking wine or something that changes the display mode, there is serious slowness, and my music is stuttered.

I just tried switching to CRT1, but it exhibits the exact same nonsense. The same fglrx (9.6), works flawless on ubuntu intrepid.

phtpht
06-27-2009, 09:38 AM
I discovered that when you use CRT2 then it flickers but when you use CRT1 it does not. Maybe somebody should check that code...

I have two monitors on both outputs. It's true that it's only the CRT2 one that blinks. I've tried to turn it off electrically and with xrandr ... --off, but the brief FREEZE still remains.

I'd like to elaborate that the freeze means that also the on desktop clock stops.

Timmmm
06-27-2009, 10:01 AM
I was just about to post the exact same problem.

Symptoms: Analogue monitors blink lots (thick horizontal black bars). Xorg CPU usage shoots to 100% and stays there for a while even after the blinking. Consequently the UI becomes very jerky.

Triggers:
1. Run xrandr
2. Run amdcccle
3. Run wine (I noticed it when trying to use Spotify).

I expect it is something to do with probing the monitor modes. I've found no reference to it at all anywhere except here. No idea how to fix it. By the way is there a bug database for fglrx anywhere?

phtpht
06-27-2009, 11:34 AM
I expect it is something to do with probing the monitor modes. I've found no reference to it at all anywhere except here. No idea how to fix it. By the way is there a bug database for fglrx anywhere?

I suppose it's http://ati.cchtml.com/

If you file a bug report there please link back the bug here.

Timmmm
06-27-2009, 12:05 PM
Hmm I'm not sure it is worth reporting, looking at the plethora of unsolved bugs already there! Anyway I investigated a bit. When you run xrandr the following is appended to the Xorg log:


(II) fglrx(0): EDID vendor "SAM", prod id 271
(II) fglrx(0): Using hsync ranges from config file
(II) fglrx(0): Using vrefresh ranges from config file
(II) fglrx(0): Printing DDC gathered Modelines:
(II) fglrx(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 31.50 640 664 704 832 480 489 492 520 -hsync -vsync (37.9 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 30.24 640 704 768 864 480 483 486 525 -hsync -vsync (35.0 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
(II) fglrx(0): Modeline "720x400"x0.0 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz)
(II) fglrx(0): Modeline "1280x1024"x0.0 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync (80.0 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync (56.5 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
(II) fglrx(0): Modeline "832x624"x0.0 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync (48.1 kHz)
(II) fglrx(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz)
(II) fglrx(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
(II) fglrx(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz)


Which might seem ok but there are 17 copies of it! My Xorg log is 1.5 MB and mostly consists of the above text.

Here's a possibly relevant bug: https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/362056

Melcar
06-27-2009, 01:20 PM
I have noticed these "somethings" too. Mostly when launching CCC (~5sec. delay and input lag) and when launching WINE (~10sec. delay and severe input lag). WINE is the most problematic because when I launch it or run certain programs with it, it pegs one of my cores to 100% and causes the entire system to slow to a crawl; mind you that the programs themselves run fine (the few that run anyway), but things like InstallShield really kill system response.

Timmmm
06-27-2009, 01:51 PM
Weird I thought I replied to this. Anyway if you look in /var/log/Xorg.0.log you can see that every time you run xrandr it creates 17 (!) copies of the following:


(II) fglrx(0): EDID vendor "SAM", prod id 271
(II) fglrx(0): Using hsync ranges from config file
(II) fglrx(0): Using vrefresh ranges from config file
(II) fglrx(0): Printing DDC gathered Modelines:
(II) fglrx(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 31.50 640 664 704 832 480 489 492 520 -hsync -vsync (37.9 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 30.24 640 704 768 864 480 483 486 525 -hsync -vsync (35.0 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
(II) fglrx(0): Modeline "720x400"x0.0 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz)
(II) fglrx(0): Modeline "1280x1024"x0.0 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync (80.0 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync (56.5 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
(II) fglrx(0): Modeline "832x624"x0.0 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync (48.1 kHz)
(II) fglrx(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz)
(II) fglrx(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz)
(II) fglrx(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz)


I tried the update X PPA but it doesn't seem to want to install the newer fglrx for some reason. It was only uploaded today though so maybe it takes some time to sync or something:

https://launchpad.net/~ubuntu-x-swat/+archive/x-updates

phtpht
06-28-2009, 02:59 AM
When you run xrandr the following is appended to the Xorg log

I'm getting the same behavior. Though not 17 times. I got only one block of the following text appended per one blinking and freezing:


(II) fglrx(0): EDID vendor "MEL", prod id 17395
(II) fglrx(0): Using hsync ranges from config file
(II) fglrx(0): Using vrefresh ranges from config file
(II) fglrx(0): Printing DDC gathered Modelines:
(II) fglrx(0): Modeline "1800x1350"x0.0 299.67 1800 1944 2144 2488 1350 1351 1354 1417 -hsync -vsync (120.4 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 31.50 640 664 704 832 480 489 492 520 -hsync -vsync (37.9 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 30.24 640 704 768 864 480 483 486 525 -hsync -vsync (35.0 kHz)
(II) fglrx(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
(II) fglrx(0): Modeline "720x400"x0.0 35.50 720 738 846 900 400 421 423 449 -hsync -vsync (39.4 kHz)
(II) fglrx(0): Modeline "720x400"x0.0 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz)
(II) fglrx(0): Modeline "1280x1024"x0.0 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync (80.0 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync (56.5 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 44.90 1024 1032 1208 1264 768 768 772 817 interlace +hsync +vsync (35.5 kHz)
(II) fglrx(0): Modeline "832x624"x0.0 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync (48.1 kHz)
(II) fglrx(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz)
(II) fglrx(0): Modeline "1920x1440"x0.0 297.00 1920 2064 2288 2640 1440 1441 1444 1500 -hsync +vsync (112.5 kHz)
(II) fglrx(0): Modeline "1600x1200"x0.0 229.50 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (106.2 kHz)
(II) fglrx(0): Modeline "1600x1200"x0.0 202.50 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsync (93.8 kHz)
(II) fglrx(0): Modeline "1280x1024"x0.0 157.50 1280 1344 1504 1728 1024 1025 1028 1072 +hsync +vsync (91.1 kHz)
(II) fglrx(0): Modeline "1024x768"x0.0 94.50 1024 1072 1168 1376 768 769 772 808 +hsync +vsync (68.7 kHz)
(II) fglrx(0): Modeline "800x600"x0.0 56.25 800 832 896 1048 600 601 604 631 +hsync +vsync (53.7 kHz)


Note I have two monitors but the text spews ddc data from only one of them.

Anyhow now it is clear that the low level op that triggers this mad behavior is the one that has something to do with enumerating modes. Something with randr perhaps?

Timmmm
06-28-2009, 05:55 AM
Hmmm well whatever the problem was, I fixed it by installing the X updates from that PPA. Here's how:


sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AF1CDFA9
sudo echo "deb http://ppa.launchpad.net/ubuntu-x-swat/x-updates/ubuntu karmic main" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade


And then restart your computer (not just X). Seems to work fine now.

TobiasTheViking
06-28-2009, 01:57 PM
I have gotten this as well, i just disabled the randr extension. That also made Xorg start about 3seconds faster.

Then again, i don't need randr

poofyyoda
06-28-2009, 06:39 PM
I have gotten this as well, i just disabled the randr extension. That also made Xorg start about 3seconds faster.

Then again, i don't need randr

Indeed, the driver has broken RANDR support - disabling RANDR fixes all problems.

Use aticonfig --set-pcs-str=DDX,EnableRandR12,FALSE to disable RANDR.

tball
06-29-2009, 04:54 AM
I don't think its a driver problem. I don't got any problems like what you have descriped with arch 64.

I got
- fglrx 9.6
- kernel 2.6.30
- xorg 1.6.1.901
- mobility hd3650

You might have an X issue?

poofyyoda
06-29-2009, 05:19 AM
I don't think its a driver problem. I don't got any problems like what you have descriped with arch 64.

I got
- fglrx 9.6
- kernel 2.6.30
- xorg 1.6.1.901
- mobility hd3650

You might have an X issue?

Do you have a CRT? Apparently it may be specific to them only. Seeing as CRTs are old tech the ati devs probably only test with LCD screens, so its understandable that breakages could occur with their randr implementation.

phtpht
06-29-2009, 05:24 AM
Indeed, the driver has broken RANDR support - disabling RANDR fixes all problems.


I need randr to support 2 screens. (serverlayout approach gives me two individual screens and xinerama gives me crash)

phtpht
06-29-2009, 05:26 AM
Hmmm well whatever the problem was, I fixed it by installing the X updates from that PPA. Here's how:


Perhaps instead of an apt-get voodoo i would be more interested in the individual versions of the components you've upgraded to.

phtpht
07-02-2009, 10:17 AM
OK, i upgraded xorg to latest individual packages and the problem DID NOT go away. Any other ideas please?