{"id":15723860,"url":"https://github.com/vars1ty/linux-fixes","last_synced_at":"2025-05-12T20:55:22.099Z","repository":{"id":44365355,"uuid":"512271668","full_name":"vars1ty/Linux-Fixes","owner":"vars1ty","description":"Fixes for various Linux-related issues, all in one spot so you don't have to go hunting.","archived":false,"fork":false,"pushed_at":"2024-04-30T18:26:56.000Z","size":176,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T03:31:53.510Z","etag":null,"topics":["fixes","flatpak","gnome","jetbrains","kde","linux","linux-fix","steam","wayland","x11","xorg"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vars1ty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-09T19:42:35.000Z","updated_at":"2025-02-20T13:59:06.000Z","dependencies_parsed_at":"2023-10-16T12:16:41.463Z","dependency_job_id":"2497d543-1944-485d-8a2c-03e918e08343","html_url":"https://github.com/vars1ty/Linux-Fixes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vars1ty%2FLinux-Fixes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vars1ty%2FLinux-Fixes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vars1ty%2FLinux-Fixes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vars1ty%2FLinux-Fixes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vars1ty","download_url":"https://codeload.github.com/vars1ty/Linux-Fixes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253822822,"owners_count":21969832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fixes","flatpak","gnome","jetbrains","kde","linux","linux-fix","steam","wayland","x11","xorg"],"created_at":"2024-10-03T22:13:36.082Z","updated_at":"2025-05-12T20:55:22.043Z","avatar_url":"https://github.com/vars1ty.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Linux Fixes\n## Jetbrains Products\nBecause Jetbrains chose to use *Java* (yeah I know, cringe language) as the language behind their IDEs, it doesn't render properly (or at all) on Wayland.\n\nTo overcome this, run this in Terminal: `export _JAVA_AWT_WM_NONREPARENTING=1 \u0026\u0026 rider` - You may also pass the `export` into the desktop entry so that you can skip opening Terminal.\n\nAnd before you say, \"Java is a good language! BOO BOO SOB SOB\" - No, it isn't.\n## Maim doesn't work\nMaim is a mess anyways, freezing and dying left and right on X11. Use Grim instead if you are on Wayland.\n\nPackages: `grim`, `grimshot`\n\nTo take a screenshot, run this command (bind it to a key): `grimshot copy area`\n## NVIDIA doesn't launch on Hyprland\nWhat a surprise.\n\n**Update**: Moved instructions over to Hyprland's [wiki](https://wiki.hyprland.org/Nvidia/).\n## Unity Hub crashes on NVIDIA GPUs\nThis is most lilely because of a `libva` error, to fix it on Arch, run these commands:\n\n1. Install the unofficial NVIDIA VAAPI Driver from elFarto: `paru -S nvidia-vappi-driver-git`\n2. Run Unity Hub using `LIBVA_DRIVER_NAME=nvidia unityhub`\n3. Done\n## Flatpak Apps can't open FileChooser, etc\nInstall the `xdg-desktop-portal-gtk` portal and it should be working from there.\n\nFrom what I know, no other portal really implements a file chooser, apart from GTK.\n## My OBS doesn't work on Wayland, NVIDIA\nWarning: Setting up OBS on Wayland in general is a hit or miss.\n\nSecond warning: This is focused on **Hyprland**, but it should apply to other wl-roots compositors as well.\n\nFirst, thanks to PowerBall253 for the [initial guide](https://gist.github.com/PowerBall253/2dea6ddf6974ba4e5d26c3139ffb7580#unsupported-wl_shm-format-0x34324742-after-trying-to-share-the-screen-on-nvidia), follow it **before** this one, as mine focuses more on fixing issues.\n\n1. Remove the gnome desktop portal, if installed. `sudo pacman -Rcsn xdg-desktop-portal-gnome`\n2. If your Hyprland config contains lines like `dbus-update-activation-environment` and so on, comment them out.\n3. If your config also contains lines where it starts `xdg-desktop-portal` services, comment them out.\n4. Install the required packages: `pipewire wireplumber xdg-desktop-portal-wlr` + OBS Studio if not already installed\n5. Run `systemctl --user enable pipewire.socket pipewire` and then make sure the services are all enabled: `systemctl --user status pipewire.socket pipewire`.\n6. Install a patched NVIDIA package from the AUR, otherwise OBS will just sit there and not understand what NVENC is: `paru -S nvidia-utils-nvlax`\n7. Restart your PC, not just your session.\n8. Run Hyprland and open OBS Studio\n9. If you followed the guide by PowerBall first and then this one, you should see `Screen Capture (PipeWire)` being available as a source.\n\n![image](https://user-images.githubusercontent.com/54314240/191113950-646b6f78-05f9-4709-bcf7-d341329e32bb.png)\n\n**ALTERNATIVE**: Install `wlrobs-hf` from the AUR, add the `Wayland output(dmabuf)` source and done.\n\n## Screenshare doesn't work on Firefox\nIf you set up your portals properly like above and it still doesn't work, launch this inside a terminal and try screenshare: `/usr/lib/xdg-desktop-portal -r`\n\n## GTK Themes not applying everywhere\n\u003e **Warning**: Incomplete section, use at your own risk!\n\nLet's say you are using the [Orchis](https://github.com/vinceliuice/Orchis-theme) theme and want it to apply to applications such as Thunar. Well, does this look correct?\n\n![image](https://user-images.githubusercontent.com/54314240/183556600-779f7abd-42d5-4d99-aee2-321babea71b2.png)\n\nNo? It hurts your eyes right? Yeah thought so.\n1. Install the theme of your liking, using Orchis in this example with Thunar as the file manager\n2. Open up a terminal and write `export GTK_THEME=Orchis:dark` -- ThemeName:Variant\n3. Write `thunar` to open Thunar and congrats, your theme is there and you saved your eyes!\n\n![image](https://user-images.githubusercontent.com/54314240/183556907-14494abe-c601-4273-8966-91951be86ec3.png)\n\n\nYou may wanna pass this to `/etc/environment` though so you don't have to export the variable yourself constantly.\n## Cursor Themes not applying in Flatpak applications\n1. Open up Flatseal\n2. Press `All Applications`\n3. In `Other files` add in `/home/YOUR_USERNAME/.icons`\n4. Done, now you should see the cursor in Flatpak applications.\n## Help help, Electron applications aren't running! Passthrough errors etc\nNo idea if this is tied to NVIDIA GPUs, but seems like it is. Anyways, launch your RAM-Hog application with these flags:\n\n`application-name --enable-features=UseOzonePlatform --ozone-platform=wayland --use-gl=egl`\n\nI have no idea why this happens for some, while for others it just works. But it's whatever I guess.\n## NVIDIA Overclocking does not work on Wayland\nBlame NVIDIA, there are ways around it, like starting an X11 session, applying OC and then going back to your Wayland session, but it's all a huge mess.\n\nGo AMD instead.\n## Discord is slow and laggy\nDon't use the official Discord client, nor the AUR hacky electron-upgraded ones.\n\nInstead, use [ArmCord](https://github.com/ArmCord/ArmCord) which wraps around the web version of Discord, while also respecting your privacy, blocks certain trackers and has plugin-support.\n\n\u003e **Note**: There's also WebCord, but it tends to break after updates with weird errors, doesn't have plugins, and is basically in a locked-like state since nothing new has happened for ages.\n## Do I have to pass flags to every Electron application for it to run in Wayland?\nYes and no. \n\nNo if you make a file at `~/.config/electron-flags.conf` with the following contents:\n```\n--enable-features=UseOzonePlatform\n--ozone-platform=wayland\n```\n\n*Although it's worth noting that a lot of applications tend to not give a shit about that file.*\n\nYes if the application is either from Flatpak and doesn't have read permissions for the file, **or** if the application simply just does not want to run on Wayland at all.\n\n**For Electron Flatpak applications to even run properly on Wayland, use Flatseal and remove the X11 Display Server permissions and only allow it to access Wayland.**\n**Below is an example for Librewolf**\n\n![image](https://user-images.githubusercontent.com/54314240/184984454-adffaf8a-e94e-4b67-bf18-6a1cd095e350.png)\n## Stremio has weird colors on Wayland\n1. Install `qt5-wayland` and `qt6-wayland`\n2. Run Stremio and check if color-banding is still present.\n\nIf still present and you can't find a solution, your best workaround might just be to run it in XWayland for the time being.\n\nFor non-Flatpak users:\n`export QT_QPA_PLATFORM=xcb \u0026\u0026 stremio` \n\nFor Flatpak users:\n`export QT_QPA_PLATFORM=xcb \u0026\u0026 com.stremio.Stremio`\n## PolKit is dead\nFor example, you may get this annoying error: `polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie`\n\n1. Install `polkit-gnome` (`sudo pacman -S polkit-gnome`)\n2. Inside a startup script (or just run it in a terminal manually), run this: `exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 \u0026`\n3. Done\n\nThis seems to be a [bug](https://gitlab.freedesktop.org/polkit/polkit/-/issues/17) which still hasn't been fixed, as it only occurs for some commands.\n## No default file manager\nFor example when you `Browse Folder` in Steam and it opens Terminal. Not limited to Wayland, but thought I may as well put it here.\n\n1. Download a File Manager, for example `Nemo`\n2. Assign the desired File Manager to be the default one using `xdg-mime default (name).desktop inode/directory`\n3. Done\n## Steam crashes with `cannot create directory /home/username/.steam : Read-only filesystem`\nThis took me **days** to even figure out, don't ask why and how I even got to this point because I don't know either.\n\n1. Install Steam through Flatpak\n2. Make a new directory at your home called `.steam`, or copy-paste this: `mkdir ~/.steam`\n3. Take ownership of it using `chown $(whoami):$(whoami) ~/.steam`\n4. Ensure Flatpak has read-write permissions of that directory (`rw`) by executing `sudo flatpak override com.valvesoftware.Steam --filesystem=/home/$(whoami)/.steam:rw`\n5. Launch Steam\n\nIf all went accordingly, Steam should launch and work. If not, then I have no idea what your Steam is on.\n## Proton doesn't work with EAC\nIf you directly run a game through Bottles that isn't from Flatpak, then you might have noticed that you can't get into a game (or you get kicked after 30 seconds).\n\nThis is because Proton doesn't have the Easy AntiCheat runtime set by default, you'll have to do that yourself.\n\n1. Install Steam\n2. Install `Proton EasyAntiCheat Runtime`\n3. Right-Click EasyAntiCheat Runtime -\u003e Manage -\u003e Browse local files\n4. Copy the absolute path to the folder, then set a new environment variable inside of Bottles named `PROTON_EAC_RUNTIME`\n5. Paste in the EasyAntiCheat Runtime path into the newly-created environment variable, and save\n6. Run your game and gg's, it should work.\n\nThis should also work for BattlEye, using the `PROTON_BATTLEYE_RUNTIME` environment variable.\n\n**Note**: This isn't a perfect solution. Sometimes EAC still will fail to initialize even if you do all of this. Why, I don't know.\n## Cursor Themes not working\nIf you set your cursor theme through LXAppearance and can't see it across all of your applications, then it didn't get set properly.\n\n1. Locate the **exact** name of the cursor theme, it's listed in LXAppearance -\u003e Mouse Cursor\n2. Open Terminal and write in `gsettings set org.gnome.desktop.interface cursor-theme (name-of-theme)`\n3. Open `~/.config/gtk-3.0/settings.ini` in your favorite text editor\n4. Set the value of `gtk-cursor-theme-name` to the cursor themes name\n5. Restart and done!\n## I can't control my PWM Fans\nEasy fix for most PCs:\n\n1. Edit your kernel parameters\n2. Add `acpi_enforce_resources=lax`\n3. Regenerate your GRUB config\n4. Restart and done, they should work after you have detected them using `sensors-detect`\n## Firefox CSS Blur doesn't work on Hyprland\n\u003e **Note** This isn't a complete \"fix\", but more a workaround.\n\u003e\n\u003e It's also expected that you have already enabled Web Render, etc.\n\n1. Make sure your theme is actually making the main window transparent, which is what Hyprland will be blurring\n2. Open your Hyprland config\n3. Add this line: `windowrule=opacity 0.999,firefox` - `firefox` being the class name of the browser.\n4. Restart your browser\n5. Done\n\nIt's hacky though, as the blur will go away when you fullscreen the browser, or focus a different window.\n## Splitgate crashes on AMD GPUs\n1. Open `~/.config/Epic/PortalWars/Saved/Config/LinuxNoEditor/GameUserSettings.ini`\n2. Set `bHasRunAutoCalibration` to `True`\n3. Save and Splitgate should now work\n## Crossout crashes\nThere is no real solution to this apart from trying to  work-around it via older DXVK versions (which will still crash and lack features), or forcing DirectX 12.\n\n1. Download [CLD12](https://github.com/vars1ty/CrossoutLD12)\n2. Follow [the instructions](https://github.com/vars1ty/CrossoutLD12?tab=readme-ov-file#requirements)\n3. Done, it should now work. Repeat step 2 every time you restart the game, as the launcher will try and revert the changes.\n\nSteps above has also been confirmed working on the Steam Deck.\n## AMD Vulkan initialization errors\nRemove the `amdvlk` package and it should work.\n## Missing sudo / broken doas config\n- Option 1: Use an USB and chroot into your machine.\n- Option 2: Run `pkexec`, enter your password and now you *should* be running commands as root, so fix what you broke and then `exit`.\n## Failed to initialize Wayland platform\nElectrooooon!\n\n1. Run `XDG_RUNTIME_DIR=/run/user/1000 (application)`\n2. If it works, proceed. If not, I have no idea what your issue is related to if you setup the flags correctly (aka UseOzonePlatform etc)\n3. Add `XDG_RUNTIME_DIR=/run/user/1000` to `/etc/environment` and reboot\n\nDone!\n## I can't enter my keyboards bluetooth passkey\n1. Make sure you have followed the Arch Wiki regarding bluetooth, and what packages to install.\n2. `sudo modprobe btusb`\n\nBluetoothctl commands:\n1. `power on`\n2. `pairable on`\n3. `scan on`\n4. `agent off`\n5. `agent NoInputNoOutput`\n6. `trust (keyboard-mac)`\n7. `pair (keyboard-mac)`\n8. Done, it should now be connected\n## My Firefox CSS theme has no blur?\n1. Add these lines into your theme:\n```css\n#TabsToolbar, #titlebar, #main-window, #navigator-toolbox {\n\t-moz-appearance: none !important;\n\tbackground-color: rgba(255, 255, 255, 0) !important;\n\tbackground-image: none !important;\n}\n```\n2. If you're using Hyprland, add this window rule to make the blur not become solid: `windowrule=opacity 0.999,NAME`, for example on Mullvad Browser, it's: `windowrule=opacity 0.999,Mullvad Browser`.\n## My Logitech mouse skips steps whilst scrolling\nThis isn't a Wayland-related issue, it's an issue with the high-resolution scrolling of the mouse which broke in the 6.x kernel series AFAIK. [Source](https://www.reddit.com/r/linux_gaming/comments/1032x5q/linux_61_update_screws_up_the_mouse_wheel_of_my/)\n\nTo fix it, you have to either use a [different libinput package](xf86-input-libinput-no-hires-scroll) on X11 (not recommended imho), or you can follow these basic steps to blacklist the module:\n\n1. Run `sudo nvim /etc/modprobe.d/blacklist.conf` or use any other text editor.\n2. Write in `blacklist hid-logitech-hidpp`\n3. Save and write `sudo mkinitcpio -P`\n4. Reboot your PC\n5. Done\n\nCredits to [Dutxs](https://www.reddit.com/user/Dutxs/) for the initial guide on blacklisting the high-resolution scrolling module, which works as a workaround for this issue.\n## My RAZER devices aren't being detected in OpenRGB!\nFirst have you ensured that you have installed the udev rules? Read how to install them [here](https://github.com/flathub/org.openrgb.OpenRGB).\n\nIf that didn't do it, follow these instructions. Note that I'm on Arch, so you'll have to recreate the steps for whatever distro you're using.\n1. Uninstall `openrgb`\n2. Install `openrgb-git`, `libopenrazer`, `openrazer-daemon`, `openrazer-driver-dkms` and `python-openrazer`\n3. Unplug your RAZER dongle and put it into a different USB slot, just in case\n4. Open OpenRGB and if everything went as it should, your device(s) should now be detected.\n\nOtherwise if this didn't work, you can try alternatives like `razergenie` and `razercommander`.\n\nAlthough they are less convenient since having everything in one software is often the most ideal, it's there if you really can't get OpenRGB to work.\n![image](https://github.com/vars1ty/Linux-Fixes/assets/54314240/94d8c1ca-aed2-494b-aea0-dccfededed65)\n## WiFi has lag-spikes\nYour network car (or USB) is probably in power-saving mode. What fixed it for me (observed via `ping netflix.com`) was: `sudo iwconfig INTERFACE power off`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvars1ty%2Flinux-fixes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvars1ty%2Flinux-fixes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvars1ty%2Flinux-fixes/lists"}