Why is mgag200 not used over matroxfb? (was: matroxfb: cannot determine memory size)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Thomas,


Thank you for your reply.

Am 16.12.22 um 13:27 schrieb Thomas Zimmermann:

Am 15.12.22 um 17:39 schrieb Paul Menzel:

[…]

Between Linux 5.10.103 and 5.10.110/5.15.77, matrixfb fails to load.

Off-topic, but related. matroxfb is obsolete and there's a maintained DRM replacement (mgag200) for this hardware.

I also remembered something like this in the back of my head. Though I thought about using simpledrm (`DRM_SIMPLEDRM`), we do not build though.

Is there anything missing from mgag200 that prevents you from switching?
No, it looks like the matroxfb modules take precedence over the mgag200 module:

    $ grep -e FB_MATROX -e MGAG /boot/config-5.15.77.mx64.440
    CONFIG_DRM_MGAG200=m
    CONFIG_FB_MATROX=m
    CONFIG_FB_MATROX_MILLENIUM=y
    CONFIG_FB_MATROX_MYSTIQUE=y
    CONFIG_FB_MATROX_G=y
    CONFIG_FB_MATROX_I2C=m
    # CONFIG_FB_MATROX_MAVEN is not set

    $ lsmod | grep matrox
    matroxfb_base          28672  0
    matroxfb_g450          16384  1 matroxfb_base
    matroxfb_Ti3026        16384  1 matroxfb_base
    matroxfb_accel         16384  1 matroxfb_base
    matroxfb_DAC1064       20480  1 matroxfb_base
    g450_pll               16384  2 matroxfb_g450,matroxfb_DAC1064
matroxfb_misc 20480 5 g450_pll,matroxfb_Ti3026,matroxfb_base,matroxfb_g450,matroxfb_DAC1064


Kind regards,

Paul


PS: Output of `modinfo`:

```
$ modinfo matroxfb_base
filename: /lib/modules/5.15.77.mx64.440/kernel/drivers/video/fbdev/matrox/matroxfb_base.ko
license:        GPL
description: Accelerated FBDev driver for Matrox Millennium/Mystique/G100/G200/G400/G450/G550
author:         (c) 1998-2002 Petr Vandrovec <vandrove@xxxxxxxxxx>
alias:          pci:v0000102Bd00002527sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000525sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000521sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000532sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000520sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00001001sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00001000sv*sd*bc*sc*i*
alias:          pci:v0000102Bd0000051Asv*sd*bc*sc*i*
alias:          pci:v0000102Bd0000051Fsv*sd*bc*sc*i*
alias:          pci:v0000102Bd0000051Bsv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000519sv*sd*bc*sc*i*
depends: matroxfb_g450,matroxfb_misc,matroxfb_DAC1064,matroxfb_Ti3026,matroxfb_accel
retpoline:      Y
intree:         Y
name:           matroxfb_base
vermagic:       5.15.77.mx64.440 SMP mod_unload modversions
parm: mem:Size of available memory in MB, KB or B (2,4,8,12,16MB, default=autodetect) (int)
parm:           disabled:Disabled (0 or 1=disabled) (default=0) (int)
parm: noaccel:Do not use accelerating engine (0 or 1=disabled) (default=0) (int) parm: nopan:Disable pan on startup (0 or 1=disabled) (default=0) (int) parm: no_pci_retry:PCI retries enabled (0 or 1=disabled) (default=0) (int) parm: novga:VGA I/O (0x3C0-0x3DF) disabled (0 or 1=disabled) (default=0) (int) parm: nobios:Disables ROM BIOS (0 or 1=disabled) (default=do not change BIOS state) (int) parm: noinit:Disables W/SG/SD-RAM and bus interface initialization (0 or 1=do not initialize) (default=0) (int) parm: memtype:Memory type for G200/G400 (see Documentation/fb/matroxfb.rst for explanation) (default=3 for G200, 0 for G400) (int) parm: mtrr:This speeds up video memory accesses (0=disabled or 1) (default=1) (int) parm: sgram:Indicates that G100/G200/G400 has SGRAM memory (0=SDRAM, 1=SGRAM) (default=0) (int) parm: inv24:Inverts clock polarity for 24bpp and loop frequency > 100MHz (default=do not invert polarity) (int)
parm:           inverse:Inverse (0 or 1) (default=0) (int)
parm: dev:Multihead support, attach to device ID (0..N) (default=all working) (int)
parm:           vesa:Startup videomode (0x000-0x1FF) (default=0x101) (int)
parm: xres:Horizontal resolution (px), overrides xres from vesa (default=vesa) (int) parm: yres:Vertical resolution (scans), overrides yres from vesa (default=vesa) (int) parm: upper:Upper blank space (scans), overrides upper from vesa (default=vesa) (int) parm: lower:Lower blank space (scans), overrides lower from vesa (default=vesa) (int) parm: vslen:Vertical sync length (scans), overrides lower from vesa (default=vesa) (int) parm: left:Left blank space (px), overrides left from vesa (default=vesa) (int) parm: right:Right blank space (px), overrides right from vesa (default=vesa) (int) parm: hslen:Horizontal sync length (px), overrides hslen from vesa (default=vesa) (int) parm: pixclock:Pixelclock (ns), overrides pixclock from vesa (default=vesa) (int) parm: sync:Sync polarity, overrides sync from vesa (default=vesa) (int) parm: depth:Color depth (0=text,8,15,16,24,32) (default=vesa) (int) parm: maxclk:Startup maximal clock, 0-999MHz, 1000-999999kHz, 1000000-INF Hz (int)
parm:           fh:Startup horizontal frequency, 0-999kHz, 1000-INF Hz (int)
parm:           fv:Startup vertical frequency, 0-INF Hz
You should specify "fv:max_monitor_vsync,fh:max_monitor_hsync,maxclk:max_monitor_dotclock" (int) parm: grayscale:Sets display into grayscale. Works perfectly with paletized videomode (4, 8bpp), some limitations apply to 16, 24 and 32bpp videomodes (default=nograyscale) (int) parm: cross4MB:Specifies that 4MB boundary can be in middle of line. (default=autodetected) (int) parm: dfp:Specifies whether to use digital flat panel interface of G200/G400 (0 or 1) (default=0) (int) parm: dfp_type:Specifies DFP interface type (0 to 255) (default=read from hardware) (int) parm: outputs:Specifies which CRTC is mapped to which output (string of up to three letters, consisting of 0 (disabled), 1 (CRTC1), 2 (CRTC2)) (default=111 for Gx50, 101 for G200/G400 with DFP, and 100 for all other devices) (string)
```

```
$ modinfo mgag200
filename: /lib/modules/5.15.77.mx64.440/kernel/drivers/gpu/drm/mgag200/mgag200.ko
license:        GPL
description:    MGA G200 SE
author:         Matthew Garrett
alias:          pci:v0000102Bd00000538sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000536sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000534sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000533sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000532sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000530sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000524sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000522sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000521sv*sd*bc*sc*i*
alias:          pci:v0000102Bd00000520sv*sd*bc*sc*i*
depends:        drm,drm_kms_helper,i2c-algo-bit
retpoline:      Y
intree:         Y
name:           mgag200
vermagic:       5.15.77.mx64.440 SMP mod_unload modversions
parm:           modeset:Disable/Enable modesetting (int)
```



[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux