Software Engineer, Linux Enthusiast, OpenRGB Developer, and Gamer

Lemmy.world Profile: https://lemmy.world/u/CalcProgrammer1

  • 2 Posts
  • 144 Comments
Joined 3 years ago
cake
Cake day: June 9th, 2021

help-circle

  • CalcProgrammer1@lemmy.mltoTechnology@lemmy.worldWhy is UI design backsliding?
    link
    fedilink
    English
    arrow-up
    38
    arrow-down
    3
    ·
    15 days ago

    Change for the sake of change is so dumb. I’m tired of pointless UI changes every so many years because some middle manager and their designers need to wow some dumb exec to get a promotion and they do so just by rearranging all the existing functionality because the product itself is already a complete solution that doesn’t actually need a new version. Sadly, this mentality even creeps into FOSS spaces. Canonical and Ubuntu wanting to reinvent the wheel with Unity, Mir, Snap, etc. GNOME radically changing their UI all the time.




  • I got a NexiGo portable gaming monitor that I’m pretty happy with. It is a 16 inch 2560x1600 display, 144Hz, and supports FreeSync. I got a bidirectional DisplayPort to USB C cable so that I could use it with my desktop for LAN parties and it’s great. It has a built in flip-out kickstand, a folding magnetic cover, OK built in speakers (good enough to game with anyways), and can be powered via a second USB C port with an A to C cable. On a device that supports USB C video output like a laptop or Steam Deck it can run off a single cable but I mostly wanted it for my desktop.







  • I’ve tried most of the common options (with the notable exception being the vastly overpriced Librem 5). The best option IMO is the OnePlus 6 or 6T (they’re almost identical) running postmarketOS. It is much faster than the PinePhone Pro with way better battery life and has proper modern GPU support (OpenGL up to 4.x, Vulkan). The main thing preventing daily driving the OnePlus 6/6T is that the earpiece audio doesn’t always work for calls and that it won’t wake from sleep when an incoming call comes in. The PinePhones are better to use for voice calling, but slower, lacking many graphics APIs (no Vulkan, limited OpenGL), and have much worse battery life. The camera doesn’t work at all on the OnePlus phones yet, it is starting to work on the PinePhones but the picture quality isn’t all there.

    At the moment I have both a OnePlus 6 and 6T, but I have stock Android on the OnePlus 6 and postmarketOS on the 6T. I use the Android one as my daily driver with my primary number SIM but got a second cheap Mint Mobile SIM for the postmarketOS one for experiments and mobile data. I prefer browsing on the postmarketOS phone, and I use it for VPN, SSH access, file management, and some coding on the go which are things Linux phone excels at over Android. I mostly use the Android phone for calls, texts, camera, maps, email (GMail), Discord, and casual browsing. If they fix the earpiece audio issue I would probably be fine daily driving the







  • The only instance I can see this is if a game requires a new Vulkan extension, which wouldn’t need a new kernel but would need a new Mesa version to provide that extension. For the most part, games use established and standardized APIs (OpenGL, Vulkan, Direct3D) to utilize the GPU and as long as the driver implements the APIs used by the game, the driver doesn’t need to continuously update in order to support game updates. On Linux, the driver doesn’t handle Direct3D anyways and an intermediate layer (DXVK or VKD3D) is used to translate Direct3D API calls into the Vulkan API. Vulkan does support extensions which are added every so often to provide new interfaces and the userspace portion of the driver (which is responsible for compiling/translating Vulkan API calls into raw GPU instructions) needs to be updated to support these, but also sometimes these extensions are optional and games can use less optimized code paths to work around missing extensions.



  • The kernel driver is a rather small piece of the overall puzzle though, itps just the pipe that GPU commands are passed through. The bulk of the GPU driver code (and the majority of its impact on performance) is in the userspace components like the shader compiler and the OpenGL/Vulkan libraries. These are closed source.

    The exception to this rule is that the kernel driver is responsible for power management and controls the GPU clocks, but as part of opening up the kernel driver NVIDIA made reclocking available for the fully open driver (nouveau/nvk) to use as well which means the performance differences between the two driver stacks are now down to optimizations.