SoLo ááá±á¬áá»ááºááᯠáá¯ááºáá±ááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº áá¯á¶ážááááºááŒáááºáá±á á±ááẠááœáá·áºááŒá¯áá¬ážáááºá Linuxmusl ááŒáá·áºáááºáá±á¬ááºáá¬ážáá±á¬ áááá¯ááááºáá»á¬ážááẠá áá áºáá±á«áºááœáẠááá·áºááœááºážáá¬ážáá±á¬ glibc libraries áá»á¬ážááᯠdlopen() ááŸáá áºááá·áº load áá¯ááºááááºááŒá áºááŒá®áž á¡áááá¡á¬ážááŒáá·áº GPU drivers áá»á¬ážááŒá áºáááºá Static linking ááẠVulkan ááŸáá·áº OpenGL drivers áá»á¬ážááŸáá·áº áááá¬ááááŒá áºáá±á·ááŸááá«á áááºážááá¯á·ááẠglibc ááŒáá·áºáááºáá±á¬ááºáá¬ážáá±á¬ shared libraries áá»á¬ážá¡ááŒá ẠááŒáá·áºááŒá°ážááŸá¯áá»á¬ážááŒá áºáááºá SoLo ááẠexecutable ááœááºáááºáá±á¬ááºáá¬ážáá±á¬ ELF loader ááŸáá·áº glibc calls áá»á¬ážááᯠmusl process runtime ááá¯á· áá¬áá¬ááŒááºáá±ážáá±á¬ layer áá áºáá¯ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº á€ááá·áºáááºáá»ááºááᯠáá»á±á¬áºááœáŸá¬ážáááºá Glibc ááá¯ááºááá¯ááºááᯠprocess ááœáẠload ááá¯ááºáá«á ááá¯á·á¡ááŒáẠprocess ááœáẠáá¯ááá libc ááᯠááá·áºááœááºážááŒááºáž áááŸááá«á áá¯ááºááᯠC++ ááŒáá·áºáá±ážáá¬ážáá¬ážááŒá®áž MIT ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá
repository ááŸá¬ visual example áá
áºáá¯áá«áááºáá«áááº- interpreter áá«ááŸááá¯áẠdynamic section ááá«áá²á· static executable file áá
áºáá¯áᬠsystem ááŸá¬ install áá¯ááºáá¬ážáá²á· driver ááá¯ááŸá¬ááá¯á·á dependencies ááœá±áá²á·á¡áá° load áá¯ááºááá¯á·á compute shader áá
áºáá¯ááᯠexecute áá¯ááºááá¯á·áá²á· result ááᯠPNG á¡áá±áá²á· save áá¯ááºááá¯á· standard Vulkan method ááá¯áá¯á¶ážáá«áááºá continuous integration áá²á· áá
áºá
áááºáá
áºááá¯ááºážá¡áá±áá²á· áá® example ááᯠAlpine, Fedora áá²á· ... ááœá±ááŸá¬ á
ááºážáááºáá¬ážáá«áááºá Ubuntu á€ááŒáá·áºááŒá°ážááŸá¯áá»á¬ážá á
á¶ repositories áá»á¬ážá០Lavapipe package áá»á¬ážááŒáá·áºá á€áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯áá±ááŒá®ááŒá
áºáááºâáááºážááᯠShitty terminal emulator á release build áá»á¬ážáááºáá®ážáááºá¡áá¯á¶ážááŒá¯áááºá
source: opennet.ru
