LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (https://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   VIA Technologies, Inc. VT8623 [Apollo CLE266] - xorg with openchrome segfaults (https://www.linuxquestions.org/questions/slackware-installation-40/via-technologies-inc-vt8623-%5Bapollo-cle266%5D-xorg-with-openchrome-segfaults-4175431789/)

velikij 10-12-2012 12:24 AM

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:
Slackware 14.0
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

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Option "DPMS"
HorizSync 28-51
VertRefresh 43-60
EndSection

and

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
... 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]
[ 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]
[ 96846.934] Segmentation fault at address (nil)
[ 96846.934]
Fatal server error:
[ 96846.934] Caught signal 11 (Segmentation fault). Server aborting
[ 96846.934]

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.

Didier Spaier 10-14-2012 02:44 AM

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"
(3) startx

velikij 10-14-2012 08:08 PM

xorg.conf and Xorg.0.log
 
2 Attachment(s)
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.

velikij 10-14-2012 08:10 PM

By the way, the slax live CD did boot and display X.

Perhaps I failed to install something crucial for running the vesa driver.

el chapulín 10-15-2012 03:36 AM

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.

Didier Spaier 10-15-2012 04:35 AM

It seems vesa can't be used because your GPU is already claimed by a conflicting kernel driver, as says the X log:
Code:

[  681.975] vesa: Ignoring device with a bound kernel driver
Please provide lsmod's output so we know which one it is. Then we will simply blacklist the involved driver and you should be able to start X. There is no point in tweaking your xorg.conf file, its settings are not involved in this issue.

So simply type:

Code:

lsmod > lsmod.txt
and append lsmod.txt to your next post.

EDIT In addition, type:
Code:

lspci -k | grep -A3 VGA > lspci.txt
and append lspci.txt to your next post.

velikij 10-16-2012 07:11 PM

1 Attachment(s)
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?

Peter

Didier Spaier 10-17-2012 02:12 AM

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:
Code:

filename:      /lib/modules/2.6.37.6-smp/kernel/drivers/video/vt8623fb.ko
description:    fbdev driver for integrated graphics core in VIA VT8623 [CLE266]
license:        GPL
author:        (c) 2006 Ondrej Zajicek <santiago@crfreenet.org>
alias:          pci:v00001106d00003122sv*sd*bc*sc*i*
depends:        svgalib,vgastate
vermagic:      2.6.37.6-smp SMP mod_unload 686
parm:          mode_option:Default video mode ('640x480-8@60', etc) (charp)
parm:          mode:Default video mode e.g. '648x480-8@60' (deprecated) (charp)
parm:          mtrr:Enable write-combining with MTRR (1=enable, 0=disable, default=1) (int)

I have put in bold the vendor Id and the Device Id. My guess is that if you type this:
Code:

lspci -nn - grep VGA
you will see this at the end of the output:
Code:

[1106:3122]
This would confirm that.

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:
Quote:

Driver for CastleRock integrated graphics core in the VIA VT8623 [Apollo CLE266] chipset.
And about viafb:
Quote:

This is the frame buffer device driver for Graphics chips of VIA
UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
/P4M900,VX800)
It happens that your chipset includes both a VT8623 and a CLE266 devices as shows the block diagram on this page. So one would think that both vt8623fb and viafb modules be loaded, but this is not the case as the output of lsmod shows, probably because the kernel can handle only one frame buffer driver at a time.

Long story short, type this as root:
Code:

echo "blacklist vt8623fb" > /etc/modprobe.d/blacklist-vt8623fb.conf
then reboot and start X.

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.

velikij 10-17-2012 04:11 PM

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

velikij 10-18-2012 08:00 PM

1 Attachment(s)
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.

Didier Spaier 10-19-2012 01:01 AM

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
(3) Reboot
(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.

velikij 10-19-2012 08:56 PM

2 Attachment(s)
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.

velikij 10-19-2012 08:59 PM

3 Attachment(s)
Here are the files from Debian 6.0 on similar hardware:

Didier Spaier 10-20-2012 04:58 AM

1 Attachment(s)
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.

velikij 10-20-2012 10:30 AM

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.

Peter


All times are GMT -5. The time now is 03:11 AM.