• 0 Posts
  • 98 Comments
Joined 2 years ago
cake
Cake day: July 3rd, 2023

help-circle
  • Back in the '90s, when you created a game, you had to build three separate game engines for DOS, Windows, and MacOS, with their separate audio and video drivers. Or you just selected DOS and ignored all Mac users.

    SDL was revolutionary, it could create an OS window for you to draw onto (or emulate a full-screen ‘window’ for DOS), and output 2D video and sound using the same SDL calls, on DOS, Windows, MacOS, Linux, AmigaOS, and even Sony PlayStation. So you had the same source code compiling to 6 different game binaries for each platform.

    SDL does not implement 3D graphics, it just initializes OpenGL in a window and passes that to your code, because the game studios went all ‘fuck you I’m using OpenGL or I’m ignoring your XBOX entirely’ so even Microsoft was forced to support OpenGL on top of it’s incompatible proprietary DirectX 3D drivers, so OpenGL became the new standardized cross-platform API for 3D graphics.

    Vulkan is a replacement for OpenGL which can use multiprocessor architecture, OpenGL is strictly single-threaded so your high-end 12-core gaming CPU ends up with one overworked core drawing all the graphics and 11 lazy cores performing Windows update in the background. The rules are already established, so every GPU and chip manufacturer will either support Vulkan or not have 3D graphics at all.




  • The one use case is running STUN/TURN server for NAT hole punching, that requires two separate servers, or one server with two IP addresses. You will only need that to run masterserver for games that support hole punching, or to run VoIP telephony / teleconference server.

    Another use case is reliability, when your server is connected to several network providers, it will keep working if one of them has an outage, and will naturally have a different IP address for each network link. But your VPS does not have several network links, otherwise they would advertize that in bold red letters.



  • You need to enter these commands in the Linux terminal app, not in the X server app. Once the two apps connect, it should be possible to launch another terminal inside the X server.

    • Go to your phone Settings > About Phone and tap “Build number” seven times. You will receive notification that your phone now has developer options enabled.

    • Settings > System > Developer Options > Linux development environment. On that page, tap the On/Off slider.

    • You will find an icon for the new Terminal app on your home screen. It’s going to download 500 MB of data when you open it.

    • Long-press the Terminal app icon, tap Info > Mobile data, and enable Unrestricted data usage.

    • Now you can download more packages inside your Linux virtual machine using apt-get command, as described in my previous post.






  • We want to inhibit when running stuff like pacman, wget, cp or mv

    There is already a separate systemd-inhibit command that does exactly what you need. Trust your users, they are capable of googling it (most of the time).

    Only pacman and wget will benefit from suspend inhibition, because it will prevent breaking network connections. cp and mv will resume working just fine even when you hibernated your laptop while cp was executing. And in that case it’s less bug-prone to scan your system for active TCP connections to external addresses instead of adding a hack wakelock inside your terminal or inside wget.

    It is also a poor idea to mess up with system-wide settings from some command when the user does not expect it, you’ll likely to get a thousand invalid bug reports that sleep mode is broken when some service randomly decides to use wget to continuously read from local Unix socket.


  • Jumping from loose-typed language to strict-typed language will be hard.

    It’s also a matter of your general programming experience. Once you write, like, ten thousand lines of meaningful code in Python, learning C# should take you a month or two at most, you’ll know most programming concepts and algorithms intrinsically, and the rest is just learning syntax.



  • pelya@lemmy.worldtoLinux@lemmy.mlWhat is eg2gears-wayland?
    link
    fedilink
    arrow-up
    23
    ·
    edit-2
    8 months ago

    it’s used to verify that OpenGL ES2 works onn your system. It’s the variant of 3D graphics drivers that is used on smartphones. Many apps nowadays write their GFX frontend with GLES2 so it uses the same code on phones and PCs, and if they compile the app to run in the web browser, WebGL is also based on GLES2.






  • I had the root canal done without an anesthesia, because I did not want a needle sticking into my gum.

    It was tolerable, I did not cry or anything like. The nerve was mostly dead anyway.

    The dentist took his sweet time removing the nerve piece by piece with a probe, instead of just drilling the whole tooth through. It did not matter at the end anyway, because he filled the canal afterwards. And the molar has three roots, so he repeated that two more times.

    I guess it depends on your pain tolerance.