So has anyone gotten an ATI video card to work without the emulation BIOS?
Jordan
At 02:45 PM 4/29/2004, ron minnich wrote:
On Thu, 29 Apr 2004, Li-Ta Lo wrote:
Last time I check, the ATI vgabios wanted to install int 0x10 handler and call into itself via int 0x10. The emulator can't do this yet.
Right, I had forgotten this problem.
Silly VGA BIOS.
ron
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
* aphthong@sizzard.com aphthong@sizzard.com [040430 00:09]:
So has anyone gotten an ATI video card to work without the emulation BIOS?
Yes, RageXL works with the appropriate patches.
Stefan
aphthong@sizzard.com wrote:
So has anyone gotten an ATI video card to work without the emulation BIOS?
I'm working on an Rage Mobility M1 right now. Yesterday I finshed porting some old GX DOS init code from thier developemnet site over to linux and I'm just about to start messing with figureing out the register differences between a GX and an M1. Although they are both Mach64 based the M1 seems to have different address for things.
This dosen't really help most people though as the Mobility M1 only found in laptops, embedded setups, or custom boards like ours. You won't find a general purpose video card with an M1 on it and I don't know of any non-laptop moterboards with one.
Well, it's good to know that someone got it working.
I'm currently doing it for a Radeon 9000 chip.
At 09:49 AM 4/30/2004 -0500, Richard Smith wrote:
aphthong@sizzard.com wrote:
So has anyone gotten an ATI video card to work without the emulation BIOS?
I'm working on an Rage Mobility M1 right now. Yesterday I finshed porting some old GX DOS init code from thier developemnet site over to linux and I'm just about to start messing with figureing out the register differences between a GX and an M1. Although they are both Mach64 based the M1 seems to have different address for things.
This dosen't really help most people though as the Mobility M1 only found in laptops, embedded setups, or custom boards like ours. You won't find a general purpose video card with an M1 on it and I don't know of any non-laptop moterboards with one.
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
aphthong@sizzard.com wrote:
Well, it's good to know that someone got it working.
I'm currently doing it for a Radeon 9000 chip.
So you have gone through all the NDA agreements to get access to the dev site?
If so perhaps we should try to coordinate? Of course the Radeon 9000 may be completely different since its based on a different core isn't it?
Are they going to let you release your code GPL?
Yeah, I am getting access to ATI info. Because of the NDA I don't know how much I can release through GPL. My second problem there is that the linuxbios2 tree has drifted enough that it may be too much of a pain to sync back up. Also a pain since I have a new Northbridge/Southbridge.
I'm willing to coordinate to the limitations of the NDA, so I'll check out how far I can go. The chip is different, but most of the time the designs are just derivative, so I would expect them to be close.
Jordan
At 10:19 AM 4/30/2004 -0500, Richard Smith wrote:
aphthong@sizzard.com wrote:
Well, it's good to know that someone got it working. I'm currently doing it for a Radeon 9000 chip.
So you have gone through all the NDA agreements to get access to the dev site?
If so perhaps we should try to coordinate? Of course the Radeon 9000 may be completely different since its based on a different core isn't it?
Are they going to let you release your code GPL?
aphthong@sizzard.com wrote:
Yeah, I am getting access to ATI info. Because of the NDA I don't know how much I can release through GPL. My second problem there is that the linuxbios2 tree has drifted enough that it may be too much of a pain to
Ask and see. I asked and got full permission to release any code I generate under GPL.
I'm working with v1. The 440bx tree hasn't been ported. Well right now its not even linuxbios. My board boots linux bios but I'm running user space app from a serial console.
Perhaps we can compare notes once both of us get something working.
I would recommend the newer tree. It's still pretty cryptic, but much cleaner than the old tree. It took me about three weeks to get a new NB/SB up and running. But I had to deal with hardware that was being debugged at the same time.
I'll let you know when I get it up and running.
Jordan
At 09:03 AM 4/30/2004, Richard Smith wrote:
aphthong@sizzard.com wrote:
Yeah, I am getting access to ATI info. Because of the NDA I don't know how much I can release through GPL. My second problem there is that the linuxbios2 tree has drifted enough that it may be too much of a pain to
Ask and see. I asked and got full permission to release any code I generate under GPL.
I'm working with v1. The 440bx tree hasn't been ported. Well right now its not even linuxbios. My board boots linux bios but I'm running user space app from a serial console.
Perhaps we can compare notes once both of us get something working.
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
What's the possibility of getting either ATI family parts to work with non-x86 platforms, ARM in particular?
-Bari
aphthong@sizzard.com wrote:
I would recommend the newer tree. It's still pretty cryptic, but much cleaner than the old tree. It took me about three weeks to get a new NB/SB up and running. But I had to deal with hardware that was being debugged at the same time.
I'll let you know when I get it up and running.
Jordan
At 09:03 AM 4/30/2004, Richard Smith wrote:
aphthong@sizzard.com wrote:
Yeah, I am getting access to ATI info. Because of the NDA I don't know how much I can release through GPL. My second problem there is that the linuxbios2 tree has drifted enough that it may be too much of a pain to
Ask and see. I asked and got full permission to release any code I generate under GPL.
I'm working with v1. The 440bx tree hasn't been ported. Well right now its not even linuxbios. My board boots linux bios but I'm running user space app from a serial console.
Perhaps we can compare notes once both of us get something working.
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
we are working on putting the emulator into linuxbios as an optional component. Once this is done, I think the prognosis is good. We've gotten distracted by fixing other things needed to support the emulator.
ron
ron minnich wrote:
we are working on putting the emulator into linuxbios as an optional component. Once this is done, I think the prognosis is good. We've gotten distracted by fixing other things needed to support the emulator.
What will be needed to run video on non-x86? The oem videoBIOS plus an 8086 emulator for when videoBIOS calls are made?
Is this how the layers end up for video?
video application ----------------- GUI/OS Linux ----------------- 8086 emulator ----------------- videoBIOS ----------------- graphics hardware
-Bari
* Bari Ari bari@onelabs.com [040503 20:44]:
What will be needed to run video on non-x86? The oem videoBIOS plus an 8086 emulator for when videoBIOS calls are made?
Once the operating system is running no video bios calls are needed. It's all only about initializing the graphics hardware in first place. Today's graphics cards need complex ram setup, mode initialization, etc.
Is this how the layers end up for video?
video application
GUI/OS Linux
8086 emulator
videoBIOS
graphics hardware
The x86 emulation would be running as part of LinuxBIOS, or as a user space program. Once video is initialized, Linux can take over the hardware and use it's own drivers (which are not capable to initialize the hardware from power on)
Stefan
Stefan Reinauer wrote:
- Bari Ari bari@onelabs.com [040503 20:44]:
What will be needed to run video on non-x86? The oem videoBIOS plus an 8086 emulator for when videoBIOS calls are made?
Once the operating system is running no video bios calls are needed. It's all only about initializing the graphics hardware in first place. Today's graphics cards need complex ram setup, mode initialization, etc.
I've gotten various answers from graphics chip vendors over the years on all this.
You need the videoBIOS when you first init the device after reset unless you wish to come up with all your own (possibly several hundred) register values.
You may use the videoBIOS when you wish to change the video mode but you may also do it with your own set of register values on the fly.
XFree86 drivers sometimes rely on the videoBIOS, sometimes not.
Is this how the layers end up for video?
video application
GUI/OS Linux
8086 emulator
videoBIOS
graphics hardware
The x86 emulation would be running as part of LinuxBIOS, or as a user space program. Once video is initialized, Linux can take over the hardware and use it's own drivers (which are not capable to initialize the hardware from power on)
I know this is going beyond Ron's plan. Let's say there is source for an XFree86 driver for a graphics device with all the 3-D and Zoom port support. I haven't looked at the emulator yet. Using the 8086 emulator would this support fb driver only? or would you also be able to support XFree86 drivers compiled for ARM?
-Bari
* Bari Ari bari@onelabs.com [040503 22:15]:
You need the videoBIOS when you first init the device after reset unless you wish to come up with all your own (possibly several hundred) register values.
Going the direct way by programming registers is a lost game for every component that is not onboard (And it even does not make all that much sense for all onboard hardware)
You may use the videoBIOS when you wish to change the video mode but you may also do it with your own set of register values on the fly.
LinuxBIOS+x86 emulation should set an initial mode that can be used later on by the operating system (vesafb basically works like this, too)
XFree86 drivers sometimes rely on the videoBIOS, sometimes not.
If they do, and you are on a non-x86 platform, they are basically using the same x86 emulation core that LinuxBIOS uses: x86emu.
I know this is going beyond Ron's plan. Let's say there is source for an XFree86 driver for a graphics device with all the 3-D and Zoom port support. I haven't looked at the emulator yet. Using the 8086 emulator would this support fb driver only? or would you also be able to support XFree86 drivers compiled for ARM?
The video bios is needed in first place to get the hardware on the video card activated. This task is very often not performed by X11. This is why we need to initialize the card before X11 comes into play.
If there are open source drivers for X11, they should work by just recompiling them for your target platform. Given that they are cleanly written.
Stefan
On Mon, 3 May 2004, Bari Ari wrote:
I know this is going beyond Ron's plan. Let's say there is source for an XFree86 driver for a graphics device with all the 3-D and Zoom port support. I haven't looked at the emulator yet. Using the 8086 emulator would this support fb driver only? or would you also be able to support XFree86 drivers compiled for ARM?
It seems to me if there is a chipset-specific driver that runs on ARM, you can use it.
ron
ron minnich wrote:
On Mon, 3 May 2004, Bari Ari wrote:
I know this is going beyond Ron's plan. Let's say there is source for an XFree86 driver for a graphics device with all the 3-D and Zoom port support. I haven't looked at the emulator yet. Using the 8086 emulator would this support fb driver only? or would you also be able to support XFree86 drivers compiled for ARM?
It seems to me if there is a chipset-specific driver that runs on ARM, you can use it.
That's the thing.... there usually aren't any drivers for ARM, just drivers for x86.
-Bari
* Bari Ari bari@onelabs.com [040503 23:53]:
ron minnich wrote:
It seems to me if there is a chipset-specific driver that runs on ARM, you can use it.
That's the thing.... there usually aren't any drivers for ARM, just drivers for x86.
chipset specific drivers in this case means graphics chipset. So if your ARM has a PCI/AGP slot, you will be able to use Matrox, ATI, ... but not drivers like the binary only NVidia stuff.
Stefan
On Mon, 3 May 2004, Bari Ari wrote:
What will be needed to run video on non-x86? The oem videoBIOS plus an 8086 emulator for when videoBIOS calls are made?
we don't plan to support videoBIOS calls, just plan to support enabling the hardware.
ron
video application
GUI/OS Linux
that's it.
ron
Bari Ari bari@onelabs.com writes:
ron minnich wrote:
we are working on putting the emulator into linuxbios as an optional component. Once this is done, I think the prognosis is good. We've gotten distracted by fixing other things needed to support the emulator.
What will be needed to run video on non-x86? The oem videoBIOS plus an 8086 emulator for when videoBIOS calls are made?
For hardware that is not on a plugin card it will likely be an ATI Rage XL or a simlar low end chip and we can get the docs to initialize it. YhLu and Stefan have already accomplished that for the ATI Rage XL, and that linuxbios driver should have no arch dependencies.
For a plugin card we need to run the boot rom just to initialize the card. After that all of the standard Linux code should work.
Eric
Eric W. Biederman wrote:
Bari Ari bari@onelabs.com writes:
ron minnich wrote:
we are working on putting the emulator into linuxbios as an optional component. Once this is done, I think the prognosis is good. We've gotten distracted by fixing other things needed to support the emulator.
What will be needed to run video on non-x86? The oem videoBIOS plus an 8086 emulator for when videoBIOS calls are made?
For hardware that is not on a plugin card it will likely be an ATI Rage XL or a simlar low end chip and we can get the docs to initialize it. YhLu and Stefan have already accomplished that for the ATI Rage XL, and that linuxbios driver should have no arch dependencies.
For a plugin card we need to run the boot rom just to initialize the card. After that all of the standard Linux code should work.
We design all our own boards and have the access to the graphics processor data as well as the vendors videoBIOS.
For x86 it's easy for us. We get oem drivers and the tools to modify the oem videoBIOS.
For non-x86 such as ARM the GPU developers (who make the silicon) don't have answers since they only work in the x86 world or a very small fraction know PPC for Apple or IBM.
ATI and nVidia don't let source out for the most current parts. There is some xFree86 driver source for the 3-4 year old devices. For ATI there may be source for up the Radeon 9000. That source is what were looking at to get PC GPU's working on ARM with ARMLinux.
-Bari
ron minnich wrote:
we are working on putting the emulator into linuxbios as an optional component. Once this is done, I think the prognosis is good. We've gotten distracted by fixing other things needed to support the emulator.
My tests of the emulator so far with ATI bios have failed.
On Mon, 3 May 2004, Richard Smith wrote:
ron minnich wrote:
we are working on putting the emulator into linuxbios as an optional component. Once this is done, I think the prognosis is good. We've gotten distracted by fixing other things needed to support the emulator.
My tests of the emulator so far with ATI bios have failed.
yes, this is the "INT 10" problem :-(
still working on ATI issues. nvidia is fine.
ron