Finalspace
The only library which works is "libGL.so.1".
1 2 3 4 | $ ls -la /usr/lib/libGL.so* lrwxrwxrwx 1 root root 14 Nov 9 00:44 /usr/lib/libGL.so -> libGL.so.1.0.0 lrwxrwxrwx 1 root root 14 Nov 9 00:44 /usr/lib/libGL.so.1 -> libGL.so.1.0.0 -rwxr-xr-x 1 root root 562944 Nov 9 00:44 /usr/lib/libGL.so.1.0.0 |
Is there a way to detect such crappy drivers, so i can try the next one in the list?This is not about crappy drivers. This is about crappy distributions (if libGL.so is really broken). Suggestion is to not use crappy Linux distributions.
mmozeikoFinalspace
The only library which works is "libGL.so.1".
Are you sure?
Can you show output of "ls -la /usr/lib/libGL.so"? (or wherever this file is) I expect it to be symlink to /usr/lib/libGL.so.1.
Here's how it looks on my machine:
1 2 3 4 $ ls -la /usr/lib/libGL.so* lrwxrwxrwx 1 root root 14 Nov 9 00:44 /usr/lib/libGL.so -> libGL.so.1.0.0 lrwxrwxrwx 1 root root 14 Nov 9 00:44 /usr/lib/libGL.so.1 -> libGL.so.1.0.0 -rwxr-xr-x 1 root root 562944 Nov 9 00:44 /usr/lib/libGL.so.1.0.0
Is there a way to detect such crappy drivers, so i can try the next one in the list?This is not about crappy drivers. This is about crappy distributions (if libGL.so is really broken). Suggestion is to not use crappy Linux distributions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | final@final-i7:~$ find /usr -name "libGL*.so" /usr/lib32/nvidia-384/libGLESv1_CM.so /usr/lib32/nvidia-384/libGLESv2.so /usr/lib32/nvidia-384/libGLX.so /usr/lib32/nvidia-384/libGL.so /usr/lib/nvidia-384/libGLESv1_CM.so /usr/lib/nvidia-384/libGLESv2.so /usr/lib/nvidia-384/libGLX.so /usr/lib/nvidia-384/libGL.so /usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so /usr/lib/x86_64-linux-gnu/mesa/libGL.so /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/x86_64-linux-gnu/libGLESv2.so /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/chromium-browser/swiftshader/libGLESv2.so final@final-i7:~$ find /usr/ -name "libGL.so" /usr/lib32/nvidia-384/libGL.so /usr/lib/nvidia-384/libGL.so /usr/lib/x86_64-linux-gnu/mesa/libGL.so /usr/lib/x86_64-linux-gnu/libGL.so final@final-i7:/usr/lib/x86_64-linux-gnu$ ls -la /usr/lib/x86_64-linux-gnu/libGL.so lrwxrwxrwx 1 root root 13 Jan 17 16:34 /usr/lib/x86_64-linux-gnu/libGL.so -> mesa/libGL.so |
mmozeiko
Technically its not that wayland supports X11 api. What it does, it launches new real X11 server under which your application runs. Simplified explanation is that you render to x11 window, which gets transmitted wayland. Imho pretty bad overhead (more cpu, more memory used, etc...)
But yeah, this is the reason I don't use Wayland. People are saying this is the future for last dunno, 3 or 4 years already. But once a year when I try to migrate to it I get so many weird issues or buggy behavior that I nope back to X11 straight away.
Wayland makes sense for embedded hardware, where you know exactly what you are running and your are controlling full stack - from hardware and rivers to software that runs. Wayland is used a lot in embedded linux'es - TVs, set up boxes, etc..
Also afaik nvidia driver does not properly support wayland...
Btw, Ubuntu 18.04 (released next month) switches back to X11 as default display server: https://insights.ubuntu.com/2018/...-18-04-lts-to-use-xorg-by-default
So yeah, fun times with ubuntu :D
Finalspace
This library is C++/11 only.
Finalspace
Its written in C++/98 mostly, but uses a few C++/11 features (constexpr, nullptr, enum class).
Finalspace
Important update:Well switching to C++/98 was not that easy as i thought it to be - there are no standard int types, so i had to add one.
Now there shouldn´t be any C99 or C++11 code anymore.
Finalspace
Good news people, i am switching to C99. I got sick of all the namespace typing nonsense.
Randy GaulFinalspace
This library is C++/11 only.
Noo not C++11 eww!
Finalspace
Its written in C++/98 mostly, but uses a few C++/11 features (constexpr, nullptr, enum class).
Nooo~ But at least a little better.
Finalspace
Important update:Well switching to C++/98 was not that easy as i thought it to be - there are no standard int types, so i had to add one.
Now there shouldn´t be any C99 or C++11 code anymore.
Yayy! :) C++98 is simpler!
Finalspace
Good news people, i am switching to C99. I got sick of all the namespace typing nonsense.
oo wow you really went down the rabbit hole. Namespaces are probably my least favorite feature of C++. But how can you survive without function overloading? Probably don't need it for your library, but function overloading was always my favorite feature of C++ (and wish it were available in C, along with operator overloading).
Anyways, just stopping by! Read the entire thread. Fun to see the progress :) Been following along with your commits on github for quite some time.
mmozeiko
Please do not use ReadConsole and WriteConsole for stdin/out on Windows. Those cannot be redirected to file. For example, if I would want to run your program like this: "app.exe >log.txt", the log.txt file would be empty.
Use regular ReadFile/WriteFile instead.