Bug 135708 - FireGL: 3D/Xgl issues with big-desktop [was] Problem with ATI FireGL X1 and SaX2
Summary: FireGL: 3D/Xgl issues with big-desktop [was] Problem with ATI FireGL X1 and SaX2
Status: RESOLVED WONTFIX
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: X11 3rd Party (show other bugs)
Version: Beta 9
Hardware: Other Other
: P3 - Medium : Normal (vote)
Target Milestone: ---
Assignee: Jammy Zhou
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-28 18:04 UTC by Bart Whiteley
Modified: 2007-01-16 19:32 UTC (History)
6 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
SaX.log (3.76 KB, text/plain)
2005-11-29 00:13 UTC, Bart Whiteley
Details
Sax generated config file (9.50 KB, text/plain)
2005-11-29 16:29 UTC, Bart Whiteley
Details
config file generated with fglrxconfig (19.04 KB, text/plain)
2005-11-29 16:30 UTC, Bart Whiteley
Details
glxgears (4.13 KB, image/png)
2005-11-29 17:42 UTC, Bart Whiteley
Details
gears, stretched. (12.61 KB, image/png)
2005-11-29 17:43 UTC, Bart Whiteley
Details
Similarly, fgl_glxgears is not centered in the window. (109.36 KB, image/png)
2005-11-29 17:44 UTC, Bart Whiteley
Details
stretched fgl_glxgears (195.30 KB, image/png)
2005-11-29 17:45 UTC, Bart Whiteley
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bart Whiteley 2005-11-28 18:04:33 UTC
I have an ATI Fire GL X1 and two 1600x1200 LCD displays.  I'm trying to 
run in Xinerama, or BigDesktop mode. 

Based on these instructions: 
http://www.suse.de/~sndirsch/ati-installer-HOWTO.html
I did the following: 

# sh ati-driver-installer-8.19.10-i386.run --buildpkg SuSE/SUSE101-IA32
# rpm -Uvh fglrx_6_9_0_SUSE101-8.19.10-1.i386.rpm
# sax2 -r -m 0=fglrx -b /usr/share/doc/packages/fglrx/sax2-profile
I see this output, but SaX does not start: 
SaX: initializing please wait...
SaX: your current configuration will not be read in

SaX: no X-Server is running
SaX: will start own server if needed
SPP: prepare device [0] profile: FireGL
SPP: calling device [0] profile script: Radeon_DualHead_DriverOptions
SPP: prepare device [0] profile: Radeon_DualHead_DriverOptions
SPP: including prepared profile(s)...
ServerLayput -> all -> Screen -> 0 -> top    =
                                              ^ line <6>: syntax error: invalid
KEY in LValue specification or invalid assignment: expected LValue=RValue with L
Value=KEY sequence and RValue=STRING
ServerLayout -> all -> Screen -> 0 -> bottom =
                                              ^ line <7>: syntax error: invalid
KEY in LValue specification or invalid assignment: expected LValue=RValue with L
Value=KEY sequence and RValue=STRING
ServerLayout -> all -> Screen -> 0 -> left   =
                                              ^ line <8>: syntax error: invalid
KEY in LValue specification or invalid assignment: expected LValue=RValue with L
Value=KEY sequence and RValue=STRING
ServerLayout -> all -> Screen -> 0 -> right  =
                                              ^ line <9>: syntax error: invalid
KEY in LValue specification or invalid assignment: expected LValue=RValue with L
Value=KEY sequence and RValue=STRING
SPP: prepare device [0] profile: sax2-profile
SPP: profile will add new section(s) -> moving: 1
SPP: including prepared profile(s)...

SaX: startup
Comment 1 Stefan Dirsch 2005-11-28 21:53:15 UTC
Could you also attach /var/log/SaX.log? Thanks.
Comment 2 Bart Whiteley 2005-11-29 00:13:20 UTC
Created attachment 58880 [details]
SaX.log
Comment 3 Stefan Dirsch 2005-11-29 08:47:04 UTC
# Single Head profile for ATI ("fglrx") driver
# --------------------------------------------
#
#  Usage: sax2 -m 0=fglrx -b /usr/share/doc/packages/fglrx/sax2-profile
#
# Use the "fglrxconfig" program for setting up a Multihead 
# configuration with the ATI ("fglrx") driver.

# Remove device/desktop for Screen 1, which might have been applied by
# the Radeon Multihead profile before. Needs to be done, since we 
# don't want to create a configuration mix with radeon/fglrx drivers,
# which simply doesn't work.

Device  -> [X+1] = [REMOVE]
Screen  -> [X+1] = [REMOVE]
Monitor -> [X+1] = [REMOVE]

ServerLayout -> all -> Screen -> 1 = [REMOVE]
ServerLayput -> all -> Screen -> 0 -> top    =
ServerLayout -> all -> Screen -> 0 -> bottom =
ServerLayout -> all -> Screen -> 0 -> left   =
ServerLayout -> all -> Screen -> 0 -> right  =

Screen->[X]->DefaultDepth    = 24
Module->[X]->Load            = dbe,type1,freetype,extmod,glx,v4l,dri
Device->[X]->Raw->11->Option = "UseInternalAGPGART" "no"
Device->[X]->Raw->12->Option = "mtrr" "off"
Device->[X]->Raw->13->Option = "VideoOverlay" "on"
Device->[X]->Raw->14->Option = "OpenGLOverlay" "off"
Comment 4 Stefan Dirsch 2005-11-29 08:48:39 UTC
> ServerLayput -> all -> Screen -> 0 -> top    =
> ServerLayout -> all -> Screen -> 0 -> bottom =
> ServerLayout -> all -> Screen -> 0 -> left   =
> ServerLayout -> all -> Screen -> 0 -> right  =

Looks strange. I wonder if I did sth. stupid. Marcus?
Comment 5 Marcus Schaefer 2005-11-29 08:52:56 UTC
The new parser does not allow setting empty values. That's why
it complains. The currently used FireGL profile doesn't include
such settings ?
Comment 6 Stefan Dirsch 2005-11-29 09:02:58 UTC
Correct. But FGLRX_SingleHead still does. I'm not sure if sax2-profile is still required for the new SaX2 in 10.1. Probably not. I can adjust the documentation. What would be the correct profile for Bart?
Comment 7 Marcus Schaefer 2005-11-29 09:32:13 UTC
I would like to remove the FGLRX_SingleHead profile because I think
it is useless. We are using a dynamic Radeon profile as driver profile.
The profile will check if the fglrx driver is installed and if yes it
will be used. Additionally the GUI provides the possibility to activate
the MergedFB (big display) mode. So all you need to do with the new
version is:

  install fglrx driver
  call sax2 -r

hopefully :-))

Please refer to the following FTP URL to get the latest version:

  ftp://ftp.berlios.de/pub/sax/head-build/suse-10.1/

if you don't mind drop me a note if it works for you
Thanks
Comment 8 Stefan Dirsch 2005-11-29 10:51:50 UTC
In case your chipset is not yet known by SaX2 you need to use

  sax2 -m 0=fglrx
Comment 9 Stefan Dirsch 2005-11-29 15:37:47 UTC
I've fixed the documentation (README.SUSE) now for the next ATI driver release. Marcus will remove the FGLRX_SingleHead profile. Assuming as fixed.
Comment 10 Bart Whiteley 2005-11-29 16:08:27 UTC
I keep hearing about this "MergedFB" mode, but have yet to see any evidence of it.  Sax only lets me choose between clone or xinerama.  Xinerama is not compatible with 3d accelleration, from what I understand.  How do I use MergedFB so that I can have 3d with dual heads? 
Comment 11 Stefan Dirsch 2005-11-29 16:14:06 UTC
"Xinerama" via MergedFB *does* support 3D acceleration. AFAIK SaX2 no longer supports non-mergedfb "Xinerama" modes.
Comment 12 Bart Whiteley 2005-11-29 16:27:35 UTC
Oh.  Xinerama _is_ MergedFB.  OK.  I tried both 
'sax2 -r' and 'sax2 -m 0=fglrx'.  I select Xinerama, and check "Enable 3d". 
I do get a working 2d Xinerama, but no 3d.  The fglrx kernel mod is loaded, and I am able to get a semi-working dual head, 3d config file with fglrxconfig. 
Any idea how to get 3d working? 
Comment 13 Bart Whiteley 2005-11-29 16:29:12 UTC
Created attachment 59007 [details]
Sax generated config file
Comment 14 Bart Whiteley 2005-11-29 16:30:27 UTC
Created attachment 59008 [details]
config file generated with fglrxconfig

3d almost works with this config.  If I run glxgears, I get a blank square window.  If I stretch this window horizontally a lot, I finally see the gears in the far left of the stretched window.
Comment 15 Stefan Dirsch 2005-11-29 17:08:35 UTC
#12/13: You need to disable Composite. DRI is disabled by the fglrx driver when Composite is enabled.
#14: we cannot fix any ATI driver bugs.

3D in Xinerama/MergedFB mode with fglrx driver works on my X850 XT board.
Comment 16 Bart Whiteley 2005-11-29 17:42:54 UTC
Created attachment 59019 [details]
glxgears

With composite disabled, 3d sort of works.  This is what glxgears looks like.  Note that the gears are not actually in the visible window.
Comment 17 Bart Whiteley 2005-11-29 17:43:22 UTC
Created attachment 59020 [details]
gears, stretched. 

If I stretch the window, the gears appear on the far left.
Comment 18 Bart Whiteley 2005-11-29 17:44:00 UTC
Created attachment 59021 [details]
Similarly, fgl_glxgears is not centered in the window.
Comment 19 Bart Whiteley 2005-11-29 17:45:18 UTC
Created attachment 59022 [details]
stretched fgl_glxgears

But when stretched, the fgl_glxgears also appear on the far left.  This makes 3d apps quite unusable.  I think this is related to Xinerama.  With single head this problem goes away.  Any ideas?
Comment 21 Bart Whiteley 2005-11-29 20:30:39 UTC
For future reference, the solution is to add 
  Option "EnablePrivateBackZ" "yes"
to the device section.  I found this here: 
http://gentoo-wiki.com/HOWTO_Dual_Monitors#ATI_Big_Desktop.2C_Xinerama.2C_ATI-drivers_and_DRI
Comment 22 Bart Whiteley 2005-11-29 20:36:39 UTC
Now just one more problem.  3d only works as root.  As a non-root user, I see 
   libGL error: failed to open DRM: Operation not permitted
   libGL error: reverting to (slow) indirect rendering

I fixed this with 'chmod og+rw /dev/dri/card0' 
Is this the proper fix? 
Comment 23 Stefan Dirsch 2005-11-29 22:36:44 UTC
Marcus, could you add

  Option "EnablePrivateBackZ" "yes"

to FireGL profile, please?

> I fixed this with 'chmod og+rw /dev/dri/card0' 
> Is this the proper fix? 

The right fix is to add the user to the video group. This is documented since several years in our administration manual (3D chapter), but I no longer believe that anyone has ever read this chapter.

Comment 24 Bart Whiteley 2005-11-29 22:48:17 UTC
What's wrong with giving non-root users access to /dev/dri/card0 by default
(at least on non-server installs)?
Comment 26 Stefan Dirsch 2005-11-30 09:00:06 UTC
Marcus, see comment #23.
Comment 27 Marcus Schaefer 2005-11-30 13:40:24 UTC
Thanks, I fixed it:

 - do not activate composite on fglrx
 - include option EnablePrivateBackZ

please check out the new version from here:

  ftp://ftp.berlios.de/pub/sax/head-build/suse-10.1/

Regards
Marcus
Comment 28 Bart Whiteley 2005-11-30 15:58:08 UTC
I also noticed that there are several options that are duplicated in the Device section (See attachment in #13).  "UseFastTLS" for example, and some others as well.  Probably not a big deal, but could use some cleanup. 
Comment 29 Marcus Schaefer 2005-11-30 16:23:51 UTC
yes I know this has been fixed as well today :-) you can check that by
testing the packages from the given FTP location
Comment 30 Bart Whiteley 2005-11-30 17:28:07 UTC
The packages from the URL in #27 work nicely, generating a working xorg.conf for dual head +3d....   nice.  :)  Thanks. 
Comment 31 Bart Whiteley 2005-11-30 18:46:24 UTC
WRT comment #23, adding the user to the video group does not work.  It seems like it should: 
# ls -l
crw-rw----  1 root video 226, 0 Nov 30 11:38 card0
# grep bart /etc/group
video:x:33:bart

And yet, the 'bart' user cannot do 3d until I do 'chmod og+rw card0'

Comment 32 Stefan Dirsch 2005-11-30 19:26:00 UTC
Verifiy that the user already belongs to the group video with "id". You might need to relogin.
Comment 33 Bart Whiteley 2005-12-02 16:33:21 UTC
id says I am in the video group.  Sometimes it works, sometimes it needs a 
'chmod og+rw card0'.  Probably a bug in the proprietary driver. 
Comment 34 Stefan Dirsch 2005-12-02 16:56:20 UTC
> Sometimes it works, sometimes it needs a 'chmod og+rw card0'. 

Never heard of such a problem.
Comment 35 Bart Whiteley 2006-04-06 03:23:50 UTC
Due to bug #159343, 
  Option "EnablePrivateBackZ" "yes"
was removed from xorg.conf for ATI cards.  This means that 3d no longer works on my FireGL X1 dual DVI system.  

Please put 
    Option "EnablePrivateBackZ" "yes"
back and fix Xgl to work with 
    Option "EnablePrivateBackZ" "yes"
Comment 36 Stefan Dirsch 2006-04-06 04:13:07 UTC
> Please put 
>     Option "EnablePrivateBackZ" "yes"

Needs to be fixed in the ATI driver.

> back and fix Xgl to work with 
>    Option "EnablePrivateBackZ" "yes"

No.
Comment 37 Stefan Dirsch 2006-04-06 04:17:05 UTC
> > Please put 
> >     Option "EnablePrivateBackZ" "yes"
> Needs to be fixed in the ATI driver.
Just to make sure. I didn't suggest to make it the default for the driver. This will break Xgl again ...
Comment 38 Bart Whiteley 2006-04-07 17:44:11 UTC
Just to clarify, the problem is that without the 
   Option "EnablePrivateBackZ" "yes"
All 3d apps look like comment #16, comment #17, comment #18, and comment #19. 
When first launched, the window is empty.  The app window needs to be stretched horizontally a great deal for the real 3d app to appear.  Initially it is to the left -- outside the app window. 

Adding 
   Option "EnablePrivateBackZ" "yes"
fixes this problem, but apparently breaks Xgl. 
Comment 39 Bart Whiteley 2006-04-13 22:10:16 UTC
This problem is still present in SLED-10-Beta10 with the new 8.24.8 fglrx driver.  I still have to add 
   Option "EnablePrivateBackZ" "yes"
Comment 40 Harald Mueller-Ney 2006-04-22 04:54:18 UTC
ATI: any progress on your side?
Comment 41 Stefan Dirsch 2006-07-07 19:44:39 UTC
Bart, could you test again with 8.26.18? If this doesn't help, contact me for a beta driver. Thanks.
Comment 42 Bart Whiteley 2006-07-07 20:36:16 UTC
8.26.18 still requires EnablePrivateBackZ = "yes" 
Comment 44 Egbert Eich 2006-07-12 12:19:23 UTC
I've changed the subject as this bug has mutated.
If I understand it correctly we currently need EnablePrivateBackZ to get 3D to work with dual head. On the other hand this option doesn't work with Xgl. Xgl without 3D support is not a solution either.
Therefore for now we should enable this option for MergedFB and disable it for all other cases.
It needs to be found out why MergedFB requires this option and if the driver can be fixed to not require it.
Anatoli: Is ATi able to reproduce the problem?
Matthias: Do you know why this option does not work in connection with Xgl?
Comment 45 Stefan Dirsch 2006-07-12 12:24:31 UTC
I don't think this are questions for Bart ...
Comment 46 Matthias Hopf 2006-07-12 12:37:52 UTC
To the best of my knowledge only Bart needs EnablePrivateBackZ. There seem to be some guys outside of Novell having the same issue, but other than that fglrx seems to work fine w/o even in Multihead environments.

IMHO in the current state we should *not* enable PrivateBackZ in any case.
Comment 47 Bart Whiteley 2006-07-12 16:26:23 UTC
> To the best of my knowledge only Bart needs EnablePrivateBackZ.

d'oh!  Really?  Are others running dual DVI, and they don't have this problem?  Is it specific to my card perhaps? 
Comment 48 Matthew Tippett 2006-07-12 17:08:40 UTC
I will add some comments on this.  Changing title to use the ATI specific term.

The systems affected are the R3xx and R4xx family of products (FireGL X,Z series, certain FireGL v series, Radeon 9x00, Radeon Xy00, if and only if you are using a combined desktop larger than 2560 pixels in any dimensions.  This is a current driver limitation.  This only affects big-desktop and does not affect true dual head.  This will also affect XGL.

EnablePrivateBackZ alleviates part of the problem by masking the 'offset' issue.  You still will have rendering stopping at the 2560 pixel mark.  This may be a sufficient workaround for the moment - I use it on my Mobility FireGL V3200.

X1k products and the remaining FireGL products do not have this limitation.

Bart, can you try 1280x1024 on both screens and report if the problem still exists?
Comment 49 Matthias Hopf 2006-07-12 17:33:49 UTC
Matthew, thank you for pointing this out!

Your statement explains why we don't see this problem more often. As 2560 is a bit unusual for a hardware limitation (no power of 2), I didn't think of this.

It doesn't explain why we have troubles running Xgl with EnablePrivateBackZ, but that is a different topic.
Comment 50 Stefan Dirsch 2007-01-15 21:26:54 UTC
> Bart, can you try 1280x1024 on both screens and report if the problem still
> exists?
Bart, could you retest, also with a current driver release (8.33.6)?
Comment 51 Bart Whiteley 2007-01-16 18:28:50 UTC
I'm running 8.33.6. 

If I set up 1280x1024 on both screens, 3d works without the EnablePrivateBackZ option.  I did not go so far as to test Xgl, but fgl_glxgears runs fine on all parts of the desktop without EnablePrivateBackZ. 

With 1600x1200 on both screens, EnablePrivateBackZ is still required for 3d to work, and the 2560 pixel limitation is still present. 
Comment 52 Stefan Dirsch 2007-01-16 19:32:18 UTC
Ok. As Matthew explained in Comment #49 this issue is a hardware implementation. Closing as WONTFIX.