At current My User Space Graphics System Interrups the kernel every time it needs a driver to do something and and am attempting to implement a queing system. Do most people create the Kernel Mode Graphics System as a thread which executes operations in the queue on each wake up or by interupting the kernel when the queue is full.
Also... how does X11 recieve information about Graphics operations it needs to perform, is this purely a user space function calling issue?
Interrupt Queueing
- Kevin McGuire
- Member
- Posts: 843
- Joined: Tue Nov 09, 2004 12:00 am
- Location: United States
- Contact:
How X Works.
I am not sure myself, but if someone else does not post a more in depth explanation this should get you headed in the right direction.
Yes, it is pure user space in it's majority except for some twists at the end. AFAIK.
I read that X uses the /dev/mem which gives it direct access to all of the memory in the system even though as far as I can tell it mostly uses this to access the frame buffer. X is designed to support remote clients such that I can run Firefox on my faster computer, but have it displayed on my laptop here. I run the X server on my laptop and the X client Firefox is running remotely. X normally uses UNIX sockets and I have very limited knowledge here. You can enable X to listen on a TCP port such that I described above. I also just read that X uses another smaller system called xwrapper which you might be useful to Google more about it.
client->[SOCKET]->server->[/dev/mem, MMIO, IO?, driver calls, BIOS stuff?].
I am not sure about the accuracy of this information as I have done no hands on research and only derive this information from doing a couple of quick Google searches in the past couple of minutes.
Yes, it is pure user space in it's majority except for some twists at the end. AFAIK.
I read that X uses the /dev/mem which gives it direct access to all of the memory in the system even though as far as I can tell it mostly uses this to access the frame buffer. X is designed to support remote clients such that I can run Firefox on my faster computer, but have it displayed on my laptop here. I run the X server on my laptop and the X client Firefox is running remotely. X normally uses UNIX sockets and I have very limited knowledge here. You can enable X to listen on a TCP port such that I described above. I also just read that X uses another smaller system called xwrapper which you might be useful to Google more about it.
client->[SOCKET]->server->[/dev/mem, MMIO, IO?, driver calls, BIOS stuff?].
I am not sure about the accuracy of this information as I have done no hands on research and only derive this information from doing a couple of quick Google searches in the past couple of minutes.