Re: Windows Assembly



I really don't get why people started hacking away at X the way they did,
rather than constructing a proper kernel-mode video driver architecture
first. The mentality of having the graphics support at application rather
than kernel level is SO out-of-date DOS mentality.

I'm all for having everything in user space that can be there, but they way they're doing it is just wrong.


When the system starts, there should be one program (which I'll call the video driver) that accesses the video card, and uses sockets or something to accept connections from other programs on the system. Each program that connects to it runs full screen, and you can switch between those programs with the Alt-Fn sequence.

Then to get your virtual consoles, you start up about six VT-100 emulators which connect to this video driver, and the video driver lets you switch between them with Alt-Fn, and there's your virtual consoles.

If you start up a game on a console, it just bypasses the pty that it's on, and contacts the video driver directly.

X would also connect to this video driver, and thus X gets to stop being Linux's video driver and start being simply a program that implements the X protocol.

Additionally, if you start up a program under X, it can detect this, and instead of connecting to the video driver, it can connect to another program that uses the same protocol, but converts everything to the X protocol and sends it to the X server. So anything that ran in console would also run in X, including those VT-100 emulators.

Hopefully that made sense.

However, given that everything else in Linux is in the kernel, it would make a lot of sense for the video driver to be in there as well. However, Linux does no management to share the video device currently, and programs just have to cooperate when using it, so I'd be afraid that if they went that route they'd do it the same way, and thus video support would only be a little bit better.

Unfortunately rumors go that a whole bunch of recent video
cards don't have VBE3 functionality,

VBE3? Why not just use VESA 1.2. I used 1.2 under DOS and it was incredibly easy to use, even with the bank switching. Bank switching is not the slightest bit difficult as long as you're not trying something stupid like writing a line drawing algorithm that draws directly to the screen instead of into a buffer. I don't know what the difference is between 1.2 and earlier versions, but there may not even be any reason to require 1.2.


Even if it's a bit slower with 1.2 and the bank switching, it's still much better than nothing at all.

I guess it should be possible to hack out the VESA code from X and use it on your own?

I thought about calling the VESA bios myself, but I couldn't find any documentation on the 8086 mode system call, so I didn't know where to begin. Stealing the code from X wasn't an option, because Softer is public domain, and that clashes with the not as free GPL. I wouldn't trust code out of X to be bug-free anyway, and I doubt they'd have enough comments that I would know what they were doing and could verify they weren't doing anything wrong.
.




Relevant Pages

  • Re: Etch to Lenny, two kernel options now, why?
    ... old kernel around in case something goes wrong. ... that, with the *same* .config, wouldn't boot my machine. ... the time right then to rebuild my video driver with the current setup.. ... Registered Linux user # 367800 ...
    (Debian-User)
  • Re: FC3 and color change
    ... On Saturday 02 April 2005 12:24 pm, Ed Wilts wrote: ... It sounds like it changes/fails when the video driver is loaded. ... I use nvidia drivers which compile modules according to your kernel. ...
    (RedHat)
  • Re: [opensuse] NVIDIA drivers
    ... that video cards and their driver are unavoidable hardware/firmware. ... I could understand a moral standpoint from the kernel developers if they ... It would be interesting to know which video driver each of the kernel ... We make business with distributing the Linux kernel, ...
    (SuSE)
  • Re: [opensuse] NVIDIA drivers
    ... stealing the kernel developers property, when in fact the video driver ... the Linux kernel to the mass users... ... It would be interesting to know which video driver each of the kernel ... Kernel developers typically don't need 3D, and even for that some open ...
    (SuSE)
  • Re: Computer Locks up after Nvida Driver Installation
    ... > I have an AMD processor computer witha GForce AGP Video card. ... > been running the default video driver from Fedora core 2, ... Notice that the FC2 distro kernel uses the kernel-source rpm for source ...
    (alt.os.linux.redhat)