[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

fucking linux

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 14
Thread images: 1

File: x11_logo_m.png (177KB, 392x389px) Image search: [Google]
x11_logo_m.png
177KB, 392x389px
okay, i've always been a winfag so i have little to no familiarity with gnulinux aside from installation and package managers

i'm interested in it because i want to tinker the fuck out of it

what i'm trying to figure out is how the fuck things are rendered to the screen

i know that x11 server allows clients to render to the display, and window managers are x clients that define ui components that can be rendered to x and blah blah blah blah

i'm far more interested in how the x server itself interacts with graphics drivers in order to utilize the display

is the x server the sole way to interact with the display, or can software be written to circumvent the x server entirely and interface with the graphics driver directly?

say, for example, i'm making a game. obviously graphics apis like opengl or vulkan are used for the actual 3d calculations, but how do i put it on the screen? what options are available to me?

for this example, this game is all this machine is meant to do. there is no need for a desktop environment or anything. ideally, in this scenario, i would want my game to output to the display itself without any middleman, so as to avoid any overhead the x server/client protocol would incur let alone any overhead from a window manager if i have to go through that as well.

is that even possible in a gnulinux environment? fuck if i know forgive me if im a retard
>>
:(
>>
>>60588794
Everything you asked is the X11 and Wayland wikipedia articles.
Now install gentoo.
>>
>>60588794
TLDR faggot, stop crying like a 14 y/o girl throwing tantrum
>>
>>60589864
>sees title "fucking linux"
>spills spaghet
>>
>>60588794
Look at the source code of other projects and see what they did
>>
https://wayland.freedesktop.org/architecture.html

There ya go
>>
So X has these things called Extensions. One of those Extensions, generally enabled by a hardware accelerated driver is called "GLX" the GLX has a mode called "DirectRendering" which is available with most hardware accelerated drivers.
This feature allows applications to directly request OpenGL rendering resources from the GPU and render them to the X server. This works with or without any window manager. As do most regular applications. As such you can create a .xinitrc file that calls your game, and then change the primary tty to autologin a game-only user with heavily restricted system permissions, and then change the default bash behavior of that user to run "startx" if the current TTY is the primary TTY.
In effect the system will boot directly to the game. You can then enable X server options like "NoVTSwitch" to prevent users with a keyboard from hooking up and tampering. Or even further you can disable keyboard input entirely for xorg. Or go even further and expressly prohibit any devices not matching your chosen IO device.
>>
>>60589895
yeah ill be doing this when i get some free time to pick through a few

>>60589916
thanks a bunch senpai. lots of neat info here that the wikipedia didnt have. looking at the diagrams, the part of linux that i'd want to work with in order to totally bypass x should the need arise would be the framebuffer device(s). would you say that's right?

>>60590083
lots of stuff there that goes a bit over my head for now. does the version of opengl the x client is using or the version the gpu supports matter at all to the x server?

thanks for the info
>>
>>60589889
what?
>>
>>60590288
framebuffer is p cool, try using mpv in a non-graphical environment. blew my mind the first time i tried it
>>
>>60590328
what does that end up even looking like, does it just take up the whole screen or does it overlay part of terminal? i dont actually have a linux distro right now especially not a gui-less one so i cant try it but it sound really neat
>>
>>60589864
>Can't read more than a sentence

>>>/AMDvINTEL/
>>
>>60588794
You can directly write to the framebuffer at /dev/fb0, if you have the rigt permissions and echo a long string into it you gonna see the upper left pixels change until the window manager updates that part again.
Thread posts: 14
Thread images: 1


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.