XOrg in Debian10/Buster not usable with AMD Duron / Matrox G400

Markus Hiereth post at hiereth.de
Tue Jul 16 09:05:27 UTC 2019


Hello,

I updated my PC with Debian 10 which contains the package
xserver-xorg-core 2:1.20.4-1.

As productive system, I still use Debian 8 on the same (dual boot)
machine which works fine. The PC is quite old, has an AMD Duron processor and a Matrox G400 card.

Attemps to start the X-Windows-System of Debian 10 within the regular
start-up procedure fail. The screen of the graphic display remains
black and finally switches to a text terminal. The corresponding
logging file Xorg.0.log contains EE entries, such as these

[33.997] (II) LoadModule: "mga"
[33.998] (II) Loading /usr/lib/xorg/modules/drivers/mga_drv.so
[34.039] (II) Module mga: vendor="X.Org Foundation"
[34.039] 	compiled for 1.20.3, module version = 2.0.0
[34.039] 	Module class: X.Org Video Driver
[34.039] 	ABI class: X.Org Video Driver, version 24.0
[34.039] (II) LoadModule: "modesetting"
[34.040] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[34.087] (II) Module modesetting: vendor="X.Org Foundation"
[34.087] 	compiled for 1.20.4, module version = 1.20.4
[34.087] 	Module class: X.Org Video Driver
[34.087] 	ABI class: X.Org Video Driver, version 24.0
[34.087] (II) LoadModule: "fbdev"
[34.088] (WW) Warning, couldn't open module fbdev
[34.088] (EE) Failed to load module "fbdev" (module does not exist, 0)
[34.088] (II) LoadModule: "vesa"
[34.089] (WW) Warning, couldn't open module vesa
[34.089] (EE) Failed to load module "vesa" (module does not exist, 0)
[34.089] (II) MGA: driver for Matrox chipsets: mga2064w, mga1064sg, mga2164w,
 	mga2164w AGP, mgag100, mgag100 PCI, mgag200, mgag200 PCI,
 	mgag200 SE A PCI, mgag200 SE B PCI, mgag200 EV Maxim,
 	mgag200 ER SH7757, mgag200 eW Nuvoton, mgag200 eW3 Nuvoton,
 	mgag200eH, mgag200eH3, mgag400, mgag550
[34.090] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[34.090] (WW) xf86OpenConsole: setpgid failed: Operation not permitted
[34.090] (WW) xf86OpenConsole: setsid failed: Operation not permitted
[34.117] (WW) Falling back to old probe method for modesetting
[34.117] (EE) open /dev/dri/card0: No such file or directory
[34.117] (II) Loading sub module "vgahw"
...
[36.495] (II) MGA(0): MAPPED Framebuffer DC000000 1000000 to B5A88000.
[36.499] (II) MGA(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0
[36.600] (--) MGA(0): 16 DWORD fifo
[36.660] (==) MGA(0): Default visual is TrueColor
[36.687] (II) MGA(0): [drm] bpp: 32 depth: 24
[36.688] (II) MGA(0): [drm] Sarea 2200+664: 2864
[36.689] drmOpenDevice: node name is /dev/dri/card0
[36.693] drmOpenDevice: node name is /dev/dri/card0
[36.734] [drm] failed to load kernel module "mga"
[36.734] (EE) [drm] drmOpen failed.
[36.734] (EE) MGA(0): [drm] DRIScreenInit failed.  Disabling DRI.


I also tried to start the X server using the command /usr/bin/Xorg.
This yields as well a failure. The logging file is somewhat different,
Within the terminal, the user is informed about a segmentation fault.

Probably, the X windows startup procedure fails to get memory of the
type MTRR:

xf86TokenToOptinfo: table is NULL
xf86TokenToOptinfo: table is NULL
error setting MTRR (base = 0x00000000dc000000, size = 0x02000000, type = 1) Invalid argument (22)
error setting MTRR (base = 0x00000000dc000000, size = 0x01000000, type = 1) Inval

The testing I have done so far and information from
http://www.kernel.org/doc/html/latest/x86/mtrr.html suggest that the
command used for preparing the MTRR memory causes the problem.

An equivalent shell command works in case
a) there are no blanks between parameter and value and
b) the type is not given a an integer but as string "write combining".

The record of these command line test is below.

I would appreciate Your hints how to solve the problem.

Best regards
Markus


root at lune:~# cat /proc/mtrr
reg00: base=0x000000000 (    0MB), size=  512MB, count=1: write-back
reg05: base=0x0e0000000 ( 3584MB), size=   64MB, count=1: write-combining

root at lune:~# Xorg

X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.9.0-8-amd64 i686 Debian
Current Operating System: Linux lune 4.19.0-5-686 #1 SMP Debian 4.19.37-5 (2019-06-19) i686
Kernel command line: BOOT_IMAGE=/vmlinuz-4.19.0-5-686 root=UUID=aaa814b3-21a1-432d-91eb-1289958cdd6e ro quiet
Build Date: 05 March 2019  08:11:12PM
xorg-server 2:1.20.4-1 (https://www.debian.org/support) 
Current version of pixman: 0.36.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Jul 15 11:31:25 2019
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
xf86TokenToOptinfo: table is NULL
xf86TokenToOptinfo: table is NULL
error setting MTRR (base = 0x00000000dc000000, size = 0x02000000, type = 1) Invalid argument (22)
error setting MTRR (base = 0x00000000dc000000, size = 0x01000000, type = 1) Invalid argument (22)
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x122) [0x637cf2]
(EE) 1: linux-gate.so.1 (?+0x0) [0xb7f30d57]
(EE) 2: ? (?+0x0) [0xc0000000]
(EE) unw_step failed: unspecified (general) error [-1]
(EE) Segmentation fault at address 0xc0000000
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE) Server terminated with error (1). Closing log file.
Abgebrochen

root at lune:~# cat /proc/mtrr
reg00: base=0x000000000 (    0MB), size=  512MB, count=1: write-back
reg05: base=0x0e0000000 ( 3584MB), size=   64MB, count=1: write-combining

root at lune:~# echo "base=0x0dc000000 size=0x1000000 type=1" >| /proc/mtrr
bash: echo: Schreibfehler: Das Argument ist ungültig.

root at lune:~# echo "base=0x0dc000000 size=0x1000000 type=write-combining" >| /proc/mtrr

cat /proc/mtrr
reg00: base=0x000000000 (    0MB), size=  512MB, count=1: write-back
reg01: base=0x0dc000000 ( 3520MB), size=   16MB, count=1: write-combining
reg05: base=0x0e0000000 ( 3584MB), size=   64MB, count=1: write-combining



More information about the xorg mailing list