Main > Linux
32/64bit Groovy Arcade Linux LiveCD/Install
bitbytebit:
ah might need to copy a newer /lib/firmware directory from the cd too, that distro might be missing the latest radeon firmware.
--- Quote from: gabe on June 14, 2011, 06:16:32 pm ---I finally got around to trying this in Arch.
I successfully patched and compiled the kernel. The new kernel boots, and recognizes that I have an AVGA3000... But then I run into problems. I've attached what I assume to be the relevant errors from kernel.log. I'm out of time to tinker for the evening, but I'll be back at it tomorrow. If you have any ideas, I would love to hear them.
I should note that at the moment, I am running this on a 17" CRT computer monitor using a DVI-->VGA adapter.
This is where my monitor scrambles:
--- Code: ---Jun 14 17:52:39 localhost kernel: [ 62.246249] [drm] Loading RV630 Microcode
Jun 14 17:52:39 localhost kernel: [ 123.200108] r600_cp: Failed to load firmware "radeon/R600_rlc.bin"
Jun 14 17:52:39 localhost kernel: [ 123.200153] [drm:r600_startup] *ERROR* Failed to load firmware!
Jun 14 17:52:39 localhost kernel: [ 123.200195] radeon 0000:01:00.0: disabling GPU acceleration
Jun 14 17:52:39 localhost kernel: [ 123.201275] radeon 0000:01:00.0: ffff88007a08e400 unpin not necessary
Jun 14 17:52:39 localhost kernel: [ 123.201317] radeon 0000:01:00.0: ffff88007a08e400 unpin not necessary
--- End code ---
The rest, for context:
--- Code: ---Jun 14 17:52:39 localhost kernel: [ 1.010372] [drm] Initialized drm 1.1.0 20060810
Jun 14 17:52:39 localhost kernel: [ 1.010425] [drm] radeon defaulting to kernel modesetting.
Jun 14 17:52:39 localhost kernel: [ 1.010466] [drm] radeon kernel modesetting enabled.
Jun 14 17:52:39 localhost kernel: [ 1.010581] radeon 0000:01:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
Jun 14 17:52:39 localhost kernel: [ 1.010625] radeon 0000:01:00.0: setting latency timer to 64
Jun 14 17:52:39 localhost kernel: [ 1.011946] [drm] initializing kernel modesetting (RV630 0x1002:0x958F).
Jun 14 17:52:39 localhost kernel: [ 1.012002] [drm] register mmio base: 0xFEAF0000
Jun 14 17:52:39 localhost kernel: [ 1.012043] [drm] register mmio size: 65536
Jun 14 17:52:39 localhost kernel: [ 1.012089] ArcadeVGA 3000 board found
Jun 14 17:52:39 localhost kernel: [ 1.760138] Refined TSC clocksource calibration: 3000.170 MHz.
Jun 14 17:52:39 localhost kernel: [ 1.760183] Switching to clocksource tsc
Jun 14 17:52:39 localhost kernel: [ 62.244611] ATOM BIOS: 102
Jun 14 17:52:39 localhost kernel: [ 62.244678] radeon 0000:01:00.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
Jun 14 17:52:39 localhost kernel: [ 62.244722] radeon 0000:01:00.0: GTT: 512M 0x0000000020000000 - 0x000000003FFFFFFF
Jun 14 17:52:39 localhost kernel: [ 62.244937] [drm] Detected VRAM RAM=512M, BAR=256M
Jun 14 17:52:39 localhost kernel: [ 62.244984] [drm] RAM width 128bits DDR
Jun 14 17:52:39 localhost kernel: [ 62.245106] [TTM] Zone kernel: Available graphics memory: 1025478 kiB.
Jun 14 17:52:39 localhost kernel: [ 62.245150] [TTM] Initializing pool allocator.
Jun 14 17:52:39 localhost kernel: [ 62.245203] [drm] radeon: 512M of VRAM memory ready
Jun 14 17:52:39 localhost kernel: [ 62.245244] [drm] radeon: 512M of GTT memory ready.
Jun 14 17:52:39 localhost kernel: [ 62.245299] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
Jun 14 17:52:39 localhost kernel: [ 62.245340] [drm] Driver supports precise vblank timestamp query.
Jun 14 17:52:39 localhost kernel: [ 62.245416] radeon 0000:01:00.0: irq 42 for MSI/MSI-X
Jun 14 17:52:39 localhost kernel: [ 62.245421] radeon 0000:01:00.0: radeon: using MSI.
Jun 14 17:52:39 localhost kernel: [ 62.245483] [drm] radeon: irq initialized.
Jun 14 17:52:39 localhost kernel: [ 62.245523] [drm] GART: num cpu pages 131072, num gpu pages 131072
Jun 14 17:52:39 localhost kernel: [ 62.246249] [drm] Loading RV630 Microcode
Jun 14 17:52:39 localhost kernel: [ 123.200108] r600_cp: Failed to load firmware "radeon/R600_rlc.bin"
Jun 14 17:52:39 localhost kernel: [ 123.200153] [drm:r600_startup] *ERROR* Failed to load firmware!
Jun 14 17:52:39 localhost kernel: [ 123.200195] radeon 0000:01:00.0: disabling GPU acceleration
Jun 14 17:52:39 localhost kernel: [ 123.201275] radeon 0000:01:00.0: ffff88007a08e400 unpin not necessary
Jun 14 17:52:39 localhost kernel: [ 123.201317] radeon 0000:01:00.0: ffff88007a08e400 unpin not necessary
Jun 14 17:52:39 localhost kernel: [ 123.201360] [drm] Enabling audio support
Jun 14 17:52:39 localhost kernel: [ 123.201404] failed to evaluate ATIF got AE_BAD_PARAMETER
Jun 14 17:52:39 localhost kernel: [ 123.201536] [drm] Radeon Display Connectors
Jun 14 17:52:39 localhost kernel: [ 123.201576] [drm] Connector 0:
Jun 14 17:52:39 localhost kernel: [ 123.201615] [drm] DVI-I
Jun 14 17:52:39 localhost kernel: [ 123.201654] [drm] HPD1
Jun 14 17:52:39 localhost kernel: [ 123.201694] [drm] DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
Jun 14 17:52:39 localhost kernel: [ 123.201737] [drm] Encoders:
Jun 14 17:52:39 localhost kernel: [ 123.201776] [drm] DFP1: INTERNAL_KLDSCP_TMDS1
Jun 14 17:52:39 localhost kernel: [ 123.201816] [drm] CRT2: INTERNAL_KLDSCP_DAC2
Jun 14 17:52:39 localhost kernel: [ 123.201856] [drm] Connector 1:
Jun 14 17:52:39 localhost kernel: [ 123.201895] [drm] VGA
Jun 14 17:52:39 localhost kernel: [ 123.201935] [drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
Jun 14 17:52:39 localhost kernel: [ 123.201978] [drm] Encoders:
Jun 14 17:52:39 localhost kernel: [ 123.202017] [drm] CRT1: INTERNAL_KLDSCP_DAC1
Jun 14 17:52:39 localhost kernel: [ 123.202057] [drm] DFP2: INTERNAL_LVTM1
Jun 14 17:52:39 localhost kernel: [ 123.266520] [drm] radeon: power management initialized
Jun 14 17:52:39 localhost kernel: [ 123.341662] [drm] fb mappable at 0xD0040000
Jun 14 17:52:39 localhost kernel: [ 123.341706] [drm] vram apper at 0xD0000000
Jun 14 17:52:39 localhost kernel: [ 123.341745] [drm] size 3145728
Jun 14 17:52:39 localhost kernel: [ 123.341784] [drm] fb depth is 24
Jun 14 17:52:39 localhost kernel: [ 123.341823] [drm] pitch is 4096
Jun 14 17:52:39 localhost kernel: [ 123.565287] Console: switching to colour frame buffer device 128x48
Jun 14 17:52:39 localhost kernel: [ 123.567922] fb0: radeondrmfb frame buffer device
Jun 14 17:52:39 localhost kernel: [ 123.567923] drm: registered panic notifier
Jun 14 17:52:39 localhost kernel: [ 123.567977] [drm] Initialized radeon 2.8.0 20080528 for 0000:01:00.0 on minor 0
--- End code ---
--- End quote ---
gabe:
SUCCESS! Thanks for the help, bitbytebit.
I doubt there will be much demand for a detailed write-up, as anyone who actually has the desire to do this could probably figure out the process from the preceding posts... But for posterity, here is the quick and dirty version of how I Groov-ified Arch Linux with an AVGA 3000.
bitbytebit - if you have any input or feedback, I'd love to hear it.
I enabled the testing repository so that I could update xf86-video-ati from 6.14.1 to 6.14.2. I'm not sure if this is necessary, but it seemed like a good idea after running into problems with my first compile.
The latest version of Groovy was built using kernel 2.6.38.3, so that is also the version I used. After downloading from kernel.org, I unpacked and did make mrproper. I then applied ati9200_pllfix.diff, avga3000.diff, and linux.diff sourced from git.groovy.org. I did NOT apply oss4_liveCD.diff as I do not believe it is necessary for my application.
I then copied over my existing (default Arch) .config via zcat /proc/config.gz > .config. I compared this .config to kernel_config-64bit found on git.groovy.org. It looked to me like the relevant changes were found under Device Drivers --> Generic Driver Options.
I changed:
--- Code: ---CONFIG_EXTRA_FIRMWARE=""
--- End code ---
to:
--- Code: ---CONFIG_EXTRA_FIRMWARE="radeon/JUNIPER_rlc.bin radeon/CYPRESS_rlc.bin radeon/CEDAR_rlc.bin radeon/R700_rlc.bin radeon/R600_rlc.bin radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/SUMO_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin radeon/hd2600.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
--- End code ---
I then booted the Groovy Linux live CD, switched to a virtual console, mounted my Arch root filesystem and copied /lib/firmware/radeon from Groovy to the same location on my Arch filesystem. I then rebooted (back to Arch).
Finally, I compiled using a kernel PKGBUILD found on the Arch Wiki and installed the resulting package with pacman. I double checked the contents of /boot/ and menu.lst, crossed my fingers, and rebooted. When the system came back up, Kernel Mode Setting worked, and I was also able to startx!
I'm going to dig into Groovy Mame next.
gabe:
In the interest of documenting the process, I've attached my xorg.conf. It is based largely on xorg.conf's posted by bitbytebit in the Switchres thread.
--- Code: ---# Config for Wells-Gardner k7000 and ArcadeVGA 3000
Section "ServerFlags"
Option "BlankTime" "0"
Option "NoPM" "true"
EndSection
Section "Monitor"
Identifier "VGA-0"
VendorName "Wells-Gardner"
ModelName "25k7191"
Option "DPMS" "false"
HorizSync 15.10-16.80
VertRefresh 47.00-63.00
UseModes "ArcadeModes"
EndSection
Section "Device"
Identifier "Card0"
VendorName "ATI Technologies Inc"
BoardName "Unknown Board"
Driver "radeon"
BusID "PCI:01:00:0"
Option "EXAVSync" "true"
Option "EnablePageFlip" "true"
Option "ModeDebug" "true"
Option "IgnoreEDID" "true"
Option "monitor-VGA-0" "VGA-0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "VGA-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Modes"
Identifier "ArcadeModes"
ModeLine "640x480x60.00" 13.004160 640 664 728 832 480 482 488 521 -HSync -VSync interlace
EndSection
--- End code ---
Originally, I had included the following lines, but they resulted in warnings in Xorg.0.log. I'm wondering if this is because I am presently using the virgin unpatched ATI driver?
--- Code: ---Section "Monitor"
Option "MinClock" "1Mhz"
Option "MaxClock" "90Mhz"
Section "Device"
Option "ForceMinDotClock" "3mhz"
--- End code ---
gabe:
--- Quote from: dmarcum99 on April 30, 2011, 03:01:46 am ---no luck with the devel version either...I was worried that the gstreamer was broken, so I loaded up advmenu and I was able to get the arcade ambience .mp3 to play in the background. I still couldn't figure out how to get the movies to play even in advmenu. But I don't think advmenu plays .avi's either.
--- End quote ---
I have mp3 playback working in wah!cade devel under Arch Linux. It plays Arcade Ambiance with no issues. I needed to install 3 packages:
* gstreamer0.10
* gstreamer0.10-plugins
* gstreamer0.10-python
I'm guessing the "gotcha" is that last package. The Gentoo equivalent looks to be gst-python. I can't comment on playback of *.avi's (yet).
bitbytebit:
Awesome, that is great, glad to know it's working outside of the distribution and in general for other distros :). Yeah I think all those steps are the key, firmware was something that sort of slipped my mind at first but is an important key to get the stuff kicking into 15khz mode right after the grub menu displays. The reason I really built the distribution was to create a prototype and since it was hard for others to do all the changes I made to get a Linux system to do 15khz mode. So good to know it's actually allowing anyone to repeat the steps I took to get any linux distro to work right.