Atemu

joined 4 years ago
MODERATOR OF
[–] Atemu@lemmy.ml 4 points 2 days ago (4 children)

NixOS because it's the only usable stab at sustainable system configuration.

[–] Atemu@lemmy.ml 1 points 2 days ago

I recommend borgbackup.

[–] Atemu@lemmy.ml 4 points 2 days ago

It has since taken away Gentoo’s raison d’être a bit in my head.

I wouldn't say so. We currently don't hold a candle to USE-flags. Many packages are already configurable but there's no standard on anything w.r.t. that.

There's no technical reason we couldn't have such a standard but it hasn't happened yet.

[–] Atemu@lemmy.ml 2 points 2 days ago

That's Nix, not NixOS.

I also wouldn't be too sure on that "explicit" part for Docker. It's somewhat isolated, sure, but everything but explicit: you can download arbitrary data from wherever you like.

[–] Atemu@lemmy.ml 1 points 2 days ago

That isn't going to help them one bit if they have a SteamVR HMD.

[–] Atemu@lemmy.ml 1 points 2 days ago

It recommends AMDVLK... meh

[–] Atemu@lemmy.ml 1 points 2 days ago (1 children)

Is there a bridge like they have for IMAP btw?

[–] Atemu@lemmy.ml 1 points 2 days ago

It's a LineageOS thing AFAIK. I'd be a bit surprised if GrapheneOS had it since they're quite close to stock AOSP when it comes to customisations that don't relate to security or privacy.

[–] Atemu@lemmy.ml 0 points 2 days ago

You quite clearly said

instead of simply and arbitrary banning forever

Welcome to my blocklist buddy. Go play with the rest of the trolls.

[–] Atemu@lemmy.ml 8 points 2 days ago* (last edited 2 days ago) (2 children)

Great way to show off you haven't actually read any of the article past its title.

[–] Atemu@lemmy.ml 8 points 2 days ago (5 children)

You're comparing apples to oranges. One is a declarative Linux system environment creation solution and the other a daemon that starts sub-system environments using Linux namespaces.

You could in theory use NixOS to define a system environment that you'd run inside of a docker container. It's a bit harder to get systemd running inside of Docker which NixOS heavily relies on but that's beside the point. Easier integrations exist for LXD and systemd-nspawn which actually fulfil an equivalent purpose to Docker. The single component that is most comparable to Docker in a typical NixOS deployment would arguably be its init process (systemd), though its use extends far beyond setting up the namespace (the root namespace in this case).

[–] Atemu@lemmy.ml 1 points 3 days ago

Having a record which defines exactly what to fetch is the necessary condition, not the sufficient condition.

The actual artifacts fetched to disk must be stable, not just the record.

 

This is a big release, adding several new major features:

  • Nvidia support! LACT now works with Nvidia GPUs for all of the core functionality (monitoring, clocks configuration, power limits and fan control). It uses the NVML library, so unlike the Nvidia control panel it doesn't rely on X11 extensions and works under Wayland.
  • Multiple profiles for configuration. Currently it is not possible to switch them automatically, but they are configurable through the UI or the unix socket.
  • Clocks configuration now works on AMD IGPUs (at least RDNA2). Previously it was not parsed properly due to lack of VRAM settings.
  • Zero RPM mode settings on RDNA3. Currently this needs a linux-next to be used, and the functionality is expected to land in kernel 6.13. But this resolves a long-standing issue with RDNA3 that made the fan always disabled below a certain temperature, even if using a custom curve.

There are many other improvements as well, such as better looking and more efficient plots rendering in the historical charts window (thanks to @In-line ) and a Fedora COPR repository providing LACT packages (currently in testing).

Nvidia showcase:

image image

Full list of changes:

🚀 Features

  • Add support for multiple settings profiles (#327)
  • Show dialog when attempting to reconnect to daemon
  • Include device info and stats responses in debug snapshot
  • Improve plot rendering, use supersampling and do it in a background thread
  • [breaking] Add initial Nvidia support (#388)
  • Implement clocks control on Nvidia (#398)
  • Add special case for invalid throttle mask
  • Add snapshot command to CLI
  • Add RDNA3 zero RPM setting (#393)

🐛 Bug Fixes

  • Getting pci info in snapshot
  • Retry reading p-states if the value is nonsensical
  • Increase retry intervals when evaluating GPUs at start
  • Make throttling flags ellipsized to avoid massively oversized window (#402)
  • Deduplicate throttle status bits
  • Update amdgpu-sysfs with iGPU fixes, add steam deck quirk (#407)
  • Fedora spec non-default builds (#410)

🚜 Refactor

  • Make info page a relm component (#404)
  • Drop redundant ClockSettings structure in the ui

📚 Documentation

  • Update issue template to mention common RDNA3 problems
  • Fix issue template yaml
  • Move description to label in issue template

⚙️ Miscellaneous Tasks

  • Bump version
  • Update docs, enforce minimum rust version
  • Set codegen-units=1 to decrease binary size in release (#390)
  • Include service log in debug snapshot
  • Drop old bench feature
  • Bump dependencies
  • Bump version
  • Remove unused Cargo features (#405)

Developer

  • Automatically create release on tag push
  • Trigger workflow on tag push
  • Bump workflow rust version
  • Add debug builds to makefile
  • Skip building signed packages if signing secret is not found
  • Don't run rust checks on master pushes, only PRs

Packaging

  • Add libdrm to debian dependencies
  • Add fedora 41 package (#399)
  • Generate Spec Files for COPR on Release Publish (#406)
  • Drop invalid copr trigger check
 

This is a big release, adding several new major features:

  • Nvidia support! LACT now works with Nvidia GPUs for all of the core functionality (monitoring, clocks configuration, power limits and fan control). It uses the NVML library, so unlike the Nvidia control panel it doesn't rely on X11 extensions and works under Wayland.
  • Multiple profiles for configuration. Currently it is not possible to switch them automatically, but they are configurable through the UI or the unix socket.
  • Clocks configuration now works on AMD IGPUs (at least RDNA2). Previously it was not parsed properly due to lack of VRAM settings.
  • Zero RPM mode settings on RDNA3. Currently this needs a linux-next to be used, and the functionality is expected to land in kernel 6.13. But this resolves a long-standing issue with RDNA3 that made the fan always disabled below a certain temperature, even if using a custom curve.

There are many other improvements as well, such as better looking and more efficient plots rendering in the historical charts window (thanks to @In-line ) and a Fedora COPR repository providing LACT packages (currently in testing).

Nvidia showcase:

image image

Full list of changes:

🚀 Features

  • Add support for multiple settings profiles (#327)
  • Show dialog when attempting to reconnect to daemon
  • Include device info and stats responses in debug snapshot
  • Improve plot rendering, use supersampling and do it in a background thread
  • [breaking] Add initial Nvidia support (#388)
  • Implement clocks control on Nvidia (#398)
  • Add special case for invalid throttle mask
  • Add snapshot command to CLI
  • Add RDNA3 zero RPM setting (#393)

🐛 Bug Fixes

  • Getting pci info in snapshot
  • Retry reading p-states if the value is nonsensical
  • Increase retry intervals when evaluating GPUs at start
  • Make throttling flags ellipsized to avoid massively oversized window (#402)
  • Deduplicate throttle status bits
  • Update amdgpu-sysfs with iGPU fixes, add steam deck quirk (#407)
  • Fedora spec non-default builds (#410)

🚜 Refactor

  • Make info page a relm component (#404)
  • Drop redundant ClockSettings structure in the ui

📚 Documentation

  • Update issue template to mention common RDNA3 problems
  • Fix issue template yaml
  • Move description to label in issue template

⚙️ Miscellaneous Tasks

  • Bump version
  • Update docs, enforce minimum rust version
  • Set codegen-units=1 to decrease binary size in release (#390)
  • Include service log in debug snapshot
  • Drop old bench feature
  • Bump dependencies
  • Bump version
  • Remove unused Cargo features (#405)

Developer

  • Automatically create release on tag push
  • Trigger workflow on tag push
  • Bump workflow rust version
  • Add debug builds to makefile
  • Skip building signed packages if signing secret is not found
  • Don't run rust checks on master pushes, only PRs

Packaging

  • Add libdrm to debian dependencies
  • Add fedora 41 package (#399)
  • Generate Spec Files for COPR on Release Publish (#406)
  • Drop invalid copr trigger check
 

Memory managment

Resource and memory management were completely rewritten in order to use allocated video memory more efficiently:

  • Reduced fragmentation may reduce peak memory usage in games such as God of War by up to 1 GiB in extreme cases.
  • Memory defragmentation is now performed periodically to return some unused memory back to the system. The goal is not to reduce VRAM usage at all costs; instead this is done conservatively if the system is under memory pressure, or if a significant amount of allocated memory is unused. Keeping some unused memory is useful to quickly service subsequent allocations.

Note: Defragmentation is currently disabled on Intel's ANV driver, see #4434. The dxvk.enableMemoryDefrag config option can be set to enable or disable this feature via the the Configuration file.

Driver support

While technically not required, the new memory management works best on drivers that support both VK_EXT_memory_budget and VK_KHR_maintenance5. The Driver Support page was updated accordingly.

D3D8 / D3D9

Software cursor

Support for emulated cursors was implemented for the D3D9 cursor API, which allows games to set an arbitrary image as the mouse cursor. This fixes an issue in Dungeon Siege 2 (#3020) and makes the cursor appear correctly in Act of War and various older D3D8 games. (PR #4302)

Bildschirmfoto-693

Sampler pool

Unreal Engine 3 games using D3D9 have a quirk in that they pass a seemingly uninitialized value as the mipmap LOD bias. In order to avoid creating more Vulkan sampler objects than the driver supports, previous versions of DXVK would round the LOD bias to a multiple of 0.5, which could introduce visual inaccuracies. As a more correct soluition, DXVK will now destroy unused Vulkan samplers on the fly and use the correct LOD bias.

Note: The aforementioned workaround was never needed or used in the D3D11 implementation, it only affected D3D9.

Bug fixes and Improvements

  • On Nvidia driver version 565.57.01 and newer, strict float emulation is enabled by default for improved correctness. Games for which this option was already enabled may see a small performance uplift on this driver.
  • Made various changes to potentially improve performace on certain mobile GPUs. (includes PR #4358)
  • Display modes are now ordered by refresh rate to be more consistent with wined3d and fix issues with some games picking the wrong display mode.
  • Fixed a large number of wine test failures.
  • Ascension to the Throne: Fixed old regression that would cause parts of the ground to render black. (#4338, PR #4341)
  • Command & Conquer: Generals: Fixed performance issue caused by a missing D3D8 entry point. (PR #4342)
  • King's Bounty: Warriors of the North: Fixed water rendering issue. (#4344, PR #4350)
  • Tomb Raider: Legend: Fixed flickering geometry with strict float emulation. (#4319, PR #4442)
  • Rayman 3: Fixed a regression that caused rendering issues. (#4422, PR #4423)

D3D11 / DXGI

Resource management changes

In order to reduce system memory pressure and improve stability in 32-bit games, creating, uploading and discarding resources is now throttled if the amount of temporary staging memory allocations exceed a certain threshold. This fixes crashes in Total War: Rome II and a number of other games. Additionally, large DYNAMIC textures commonly used for video playback will no longer use a staging buffer.

The d3d11.maxDynamicImageBufferSize and d3d11.maxImplicitDiscardSize options were removed accordingly; affected games such as Total War: Warhammer III and Ryse: Son of Rome should now perform well by default, without excessive memory usage.

Note: These changes negatively affect CPU-bound performance in a number of games, including Shadow Warrior 2.

Bug fixes and Improvements

  • SEQUENTIAL swap effects are now implemented for DXGI swap chains, which allows games to read previously presented backbuffers. This fixes an issue wherein savegame thumbnails would appear black in certain visual novels. (https://github.com/ValveSoftware/Proton/issues/7017)
  • Devirtualized some D3D11 method calls to improve compatibility with Special K.
  • Fixed incorrect shader code generation for EvaluateAttributeSnapped.
  • Lock contention is reduced in certain games that use Deferred Contexts for rendering. This may improve performance on older CPUs in Sekiro: Shadows Die Twice and some other games.
  • Call of Duty: Modern Warfare 2 Campaign Remastered: Fixed a possible GPU hang. (#3884)
  • Diablo 4: Work around an issue where the game does not start if an integrated GPU is exposed.
  • The Sims 4: Work around a use-after-free bug in the game's D3D11 renderer for real this time. (#4360)
  • Vindictus: Work around potential rendering issues caused by uninitialized constant buffer data. (#4405, #4406)
  • Yakuza 0 and Yakuza Kiwami: Fixed a regression introduced in DXVK 2.4.1 that would cause these games to lock up on start. (PR #4297)

Miscellaneous changes

  • An SDL3 backend was added for dxvk-native. (PR #4326, #4404)
  • Fixed an issue introduced in DXVK 2.4.1 which would lead to error messages about failed buffer creation.
  • Fixed a long-standing issue where overlapping occlusion queries would lead to incorrect Vulkan usage. (#2698)
  • Fixed a rare issue wherein timestamp queries would not be tracked correctly and could read incorrect data.
  • Fixed various other issues that led to Vulkan validation errors in games such as Dishonored 2, Tales of Arise and The Sims 4.
  • Fixed various issues with MSVC builds. (PR #4444)
  • Disabled a workaround for boken render target clears on Nvidia drivers prior to version 560.28.03 on unaffected drivers.
  • If supported, VK_EXT_pageable_device_local_memory is now used to enable better driver-side memory management.
 

@brjsp thanks again for submitting the concern here. We have made some adjustments to how the SDK code is organized and packaged to allow you to build and run the app with only GPL/OSI licenses included. The sdk-internal package references in the clients now come from a new sdk-internal repository, which follows the licensing model we have historically used for all of our clients (see LICENSE_FAQ.md for more info). The sdk-internal reference only uses GPL licenses at this time. If the reference were to include Bitwarden License code in the future, we will provide a way to produce multiple build variants of the client, similar to what we do with web vault client builds.

The original sdk repository will be renamed to sdk-secrets, and retains its existing Bitwarden SDK License structure for our Secrets Manager business products. The sdk-secrets repository and packages will no longer be referenced from the client apps, since that code is not used there.

This appears at least okay on the surface. The clients' dependency on sdk-internal didn't change but that's okay now because they have licensed sdk-internal as GPL.

The sdk-secrets will remain proprietary but that's a separate product (Secrets Manager) and will apparently not be used in the regular clients. Who knows for how long though because, if you read carefully, they didn't promise that it will not be used in the future.

The fact that they had ever intended to make parts of the client proprietary without telling anyone and attempted to subvert the GPL while doing so still remains utterly unacceptable. They didn't even attempt to apologise for that.

Bitwarden has now landed itself in the category of software that I would rather move away from and cannot wholeheartedly recommend anymore. That's pretty sad.

 

@brjsp thanks again for submitting the concern here. We have made some adjustments to how the SDK code is organized and packaged to allow you to build and run the app with only GPL/OSI licenses included. The sdk-internal package references in the clients now come from a new sdk-internal repository, which follows the licensing model we have historically used for all of our clients (see LICENSE_FAQ.md for more info). The sdk-internal reference only uses GPL licenses at this time. If the reference were to include Bitwarden License code in the future, we will provide a way to produce multiple build variants of the client, similar to what we do with web vault client builds.

The original sdk repository will be renamed to sdk-secrets, and retains its existing Bitwarden SDK License structure for our Secrets Manager business products. The sdk-secrets repository and packages will no longer be referenced from the client apps, since that code is not used there.

This appears at least okay on the surface. The clients' dependency on sdk-internal didn't change but that's okay now because they have licensed sdk-internal as GPL.

The sdk-secret will remain proprietary but that's a separate product (Secrets Manager) and will apparently not be used in the regular clients. Who knows for how long though because, if you read carefully, they didn't promise that it will not be used in the future.

The fact that they had ever intended to make parts of the client proprietary without telling anyone and attempted to subvert the GPL while doing so still remains utterly unacceptable. They didn't even attempt to apologise for that.

Bitwarden has now landed itself in the category of software that I would rather move away from and cannot wholeheartedly recommend anymore. That's pretty sad.

 

cross-posted from: https://lemmy.ml/post/21519137

I recently switched from a MBP to a Framework 16 as my primary laptop and one thing I immediately noticed was that I was unable to stop kinetic scrolls in Firefox by laying my fingers onto the touchpad. It'd just slide by unimpeded. You could work around this by counter-scrolling a little rather than holding still which is how I've been coping with it but it's suboptimal to say the least.
(As are many things in the Linux touchpad experience. Linux desktop developers really ought to use a macbook for a little to get a sense for how to do this properly.)

This was caused by Firefox' use of GDK3 to implement its windowing and input needs which does not support hold gestures.

GDK4 does support them but, as I understand it, a port of Firefox to GDK4 would be a ton of work and there isn't really much desire for it as GDK4 doesn't offer many real advantages over GDK3 as Firefox doesn't use classical GTK widgets or anything and only really uses it for basic input/output primitives.

A backport to handle hold gestures in GDK3 too was attempted but, in classic GNOME fashion, it was rejected.

The implementation now somehow gets events from the touchpad directly via wayland somehow from what I could gather but if it works, it works.

You can try this out in the latest nightly builds.

 

I recently switched from a MBP to a Framework 16 as my primary laptop and one thing I immediately noticed was that I was unable to stop kinetic scrolls in Firefox by laying my fingers onto the touchpad. It'd just slide by unimpeded. You could work around this by counter-scrolling a little rather than holding still which is how I've been coping with it but it's suboptimal to say the least.
(As are many things in the Linux touchpad experience. Linux desktop developers really ought to use a macbook for a little to get a sense for how to do this properly.)

This was caused by Firefox' use of GDK3 to implement its windowing and input needs which does not support hold gestures.

GDK4 does support them but, as I understand it, a port of Firefox to GDK4 would be a ton of work and there isn't really much desire for it as GDK4 doesn't offer many real advantages over GDK3 as Firefox doesn't use classical GTK widgets or anything and only really uses it for basic input/output primitives.

A backport to handle hold gestures in GDK3 too was attempted but, in classic GNOME fashion, it was rejected.

The implementation now somehow gets events from the touchpad directly via wayland somehow from what I could gather but if it works, it works.

You can try this out in the latest nightly builds.

 

cross-posted from: https://lemmy.ml/post/21154325

Write is a handwriting app that works on a lot of platforms including Linux which cannot be said about most handwritten note-taking applications.

More information and demo: https://github.com/styluslabs/Write/

I've used it for uni on a Linux tablet/convertible and it worked really quite well and has some nice convenient features for note-taking.

The UI looks like it's from android 4.something though ^^'

What I really appreciate about it is that its storage format are plain SVG(Z) which are extremely compatible. All you need to view your scribbles is an SVG viewer (i.e. a web browser) which basically every computer with a GUI has. Their website is in fact mostly just the output of their own app.

 

Write is a handwriting app that works on a lot of platforms including Linux which cannot be said about most handwritten note-taking applications.

More information and demo: https://github.com/styluslabs/Write/

I've used it for uni on a Linux tablet/convertible and it worked really quite well and has some nice convenient features for note-taking.

The UI looks like it's from android 4.something though ^^'

What I really appreciate about it is that its storage format are plain SVG(Z) which are extremely compatible. All you need to view your scribbles is an SVG viewer (i.e. a web browser) which basically every computer with a GUI has. Their website is in fact mostly just the output of their own app.

view more: next ›