linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* XFree 4.0 dual monitor on AGP G4
@ 2000-04-24  6:16 W. Taylor Holliday
  2000-04-25 11:23 ` Michel Dänzer
  0 siblings, 1 reply; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-24  6:16 UTC (permalink / raw)
  To: linuxppc-dev


Hi all,

Has anyone tried tried to use XFree86 4.0 w/a dual monitor (dual head)
configuration on an AGP G4? If so, what kernel are u using? Any
not-so-obvious configuration details? I did a build of 4.0 and got it
working on my main AGP card (it auto-detects both cards) but it crashes the
kernel (2.2.15pre3, comes w/LinuxPPC 2K) when I modify the configuration to
use both monitors. The kernel also crashes when I try to run it on the
secondary card only.

thanx
- Taylor

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-25 11:23 ` Michel Dänzer
@ 2000-04-25  9:27   ` W. Taylor Holliday
  2000-04-25 16:51     ` Michel Dänzer
  2000-04-25 17:22     ` Michael Schmitz
  0 siblings, 2 replies; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-25  9:27 UTC (permalink / raw)
  To: daenzerm; +Cc: linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 500 bytes --]

Michel Dänzer wrote:

> Let me guess, you're using the fbdev driver for the secondary card? It needs
> the BusID of the gfx chip to be specified in the Device Section or the server
> will hang the machine.
>
> Michel

I specified the busID. According to /proc/pci, my AGP card is 0:16:0 and my PCI
card is 1:3:0.
The server hangs the system using both fbdev and r128. I'm running kernel
2.2.15pre19.

Atteched are my /proc/pci and XF86Config files (configs for second monitor only).

thanks
- Taylor

[-- Attachment #2: proc_pci --]
[-- Type: text/plain, Size: 2825 bytes --]

PCI devices found:
  Bus  0, device  11, function  0:
    Host bridge: Apple Unknown device (rev 0).
      Vendor id=106b. Device id=20.
      Medium devsel.  Master Capable.  Latency=16.
  Bus  0, device  13, function  0:
    PCI bridge: DEC DC21154 (rev 5).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  Latency=32.
  Bus  0, device  16, function  0:
    VGA compatible controller: ATI Unknown device (rev 0).
      Vendor id=1002. Device id=5246.
      Medium devsel.  Fast back-to-back capable.  IRQ 48.  Master Capable.  Latency=255.  Min Gnt=8.
      Prefetchable 32 bit memory at 0x94000000 [0x94000008].
      I/O at 0x400 [0x401].
      Non-prefetchable 32 bit memory at 0x90000000 [0x90000000].
  Bus  1, device   2, function  0:
    SCSI storage controller: Adaptec AIC-7850 (rev 3).
      Medium devsel.  Fast back-to-back capable.  IRQ 52.  Master Capable.  Latency=16.  Min Gnt=4.Max Lat=4.
      I/O at 0x0 [0x1].
      Non-prefetchable 32 bit memory at 0x80084000 [0x80084000].
  Bus  1, device   3, function  0:
    VGA compatible controller: ATI Unknown device (rev 0).
      Vendor id=1002. Device id=5245.
      Medium devsel.  Fast back-to-back capable.  IRQ 53.  Master Capable.  Latency=16.  Min Gnt=8.
      Prefetchable 32 bit memory at 0x84000000 [0x84000008].
      I/O at 0x1000 [0x1001].
      Non-prefetchable 32 bit memory at 0x8008c000 [0x8008c000].
  Bus  1, device   7, function  0:
    Hot Swap Controller: Apple Unknown device (rev 2).
      Vendor id=106b. Device id=22.
      Medium devsel.  Master Capable.  Latency=16.
      Non-prefetchable 32 bit memory at 0x80000000 [0x80000000].
  Bus  1, device   8, function  0:
    USB Controller: Apple Unknown device (rev 0).
      Vendor id=106b. Device id=19.
      Medium devsel.  IRQ 27.  Master Capable.  Latency=16.  Min Gnt=3.Max Lat=86.
      Non-prefetchable 32 bit memory at 0x80083000 [0x80083000].
  Bus  1, device   9, function  0:
    USB Controller: Apple Unknown device (rev 0).
      Vendor id=106b. Device id=19.
      Medium devsel.  IRQ 28.  Master Capable.  Latency=16.  Min Gnt=3.Max Lat=86.
      Non-prefetchable 32 bit memory at 0x80082000 [0x80082000].
  Bus  1, device  10, function  0:
    FireWire (IEEE 1394): Texas Instruments Unknown device (rev 0).
      Vendor id=104c. Device id=8019.
      Medium devsel.  IRQ 63.  Master Capable.  Latency=16.  Min Gnt=2.Max Lat=4.
      Non-prefetchable 32 bit memory at 0x80081000 [0x80081000].
      Non-prefetchable 32 bit memory at 0x80088000 [0x80088000].
  Bus  1, device  11, function  0:
    Ethernet controller: DEC DC21142 (rev 65).
      Medium devsel.  Fast back-to-back capable.  IRQ 58.  Master Capable.  Latency=96.  Min Gnt=20.Max Lat=40.
      I/O at 0x1000 [0x1001].
      Non-prefetchable 32 bit memory at 0x80080000 [0x80080000].

[-- Attachment #3: XF86Config.fbdev-2 --]
[-- Type: text/plain, Size: 3595 bytes --]

# Amiga users have to adapt quite some things here

Section "ServerLayout"
        Identifier     "XFree86 Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
# The location of the RGB database.  Note, this is the name of the
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.

    RgbPath     "/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)

    FontPath    "/usr/X11R6/lib/X11/fonts/local/"
    FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath    "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath    "/usr/X11R6/lib/X11/fonts/CID/"
    FontPath    "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath    "unix/:-1"

# ModulePath can be used to set a search path for the X server modules.
# The default path is shown here.

#    ModulePath "/usr/X11R6/lib/modules"

EndSection

Section "Module"
        Load  "GLcore"
        Load  "dbe"

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection

        Load  "glx"
        Load  "pex5"
        Load  "record"
        Load  "xie"
        Load  "type1"
        Load  "speedo"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
#        Option      "XkbDisable"
        Option "XkbModel"  "macintosh"
        Option "XkbLayout"  "us"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "IMPS/2"
        Option      "Device" "/dev/usbmouse"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Apple Computer"
        ModelName    "Studio 17"
        HorizSync    30-85
        VertRefresh  48-160
EndSection

Section "Device"
        ### Available Driver options are:-
#If you don't want to use the shadow framebuffer (try if it's faster with or without)
        #Option      "ShadowFB" "Off"

        Identifier  "fbdev"
        Driver      "fbdev"

# You _have_ to specify the correct PCI bus ID of your graphics chip!
# Look at /proc/pci to find out (or try XFree86 -probeonly)
        BusID       "PCI:1:3:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "fbdev"
        Monitor    "Monitor0"
        DefaultDepth      15
        SubSection "Display"
                Depth     1
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     4
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     8
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     15
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     16
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes "1024x768"
        EndSubSection
EndSection


[-- Attachment #4: XF86Config.r128-2 --]
[-- Type: text/plain, Size: 2971 bytes --]

Section "ServerLayout"
	Identifier     "XFree86 Configured"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
# The location of the RGB database.  Note, this is the name of the
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.

    RgbPath	"/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)

    FontPath	"/usr/X11R6/lib/X11/fonts/local/"
    FontPath	"/usr/X11R6/lib/X11/fonts/misc/"
    FontPath	"/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath	"/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath	"/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath	"/usr/X11R6/lib/X11/fonts/CID/"
    FontPath	"/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath	"/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath	"/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath    "unix/:-1"

# ModulePath can be used to set a search path for the X server modules.
# The default path is shown here.

#    ModulePath	"/usr/X11R6/lib/modules"

EndSection

Section "Module"
	Load  "GLcore"
	Load  "dbe"

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection

	Load  "glx"
	Load  "pex5"
	Load  "record"
	Load  "xie"
	Load  "type1"
	Load  "speedo"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "keyboard"
#        Option      "XkbDisable"
	Option "XkbModel"  "macintosh"
	Option "XkbLayout"  "us"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option      "Protocol" "IMPS/2"
	Option      "Device" "/dev/usbmouse"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Apple Computer"
	ModelName    "Studio 17"
        HorizSync    30-85
        VertRefresh  48-160
EndSection

Section "Device"
	### Available Driver options are:-
        #Option     "NoAccel"
        #Option     "SWcursor"
        Option     "HWcursor"
        #Option     "Dac6Bit"
        #Option     "Dac8Bit"
        Option     "UseFBDev"
	Identifier  "r128"
	Driver      "r128"
	BusID       "PCI:1:3:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "r128"
	Monitor    "Monitor0"
        DefaultDepth      15
	SubSection "Display"
		Depth     1
		Modes "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     4
		Modes "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     8
		Modes "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     15
		Modes "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     16
		Modes "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     24
		Modes "1024x768"
	EndSubSection
EndSection

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-24  6:16 W. Taylor Holliday
@ 2000-04-25 11:23 ` Michel Dänzer
  2000-04-25  9:27   ` W. Taylor Holliday
  0 siblings, 1 reply; 26+ messages in thread
From: Michel Dänzer @ 2000-04-25 11:23 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: linuxppc-dev


"W. Taylor Holliday" wrote:

> Has anyone tried tried to use XFree86 4.0 w/a dual monitor (dual head)
> configuration on an AGP G4? If so, what kernel are u using? Any
> not-so-obvious configuration details? I did a build of 4.0 and got it
> working on my main AGP card (it auto-detects both cards) but it crashes the
> kernel (2.2.15pre3, comes w/LinuxPPC 2K) when I modify the configuration to
> use both monitors. The kernel also crashes when I try to run it on the
> secondary card only.

Let me guess, you're using the fbdev driver for the secondary card? It needs
the BusID of the gfx chip to be specified in the Device Section or the server
will hang the machine.


Michel


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-25  9:27   ` W. Taylor Holliday
@ 2000-04-25 16:51     ` Michel Dänzer
  2000-04-25 18:30       ` W. Taylor Holliday
  2000-04-25 17:22     ` Michael Schmitz
  1 sibling, 1 reply; 26+ messages in thread
From: Michel Dänzer @ 2000-04-25 16:51 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: linuxppc-dev


"W. Taylor Holliday" wrote:
>
> Michel Dänzer wrote:
>
> > Let me guess, you're using the fbdev driver for the secondary card? It
> > needs the BusID of the gfx chip to be specified in the Device Section or
> > the server will hang the machine.
>
> I specified the busID. According to /proc/pci, my AGP card is 0:16:0 and my
> PCI card is 1:3:0.

Looks right. But you have to specify the framebuffer device for the secondary
card as well, and you only have to start one server.


> The server hangs the system using both fbdev and r128. I'm running kernel
> 2.2.15pre19.

If my suggestion doesn't work, the log(s) (/var/log/XFree86.[01].log) may be
helpful.


I suggest the following XF86Config:


Section "ServerLayout"
        Identifier     "XFree86 Configured"
        Screen      0  "Screen0" 0 0
# If it complains about the Layout Section, try enclosing RightOf in double
# quotes
	Screen      1  "Screen1" RightOf 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    RgbPath     "/usr/X11R6/lib/X11/rgb"
    FontPath    "/usr/X11R6/lib/X11/fonts/local/"
    FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath    "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath    "/usr/X11R6/lib/X11/fonts/CID/"
    FontPath    "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath    "unix/:-1"
EndSection

Section "Module"
        Load  "GLcore"
        Load  "dbe"
	Load  "extmod"
        Load  "glx"
        Load  "pex5"
        Load  "record"
        Load  "xie"
        Load  "type1"
        Load  "speedo"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option "XkbModel"  "macintosh"
        Option "XkbLayout"  "us"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "IMPS/2"
        Option      "Device" "/dev/usbmouse"
EndSection

# Change this to reflect the first monitor
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Apple Computer"
        ModelName    "Studio 17"
        HorizSync    30-85
        VertRefresh  48-160
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Apple Computer"
        ModelName    "Studio 17"
        HorizSync    30-85
        VertRefresh  48-160
EndSection

Section "Device"
        Identifier  "AGP"
        Driver      "r128"
        Option     "HWcursor"
        Option     "UseFBDev"
        BusID       "PCI:0:16:0"
EndSection

Section "Device"
        Identifier  "PCI"
        Driver      "r128"
        Option     "HWcursor"
        Option     "UseFBDev"
	Option     "fbdev" "/dev/fb1"
        BusID       "PCI:1:3:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "AGP"
        Monitor    "Monitor0"
        DefaultDepth      15
        SubSection "Display"
                Depth     1
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     4
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     8
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     15
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     16
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes "1024x768"
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "PCI"
        Monitor    "Monitor1"
        DefaultDepth      15
        SubSection "Display"
                Depth     1
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     4
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     8
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     15
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     16
                Modes "1024x768"
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes "1024x768"
        EndSubSection
EndSection



This assumes that fb0 is on the AGP card and that its monitor is on the left
side.


Now to get some extra candy, start the server with the +Xinerama option and it
will combine both screens as if they were one big one! :)


Hope it works,

Michel


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-25  9:27   ` W. Taylor Holliday
  2000-04-25 16:51     ` Michel Dänzer
@ 2000-04-25 17:22     ` Michael Schmitz
  1 sibling, 0 replies; 26+ messages in thread
From: Michael Schmitz @ 2000-04-25 17:22 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: daenzerm, linuxppc-dev


> I specified the busID. According to /proc/pci, my AGP card is 0:16:0 and my PCI
> card is 1:3:0.
> The server hangs the system using both fbdev and r128. I'm running kernel
> 2.2.15pre19.

Any error messages about PCI resource conflicts in the X server log file?
In case the log isn't written completely, try XFree86 --probeonly.

	Michael


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-25 16:51     ` Michel Dänzer
@ 2000-04-25 18:30       ` W. Taylor Holliday
  2000-04-26 12:26         ` Michel Dänzer
  0 siblings, 1 reply; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-25 18:30 UTC (permalink / raw)
  To: daenzerm; +Cc: linuxppc-dev


Thanks Michel for your help :-). I modified the config file you sent me to use
the secondary monitor only (since XFree wouldn't parse the dual monitor layout
section), and unfortunately the kernel still crashed. Right now trying to get
both monitors working is getting ahead of myself - i'm first shooting to get the
secondary one working alone. Unfortunately, the XFree86 4.0 docs say that
PCI id's are mandatory for dual-head configs. Oh and it dies before it writes to
the logfile. So I have no clue what to do next. Suggestions?

- Taylor


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-25 18:30       ` W. Taylor Holliday
@ 2000-04-26 12:26         ` Michel Dänzer
  2000-04-26 13:54           ` Kostas Gewrgiou
  0 siblings, 1 reply; 26+ messages in thread
From: Michel Dänzer @ 2000-04-26 12:26 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: linuxppc-dev


"W. Taylor Holliday" wrote:

> I modified the config file you sent me to use the secondary monitor only
> (since XFree wouldn't parse the dual monitor layout section),

Dang, gotta look at the syntax for the Layout Section again :)

BTW you can quickly choose a Screen Section with the -screen command line
option.


> and unfortunately the kernel still crashed. Right now trying to get
> both monitors working is getting ahead of myself - i'm first shooting to get
> the secondary one working alone.

Very sensible.

> Unfortunately, the XFree86 4.0 docs say that PCI id's are mandatory for
> dual-head configs.

So? You have specified them.

> Oh and it dies before it writes to the logfile. So I have no clue what to do
> next. Suggestions?

- remount (at least) the partition containing /var/log in sync mode (to get at
  least something from the log)

- run X with -probeonly


Michel


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 12:26         ` Michel Dänzer
@ 2000-04-26 13:54           ` Kostas Gewrgiou
  2000-04-26 14:16             ` Michel Dänzer
  2000-04-26 16:53             ` Ryuichi Oikawa
  0 siblings, 2 replies; 26+ messages in thread
From: Kostas Gewrgiou @ 2000-04-26 13:54 UTC (permalink / raw)
  To: daenzerm; +Cc: W. Taylor Holliday, linuxppc-dev


On Wed, 26 Apr 2000, Michel Dδnzer wrote:

>
> "W. Taylor Holliday" wrote:
>
> > I modified the config file you sent me to use the secondary monitor only
> > (since XFree wouldn't parse the dual monitor layout section),
>
> Dang, gotta look at the syntax for the Layout Section again :)
>

Thats what i use:

Section "ServerLayout"
        Identifier "Main Layout"
        Screen "Screen 1"
        Screen "Screen 2" LeftOf "Screen 1"
EndSection

 Unfortunately i don't think that it will work in this case,
the second r128 will never be able to pick the right device
(/dev/fb1 here) the BusID line is more or less ignored in the fbdev
case so the second driver will open /dev/fb0 which will result
in a kernel crash.

Here is the related code from the xfree source, note the FIXME
line there.....

The only solutions for now (beyond fixing the code) is to use
the unaccelerated fbdev driver for /dev/fb1, not using fbdev
in the r128 driver will also work but this will require a couple
of changes in the r128 driver (info about what changes are needed
were posted in this list a few months back)



/* try to find the framebuffer device for a given PCI device */
static int
fbdev_open_pci(pciVideoPtr pPci)
{
        struct  fb_fix_screeninfo fix;
        char    filename[16];
        int     fd,i,j;

        for (i = 0; i < 4; i++) {
                sprintf(filename,"/dev/fb%d",i);
                if (-1 == (fd = open(filename,O_RDWR,0))) {
                        continue;
                }
                if (-1 == ioctl(fd,FBIOGET_FSCREENINFO,(void*)&fix)) {
                        close(fd);
                        continue;
                }
                /* FIXME: better ask the fbdev driver for bus/device/func,
                          but there is no way to to this yet. */
                for (j = 0; j < FB2PCICOUNT; j++) {
                        if (pPci->vendor   == fb2pci_map[j].vendor &&
                            pPci->chipType == fb2pci_map[j].chip   &&
                            fix.accel      == fb2pci_map[j].id)
                                break;
                }
                if (j == FB2PCICOUNT) {
                        close(fd);
                        continue;
                }
                return fd;
        }
        return -1;
}


   Kostas Gewrgiou


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 13:54           ` Kostas Gewrgiou
@ 2000-04-26 14:16             ` Michel Dänzer
  2000-04-26 16:53             ` Ryuichi Oikawa
  1 sibling, 0 replies; 26+ messages in thread
From: Michel Dänzer @ 2000-04-26 14:16 UTC (permalink / raw)
  To: Kostas Gewrgiou; +Cc: linuxppc-dev


Kostas Gewrgiou wrote:

> the second r128 will never be able to pick the right device
> (/dev/fb1 here) the BusID line is more or less ignored in the fbdev
> case so the second driver will open /dev/fb0 which will result
> in a kernel crash.

Doesn't r128 support the "fbdev" option to specify the framebuffer device?

Here's the important code from the glint driver:


	for (i = 0; i < numDevSections; i++) {
 	    dev = xf86FindOptionValue(devSections[i]->options,"fbdev");
 	    if (devSections[i]->busID) {
 		xf86ParsePciBusString(devSections[i]->busID,&bus,&device,&func);
 		if (!xf86CheckPciSlot(bus,device,func))
 		    continue;
 	    }
 	    if (fbdevHWProbe(NULL,dev,&name)) {
 		ScrnInfoPtr pScrn;

  				/* Check for pm2fb */
 		if (strcmp(name,"Permedia2")) continue;
 		foundScreen = TRUE;
 		pScrn = NULL;

 		if (devSections[i]->busID) {
 		    /* XXX what about when there's no busID set? */
 		    int entity;
 		    entity = xf86ClaimPciSlot(bus,device,func,drv,
 					      0,devSections[i],
 					      TRUE);
 		    pScrn = xf86ConfigPciEntity(pScrn,0,entity,
 						      NULL,RES_SHARED_VGA,
 						      NULL,NULL,NULL,NULL);
 		    if (pScrn)
  			xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
  				   "claimed PCI slot %d:%d:%d\n",bus,device,func);
 		} else {



Michel

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 13:54           ` Kostas Gewrgiou
  2000-04-26 14:16             ` Michel Dänzer
@ 2000-04-26 16:53             ` Ryuichi Oikawa
  2000-04-26 17:02               ` Michel Dänzer
  1 sibling, 1 reply; 26+ messages in thread
From: Ryuichi Oikawa @ 2000-04-26 16:53 UTC (permalink / raw)
  To: gewrgiou; +Cc: daenzerm, wtholliday, linuxppc-dev


From: Kostas Gewrgiou <gewrgiou@imbc.gr>
Subject: Re: XFree 4.0 dual monitor on AGP G4

> Thats what i use:
>
> Section "ServerLayout"
>         Identifier "Main Layout"
>         Screen "Screen 1"
>         Screen "Screen 2" LeftOf "Screen 1"
> EndSection
>
>  Unfortunately i don't think that it will work in this case,
> the second r128 will never be able to pick the right device
> (/dev/fb1 here) the BusID line is more or less ignored in the fbdev
> case so the second driver will open /dev/fb0 which will result
> in a kernel crash.
>
> Here is the related code from the xfree source, note the FIXME
> line there.....
>
> The only solutions for now (beyond fixing the code) is to use
> the unaccelerated fbdev driver for /dev/fb1,
Or export FRAMEBUFFER=/dev/fb0;startx;export FRAMEBUFFER=/dev/fb1;startx
(one server for each card like as XF68_FBDev) with r128 driver?

But if you don't want to be bothered by the fbdev, you can try

ftp://ppc.linux.or.jp/pub/users/oikawa/Xserver/xfree86/XFree86-4.0-mga-r128-v2.gz

WITHOUT Option "UseFBDev" nor "fbdev".
I'm using three heads(ATI and Matrox cards) with this server.

BTW, why do people like fbdev very much? It's easier to port XFree86
built-in drivers as Kostas mentioned before, and has advantages that
developers can port/update the server independent on the kernel, add
support the latest hardware without waiting for the kernel driver, etc.
This is just a thought, I may be wrong though.


Regards,

Ryuichi Oikawa
roikawa@rr.iij4u.or.jp

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 16:53             ` Ryuichi Oikawa
@ 2000-04-26 17:02               ` Michel Dänzer
  2000-04-28 16:37                 ` Ryuichi Oikawa
  0 siblings, 1 reply; 26+ messages in thread
From: Michel Dänzer @ 2000-04-26 17:02 UTC (permalink / raw)
  To: Ryuichi Oikawa; +Cc: gewrgiou, linuxppc-dev


Ryuichi Oikawa wrote:

> BTW, why do people like fbdev very much?

- one can use the generic fbdev driver if the dedicated driver doesn't work
- if the dedicated driver supports fbdev, access to the hardware is
  coordinated between all virtual terminals
- ...


> It's easier to port XFree86 built-in drivers as Kostas mentioned before, and > has advantages that developers can port/update the server independent on the
> kernel, add support the latest hardware without waiting for the kernel
> driver, etc.

Use of the fbdev support is optional.


Michel


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
@ 2000-04-26 19:45 W. Taylor Holliday
  2000-04-27 11:10 ` Michel Dänzer
  0 siblings, 1 reply; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-26 19:45 UTC (permalink / raw)
  To: Kostas Gewrgiou, daenzerm; +Cc: linuxppc-dev


> Kostas Gewrgiou wrote:
>  Unfortunately i don't think that it will work in this case,
> the second r128 will never be able to pick the right device
> (/dev/fb1 here) the BusID line is more or less ignored in the fbdev
> case so the second driver will open /dev/fb0 which will result
> in a kernel crash.

> The only solutions for now (beyond fixing the code) is to use
> the unaccelerated fbdev driver for /dev/fb1,

How should I set up the config to do that?

> not using fbdev
> in the r128 driver will also work but this will require a couple
> of changes in the r128 driver (info about what changes are needed
> were posted in this list a few months back)

So is there a patch? Or are u just referring to some discussion on the
subject?

btw - I applied all the patches at entropy.crashing.org/~howath before
compiling

thanks
- Taylor

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
@ 2000-04-26 19:51 W. Taylor Holliday
  2000-04-26 20:05 ` Michael Schmitz
  0 siblings, 1 reply; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-26 19:51 UTC (permalink / raw)
  To: daenzerm; +Cc: linuxppc-dev


>> Unfortunately, the XFree86 4.0 docs say that PCI id's are mandatory for
>> dual-head configs.
>
> So? You have specified them.
>

Well using fbdev in principle should be abstracted from pci hardware.

>> Oh and it dies before it writes to the logfile. So I have no clue what to do
>> next. Suggestions?
>
> - remount (at least) the partition containing /var/log in sync mode (to get at
>   least something from the log)
>
> - run X with -probeonly
>
>
> Michel

given what Kostas Gewrgiou told me regarding the fbdev_open_pci function,
viewing logs isn't going to do me any good.

oh, and probeonly crashes the machine :-(

- Taylor

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 19:51 XFree 4.0 dual monitor on AGP G4 W. Taylor Holliday
@ 2000-04-26 20:05 ` Michael Schmitz
  0 siblings, 0 replies; 26+ messages in thread
From: Michael Schmitz @ 2000-04-26 20:05 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: daenzerm, linuxppc-dev


> >> Unfortunately, the XFree86 4.0 docs say that PCI id's are mandatory for
> >> dual-head configs.
> >
> > So? You have specified them.
> >
>
> Well using fbdev in principle should be abstracted from pci hardware.

In principle. OTOH, the X server insists on examining the PCI config
regardless of the fbdev interface having everything set up OK. And the
fbdev driver currently does not provide a method to report the IO base for
the chipset registers. Neither does it provide a way for the X server to
associate a PCI device with a given framebuffer device to figure the
missing information from the PCI resources. You might argue that the X
server could reconstruct that association from the PCI resources and the
fb_info video mem address. Using the PCI resources for all purposes is
probably easier though.

> given what Kostas Gewrgiou told me regarding the fbdev_open_pci function,
> viewing logs isn't going to do me any good.

I've not seen fbdev_open_pci called (on the Mach64 driver, that is).

> oh, and probeonly crashes the machine :-(

Care to post a lspci -vv log?

	Michael


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
@ 2000-04-26 22:54 W. Taylor Holliday
  2000-04-27 13:14 ` Geert Uytterhoeven
  0 siblings, 1 reply; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-26 22:54 UTC (permalink / raw)
  To: Michael Schmitz; +Cc: daenzerm, linuxppc-dev


> Care to post a lspci -vv log?
>
>  Michael

noprob, here it is

00:0d.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev 05)
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
 Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 32 set, cache line size 08
 Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
 I/O behind bridge: 00001000-00001fff
 Memory behind bridge: 80000000-87ffffff
 Prefetchable memory behind bridge: 0000000080000000-000000007ff00000
 BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-

00:10.0 VGA compatible controller: ATI Technologies Inc: Unknown device 5246
 Subsystem: Unknown device b530:0408
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR- FastB2B-
 Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 8 min, 255 set, cache line size 08
 Interrupt: pin A routed to IRQ 48
 Region 0: Memory at 94000000 (32-bit, prefetchable)
 Region 1: I/O ports at 0400 [disabled]
 Region 2: Memory at 90000000 (32-bit, non-prefetchable)
 Capabilities: <available only to root>

01:02.0 SCSI storage controller: Adaptec AIC-7850 (rev 03)
 Subsystem: Unknown device 9004:7850
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
 Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 4 min, 4 max, 16 set, cache line size 08
 Interrupt: pin A routed to IRQ 52
 Region 0: I/O ports at <unassigned>
 Region 1: Memory at 80084000 (32-bit, non-prefetchable)
 Capabilities: <available only to root>

01:03.0 VGA compatible controller: ATI Technologies Inc: Unknown device 5245
 Subsystem: Unknown device b530:0408
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping+ SERR- FastB2B-
 Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 8 min, 16 set, cache line size 08
 Interrupt: pin A routed to IRQ 53
 Region 0: Memory at 84000000 (32-bit, prefetchable)
 Region 1: I/O ports at 1000 [disabled]
 Region 2: Memory at 8008c000 (32-bit, non-prefetchable)
 Capabilities: <available only to root>

01:07.0 Class ff00: Apple Computer Inc.: Unknown device 0022 (rev 02)
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
 Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 16 set, cache line size 08
 Region 0: Memory at 80000000 (32-bit, non-prefetchable)

01:08.0 USB Controller: Apple Computer Inc.: Unknown device 0019 (prog-if
10)
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
 Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 3 min, 86 max, 16 set
 Interrupt: pin A routed to IRQ 27
 Region 0: Memory at 80083000 (32-bit, non-prefetchable)

01:09.0 USB Controller: Apple Computer Inc.: Unknown device 0019 (prog-if
10)
 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
 Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 3 min, 86 max, 16 set
 Interrupt: pin A routed to IRQ 28
 Region 0: Memory at 80082000 (32-bit, non-prefetchable)

01:0a.0 FireWire (IEEE 1394): Texas Instruments: Unknown device 8019
(prog-if 10)
 Control: I/O- Mem- BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
 Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Interrupt: pin A routed to IRQ 63
 Region 0: Memory at 80081000 (32-bit, non-prefetchable) [disabled]
 Region 1: Memory at 80088000 (32-bit, non-prefetchable) [disabled]
 Capabilities: <available only to root>

01:0b.0 Ethernet controller: Digital Equipment Corporation DECchip 21142/43
(rev 41)
 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR- FastB2B-
 Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
 Latency: 20 min, 40 max, 96 set, cache line size 08
 Interrupt: pin A routed to IRQ 58
 Region 0: I/O ports at 1000
 Region 1: Memory at 80080000 (32-bit, non-prefetchable) [disabled]
 Capabilities: <available only to root>


Thanx again for your help
(I think I previously posted my /proc/pci if u need it)

- Taylor

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 19:45 W. Taylor Holliday
@ 2000-04-27 11:10 ` Michel Dänzer
  2000-04-27 13:35   ` Kostas Gewrgiou
  0 siblings, 1 reply; 26+ messages in thread
From: Michel Dänzer @ 2000-04-27 11:10 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: Kostas Gewrgiou, linuxppc-dev


"W. Taylor Holliday" wrote:

> > The only solutions for now (beyond fixing the code) is to use
> > the unaccelerated fbdev driver for /dev/fb1,
>
> How should I set up the config to do that?

Section "Device"
	Identifier  "FBDev"
	Driver      "fbdev"
	Option      "fbdev" "/dev/fb1"
# This one may improve performance for some systems, try!
#    Option     "ShadowFB"      "off"
# This option increases speed at the expense of RAM. Your choice
#    Option     "BackingStore"
EndSection


And use this device section for the second screen.


Michel


PS: I still think it should work with the r128 driver if it support the
"fbdev" option...


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 22:54 W. Taylor Holliday
@ 2000-04-27 13:14 ` Geert Uytterhoeven
  0 siblings, 0 replies; 26+ messages in thread
From: Geert Uytterhoeven @ 2000-04-27 13:14 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: Michael Schmitz, daenzerm, linuxppc-dev


On Wed, 26 Apr 2000, W. Taylor Holliday wrote:
> 01:07.0 Class ff00: Apple Computer Inc.: Unknown device 0022 (rev 02)
> 01:08.0 USB Controller: Apple Computer Inc.: Unknown device 0019 (prog-if

Anyone who knows the names of these and is willing to send them to Martin
Mares <pci-ids@ucw.cz>?

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- Linux/{m68k~Amiga,PPC~CHRP} -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-27 11:10 ` Michel Dänzer
@ 2000-04-27 13:35   ` Kostas Gewrgiou
  2000-04-27 13:57     ` Kostas Gewrgiou
  2000-04-27 15:23     ` Michel Dänzer
  0 siblings, 2 replies; 26+ messages in thread
From: Kostas Gewrgiou @ 2000-04-27 13:35 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: W. Taylor Holliday, linuxppc-dev


On Thu, 27 Apr 2000, Michel Dδnzer wrote:

>
> PS: I still think it should work with the r128 driver if it support the
> "fbdev" option...

 Yes it would work, there is a problem with the approach taken by
fbdev/glint, the BusID info isn't used at all there for the choise
of the device to be opened, without the fbdev option you always
get /dev/fb0 which might not be what you want.

Here is a small patch (untested) that changes r128 to use the "fbdev"
option instead of using BusID to get the fbdev device.
If the BusID and fbdev options don't match bad things will happen
so be carefull there.
For people that don't have more than one r128 card the previous behaviour
works better so don't use it...

  Kostas


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-27 13:35   ` Kostas Gewrgiou
@ 2000-04-27 13:57     ` Kostas Gewrgiou
  2000-04-27 15:23     ` Michel Dänzer
  1 sibling, 0 replies; 26+ messages in thread
From: Kostas Gewrgiou @ 2000-04-27 13:57 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: W. Taylor Holliday, linuxppc-dev


On Thu, 27 Apr 2000, Kostas Gewrgiou wrote:

> Here is a small patch (untested) that changes r128 to use the "fbdev"

 It seems that i forgot my brain at home today, here is the patch for real
this time

 Kostas

--- r128_driver.c	Thu Apr 27 16:09:06 2000
+++ r128_driver.c-orij	Thu Apr 27 15:54:38 2000
@@ -1131,8 +1131,7 @@
 	/* check for linux framebuffer device */
 	if (!xf86LoadSubModule(pScrn, "fbdevhw")) return FALSE;
 	xf86LoaderReqSymLists(fbdevHWSymbols, NULL);
-	if (!fbdevHWInit(pScrn,NULL,xf86FindOptionValue(info->pEnt->device->options,"fbdev")))
-		return FALSE;
+	if (!fbdevHWInit(pScrn, info->PciInfo, NULL)) return FALSE;
 	pScrn->SwitchMode    = fbdevHWSwitchMode;
 	pScrn->AdjustFrame   = fbdevHWAdjustFrame;
 	pScrn->EnterVT       = R128EnterVTFBDev;


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-27 13:35   ` Kostas Gewrgiou
  2000-04-27 13:57     ` Kostas Gewrgiou
@ 2000-04-27 15:23     ` Michel Dänzer
  1 sibling, 0 replies; 26+ messages in thread
From: Michel Dänzer @ 2000-04-27 15:23 UTC (permalink / raw)
  To: Kostas Gewrgiou; +Cc: W. Taylor Holliday, linuxppc-dev


Kostas Gewrgiou wrote:

> > PS: I still think it should work with the r128 driver if it support the
> > "fbdev" option...
>
>  Yes it would work, there is a problem with the approach taken by
> fbdev/glint, the BusID info isn't used at all there for the choise
> of the device to be opened,

Really? The code seems to do it IMHO.

> without the fbdev option you always get /dev/fb0 which might not be what you
> want.

Almost certainly not (Ask Taylor ;)


> Here is a small patch (untested) that changes r128 to use the "fbdev"
> option instead of using BusID to get the fbdev device.

The patch you included in the later mail is reversed, so you have to use the
-R option to apply it.

Just a hint...


Michel


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
@ 2000-04-28  0:42 W. Taylor Holliday
  2000-04-28  6:06 ` Michel Dänzer
  0 siblings, 1 reply; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-28  0:42 UTC (permalink / raw)
  To: Michel Ddnzer; +Cc: Kostas Gewrgiou, linuxppc-dev


>> How should I set up the config to do that?
>
> Section "Device"
>  Identifier  "FBDev"
>  Driver      "fbdev"
>  Option      "fbdev" "/dev/fb1"
> # This one may improve performance for some systems, try!
> #    Option     "ShadowFB"      "off"
> # This option increases speed at the expense of RAM. Your choice
> #    Option     "BackingStore"
> EndSection


Well, that didn't work. Basically the server started running, but nothing
showed up on my second monitor. Suggestions?

- Taylor

p.s. hey but it beats crashing the kernel :-)

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
@ 2000-04-28  0:51 W. Taylor Holliday
  2000-04-28  6:09 ` Michel Dänzer
  0 siblings, 1 reply; 26+ messages in thread
From: W. Taylor Holliday @ 2000-04-28  0:51 UTC (permalink / raw)
  To: Kostas Gewrgiou, Michel D?nzer; +Cc: linuxppc-dev


>
>  Yes it would work, there is a problem with the approach taken by
> fbdev/glint, the BusID info isn't used at all there for the choise
> of the device to be opened, without the fbdev option you always
> get /dev/fb0 which might not be what you want.

According to the XFree 4 documentation, the BusID determines the device, and
thus the framebuffer used, even in the case of fbdev. So I'm kinda confused.

> Here is a small patch (untested) that changes r128 to use the "fbdev"
> option instead of using BusID to get the fbdev device.
> If the BusID and fbdev options don't match bad things will happen
> so be carefull there.
> For people that don't have more than one r128 card the previous behaviour
> works better so don't use it...
>
>   Kostas
>

If I apply your patch and recompile, how should I modify the config file?
Get rid of all BusID's? Just for the second monitor?

- Taylor

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-28  0:42 W. Taylor Holliday
@ 2000-04-28  6:06 ` Michel Dänzer
  0 siblings, 0 replies; 26+ messages in thread
From: Michel Dänzer @ 2000-04-28  6:06 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: Kostas Gewrgiou, linuxppc-dev


"W. Taylor Holliday" wrote:
>
> >> How should I set up the config to do that?
> >
> > Section "Device"
> >  Identifier  "FBDev"
> >  Driver      "fbdev"
> >  Option      "fbdev" "/dev/fb1"
> > # This one may improve performance for some systems, try!
> > #    Option     "ShadowFB"      "off"
> > # This option increases speed at the expense of RAM. Your choice
> > #    Option     "BackingStore"
> > EndSection
>
> Well, that didn't work. Basically the server started running, but nothing
> showed up on my second monitor. Suggestions?

Sorry, I forgot to say you still have to give it the bus ID *blush*


> p.s. hey but it beats crashing the kernel :-)

:)


Michel


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-28  0:51 W. Taylor Holliday
@ 2000-04-28  6:09 ` Michel Dänzer
  2000-04-28  7:47   ` Michael Schmitz
  0 siblings, 1 reply; 26+ messages in thread
From: Michel Dänzer @ 2000-04-28  6:09 UTC (permalink / raw)
  To: W. Taylor Holliday; +Cc: Kostas Gewrgiou, linuxppc-dev


"W. Taylor Holliday" wrote:
>
> >
> >  Yes it would work, there is a problem with the approach taken by
> > fbdev/glint, the BusID info isn't used at all there for the choise
> > of the device to be opened, without the fbdev option you always
> > get /dev/fb0 which might not be what you want.
>
> According to the XFree 4 documentation, the BusID determines the device, and
> thus the framebuffer used, even in the case of fbdev. So I'm kinda confused.

This doesn't apply to framebuffer devices, I guess it's about the PCI devices.
There's currently no safe way to find the corresponding fbdev for a given PCI
device and vice versa. But it's being worked on.


> > Here is a small patch (untested) that changes r128 to use the "fbdev"
> > option instead of using BusID to get the fbdev device.
> > If the BusID and fbdev options don't match bad things will happen
> > so be carefull there.
> > For people that don't have more than one r128 card the previous behaviour
> > works better so don't use it...
>
> If I apply your patch and recompile, how should I modify the config file?
> Get rid of all BusID's? Just for the second monitor?

I suggest always giving all BusIDs, it doesn't hurt as long as BusID and fbdev
match.


Michel


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-28  6:09 ` Michel Dänzer
@ 2000-04-28  7:47   ` Michael Schmitz
  0 siblings, 0 replies; 26+ messages in thread
From: Michael Schmitz @ 2000-04-28  7:47 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: W. Taylor Holliday, Kostas Gewrgiou, linuxppc-dev


> > If I apply your patch and recompile, how should I modify the config file?
> > Get rid of all BusID's? Just for the second monitor?
>
> I suggest always giving all BusIDs, it doesn't hurt as long as BusID and fbdev
> match.

Meaning fb0 usually is the one with your consoles on it (unless you mapped
them to another one), the rest follows in order of the devices being
probed by the kernel. The ordering of devices is defined by the order the
*fb_init calls appear in the source, and the exact order is still being
worked on as far as I understood Geert.
I think there's no way to change the device ordering at boot time ...

	Michael


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: XFree 4.0 dual monitor on AGP G4
  2000-04-26 17:02               ` Michel Dänzer
@ 2000-04-28 16:37                 ` Ryuichi Oikawa
  0 siblings, 0 replies; 26+ messages in thread
From: Ryuichi Oikawa @ 2000-04-28 16:37 UTC (permalink / raw)
  To: daenzerm; +Cc: linuxppc-dev


> > BTW, why do people like fbdev very much?
>
> - one can use the generic fbdev driver if the dedicated driver doesn't work
> - if the dedicated driver supports fbdev, access to the hardware is
>   coordinated between all virtual terminals
But XFree has excellent drivers(and extensions) optimized for the X server
and they work with a slight modification(at least for mga and r128 cases,
AFAIK. I like easy way). And we do access drawing eigine directly...

> Use of the fbdev support is optional.
I misunderstood non-using fbdev support is optional in the ppc world
reading discussions on the list...

BTW, I don't hate fbdev at all. It is the only way to provide large
console on linux and also very important for X server to support 1st
generation PCI macs' on-board video, etc.


Thank you,

Ryuichi Oikawa
roikawa@rr.iij4u.or.jp

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2000-04-28 16:37 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-04-26 19:51 XFree 4.0 dual monitor on AGP G4 W. Taylor Holliday
2000-04-26 20:05 ` Michael Schmitz
  -- strict thread matches above, loose matches on Subject: below --
2000-04-28  0:51 W. Taylor Holliday
2000-04-28  6:09 ` Michel Dänzer
2000-04-28  7:47   ` Michael Schmitz
2000-04-28  0:42 W. Taylor Holliday
2000-04-28  6:06 ` Michel Dänzer
2000-04-26 22:54 W. Taylor Holliday
2000-04-27 13:14 ` Geert Uytterhoeven
2000-04-26 19:45 W. Taylor Holliday
2000-04-27 11:10 ` Michel Dänzer
2000-04-27 13:35   ` Kostas Gewrgiou
2000-04-27 13:57     ` Kostas Gewrgiou
2000-04-27 15:23     ` Michel Dänzer
2000-04-24  6:16 W. Taylor Holliday
2000-04-25 11:23 ` Michel Dänzer
2000-04-25  9:27   ` W. Taylor Holliday
2000-04-25 16:51     ` Michel Dänzer
2000-04-25 18:30       ` W. Taylor Holliday
2000-04-26 12:26         ` Michel Dänzer
2000-04-26 13:54           ` Kostas Gewrgiou
2000-04-26 14:16             ` Michel Dänzer
2000-04-26 16:53             ` Ryuichi Oikawa
2000-04-26 17:02               ` Michel Dänzer
2000-04-28 16:37                 ` Ryuichi Oikawa
2000-04-25 17:22     ` Michael Schmitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).