• 0 Posts
  • 5 Comments
Joined 11 months ago
cake
Cake day: August 12th, 2023

help-circle
  • Thanks for posting about this! I never thought to try this as an Akregator user, but it’s a great idea… I spent the past day getting this to work since I also use the Flatpaks; hope it helps.

    As suggested by @progandy@feddit.de, one solution is to define a custom protocol where the URL gets passed to a script that opens Firefox Reader with the URL; here’s what I’ve done:

    1. Decide on a protocol name, which the URL will be prefixed with and passed to xdg-open since that should be available to the Flatpak. I used firefox-reader as the protocol, so I put xdg-open firefox-reader://%u as the custom command (so a command Akregator would run might look like xdg-open firefox-reader://https://example.com).
    2. Define a desktop entry to support the custom protocol (you can see mine below). ~/.local/share/applications is the standard place to put these, as far as I’m aware. Since the custom protocol needs to be removed from the URL, I wrote a script (also below) to do this and then call Firefox with about:reader?url= prefixed. The script can be anywhere in $PATH.
    3. Add the desktop entry as a “default application” for opening URLs using this custom protocol. In my case, I ran xdg-mime default org.mozilla.firefox.reader.desktop x-scheme-handler/firefox-reader (org.mozilla.firefox.reader.desktop is the name of my desktop entry file).
    4. You also might have to update some mime/xdg database stuff. I had to run update-desktop-database ~/.local/share/applications so xdg-open would find the “Firefox Reader” desktop entry.
    My Firefox Reader desktop entry
    [Desktop Entry]
    Type=Application
    Name=Firefox Reader
    Exec=open-firefox-reader.sh %u
    StartupNotify=false
    MimeType=x-scheme-handler/firefox-reader;
    
    open-firefox-reader.sh script
    #!/usr/bin/env bash
    
    flatpak run --user org.mozilla.firefox about:reader?url="${1#firefox-reader://}"
    

    If you have any other trouble or want to find more information about this since the desktop entry could probably be tweaked, here are the sources of note I used to figure this out (If I forgot a step or two writing this, they should also be present somewhere in there):


  • I’ve been having my own fun trying out NVK on Guix System so I can’t give you specific instructions (assuming you’re not using Guix), but I can tell you what you need and maybe someone else can chip in on how/if you need to do anything else on your distro:

    • Linux kernel >= 6.7
    • GSP firmware enabled via the kernel parameter nouveau.config=NvGspRm=1
    • Mesa built with the -Dvulkan-drivers=nouveau-experimental flag.

    A few notes:

    • Performance and stability of games has been fairly hit-or-miss for me. Of the 10 Vulkan games I’ve tried so far: 3 run perfectly, 3 are playable with noticeable issues, and 4 are borked.
    • NVK is Vulkan-only, but performance largely comes from the GSP firmware so you will still see a difference (huge for me) in games not using Vulkan.
    • You can override flatpaks to use the host’s Mesa version (set FLATPAK_GL_DRIVERS=host); however, there’s a bug that causes the Steam Flatpak to not work when doing this. The mesa-git-extension Flatpak exists which can also be used to replace Mesa runtimes, but it had issues building with NVK so it’s currently disabled.

    The only package I’m aware of at the moment (other than my hacked-together Guix package) is available in the AUR.