VIA Technologies, Inc. VT8623 [Apollo CLE266] - xorg with openchrome segfaults
My video card on an old VIA-based system is not getting configured properly. The card is VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics (rev 03).
Linux distro/version and kernel version:
Linux trippy 3.2.29 #2 Mon Sep 17 14:10:59 CDT 2012 i686 VIA Samuel 2 CentaurHauls GNU/Linux
vendor_id : CentaurHauls
cpu family : 6
stepping : 3
model : 7
model name : VIA Samuel 2
cpu MHz : 799.014
cache size : 64 KB
cpuid level : 1
bogomips : 1598.02
clflush size : 32
MemTotal: 469872 kB
MemFree: 10460 kB
I tried configuring X with the xorgsetup program, resulting in an xorg.conf file which looked reasonable to me, but the openchrome driver crashes during initialization with startx.
I then added some modifications to xorg.conf, like
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Viewport 0 0
Modes "1024x768" "800x600" "640x480"
... on to "Depth 24".
but, looking at the end of /var/log/Xorg.0.log,there is a segfault:
[ 96846.932] (II) CHROME(1): VIAGetRec
[ 96846.932] (**) CHROME(1): Depth 24, (--) framebuffer bpp 32
[ 96846.932] (==) CHROME(1): RGB weight 888
[ 96846.933] (==) CHROME(1): Default visual is TrueColor
[ 96846.933] (--) CHROME(1): Chipset: CLE266
[ 96846.933] Backtrace:
[ 96846.934] 0: /usr/bin/X (xorg_backtrace+0x49) [0x81b54b9]
[ 96846.934] 1: /usr/bin/X (0x8048000+0x170d26) [0x81b8d26]
[ 96846.934] 2: linux-gate.so.1 (__kernel_rt_sigreturn+0x0) [0xffffe410]
[ 96846.934] Segmentation fault at address (nil)
Fatal server error:
[ 96846.934] Caught signal 11 (Segmentation fault). Server aborting
I can attach the xorg.conf and Xorg.0.log files etc, if necessary.
This system formerly ran some old versions of Ubuntu and recently Debian 6.0 with no problem, also with an openchrome driver. I have another similar system which still runs Debian 6.0. with the openchrome driver.
If not already done I suggest you fallback to vesa till you solve the issue with openchrome. As root:
(1) "mv /etc/X11/xorg.conf /etc/X11/xorg.conf-openchrome"
(2) "cp /etc/X11/xorg.conf-vesa /etc/X11/xorg-vesa.conf"
xorg.conf and Xorg.0.log
Thank you, Didier! For some reason, this didn't work. Here are my xorg.conf file and resulting Xorg.0.log file.
I am using what I believer to be the original xorg.conf.vesa file. I had tried various xorg.conf files, including one generated by booting the live slax CD - even though that is based on an earlier slackware version.
By the way, the slax live CD did boot and display X.
Perhaps I failed to install something crucial for running the vesa driver.
Go into the BIOS setup and ensure that you've allocated enough RAM to the VGA - 32MB is usually enough, but anything below that and you might have problems.
It seems vesa can't be used because your GPU is already claimed by a conflicting kernel driver, as says the X log:
So simply type:
EDIT In addition, type:
Looks like here's the problem - thanks, Didier!
# lspci -k | grep -A3 VGA
01:00.0 VGA compatible controller: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics (rev 03)
Subsystem: VIA Technologies, Inc. VT8623 [Apollo CLE266] integrated CastleRock graphics
Kernel driver in use: vt8623fb
I also attached the basic lsmod ouput.
I don't think there's a BIOS memory allocation problem, as someone suggested - this system has run several Linux distros, including the latest Debian, with no display problem, usually with an openchrome driver.
The via8623 driver is possibly the manufacturer's driver, distinct from both vesa and openchrome.
So, how do I blacklist the offending driver?
vt8623fb is a kernel module included in the kernel, not a proprietary driver
My guess is that it is loaded at boot simply because it is intended for your chipset. It is easy to check. If you issue the command "modinfo vt8623fb" you will get this:
But another kernel module, viafb, could be used for your chipset, as it has, among others, the same alias line as vt8623 (you can check typing "modinfo viafb", it is the last alias line).
About vt8623fb, the help text in kernel's configuration says:
Long story short, type this as root:
You should have X working now.
In addition, if I am correct it was probably not necessary to use vesa instead of chrome as I suggested in my previous post. To check that you can try to revert the switch in X configuration files after blacklisting vt8623fb. In fact if simply blacklisting vt8623fb don't work you can either try to use the X config file for chrome or blacklist viafb as well as vt8623fb.
Please inform us of the outcome, whatever it be.
PS To clarify a bit you need two kinds of drivers for your video card to use it under X: a kernel driver and a driver for X.
Thank you! I set up blacklisting as you describe, and eventually the Xfce screen came up (meanwhile, I ssh'd in from another computer, ran 'top', and saw that X was taking about 98% of the CPU. It took 2-3 minutes - I left the room and came back. The screen res. was 1024x768.
I'll try with openchrome a bit later this evening. Also I should look at memory usage during startup - perhaps there was some swapping involved.
- Peter Belew
Partial status update: I tried reverting to the 'original' xorg.conf, which loads the openchrome and vesa drivers, apparently, and again got a segfault. I have not changed blacklisting yet, however. So I'll try various other changes, including blacklisting, tomorrow or on the weekend.
I'm attaching Xorg.0.log.old from trying openchrome.
The problem is partially solved in the sense that I can use the framebuffer vesa driver, but that starts up REALLY slowly.
According to this page your card is well supported by the openchrome X driver.
I would start again from the beginning.
(1) Delete your X config file. None should be needed.
(2) Do not blacklist openchrome. Delete the file /etc/modprobe.d/blacklist-vt8623fb.conf
(4) start X
I something don't go well, send your lsmod and X log.
PS I assume you made a full Slackware 14 installation, without anything coming from elsewhere.
I removed xorg.conf from /etc/X11, and removed the blacklist file from /etc/modprobe.d, then rebooted, logged in, and ran startx. The same thing happened.
I have not installed anything from outside the slackware 14 distro. I did skip some packages or groups, possibly something was omitted, like some kind of framebuffer driver? For text mode, I'm not using a framebuffer, but I suspect that's unrelated.
I'm attaching the Xorg.0.log and lsmod.txt files.
Also, I'm attaching the same files, and xorg.conf, from the Debian 6.0 system running on another computer with the same VIA hardware, in a following reply.
Here are the files from Debian 6.0 on similar hardware:
In Debian's lsmod the "via" kernel module shows, so try to do this :
(1) blacklist again the vt8623fb kernel module
(2) after reboot, type "modprobe via" and check that the via module be loaded
(3) start X
It should work even with no X config file. In case of a problem try the same steps with the xorg.conf-debian as xorg.conf (only because your card do not support a resolution higher than 1024x1024, but xorg-server should be smart enough to detect that, shouldn't it?).
Aside from that your Slackware 14 lsmod shows that a lot less modules are loaded than with Debian - and with my Slackware 14 as well, as shows my attached lsmod file.
So my question is: which kernel do you use? Did you configure it yourself, or may be it is a huge-smp one? In any case install the stock generic-smp included in Slackware 14 instead. You will need to make an initrd , see /boot/README.initrd for instructions.
Last word: with Slackware, making a full install (apart from the KDEI series) is highly recommended, unless you have very few space on your hard disk.
Thanks, I'll try that later today.
This cpu won't run the smp kernels. I'm running the 'huge' kernel, I believe - this works on this via Samuel 2 cpu.
I see you must be using an nvidia card - with the nouveau driver.
|All times are GMT -5. The time now is 08:04 PM.|