Sebastian Beßler <sebast...@darkmetatron.de> posted 4a45eeaf.8090...@darkmetatron.de, excerpted below, on Sat, 27 Jun 2009 12:04:31 +0200:
> It works again. > All I had to do was disable xrandr1.2 support in the driver by stopping > X and using aticonfig --set-pcs-str="DDX,EnableRandR12,FALSE" > > If xrandr support is enabled the driver gives all controll over the > displaysettings to xrandr so that the SwapScreens Option in xorg.conf > gets ignored. Cool, thanks! =:^) I figured it had to be something simple like that and suspected it might be RandR related, but as I don't do proprietary, including proprietary video drivers, I had no idea what sort of mangling of RandR the proprietary driver might be doing. But turning it off should work, for now... FWIW, assuming the RadeonHD driver is RandR 1.2 compliant, and the fglrx driver should be similar, check out the monitor section of the xorg.conf manpage. In particular, the layout and screen sections work a bit differently with RandR and position information that was previously to be found there is now located in the various monitor sections. Among other things, this facilitates monitor hotplugging, tho there are a few kinks still being worked out there. But the idea is to put all the information used with a particular detected monitor together in the section for that monitor, so with a laptop for instance, you can have different settings for your external monitors at home and at work, plus a projector setup you use for presentations, plus just the laptop monitor itself, and once they get the kinks worked out, you should be able to boot your laptop into X with say the external monitor at work plugged in, put it into suspend, take it on the train/bus, open the laptop and it'll detect that you no longer have the work monitor plugged in and switch to laptop monitor only, suspend again, plug in at home and have it detect and setup for the home system, suspend again, take it on the plane and use it in flight with just the laptop monitor, suspend again, get to your presentation, plugin the projector, unsuspend and have it detect the projector and use the mode already setup for it, etc... With the latest ~arch xorg (and RandR 1.3), you should get most of that. The caveat ATM is that xorg-server can't yet expand its virtual screen, or at least there are problems in some cases with doing so, so regardless of what's plugged in when you start X, you have to have the config set the initial virtual screen size large enough to enable the screen real estate for whatever else you might plug into the system until you shut down and restart X again. Given that, the rest of the RandR based autodetect should work, and you'll get more or less usable configurations based on what you've preset... the defaults are still for a newly plugged in monitor to clone the existing primary display. The second caveat is that RandR 1.3 is where it finally got decently usable, and even if you're running the latest xorg with RandR 1.3, everything else still has to catchup to X, with various window managers and GUI RandR apps still being somewhat behind. xrandr works well enough from the command line, but one either has to master all the various options to get it to do what one wants, or set it up with scripts and the like. The more intuitive GUI RandR applets, krandrtray for instance, are still at RandR 1.2, semiusable, or RandR 1.1 or earlier, more broken than usable, state, and while they might work well enough to change resolution on a single monitor, they are way more frustrating than actually workable once a second monitor is added. Thus, at this point, effectively only those who have troubled themselves to master xrandr well enough to write scripts to do what they want have it working decently. As mentioned above, window managers are the second aspect of this caveat. They're behind as well, and frankly, none of them deals particularly well with the large virtual desktops necessary for effective monitor hotplugging, dynamically confining apps to just the displayed area when only a single monitor is plugged in, but remembering where they should be when a second one is plugged in and moving everything accordingly -- specific to what monitor is plugged in, as well, so your home layout, work layout, and presentation layout, can all be different and don't conflict with each other and with the laptop-monitor-only layout. My guess is that it'll be another year or so before they sort of get it working, and a couple before they get it working /well/. Anyway, there's definitely a method to the madness, with the usability for laptop users vastly improving, but for relatively stable desktop configs that seldom change, it's a pain, as the process is breaking what /was/ perfectly usable, working configs, forcing people to learn a whole new way of configuring things, with various features that used to work often temporarily broken in the mean time. As I said, RandR 1.3 is the first RandR that's fully usable here, bringing back panning functionality and all, but it was a difficult transition learning how to get the new setup to do what I wanted. And every once in awhile there are still quirks. For instance, the full-screen-mode of many apps forces the system into primary-display clone mode, at whatever resolution the app wants for full-screen-mode. So I get the same cloned display on both monitors, when what I really wanted was either a single full screen display spread over both, or full screen on the one, setting it to whatever resolution was desired, but leaving the other monitor alone, so it continues to display at its previous resolution and pixel coordinates. I'm not sure even all FLOSS software will ultimately get that right, let alone ages old proprietaryware games and the like that won't be getting any more updates. So it's something we'll have to live with for awhile. Meanwhile, I've learned to avoid the in-app full-screen modes and use my xrandr scripts and normal mode window moving and resizing to accomplish what I want. That almost always works, once the scripts are setup correctly, but it's nowhere near as simple as having the in-app full-screen-mode just work as it really should. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman