Originally posted by oblivious_maximus
View Post
So xorg.conf is for configuring X, but not for configuring ATI's driver for X?? How does that make any sense? Maybe this would be acceptable if the alternative tools ATI is providing weren't as woefully inadequate as fglrx itself. At one point, starting CCCLE with my svideo plugged in resulted in my system locking up. Attempting to use what I could glean from "aticonfig --help" was totally useless.
There are a number of fundamental issues with using xorg.conf for driver configuration.
- X is read-only, aticonfig and ccc-le and other internal subcomponents need to make configuration changes at runtime. This is active now.
- Runtime handover between CCC-LE and OGL is not possible with xorg.conf. You cannot adjust AA with xorg.conf and get OGL to pick it up. This is active now.
- The xorg.conf is per PCI-Bus ID only. This does not allow for per-device-ID configuration. This is coing in the future.
- xorg.conf does not handle multiple ASIC configurations (like crossfire) cleanly. As per Michael's article, this is coming in the future.
- The number of options that the driver is capable of responding to makes it using xorg.conf non-sensical.
- There is a propensity for users to pick up random configuration options and add them to a config file, even if they do absolutely nothing to the driver. This is primarily since xorg.conf is traditionally hand-hacked.
- The xorg community is increasingly moving to a "config-free" xorg.conf [which validates our long-standing it should just work model].
There are many other reasons moving away from xorg.conf for driver options, but some of those I am not willing to discuss publicly.
Users are free to play with amdpcsdb through the PCS options of aticonfig as much as they are free to play with registry settings under Windows. Both of these "configuration" techniques are unsupported and may put the driver into a bad state. The state that the driver can be put into via the UIs is the only supported[1] mode of operation.
[1] supported in this context is that misbehavious configurable through the UI are the only issues that can be considered bugs.
For example:
Should this have setup my TV as half my desktop? If it should have, it didn't. And because there's basically zero documentation on anything, I have no idea why, or what I need to add to that to make it actually work. If I run another aticonfig command with other options, will it add them to the ones I already set, or start over? I JUST DON'T KNOW because there's no docs.
That actually did something, and would probably be a nice option to use, only it did't output a useful display on my TV, only garbage maladjusted-vertical-hold-type distortion. And when I enabled my CRT again(through the distortion using bash history), it was running at 640x480 and not 1600x1200. Again, no documentation, so no idea why it didn't quite work or what I need to do about it. I also tried to use CCCLE (it only locked up my computer the one time thankfully) to set this up, even though it doesn't even support the way I want to use my TV. I tried to setup a clone mode with the TV at 640x480 and my monitor at 1600x1200. Guess what? With CCCLE, they both have to use the same resolution for some bonkers reason. Guess what else? xorg.conf does this just fine without issue.
Code:
sudo aticonfig --initial=dual-head --screen-layout=right --tv-standard-type=VIDEO --tv-format-type=NTSC-M
Code:
sudo aticonfig --enable-monitor=tv
Only since XOrg picked up RANDR1.2 does this capability exists. Prior to that you had differing implementations of mergedfb/bigdesktop-pairmodes/twinview. Even now RANDR1.2 does not solve all the problems (persistance, multiple GPU, etc).
...
"If people want to start documenting amdpcsdb options" ?? Are you serious?? If "people" want to? Why doesn't ATI document the options??
Of course when we go through major internal changes, we regress in some areas. That is one reason that we release on a regular tempo - it provides users with a large selection of drivers that they can choose to hold on one where their particular feature set of interest is most stable.
Utter disappointment is an understatment at this point. ATI has sucked the will to tinker right out of me. I want to keep going but ATI has also just about sucked the will to seek assistance and explanation out of me also. I must appologize if I have been overly harsh or antagonizing or insulting, I try really hard to remain detatched when discussing this stuff, but I've got all sorts of frustration bombarding me from the back of my mind whenever I even think about the ATI cards that I desperately want to be using, but which are sitting on a shelf gathering dust. So yeah, if I'm harsh, it's only out of love ... and a lot of frustration
OT:
And PowerPlay doesn't work if you have more than one display connected?? WTF??? Seriously, what's up with that? Where's the doc explaining how that works and in what (ridiculous)circumstances it does not work? So if someone wants to actually use all the outputs on the back of their video card, they can expect the much lauded power saving features to simply not function? How is that acceptable?
And PowerPlay doesn't work if you have more than one display connected?? WTF??? Seriously, what's up with that? Where's the doc explaining how that works and in what (ridiculous)circumstances it does not work? So if someone wants to actually use all the outputs on the back of their video card, they can expect the much lauded power saving features to simply not function? How is that acceptable?
For this case here, the selection of MCLK results in a finite amount of memory bandwidth. All clients (3D, 2D, CRTC) all fight for that bandwidth. In general the amount of bandwidth available when a system is clocked down is *just* sufficient for 3D, 2D and 1 CRTC to operate without corruption.
Most users have minimal understanding of what I just wrote above, so consequently rather than trying to explain the caveats on each and every configuration option or behaviour, the user is told that what they have asked for is not possible.
The options are
- Have a feature with limitations hard coded and the user must trust that the driver has done the best that is possible,
- not enable the feature, or
- enable the feature without limitations and let the users run into all sorts of problems.
We opted for 1).
Regards,
Matthew
Comment