BootX and kernel args

Alexander Holst yellowdog-general@lists.terrasoftsolutions.com
Mon Sep 22 10:56:00 2003


Am Montag, 22.09.03, um 15:53 Uhr (Europe/Berlin) schrieb 
yellowdog-general-request@lists.terrasoftsolutions.com:

> Message: 6
> Date: Sun, 21 Sep 2003 22:38:48 -0700
> To: yellowdog-general@lists.terrasoftsolutions.com
> From: Isaac Wingfield <isw@witzend.com>
> Subject: BootX and kernel args
> Reply-To: yellowdog-general@lists.terrasoftsolutions.com
>
> I have recently gotten YDL 3.0 up on two Macs; an 8500 and a Beige G3. 
> Both
> work fine after I get into "X" and KDE. The 8500 works fine in text 
> mode
> also, but not so for the G3.
>
> On the 8500, after BootX has booted into Linux, and there's a 
> screenful of
> scrolling text, it's in a small, readable fontsize. The Mac was 
> running at
> 1152x864, and I think that's what the Linux screen is, too.
>
> On the G3, which also started out at 1152x864, after BootX has done its
> thing, I get a few lines that are readable (same size as on the 8500), 
> and
> then something pokes the video, the screen loses sync, and the font 
> gets
> real big, and (because of the lost sync) unreadable. The last readable 
> line
> is "arch:exit", and the first messed-up one is where the YDL logo gets
> displayed (I can see the yellow dog). The problem is that I'm using a
> Sun/Sony monitor (a GDM-20D10) that can't synch at such a low 
> resolution.
>
> Although I can't read anything, I can see all the lines of text go by, 
> and
> after it all stops, I can blindly login and type "startx". The graphic 
> mode
> then comes up fine, and, I think, at 1152x864. I can see a sync change 
> as X
> takes over.
>
> The result of this is that, while "X" works OK, I can't use text-only 
> mode.
> I don't want to play around with the graphic mode, because, outside of 
> "X",
> I can't read the screen. If I goof up the video in "X", there's no way 
> to
> edit a file to recover. (Well, telnet maybe, but that's a PITB).
>
> I've tried a number of variations on BootX's kernel args to get the 
> video
> to behave, but nothing changes things from that low resolution mode. 
> I'm
> beginning to believe that you can add all the video kernel args you 
> want,
> but nobody is paying any attention to them.
>
> Any suggestions?
>
>

Hi Isaac,

I had some similar issues with a beige G3 rev. 1 as well, concerning 
the video at boot time. Although I use miboot to boot the machine, 
kernel arguments should be the same. Try the following:

video=atyfb:vmode:17,cmode:8

This will tell the kernel to use the atyfb driver for the video and set 
it to 1024x768@8bit. This will use the onboard video chip, which is 
either an ATI Rage II or an ATI Rage Pro, depending on whether you have 
a rev. 1 or rev.2 beige G3. You could also use:

video=atyfb:vmode:18,cmode:24

This will get you into 1152x870@24bit (provided you have enough VRAM). 
Try man vmode for more info on the numbers for screeen resolutions. The 
cmode value simply represents the depth of a pixel in bits: 8 -> 256 
colors, 16 -> thousands of coulors and 24 -> millions of colors. My 
machine will not show a blinking cursor at 15, 16 or 24 bit depth on 
the console, only on 8bit (256 colors), which is fine for me at the 
console - I assume noone really needs thousands or millions of colors 
on a console :).

Keep in mind that the default Mac resolutions differ a bit from 
standard Linux resolutions, e.g.:
Mac  832x624 <-> 800x600  Linux
Mac 1152x870 <-> 1152x864 Linux

Which means, you will not find them in /etc/fb.modes. What you can do 
in order to be able to switch video resolutions on the console using 
fbset, is to run fbset without any parameters at the console, once you 
got a working mode and copy its output into /etc/fb.modes, then you 
will be able to change resolutions back and forth, especially change to 
the unusual Mac resolutions. Read the man pages for fbset to get more 
information. The output of fbset will look something like this:

mode "1024x768-75"
     # D: 78.746 MHz, H: 60.020 kHz, V: 75.025 Hz
     geometry 1024 768 1024 768 16
     timings 12699 160 32 28 1 96 3
     hsync high
     vsync high
     rgba 5/10,5/5,5/0,0/0
endmode

When pasting the output into /etc/fb.modes, comment out the line "rgba 
5/10,5/5,5/0,0/0" or delete it, it is not understood by fbset, when 
found in fb.modes - don't ask my why.

In case you want to get your X server to have a resolution of 1152x870 
(it's only 6 more pixels, I know, but hey why not :), try to get your 
console working at 1152x870 via proper kernel arguments in BootX 
(dont't forget to uncheck "use Mac resolution" in BootX - or something 
like that, I don't remember) and boot into runlevel 3 (as root type 
"init 3" once the console works), run fbset -x to get the appropriate 
mode section for X and edit your XF86Config file manually, or try to 
run Xautoconfig from the console. Make a backup copy of your working 
XF86Config before! Typing startx should start the GUI then. After you 
found a working XF86Config file, get back into runlevel 5, or reboot.

I have my G3 happyly booting YDL 3.0 via miboot into 1152x870@8bit run 
X with 1152x870@24 without any problems. Reading the man pages for 
nvvideo might help as well - nvvideo sets the PRAM values for the 
initial bootscreen of the Mac, as does the Monitor control panel from 
within MacOS.

In case you get stuck, contact me directly, I will then send you the 
fb.modes and my XF86Config files from my G3, so you have a starting 
point.

Hope that this will get you in a usefull screen resolution,
Alex

Alexander Holst
Pforzheim University of Applied Sciences
<holst@fh-pforzheim.de>
ph: +49 [0]7231 28-6837
fx: +49 [0]7231 28-6040