Atemu

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

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

[–] Atemu@lemmy.ml 1 points 1 day ago

I recommend borgbackup.

[–] Atemu@lemmy.ml 4 points 1 day 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 1 day 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 2 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.
 

Today, we’re introducing Kagi Translate. It’s not revolutionary - it’s simply a better translation service.

Our combination of advanced language models and precise output selection delivers translations that surpass existing solutions, including Google Translate and DeepL.

Here’s a comparison table for main features:

Feature Google Translate DeepL Kagi Translate
Quality Average High Very High
Webpage translation Yes No Yes (most)
Languages supported 243 33 244

*Quality ratings based on internal testing and user feedback
*Language count as of November 2024

For quick translations, documents, or daily browsing, the difference is clear in the first sentence.

Try it:

Try Kagi Translate with any text →

Translate this blog post into Spanish → (note the simple URL structure)

Using Kagi Translate

Add translate.kagi.com/ before any URL for instant translation. No apps needed. Access 244 languages with zero tracking. Install our browser bookmarklet for quick access.

KagiTranslate

Visit translate.kagi.com for direct use.

We will be bringing Kagi Translate soon inside Kagi Search as a widget for instant translation inside search results.

Kagi Translate is free for everyone. If you’re not a logged in Kagi user, you’ll encounter a simple captcha to prevent automated abuse - a small step that helps us maintain quality while keeping the service free. Kagi members get direct access without captchas, integrating seamlessly with their existing workflow.

Limitations

We do not translate dynamically created content (eg. pages where content is loaded with JavaScript) or paywalled pages.

Kagi Translate uses a combination of LLMs, selecting and optimizing the best output for each task. While this creates immensey powerful translation capabilities, it can occasionally lead to quirks that we’re actively working to resolve.

If you encounter issues or want to suggest improvements (or just want to share your most ridiculous Google Translate fail), please send us feedback. This is our first release and expect many improvements down the road.

Next

This isn’t just about better translation. It’s about raising standards in everyday tools. We believe that privacy and quality can coexist, that powerful tools don’t need to track their users, and that the best technology should simply work without compromises for the user.

Kagi Translate joins our suite of tools (‘treats’): Small Web, Universal Summarizer, and FastGPT alongside Kagi Search and Orion Browser.

Transform your internet experience - become a Kagi member. Access the world’s most powerful search engine and help create a future where digital tools serve their users – not the interest of third parties or advertisers.

 

Announcing Kagi Translate

Never get lost in translation again. Today, we launch Kagi Translate, offering superior translations across 244 languages.

Key features:

  • Higher quality translations than Google Translate and DeepL
  • Zero tracking, no apps needed
  • Free for everyone (Kagi members get captcha-free access)

Try it now at translate.kagi.com or read the announcement post.

Kagi on mobile

We've added search buttons to our homepage to make it easier for you to choose your search type on mobile:

Install Kagi for Android and help us reach 5,000 installs needed for Kagi to submit application for Android choice screen.

Kagi iOS app is currently pending Apple review.

What else are we working on?

We are currently working on Kagi for Teams plan. This will allow you to bring your entire team or organization to Kagi. We'll have two options available: Professional and Ultimate tier, with fair and flexible pricing (inactive team members do not pay). We expect to launch in two weeks. Let us know if you would like to test this earlier by emailing support@kagi.com.

Improvements and bug fixes

Bangs

This release includes several new bangs and a significant cleanup of older ones. You can read the full changelog here. These changes were driven by our community, and we appreciate all contributions to our open source Bangs repo!
Here's a preview of our latest additions:

  • !attack: search site:attack.mitre.org
  • !jsr: jsr.io
  • !fast: moved to FastGPT
  • !javadoc: Java 23 API docs, docs.oracle.com/en/java/javase/23/docs/api/search
  • !startech: startech.com
  • dropout: dropout.tv

Kagi in the wild

Here is this week's featured social media mention:

Tag our account or use #Kagi when mentioning us in your posts!

 

Leveling up our infrastructure

This Sunday at 6am UTC, we're making a step forward on our production infrastructure.

After years of faithful service, our original database server is being replaced with significantly more powerful hardware.

Expected downtime: 10 minutes

Protecting young minds: Enhanced video safety for families

Your children deserve better than clickbait and shock value. We're making it happen with advanced video controls.

Family account owners can now shape a safer, cleaner video experience for family members:

Authentic thumbnails

  • Replace misleading clickbait with actual video screenshots
  • See what you're really getting before clicking
  • End the bait-and-switch

Clean video titles

  • Choose between title case or lowercase formatting
  • Create a consistent, distraction-free experience
  • Focus on content, not hype

Example (click to enlarge):

To access these options, navigate to: Settings > Parental Controls (section: Video Search Settings) or click here.

Why this matters

Recent research confirms a disturbing truth: children's video searches frequently expose them to inappropriate content, violence, and frightening images. We believe our children deserve better. Kagi's new parental controls help parents better manage the video content their children are exposed to, reducing the risk of exposure to inappropriate content and creating a safer online experience for them.

Help us protect more young minds - share your thoughts on making this protection available more broadly to all plan types. In case you wonder why we did not make this option enabled by default - video thumbnails and titles serve as a marketing tools for content creators, and changing them unilaterally would introduce us as a biased intermediary on a matter that is still in the air. This could have a negative impact for publishers and potentially conflict with our mission to "humanize the web". It is a delicate issue, and this is why we had propagated the control over this to the user level, as with all personalization features in Kagi.

Custom Assistant Bangs

Launch your Custom Assistant instantly from anywhere with a Bang shortcut. Simply set your preferred command and you're ready to go.

This seamless integration means your Assistant is always just a keystroke away, whether you're researching, writing, or exploring new ideas.

Improvements and bug fixes

  • We fixed many issues causing interruptions with the Assistant. please let us know if you see any further issues.
  • Standalone bang shortcut ignores snap #5083 @tuesday
  • Timer shown for unrelated query #4103 @azdanov
  • Duplicate video results #4306 @loloriz
  • Z-index on icon covers tooltip #4849 @bebowilson
  • Custom bangs that override builtin bangs no longer work #5148 @avkiselev
  • Focus address field after clicking reverse image search button #4906 @tuesday
  • Override the ai downranking if you are searching ai images #5082 @Thibaultmol
  • Quick answer weird code block formatting #4770 @timo
  • Background for Advanced search in dark mode is too light #4586 @eirk
  • Keep focus on the search field upon accepting suggestion #4973 @xdc
  • Pricing page translation typo #4596 @Albi
  • !gflights incorrect target #5132 @Connor
  • Untimely redirect when typing a verse #5107 @X145678908765
  • Assistant: Option to use Shift+Enter to send prompt instead of just Enter #2121 @Value7609
  • Enhancement Request: Customizable Multiple AI Assistant Prompts with User-Defined !bang Commands #2183 @ZarK
  • Assistant input text box stubbornly places itself under the keyboard #4902 @gunslingerfry
  • New Assistant - Touch Issues on Mobile (Dynamic Viewport Resizing, Covering Sources) #4835 @silvenga
  • Microphone on assistant doesn't work #5105 @sleepysnooze
  • Assistant web search gets stuck #5025 @azdanov
  • Typo in the FAQ #5079 @duck

Join the Kagi revolution in the wild!

Here are all the cool places you can find us at:

Use #Kagi when mentioning us in your posts! Which brings us to this week's featured post from social media:

We also have a Kagi Community Discord server where you can join our community for real-time discussion about the product and chat with other Kagi users. There is also /r/SearchKagi on Reddit - steadily growing unofficial community.

Thank you for being a vital part of our journey - your support inspires us every day, and we can’t wait to see where this adventure takes us next! 🙏

 

@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.

 

Better image search with AI-generated images detection

Last week we got quite clear and direct feedback that we need to do something about AI-generated images that started creeping up in the image search.

You asked for it and we delivered!

We are enhancing our image search with a new ranking algorithm and an AI image filter. These updates prioritise authentic, human-created images and downrank AI-generated content. Users can also opt to exclude AI-generated images entirely.

Learn more about Kagi's AI image filter here: https://help.kagi.com/kagi/features/exclude-ai-images.html

We will continue actively improving this feature based on your feedback.

Improvements and bug fixes

The Assistant

  • We've enhanced the Assistant mobile experience with several updates, including improvements to the thread view and header navigation
  • Kagi Assistant v2 mobile threads menu #4725 @frin
  • Kagi assistant gpt LLM not working #5055 @ash
  • Assistant Tooltips are Hard to Click #5037 @silvenga

Celebrating Our Community

At Kagi, we’re all about community, and nothing has made us prouder than seeing the incredible photos our members are sharing online of their Kagi swag! Whether you’ve posted a picture of your free t-shirt or a sticker proudly displayed on your laptop, we want to take a moment to say thank you. Your support means the world to us.

The story:

We were thrilled to celebrate our first big milestone: reaching 20,000 loyal members who’ve stuck with us through this adventure. To show our appreciation, we've sent out free t-shirts and sticker packs to those first 20,000 supporters. Earlier this month, these members started receiving their packages and excitedly shared photos across various socials. Here’s a snapshot of just a few:

For anyone who missed out, don’t worry! You can head over to the Kagi Store and snag your first-edition Doggo t-shirt. We’ve got four fantastic designs, each one representing our determination to build a better, more ethical and more human web.

Help us reach our next milestone: 50,000 members

As we gear up to reach 50,000 members, we’d love your help in spreading the word!

We don't rely on ads to drive our growth; instead, we depend entirely on word-of-mouth marketing and community recommendations. This grassroots approach means that every conversation you have about Kagi, every post you share showcasing your swag, and every mention you make to friends and family has a real impact. Your enthusiasm helps us reach new members who share our vision for a better web. Let’s make our next milestone one to remember.

Where to find and tag us on the social web:

We also have a Kagi Community Discord server where you can join our community for real-time discussion about the product and chat with other Kagi users.

As we move forward, we want to reiterate our commitment to continuously improving Kagi for all our members. Your feedback and engagement are invaluable as we strive to create an even better experience. Thank you for being a vital part of our journey - your support inspires us every day, and we can’t wait to see where this adventure takes us next!

view more: next ›