mox

joined 9 months ago
[–] mox@lemmy.sdf.org -1 points 20 hours ago

This tool looked interesting to me until I noticed that its external dependency count is in the hundreds, each of which increases exposure to vulnerabilities and supply chain attacks.

I hope that Rust will some day have a rich enough standard library that the "trust everything" software development model falls out of favour amongst the developers who use it.

[–] mox@lemmy.sdf.org 7 points 2 days ago* (last edited 2 days ago)

You might start with the documents posted to the EFF site over the past year. For example, the September opposition letters include specific court decisions and put them in context, including commentary from law professors.

https://www.eff.org/search/site/pera

[–] mox@lemmy.sdf.org 11 points 2 days ago* (last edited 2 days ago)

Looks like things have changed:

Will my registration expire?

No, your registration will never expire. The FTC will only remove your number from the Registry if it’s disconnected and reassigned, or if you ask to remove it.

https://consumer.ftc.gov/articles/national-do-not-call-registry-faqs

[–] mox@lemmy.sdf.org 14 points 2 days ago* (last edited 2 days ago)

It's re-posted from a news community, where it was since removed for not being from an acceptable news site. Unfortunately, the acceptable news sites covered this more than 30 days ago, which disqualifies their articles regardless of whether they were ever posted to the community. shrug

I couldn't find a better article in the time I had to spare, so I re-posted this one. I think what's important in this case is just that word gets out. I don't see anything misleading about this one, and the EFF link (which is also not exactly a news site) is plainly visible.

 

The EFF is urging people to contact their legislators now, before the vote.

https://act.eff.org/action/tell-congress-we-can-t-afford-more-bad-patents

[–] mox@lemmy.sdf.org 16 points 3 days ago* (last edited 3 days ago)

Some of the APIs in use on Linux today come from older Unix variants. (For this reason, I probably wouldn't call one of these a "Linux API" as the author did, though I guess it works linguistically for those that are usually present on Linux.) These APIs have semantics that were designed before threading existed on many platforms. Making them thread-safe without breaking existing code can be challenging.

If setenv(3) is among these, it could explain why glibc's implementation doesn't support multi-threaded programs, and why its documentation states as much. To have used it in a multi-threaded environment, ignoring the docs, was a bug in the Steam client. Perhaps it never occurred to the people who ported Steam's code to glibc that threading issues might be different from what they were used to on other platforms.

To be fair, the author might be aware of this, as he did refer to glibc's implementation as a tradeoff rather than a bug.

[–] mox@lemmy.sdf.org 39 points 4 days ago* (last edited 4 days ago)

Matrix messaging apps. It's nice to have modern messaging features, end-to-end encrypted, with no single point of failure, no Google involvement, and no phone numbers. I expect to start recommending it widely when the 2.0 features land in the popular clients.

WireGuard VPN. It's fast, even on low-power devices.

Self-hosted Mumble. Excellent low-latency voice quality for chatting or gaming with friends.

Radicale, DAVx⁵, and Thunderbird, for calendar and contact sync between mobile and desktop, without handing the data over to Google or anyone else.

 

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.
[–] mox@lemmy.sdf.org 7 points 5 days ago* (last edited 5 days ago)

I don't know of a universal tool for adding keyboard navigation to all the different GUI toolkits used on Linux. I wouldn't expect one to exist, since each toolkit implements its widgets differently, just as the Windows and MacOS GUIs implement theirs differently.

However, apps made with Qt tend to be good at keyboard navigation already, which is no surprise, since support for it is built in to the toolkit. The KDE Plasma desktop environment inherits this support, as do most of the apps made for it. I suggest trying it if you haven't already. (Hint: Many widgets will reveal their keyboard shortcuts when you hold down Alt, and a Settings: Configure Keyboard Shortcuts menu item is very common in KDE apps.)

Tangentially related: You might also want to look at tiling window managers. Some people love them.

[–] mox@lemmy.sdf.org 2 points 6 days ago

Thorin has my respect for building his own machine.

I hope he saves the box for you.

[–] mox@lemmy.sdf.org 11 points 1 week ago (1 children)

I think zero RPM worked before (on cards that supported it) but wasn't directly configurable in Linux.

[–] mox@lemmy.sdf.org 1 points 1 week ago

My condolences. Unfortunately, people are sometimes designated the in-house expert on a thing just because they seem slightly less ignorant of it than anyone else in the organization. That leaves more than a few people making decisions that impact security and privacy without good understanding or sound judgment in those areas.

Maybe you should train up and become your state's new security expert?

[–] mox@lemmy.sdf.org 2 points 1 week ago

It doesn't necessarily mean putting it in a game's launch options. Environment variables can be set in a startup script, or a flatpak config, or a command line, for example. But the Steam launch options approach is convenient when you're just testing something for one specific game.

6
submitted 1 week ago* (last edited 1 week ago) by mox@lemmy.sdf.org to c/technology@lemmy.world
 

This first video from Xiph.Org presents the technical foundations of modern digital media via a half-hour firehose of information. One community member called it "a Uni lecture I never got but really wanted."

Video Presentation

23
LXQt 2.1.0 (lxqt-project.org)
 

LXQt - The Lightweight Qt Desktop Environment

 

Navi 10: RX 5700, 5600
Navi 14: RX 5500, 5300

view more: next ›