Bug 306691

Summary: sax2: dualhead with different resolutions: "scrollable" screen
Product: [openSUSE] openSUSE 10.3 Reporter: Christian Boltz <suse-beta>
Component: SaX2Assignee: Stefan Dirsch <sndirsch>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: nospamm, sndirsch
Version: Beta 2   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: SaX.log
SaX.log, with dualhead checked for sure
the generated xorg.conf

Description Christian Boltz 2007-08-31 12:29:01 UTC
I'm using a setup with
- laptop display 1400x1050
- external monitor 1280x1024
- external monitor above laptop display
- radeon mobility 9000 graphics chip

I had to create a new X configuration because the configfile from 10.2 caused major drawing problems.

The good: running "sax2 -r" with the external monitor disconnected, I could create a working xorg.conf that uses both monitors. That's really good because I always had to add at least "MonitorLayout" manually in previous releases.

The bad: The external monitor is now "scrollable" because it has a larger virtual resolution (width 1400 px, so it moves around 120px horicontally).

In case my explanation is confusing, here's some ASCII art ;-)

xxxxxxxxxxxxxxxxxxxx***
xxxxxxxxxxxxxxxxxxxx***   external monitor
xxxxxxxxxxxxxxxxxxxx***
xxxxxxxxxxxxxxxxxxxx***

xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx   laptop display
xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx

"x" means actual resolution ("real pixels"), "*" means virtual, non-visible areas that are only reachable after putting the mouse to the right side of the screen.

SaX.log is attached.


The ugly: "sax2 -r" with the external monitor connected caused my system to hang. Unfortunately I don't have a logfile of this, and I also don't want to reproduce because I had enough filesystem corruption on the first attemp already :-/
Comment 1 Marcus Schaefer 2007-08-31 16:12:41 UTC
There is no attachment :-)
Comment 2 Christian Boltz 2007-09-01 07:43:41 UTC
Created attachment 161352 [details]
SaX.log

Now *really* attaching SaX.log ;-)
Comment 3 Marcus Schaefer 2007-09-03 08:15:35 UTC
The attached configuration file is a single head configuration.
I don't see any dualhead related options like MergedFB,MonitorLayout,etc..

* It seems you did not configure dualhead, or the attached file
  doesn't reflect your latest change. More information is provided by
  the following workflow:
 
     init 3
     sax2
     ==> click on the dualhead checkbox
     ==> save the configuration
     ==> send the /var/log/SaX.log
     ==> send the /etc/X11/xorg.conf

* If you can see a dualhead enabled screen with the attached configuration
  file this setup has been done by the driver itself (by default or some
  driver magic which I can't influence)

Thanks

Comment 4 Christian Boltz 2007-09-05 16:44:15 UTC
OK, I just tried again:
- rm /etc/X11/xorg.conf /var/log/SaX.log
- sax2 -r

first try: activate dualhead and 3D - results in dualhead being unchecked, but still both screens working in the test (and moving around when hitting the screen border)

second try (saved in this state): switched off 3D, switeched on dualhead (and verified that it's still on while saving)

Result: still both screens working, with the same problem as in the initial comment.

I'll attach the logfile and the generated xorg.conf.
Comment 5 Christian Boltz 2007-09-05 16:45:29 UTC
Created attachment 162073 [details]
SaX.log, with dualhead checked for sure
Comment 6 Christian Boltz 2007-09-05 16:45:56 UTC
Created attachment 162074 [details]
the generated xorg.conf
Comment 7 Marcus Schaefer 2007-09-07 09:04:32 UTC
The generated configuration file looks good to me it includes
what you requested. I think the mentioned behavior is a driver "feature"
of the radeon driver.

- Stefan could you confirm that the radeon driver sets up virtual screen
  of the size of the biggest resolution which leads to a scrolling area for
  the smaller screens ?

- Could the use of the radeonrandr12 help Christian ?

Thanks
Comment 8 Stefan Dirsch 2007-09-07 10:26:20 UTC
Yes, panning seems to be the default for the radeon MergedFB. radeonrandr12 would be worth a try for Christian, since panning is not supported (yet) by RANDR 1.2. But ... 

1) radeonrandr is an experimental driver (completely unsupported)
2) don't complain if apps are started in the (now) hidden area and you can't
   see them any longer
Comment 9 Marcus Schaefer 2007-09-07 15:13:54 UTC
So I set this to later
Comment 13 Christian Boltz 2007-09-18 16:50:18 UTC
[note: I have installed beta3 right now]

(In reply to comment #8 from Stefan Dirsch)
> Yes, panning seems to be the default for the radeon MergedFB. 

Indeed, it's even documented in man radeon:
(This doesn't make it better though.)

       Option "MergedNonRectangular" "boolean"
              If  you are using MergedFB with two modes of different sizes,
              turn this option on to keep the smaller head from scrolling
              within the larger virtual desktop [...]
              The default value is FALSE.

I have added 
    Option        "MergedNonRectangular"
in the radeon Device section.

Unfortunately MergedNonRectangular seems to be buggy - it removes only about 1/3 of the invisible section :-(  and the screen is still scrolling around...


> radeonrandr12 would be worth a try for Christian, since panning is not 
> supported (yet) by RANDR 1.2. But ... 
> 
> 1) radeonrandr is an experimental driver (completely unsupported)

I'd say _very_ experimental. I just tested it - clicking the test button in sax2 froze my laptop :-/  (Yes, really frozen. Not even SysRQ worked.)

> 2) don't complain if apps are started in the (now) hidden area and you can't
>    see them any longer

I never had this problem on 10.2 (with xinerama), so this is my smallest 
worry ;-)
Comment 14 Marcus Schaefer 2007-09-18 16:57:20 UTC
if this option is not stable I'm not willing to integrate it. It's not
sax2's fault if the X-Server test crashed your system. From my experience
the "test" button always is a major pain in the ass because running multiple
X-Server instances gets more and more unstable


Comment 15 Christian Boltz 2007-09-18 19:02:30 UTC
(In reply to comment #14 from Marcus Schaefer)
> if this option is not stable I'm not willing to integrate it. It's not
> sax2's fault if the X-Server test crashed your system.

Sorry for not making it clear - I reopened the bug because the MergedNonRectangular option doesn't work as expected. I'll reassign to Stefan because this is more an X issue and not related to SaX2...

@Stefan: see comment #13
Comment 16 Stefan Dirsch 2007-09-18 19:46:08 UTC
I don't think this will still get fixed. Does it work with radeonold driver on RC1 to be released later this week?
Comment 17 Christian Boltz 2007-09-26 21:08:45 UTC
Some negative test results:
- sax2 -r -m 0=radeonold  doesn't offer dualhead config
- replacing "radeon" with "radeonold" in the configfile generated with 10.3 
  doesn't help
- running sax2 from a tty with the external monitor attached hangs up my laptop
  (not even SysRQ works). No problems when the external monitor isn't present.
  Is this worth a separate bugreport? (If so: How do I get logs? I guess they 
  aren't synced to the harddisk fast enough...)
- and there's still the broken MergedNonRectangular (see comment #13) - another 
  bugreport?

Fortunately I found a working configuration:
- using the xorg.conf from 10.2 and replacing "radeon" with "radeonold" makes
  the desktop non-scrolling :-)
Comment 18 Stefan Dirsch 2007-09-26 21:56:51 UTC
(In reply to comment #17 from Christian Boltz)
> Some negative test results:
> - sax2 -r -m 0=radeonold  doesn't offer dualhead config
Yes, the dualhead magic only works for drivers registered for the graphics card.

> - replacing "radeon" with "radeonold" in the configfile generated with 10.3 
>   doesn't help
ok.

> - running sax2 from a tty with the external monitor attached hangs up my
>   laptop (not even SysRQ works). No problems when the external monitor isn't
>   present.
>   Is this worth a separate bugreport? (If so: How do I get logs? I guess
>   they aren't synced to the harddisk fast enough...)
I don't think so.

> - and there's still the broken MergedNonRectangular (see comment #13) -
>   another bugreport?
No. See comment #16. The current radeon driver will get replaced by the 
RANDR 1.2 radeon driver currently in development for next openSUSE release.

> Fortunately I found a working configuration:
> - using the xorg.conf from 10.2 and replacing "radeon" with "radeonold"
>   makes the desktop non-scrolling :-)
Ok. Use this workaround for now.

Closing as WONTFIX.