I thought I’ll make this thread for all of you out there who have questions but are afraid to ask them. This is your chance!
I’ll try my best to answer any questions here, but I hope others in the community will contribute too!
I’m running Endeavour OS (KDE Plasma) and ran into a weird issue with my graphics. It’s like windows sometimes flicker and flight with each other, some fullscreen videos won’t play and just lock to a gray screen instead (e.g. in Steam, though YouTube is oddly fine), and most 3D games are super choppy and unplayable.
I’m not asking how to fix this, I just want to know how I start troubleshooting! I haven’t done anything special with my system, and I think the issue started after a normal pacman update. My GPU is a GeForce GTX 1060.
Any suggestions to get started? I don’t even know if the issue is Nvidia drivers, X, window manager, KDE, etc.
EDIT: The problem was Wayland. Fixed by logging in with X11 instead!
Start by checking what windowing system you’re using as its a fundamental part of problem solving. It’s a little confusing how to do this, the top answer in this Stack exchange thread works well.
If you’re running the latest KDE then you’ve almost certainly been moved to Wayland and that will be the source of your problems. Wayland and Nvidia drivers don’t work well together, and KDE have defaulted to Wayland in the latest release. I have had very similar issues to you with the move to wayland and have not been able to fix them - they’re too fundamental and depend on updates to wayland and/or Nvidia drivers.
I know you don’t want a solution but there isn’t one at the moment, so you’d be wasting your time. The solution is to log out, then on the log in screen select Plasma (X11) as your session and log in again.
Personally I have had to abandon KDE as I get a different set of problems in X11. I’m on OpenSuSE Tumbleweed so have little choice inrolling back to the previously functioning version of KDE - I’m using Cinnamon instead and contemplating switching to a different Linux distro, probably OpenSuSE Leap in favour of stability over cutting edge.
Meanwhile I have the latest KDE running on another device with AMD GPU without issue.
In terms of when it’ll be fixed, there is a change being made to Wayland which will effect how it and the Nvidia drivers interact (something called Explicit sync). It’s just been merged into wayland so presumably will appear downstream in the coming next few months in rolling distributions. There have been articles suggesting this is going to fix most problems but personally I think this is a little brave but fingers crossed.
Oof, yep, that’s all it was. I just fired up Elden Ring and it runs great under X11. Thanks a million!
I’d heard Wayland and Nvidia don’t play nicely together, but I didn’t realize KDE had officially made the switch. I’m sure I approved the install a while back but probably assumed it was all stable and compatible now. Guess that’s what I get for not reading the release notes!
Look in /var/log/Xorg.0.log for Xorg errors.
Check if OpenGL is okay by running
glxinfo
(from the packagemesa-utils
) and checking in the first few lines for “direct rendering: Yes”.Check if Vulkan is okay by running
vulkaninfo
(from the packagevulkan-tools
) and seeing… if it throws errors at you, I guess. There are probably some specific things you could look for but I’m not familiar enough with Vulkan yet.You could
sudo dmesg
and read through looking for problems, but there might be a lot of noise to sift through. I’d start by piping it throughgrep -i nvidia
to look for driver-specific stuff.Might be worth running
nvidia-settings
and poking around to see if anything seems amiss. Not sure what you’d actually be looking for, but yeah.Sometimes switching from
linux
andnvidia
tolinux-lts
andnvidia-lts
can help if the problem is in the kernel or driver. Remember to switch both of these at the same time, since drivers need to match the kernel.You could also try switching from the nvidia drivers to nouveau. Might offer temporary relief and help narrow down where the problem is, at the expense of probably worse performance in heavy games. Ought to be fine for 2D gaming and general desktopping.
Trying a different window manager is always an option. Don’t know how much hassle that is when you use a full DE; I’ve always been the “just grab individual lightweight pieces and slap 'em together” sort so I don’t have any real experience with KDE. But yeah. Find out what the right way to change WM is for your system, then try swapping over to Openbox or something minimal like that and see what happens.
Related to WM/DE, it could be an issue with the compositor maybe. Look up whatever KDE’s compositor is and see if you can turn it off and run a different one?
This looks super helpful, thanks!
I’m a little nervous about swapping entirely over to nouveau for testing (well, moreso switching back) but I’m sure I can find a guide.
Update: No need, the problem was just Wayland vs X11.
deleted by creator
Thanks, I’ll try that. I figured an update would fix it by now (it’s been a few weeks) but maybe I do need to roll back.
And yes my other machine has an AMD card. This will be my last one from Nvidia since I’ve fully switched to Linux.
On Android, when an app needs something like camera or location or whatever, you have to give it permission. Why isn’t there something like this on Linux desktop? Or at least not by default when you install something through package manager.
Sandboxing wasn’t considered during development of Linux. But recent development incorporates this practice and can be found for example in flatpaks.
Flatpaks get permission though XDG-portals. The difference is there are usually no popups
Because it requires a very specific framework to be built from the ground up, and FDO doesn’t specify these. A lot of breakage would happen if were to shoehorn such changes into Linux suddenly. Android has many layers of security that they’re fundamentally different than that of the unix philosophy. That’s why Android, even if it’s based on Linux, it’s not really considered “a distro”.
It is technically doable, but that would require a unified method to call when an app needs camera, and that method will show the prompt.
This would technically require developers to rewrite their apps on linux, which is not happening anytime soon.
Fortunately, pipwire and xdg-portal is currently doing this work, like when you screen share on zoom using pipwire, a system prompt will pop up asking you for what app to share. Unlike on Windows, zoom cannot see your active windows when using this method, only the one that you choose to share.
Most application framework, including GTK and electron, are actively supporting pipwire and portal, so the future is bright.
There is a lot of work in improving security and usablity of linux sandbox, and it is already much better than Windows (maybe also better than macos?). I am confident, in 5 years, linux sandbox stack (flatpak, protal, pipewire) will be as secure and usable as on android and ios.
I’d love to just skip to “Linux being secure and running on my smartphone instead of Android” but we know how much an uphill battle that is hahaha.
It probably would end up being implemented though XDG portals
If I understand correctly pipwire is supposed to be the “portal” but for audio and videos.
But I believe camera portal is already there, using pipwire. All they need to add is a popup to request usage when the app needs it.
XDG portals is the standard interface that applications (should) use to do things on your system. It is most commonly associated with flatpaks and Wayland.
You could have pipewire as the back end but XDG portal implementation usually is controlled by the desktop.
Thanks for correcting me!
Android apps are sandboxed by default while packages on Linux run with the users permission.
There is already something like this with Flatpak since it also sandboxes every installed program and only grants requested permissions.
Considering switching to Linux, but don’t know what to choose/what will work for my needs. I want to be able to play my steam games, use discord desktop application, and use FL Studio. I need it to work with an audio interface and midi controller too. I am not interested in endless tweaking of settings, simple install would be nice. What should I go for?
As a fellow user in similar situation, i can tell that i had tried dual boot a few times but would just switch to windows when i wanted something done that didn’t work on linux
3 weeks ago i went full Mint install and left windows altogether. This forced me to find solutions to problems that i otherwise would solve by just switching to windows. Dont expect everything to work though. You will need to tweak some things and you may even need to do some things differently than youre used to. But isn’t this why we change in the first place?
Mint would probably work for you. Some stuff is outdated, but it has flatpak which is a package manager with more up to date apps. If you’re willing to put in the time though, I’d recommend trying some of the more common distros out (Mint, Debian, Ubuntu, Fedora). You can use a liveusb to test them without installing.
Steam is available anywhere so that’s not a problem.
Discord officially only has a .deb package, so that’s only for Debian based distros (Debian, Ubuntu, Mint). There are other options for almost all distros though - I personally use Webcord
Fl studio might be tricky - supposedly it runs through wine but you might have to do a bit of work. I’ve personally used Reaper and I works great.
I just had to install with wine and add some fonts to the wine prefix
Adding to what others have said I also think Mint is a great option. But I strongly encourage you to install things via the package manager when available, I find that a lot of times when someone complains that something (that should work) doesn’t work on Linux is because they’re trying to install things manually, i.e. the Windows way (open browser, search for program name, open website, download installer, open installer, follow instructions), that’s almost never the correct way on Linux.
Mint is probably the best install and go experience out there.
How do people not using Debian/Ubuntu follow along with tutorials when their package manager doesn’t have a package that’s in Apt?
I usually look at their GitHub or what have you to see if there are packages or instructions there. I have been able to solve most issues this way. Otherwise I see how much of a bitch it will be to compile from source. Depending what it is, I also check to see if there is a docker image instead.
I typically search the package name + fedora, it will probably tell me the alternative package that is in fedora.
Nowadays, I have moved to an atomic fedora distro, so I would severely limit the amount of package I install on my system for stability and security.
I think I only have two packages installed on my machine: fish, because it is the only popular shell that follows xdg dir; and a latex-like input method to use in slack.
As an Arch user (btw), that’s rarely an issue thanks to the AUR and it’s vast package pool :) But on the very rare occasion that it’s not there on the AUR but available as a deb, I can use a tool called Debtap to convert the .deb to the Arch’s .tar.zst package.
For rpm-based distros like Fedora and OpenSUSE etc, there’s a similar tool called
alien
that can convert the .deb to .rpm.In both instances though, dependencies can be a pain, sometimes you may need to trawl thru the dependencies and convert/install them, before to do the main package.
Ideally though, you’d just compile from source. It used to be a daunting task in the old days, but with modern CPUs and build systems like meson, it’s not really a big deal these days. You’d just follow the build instructions on the package’s git repo, and usually it’s just a simple copy-paste job.
Finally, if these packages are just regular apps (and not system-level packages like themes etc), then there are multiple options these days such as using containers like Distrobox, or installing a Flatpak/Appimage version of that app, if available.
Thanks for the explanation btw. Ive tried other distros but quickly ran into missing dependencies and drivers and instantly gave up on it and just went back to Ubuntu.
The other reply here mentioned Arch and a “more user friendly” flavor called Manjaro, but Manjaro isn’t quite Arch.
I would suggest if you want to try the challenge of Arch without the terminal-only install, give EndeavourOS a look! Their community is exceptionally friendly and helpful, and you get a lot of the benefits of “pure Arch” with an indtaller and usability features. :)
I have had problems even just using Kubuntu and certain libraries not working because of the QT dependency version from KDE. Then I wasn’t able to update QT because KDE didn’t support the newer version. I quickly gave up on trying to solve dependency hell and went back to stock Ubuntu. Am now traumatized for life of using other distros.
Aw that’s such a bummer! I don’t have a ton of experience here but currently I’m running OpenSUSE Tumbleweed, and something it does is say “This dependency can’t be satisfied, what do you want to do?”
You can usually “keep obsolete”, “remove the thing”, “ignore this and risk breaking it”.
If I keep hitting “keep obsolete” and it just goes in circles, I wait a few weeks and usually everything has been pushed by then. :)
I wonder if this mismatch could be from the 'buntu distros holding back certain packages differently from KDE’s schedule… I sadly don’t know enough to comment. 😅
Yes Ubuntu is definitely slower in the update cycle. But virtually everyone in the programming world seems to use it and wikis almost always get based on an Ubuntu LTS version.
As a random example take ROS2
Even when a new version such as 24.04 comes it usually takes almost six months for people to start migrating and libraries to become well supported on it.
Never actually missed important dependencies in AUR.
So you might give Arch or derivatives a spin. Warning: Arch relies on you knowing what you’re doing. You can bork something by doing it the wrong way. Manjaro helps, but has its own issues - mainly, you better not use AUR unless you actually need it.
Back in my slackware days I’d just convert other distros packages to the tgz format or compile the package and its requirements.
If the dependencies were really complex I’d draw a picture to help me understand them better.
My first step is usually to figure out whether the package should exist as a separate entity under Gentoo (which, for instance, doesn’t have separate dev packages). Then I check the overlay masterlist to see if there’s an unofficial package (which there often is).
If there is no package, I can package it myself (since I’ve been working with the same distro for years and can handle the basic packaging cases), install from source, get the .deb and apply alien or deb2targz and proceed from there, or give the whole thing up as a bad job.
This is the dumbest question ever, but here goes: I’m trying to use pika to make regular backups of my whole system to my synology Nas. So I’d choose “remote”, but no matter what I enter after the SMB it doesn’t take it. How do I back up to my synology Nas using pika? I like pika because the UI is fucking stupid simple, except this one little nugget.
I’m not sure but I think for pika you need a borg server? I use restic for my backups and have only partially looked at borg so I might be wrong
You have a permissions or addressing problem.
If the nas is seeing your systems requests and saying “no”, it’s a permissions problem. If it’s not seeing your systems requests then it’s an addressing problem.
I have had issues with using a NAS over SMB because of some malarky about reverting to SMB 1.0 or something. Dunno; I stopped backing up to my NAS and just use external drives.
That’s probably what I’m going to do eventually. But my Nas is working not problem on dolphin. Whenever I needed to, I’d just drag and drop my files into the nas through dolphin.
Why does it feel that Linux infighting is the main reason why it never takes off? It’s always “distro X sucks”, “installing from Y is stupid”, “any system running Z should burn”
Linux generally has a higher (perceived?) technical barrier to entry so people who opt to go that route often have strong opinions on exactly what they want from it. Not to mention that technical discussions in general are often centered around decided what the “right” way to do a thing is. That said regardless of how the opinions are stated, options aren’t a bad thing.
Doesn’t feel like that to me. I’ll need to see evidence that that is the main reason. It could be but I just don’t see it.
I mean, Wayland is still a hot topic, as are snaps and flatpaks. Years ago it was how the GTK2 to GTK3 upgrade messed up Gnome (not unlike the python 2 to 3 upgrade), some hardcore people still want to fight against systemd. Maybe it’s just “the loud detractors”, dunno
deleted by creator
Why would one be discouraged by the fact that people have options and opinions on them? That’s the part I’m not buying. I don’t disagree that people do in fact disagree and argue. I don’t know if I’d call it fighting. People being unreasonably aggressive about it are rare.
I for one am glad that people argue. It helps me explore different options without going through the effort of trying every single one myself.
Linux users are often very passionate about the software they put on their computers, so they tend to argue about it. I think the customization and choices scares off a lot of beginners, I think the main reason is lack of compatibility with Windows software out of the box. People generally want to use software they are used to.
Because you don’t have an in person user group and only interact online where the same person calling all mandrake users fetal alcohol syndrome babies doesn’t turn around and help those exact people figure out their smb.conf or trade sopranos episodes with them at the lan party.
There’s no infighting. It just feels that way because you picked an inferior distribution.
Only dweebs on social media fight over distros. Nobody who matters.
Have you ever seen any other software centered forum? It’s not different. That’s not the reason.
It did take off, just not so much on the Desktop. I think those infights are really just opinions and part of further development. Having choices might be a great part of the overall success.
just not so much on the Desktop
Unix already had a significant presence in server computers during the late 80s, migrating to Linux wasn’t a big jump. Besides, the price of zero is a lot more attractive when the alternative option costs several thousand dollars
the price of zero is a lot more attractive when the alternative option costs several thousand dollars
Dang, I WISH. Places that constantly beg for donations like public libraries and schools will have Windows-everything infrastructure “because market share”. (This is what I was told when I was interviewing for a library IT position)
They might have gotten “lucky” with a grant at some point, but having a bank of 30+ computers for test-taking that do nothing but run MS Access is a frivilous budget waste, and basically building your house on sand when those resources could go to, I dunno… paying teachers, maybe?
Licensing is weird especially in schools. It may very well be practically free for them to license. Or for very small numbers of computers they might be able to come out ahead by only needing to hire tech staff that are competent with Windows compared to the cost of staff competent with Linux. Put another way, in my IT degree program every single person in my graduating class was very competent as a Windows admin, but only a handful of us were any good with Linux (with a couple actively avoiding Linux for being different)
Convincing companies to switch to no name free software coming from Sun or Digital certainly was a big jump.
Is there any performance difference between KDE and GNOME?
I want to start with Btrfs and snapshots, is there a good, beginner friendly tutorial for those coming from a ext* filesystem?
Great question!
EndeavourOS has a great little wiki of tutorials around BTRFS and setting up snapshots, that’s a lot more friendly than just reading wiki manuals.
Here’s a link to the one about getting snapshots and rollbacks set up.
Alternatively, I run OpenSUSE Tumbleweed on my main production rig and it uses BTRFS and sets up snapshots from the GRUB menu for you by default!
I’m also using Nvidia, so while it’s gotten better and I haven’t had to roll back in a long time, Snapper has saved my butt once or twice in the past. ;)
Just install your system on btrfs and figure the rest out later
If you try a distro that does it by default then it is no more complicated then ext4 for the user. The distro will setup things for you. I know that opensuse Tumbleweed and Fedora Workstation set this up by default. Manually configuring is how ever a bit more complicated.
Albeit not completely beginner friendly, the arch wiki explains btrfs features and manual configuration pretty well. If you are looking for a guide to a snapshot tool, then it depends on your distro, but they probably have an article for it as well (also, check the “related articles” section at the top of the page).
[interview question]
Assuming a user is a root, can this user create a file that couldn’t be read or deleted by other roots? …by the same user?
Someone gifted me with some old iPad that’s more than 10 years old. What steps should I take to install Linux on the iPad?
It’s technically possible, but there aren’t any proper instructions, I assume it’s pretty complicated and you could break the device while doing this. Also, I don’t think it would run particularly well, since there are no Linux drivers for Apple’s proprietary hardware (except for M1 because it was reverse-engineered, but iPads use A-Series chips)
I don’t think that’s possible.
You can’t. Apple’s iPads and iPhones are e-waste from the moment they run out of security and OS updates. Apple doesn’t allow third party installations.
Short version: How do I install apps onto a different partition from the default in Pop_OS! (preferably from within the Pop Shop GUI)?
Long version: I have a dual boot with Windows and I shrunk my Win partition to install linux and eventually realized I wanted more space on the linux side so I shrunk my windows partition again. But Linux won’t let me grow the existing partition since the free space isn’t contiguous. Since I don’t want to reinstall everything, I just created a data partition and have been using that for Steam installs. But I am still running low so yeah, looking to move some apps and realized it doesn’t actually ask me where to install when I install. I saw this thread and figured I’d just ask.
I don’t think there really is an easy way to do this. For sure not as easy as reinstalling.
Use gparted live to shrink/expand partitions
If they are LVM volumes, it would be possible. Otherwise, you can move the directories you want to the new partition and use symbolic links to point to the new places. Then again some things aren’t correctly designed, so they may have problems with symbolic links and YMMV.
You can move partitions so they are next to each other and then expand. The easiest way Ive found is to boot a love USB distro, since the partitions can’t be mounted when you do it. Open parted and you can resize and move around.
Backup before you do it!
This is the way. There is a GParted distro that you can boot from a USB-drive that will allow you to move the partition and expand it to take up the free space Windows left.
You should first install GParted to familiarise yourself a little with how the GUI looks. It’s relatively simple, definitely simpler than parted, but it doesn’t hurt to have a look around before doing it live.
It’s also good to note that everything you do in GParted needs to be applied before it’s actually done. You “cannot” accidentally delete a whole partition without actually hitting an apply button.
I definitely meant gparted in my reply. That’ll teach me to proofread better.
Maybe not a super beginner question, but what do awk and sed do and how do I use them?
If you’re gonna dive into sed and awk, I’d also highly recommend learning at least the basics of regular expressions. The book Mastering Regular Expressions has been tremendously helpful for me.
Edit: a letter. Stupid autocorrect.
Awk lets you do operations based on patterns. You can make little scripts and mini programs with it.
Sed lets you edit streams.
Almost everything can be treated like a stream so with those two tools you have the power to do damn near everything ever.
Awk is a programming language designed for reading files line by line. It finds lines by a pattern and then runs an action on that line if the pattern matches. You can easily write a 1-line program on the command line and ask Awk to run that 1-line program on a file. Here is a program to count the number of “comment” lines in a script:
awk 'BEGIN{comment_count=0;} /^[[:space:]]*[#]/{comment_count++;} END{print(comment_count);}' file.sh
It is a good way to inspect the content of files, espcially log files or CSV files. But Awk can do some fairly complex file editing operations as well, like collating multiple files. It is a complete programming language.
Sed works similar to Awk, but it is much simplified, and designed mostly around CLI usage. The pattern language is similar to Awk, but the commands are usually just one or two letters representing actions like “print the line” or “copy the line to the in-memory buffer” or “dump the in-memory buffer to output.”
This is 80% of my usage of awk and sed:
“ugh, I need the 4th column of this print out”:
command | awk '{print $4}'
Useful for getting pids out of a
ps
command you applied a bunch ofgrep
s to.”hm, if I change all ‘this’ to ‘that’ in the print out, I get what I want":
command | sed "s/this/that/g"
Useful for a lot of things, like “I need to change the urls in this to that” or whatever.
Basically the rest I have to look up.
I say that covers around 99% of the awk/sed I use.
I was gonna write 99%, but then I remember I also need capture groups quite often. That would make 99% I’d say
Probably a bit narrow, but my usecases:
- awk: modify STDIN before it goes to STDOUT. Example: only print the 3rd word for each line
- sed: run a regex on every line.
what is the difference between Wayland and xorg, why would you choose one over the other?
OP. Gotta say that this thread is a brilliant idea!
Thank you 😄
inbox going brrr…
What is the system32 equivalent in linux
For the memes:
sudo rm -rf /*
This deletes everything and is the most popular linux meme
The same “expected” functionality:
sudo rm -rf /bin/*
This deletes the main binaries. You kinda can recover here but I have never done it.
/usr/lib or /usr/lib64 or /lib (some distros) or /lib64
Some things (like hosts file) are in /etc. /etc mostly contains configs.
/bin, since that will include any basic programs (bash, ls, cd, etc.).
What is system32? Outdated 32bit binaries?
A weird catch-all folder for “most important Windows system stuff”. It’s not 32bit, just named like that in typical Windows fashion for backwards compatibility.
Would probably be
/usr
and/bin
, while some apps get installed to/opt
or even/local
or/var
As in, the directory in which much of the operating system’s executable binaries are contained in?
They’ll be spread between /bin and /sbin, which might be symlinks to /usr/bin and /usr/sbin. Bonus points is /boot.
There is no direct equivalent, system32 is just a collection of libraries, exes, and confs.
Some of what others have said is accurate, but to explain a bit further:
Longer explanation:
spoiler
system32 is just some folder name the MS engineers came up back in the day.
Linux on the other hand has many distros, many different contributors, and generally just encourages a … better … separation for types of files, imho
The linux filesystem is well defined if you are inclined to research more about it.
Understanding the core principals will make understanding virtually everything else about “linux” easier, imho.https://tldp.org/LDP/intro-linux/html/sect_03_01.html
tl;dr; “On a UNIX system, everything is a file; if something is not a file, it is a process.”
The basics:
- /bin - base level executables,
ls
,mv
, things like that - /sbin - super-level-only (root) executables,
parted
,reboot
, etc - /lib - Somewhat self-explanatory, holds libraries, lots of things put their libs here, including linux kernel modules,
/lib/modules/*
, similar tosystem32
’s function of holding critical libraries - /etc - Configuration lives here, generally speaking, /etc/<application name> can point you in the right direction, typically requires super-user (root) to edit
- /usr - “User installed” software, which can be a murky definition in today’s world, but lots of stuff ends up here for installed software, manuals, icon files, executables
Bonus:
- /opt - A special location, generally third-party, bundled-style software likes to use this, Java for instance, but historically some admins use it as the “company location”, meaning internally developed software would live there.
- /srv - Largely subjective, but myself and others I know use it for partitions that are outside the primary disk, for instance we use
/srv/db
for database volumes,/srv/www
for web-data volumes,/srv/Media
for large-file storage, etc, etc
For completeness:
- /home - You’ll find your user directories here, personally, this is my directory I backup, I don’t carry much more with me on most systems.
- /var - “Variable data”, basically meaning any data that will likely grow over time, eg:
/var/log
Oooh. I always wondered where I would put my docker bind shares in. I currently have them point to /Media but /srv makes so much more sense.
- /bin - base level executables,
deleted by creator