Main > Linux

32/64bit Groovy Arcade Linux LiveCD/Install

<< < (2/63) > >>

bitbytebit:

--- Quote from: Quinny on December 03, 2010, 11:10:36 pm ---
--- Quote from: bitbytebit on December 03, 2010, 11:16:52 am ---Ah, yeah I actually haven't put in PAL or NTSC TV support yet, but I will look at doing that in the next day or so.  Thanks for the report to remind me of that, definitely something I need to think about.

So you could see the Grub boot prompt then, that is good if so since I can at that point have an option for a PAL or NTSC frame buffer modeline too.  Will let you know when I've gotten that support put in, which I'm redoing the kernel patch some with new modelines and the configuration setup right now so it's a good time to add that in.

Good to know though that the ArcadeVGA 3000 works actually, because it didn't a kernel version back and it might be fixed actually which is a great thing.  Mine didn't work at least when I tested it last, but also haven't had time to put it in there and test it lately.

--- End quote ---


Thanks bitbytebit. Yes I could see the GRUB menu and it still showed some of the status lines as it went but then it changed resolutions and I couldn't read it anymore.

Will look forward to seeing PAL support added. :)


--- End quote ---
I'm uploading new .iso images now, should be a few hours before they are up there, will be livecd32_12-03-2010_1291434263.iso and livecd64_12-03-2010_1291434978.iso.  These should boot directly into X Windows and use the newest kernel, more statefull saving of configured information if there's a home directory.   Also the enable the ethernet interface by default when booted the first time and in configuration mode, so should be able to get into them easier if they don't work and see what the logs say.  There's definitely a few rough edges still but should be good hopefully to test the theory that X Windows may work while the DRM console doesn't. 

I added a framebuffer option for PAL support, and also curious if the X Windows shows up or not after boot and if the PAL framebuffer works to that point.  I'm not sure if I'll need to use that same frame buffer modeline in X Windows on boot or not, so should be able to tell from the results you see.  If you have remote ssh access then you can do some tests, root password will be arcade to the system through ssh.  If it works up till X starts, then ssh into the box and the menu system should be there, configure it from there possibly and use pal as your monitor type.  This would be interesting to see if that works if the default X startup doesn't.  The framebuffer seems sort of different than the X modelines reaction, so I'm not sure if the modeline I used is bad or it's another framebuffer oddness in the DRM stuff.

bitbytebit:
Ah found a bug in the new one, well a couple :/.  Will let you know when I get them fixed, had restricted the xorg.conf hsync too tightly for the generic modeline used to setup, and the kernel changes seem to have totally allowed the frame buffer to be way too free with what modelines it used too.

bitbytebit:
New .iso images are up, 32/64 bit, should hopefully have more of a chance working with PAL TV's.  Curious if the framebuffer shows up, either either with the default CGA option or possibly the PAL option if it doesn't.  Also if X Windows works with the modeline it'll use, else I may need to make a different modeline for PAL TV's. 

Quinny:

--- Quote from: bitbytebit on December 04, 2010, 08:19:59 pm ---New .iso images are up, 32/64 bit, should hopefully have more of a chance working with PAL TV's.  Curious if the framebuffer shows up, either either with the default CGA option or possibly the PAL option if it doesn't.  Also if X Windows works with the modeline it'll use, else I may need to make a different modeline for PAL TV's. 

--- End quote ---

Thankyou bitbytebit.

I realised now that the original issue with the triple screen is because the modes are not set properly. I found this out when I tried to boot normally. I have to change to a lrmc -pal mode of some sort to get a clear screen on the TV. Using the PAL option from the LiveCD doesn't work once X starts but it is ok before that when it shows the command outputs as it's installing/running or if I switch to a terminal screen.

The 768 x 576 x 50i is being used in the terminal but not in X for some reason. I can set that using lrmc values and adding to xrandr after I boot normally, but I can't do this from the LiveCD as there is no terminal window available.

Going in to Wahcade and selecting a non-arcade system and choosing a game in there will change the resolution on the TV and sometimes it becomes readable but other times it breaks. I couldn't find any resolutions in the arcade section which changed the TV resolution (there are no games linked to the titles, don't know if that makes a difference).

I tried to run the ISO to boot from a USB stick and it would not work because it couldn't get past the GRUB menu, like the file references were mixed up and it couldn't find squashfs. I don't know if that's an issue with how I installed it on the USB stick or if that is a problem within the LiveCD code. It would be good to not have to burn a CD everytime to test a new version of the ISO.

bitbytebit:

--- Quote from: Quinny on December 05, 2010, 10:06:36 am ---
--- Quote from: bitbytebit on December 04, 2010, 08:19:59 pm ---New .iso images are up, 32/64 bit, should hopefully have more of a chance working with PAL TV's.  Curious if the framebuffer shows up, either either with the default CGA option or possibly the PAL option if it doesn't.  Also if X Windows works with the modeline it'll use, else I may need to make a different modeline for PAL TV's. 

--- End quote ---

Thankyou bitbytebit.

I realised now that the original issue with the triple screen is because the modes are not set properly. I found this out when I tried to boot normally. I have to change to a lrmc -pal mode of some sort to get a clear screen on the TV. Using the PAL option from the LiveCD doesn't work once X starts but it is ok before that when it shows the command outputs as it's installing/running or if I switch to a terminal screen.

The 768 x 576 x 50i is being used in the terminal but not in X for some reason. I can set that using lrmc values and adding to xrandr after I boot normally, but I can't do this from the LiveCD as there is no terminal window available.

Going in to Wahcade and selecting a non-arcade system and choosing a game in there will change the resolution on the TV and sometimes it becomes readable but other times it breaks. I couldn't find any resolutions in the arcade section which changed the TV resolution (there are no games linked to the titles, don't know if that makes a difference).

I tried to run the ISO to boot from a USB stick and it would not work because it couldn't get past the GRUB menu, like the file references were mixed up and it couldn't find squashfs. I don't know if that's an issue with how I installed it on the USB stick or if that is a problem within the LiveCD code. It would be good to not have to burn a CD everytime to test a new version of the ISO.



--- End quote ---

Interesting, that is good that the boot up and DRM stuff works, it means I just have to setup the first X Windows startup config used to configure using the PAL definition.  I didn't do that in this version, I wanted to see if the generic modeline worked but it seems it doesn't.  The main reason I avoided it is there is a bit of tricky stuff involved with knowing which boot option was chosen, but seems that will be necessary and not terribly hard (just seemed a bit messy if not necessary).  Thanks so much for testing this, definitely interesting and hopefully next version if I have X startup up using the PAL definitions it might just act right I hope (hopefully then my switchres configuration for PAL settings are correct to produce modelines that work right on the TV for all games, that has not been tested). 

Yeah the live cd thing is a start, I'm wanting to get it working fully then look at the way to have an installation option too.  The trick with that is the live CD build I do basically specifies the system to use a liveCD and won't work any other way without reversing that.  So I'll have to go through and find all the differences and see how to reverse them, not sure if it'll just be a simple thing and able to copy the live CD and run a few scripts or it'll be a whole other build necessary.  I'm sure it'll eventually grow into a full installation CD too, since Gentoo can do that from a live CD, I just want make sure to keep it as small of iso as possible and avoid downloading too much extra stuff and compiling it which is how Gentoo mostly works usually.  Would rather have a small binary archive to decompress into the / root directory and transform the installation into a normal one from a liveCD one.

Might be later tonight I think, or tomorrow, since waiting on reports from another person to see how it goes for certain Arcade monitors and can hopefully add any fixes needed there too if there's issues.  It's actually very close though it sounds like in your case, I just need to put some checking and run the xorg.conf creation with pal as the argument instead of generic and if switchres likes the modelines we are set.


Here's a something to try though, might be a way to get it working...


When booted up into X, where you can't see it, push Ctl-Alt-F2
You should then be at the second console prompt (left that open to allow this type of thing, seems it's needed :)).
type `killall startup.pl` about 3-4 times till it says it can't find anything
push Ctl-Alt-F1 and push Ctl-C a few times and enter till it's a command prompt
Then type the following commands:

rm -rf /root/setup_done
rm -rf /home/arcade/.gentooarcade/
rm -rf /home/arcade/arcade.orig

After that, you need to patch it, I just added what should work to support checking the kernel command prompt for
which monitor type exactly was specified.  If you put this patch on a usb stick, and mount that, suspect you'll be able
to get it onto the system and of course after this is done and your home directory is a real partition then the setup
should be saved even though the boot CD won't have these changes permanently (only ran when no home directory is
found with the previous configuration on it).

basically go into / and type `cat /mnt/usbstick/this.diff | patch -p0` or -p1 if that doesn't work (think it'd be -p0).


--- Code: ---diff --git a/root/create_xorg-dyn.pl b/root/create_xorg-dyn.pl
index f2b9d8f..04b6739 100755
--- a/root/create_xorg-dyn.pl
+++ b/root/create_xorg-dyn.pl
@@ -10,15 +10,15 @@ print "# $monitor Monitor configuration\n\n";
 my $hfreq_range = "";
 my $vfreq_range = "";

-if ($monitor eq 'cga' || $monitor eq 'generic') {
-        $hfreq_range = "15-16.6";
-        $vfreq_range = "49.5-65";
-} elsif($monitor eq 'd9800' || $monitor eq 'd9200') {
+if($monitor eq 'd9800' || $monitor eq 'd9200') {
         $hfreq_range = "15.1-38.5";
         $vfreq_range = "40-80";
 } elsif($monitor eq 'h9110') {
         $hfreq_range = "15.625-16.670";
         $vfreq_range = "49.5-65";
+} elsif($monitor ne 'multi') {
+        $hfreq_range = "15-16.6";
+        $vfreq_range = "49.5-65";
 }

 `Xorg -configure 2>&1 >/dev/null`;
diff --git a/root/create_xorg.pl b/root/create_xorg.pl
index 43ad522..f54838e 100755
--- a/root/create_xorg.pl
+++ b/root/create_xorg.pl
@@ -29,16 +29,16 @@ $PCIID =~ s/\./:/g;
 my $hfreq_range = "";
 my $vfreq_range = "";

-if ($monitor eq 'cga' || $monitor eq 'generic') {
-       $hfreq_range = "15-16";
-       $vfreq_range = "49.5-65";
-} elsif($monitor eq 'd9800' || $monitor eq 'd9200') {
+if($monitor eq 'd9800' || $monitor eq 'd9200') {
        $hfreq_range = "15.1-38.5";
        $vfreq_range = "40-80";
 } elsif($monitor eq 'h9110') {
        $hfreq_range = "15.625-16.670";
        $vfreq_range = "49.5-65";
-}
+} elsif ($monitor ne 'multi') {
+       $hfreq_range = "15-16";
+       $vfreq_range = "49.5-65";
+}

 my @newfile = `cat /root/xorg.conf-TEMPLATE`;
 my $in_monitor = 0;
diff --git a/root/startup.pl b/root/startup.pl
index 15ee3d7..d04a0a6 100755
--- a/root/startup.pl
+++ b/root/startup.pl
@@ -85,12 +85,34 @@ if (! -d "/home/arcade/$CFG_DIR") {
 # Check if first setup has been done
 my $start_x = 0;
 if (! -e "/root/setup_done" && $tty =~ /\/dev\/tty1/ && $home eq '') {
-       my $montype = "multi";
-       my $cmdline = `cat /proc/cmdline`;
-       chomp($cmdline);
-       if ($cmdline =~ /\svideo=\d+x\d+.*c/) {
-               $montype = "generic";
-       }
+        my $montype = "multi";
+        my $cmdline = `cat /proc/cmdline`;
+        chomp($cmdline);
+        if ($cmdline =~ /\svideo=.*\d+x\d+c/) {
+                $montype = "generic";
+                my (@ca) = split(/\s+/, $cmdline);
+                my $vline = "";
+                foreach(@ca) {
+                        my $line = $_;
+                        chomp($line);
+                        if ($line =~ /video/) {
+                                $vline = $line;
+                        }
+                }
+                my ($v, $wh) = split(/=/, $vline);
+                my ($j, $k) = split(/:/, $wh);
+                if ($k ne '') {
+                        $wh = $k;
+                }
+                $wh =~ s/x/_/g;
+                $wh =~ s/[a-zA-Z]//g;
+                my ($w, $h) = split(/_/, $wh);
+                if ($w == 720 && $h == 480) {
+                        $montype = "ntsc";
+                } elsif ($w == 768 && $h == 576) {
+                        $montype = "pal";
+                }
+        }
        # No configuration yet
        setup_monitor($montype);
        system("rm -f .xinitrc");

--- End code ---


Ok, so all that is done, scripts patched and those directories and files removed.  Then you just type 'exit' at the
root prompt and should then startup X again with the PAL definitions in xorg.conf hopefully.

I'll get that onto the next liveCD, so either play around trying this or it should be all up in a day or so, but would be interesting for you to test it this way to see since it'll definitely save time if there's still an issue with it like this.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version