What is difference between opengl and xwindows system? [closed] - graphics

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I have searched lot and couldn't find anything. I'm confused and don't know how OpenGL and Xserver work together. As far as i know OpenGL translate the client's program code to driver commands(correct me if i'm wrong please). And i want know how graphic drivers work in Linux. I mean where dose graphic drivers reside?
If you know a proper books please let me know.
Please help me to find out.

Xserver provides a window to OpenGL on which 3D image is rendered. OpenGL only provides ways to rasterize a image and does not care about on which "window" its being rendered. That work is done by X Window system in Linux and Win32 Api in Windows. Also there are libraries available like Glut and Qt which does this windowing job. So in other words you can consider XServer as a canvas on which OpenGL does its drawing.
So OpenGL is a spec and graphic drivers contain its implementation. Graphic driver takes care of how your application specific calls are translated to acceleration hardware specific calls. Its same for windows and linux both.

Related

How to write linux app/library to interact with Samsung Galaxy Buds headphones? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I'd like to write some library/app to interact with Galaxy Buds.
I assume that this would require me to somehow sniff packages it sends to my mobile telephone and get which corresponds to what command(volume/pause/play) and so on. And then write some wrapper for it? I'd like to make this app/library reusable between different Linux distros, and not-that-hard-portable to Mac OS.
Knowing all that I still in the place where I'm not sure where to start from.
I'd appreciate suggestions to any part of this process e.g (Programming language selection, software for BT sniffing ...)
I do have some experience with C#/Java/C++, but I'm willing to learn if these aren't most suitable for solving the issue.
I don't know that much about the libraries needed for such a solution, but as far as sniffing is concerned, I know that Wireshark (WireShark_Bluetooth_Sniffing) is a good starting place.Once you isolate the touch commands, I assume you can map them to media commands, as described here: D-Bus_Media_Commands

Why Linux driver need to compile? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have a question that is why Linux driver need to compile with Linux source if a new hardware in the unsupported list of Linux kernel? but Windows driver just only need to double click setup.exe, don't need to compile...
Is it the kernel type different? microkernel vs monolithic kernel? or any other reason? thank you.
This is mainly to do with Linux' Monolithic Kernel. This in contrast to Windows' kernel which does not include drivers and drivers are written using the Windows Driver Model which is plug-and-play. Read about the differences in their respective Driver Architectures here.
I would suggest you give this article on Loadable Kernel Modules a read.

Linux Audio Sub Systems [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to know about Linux audio, i spent a lot of time on reading but i didn't understand(clearly). Can anybody give a brief information on various Linux audio sub systems(Like OSS, ALSA, JACK, Gstreamer, Phonon, Xine)?.
Any help, Thanks in advance.
I once wrote a famous blog post about the jungle of Linux audio output formats. You can find it here.
Regrettably, the picture is no longer there, here's a copy:
It's a bit old (dating from 2007), but I hope it gives you the general idea. OSS and ALSA are the layers closest to the actual audio hardware. All the other libraries and frameworks simply talk to those lower layers. And as you can see, some of these libs and frameworks actually have wrappers around other libs and frameworks.
Which layer you want to call upon depends largely on what you wish to accomplish.

OpenGL 3D Mesh Extraction for Linux [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
For Windows there are many tools for extracting 3D data from programmes by intercepting the OpenGL data (e.g. 3D Ripper DX, glintercept, Ogle, OpenGLXtractor, HijackGL).
Are there any similar tools for Linux? If not, would it be possible to make one? (and if would anyone be interested in starting an open source project with me?)
I will actually automate the process, but that is another story.
First a word of warning: OpenGL is not a scene graph. There is no such thing as a "scene" or "objects" (in the physical kind of thing sense) in OpenGL. All what OpenGL does is drawing points, lines and triangles to a scene, one at a time and independent from each other. So intercepting OpenGL drawing calls to extract objects by nature is unreliable. That being said most programs using OpenGL do it in a way that make it actually quite feasible to extract the rendered geometry and interpret it as objects.
Another member of my hackerspace wrote a tool for intercepting OpenGL calls to extract meshes (the original use was so that we could 3D print game assets and similar on our RepRap). The sources for this tool can be found here https://github.com/mazzoo/ogldump
However ogldump is very limited. It doesn't support vertex buffer objects (VBO), interleaved vertex arrays can mess things up and things like shaders and generic vertex attributes are completely unheared of. Feel free to patch that in, if you like.

Creating a Linux Desktop Envoriment [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Suppose I want to create my own desktop envoriment for Linux, without X. Like Google with the Android did. Where do I start? Is it actually a normal application that just draws stuff, and starts after the kernel boot? And how does it draw it? Using OpenGL or is there something more generic? And graphics drivers, how is it going? You should develop custom graphics drivers for your desktop or it comes with the Linux kernel?
Note: It's for normal PCs and not embedded devices.
Thanks.
See: DirectFB (and Wikipedia).
You can use the frame buffer device.
There are a few toolkits that render directly to the frame buffer for embedded device - even fully featured toolkits like Qt and wxWidgets can do it.
Well, you could study how OS X works in some detail.
You're probably best advised to keep most of the X server... it has a set of good device drivers already, and they're a very large part of the work.

Resources