![](https://media.kbin.social/media/c7/57/c757fd7dc30cb7e8ec8c617e2e4cd4fde7bf1982c446aef4904a6cb75fb54a9f.jpg)
![](https://lemmy.ml/pictrs/image/q98XK4sKtw.png)
Are you using the dedicated GPU as your primary GPU or the integrated GPU? I’ve found using the dGPU as the primary can sometimes lead to suspend/resume issues.
Hi, I’m Shauna! I’m a 37 year old transgender woman from Ontario, Canada. I’m also a Linux enthusiast, and a Web Developer by trade. Huge Star Trek fan, huge Soulsborne fan, and all-around huge nerd.
Are you using the dedicated GPU as your primary GPU or the integrated GPU? I’ve found using the dGPU as the primary can sometimes lead to suspend/resume issues.
If you have an unusual setup, it can be annoying trying to give programs permissions and sometimes it just outright doesn’t work. For example, I mainly game on a laptop which has a pretty small hard drive, so I tend to put most of my games on an external hard drive. Flatpak really doesn’t play well with that.
Yeah, I’m saying that I agree that version numbers are harmful to mass adoption and I go on to explain that it’s not really a version number at least in Ubuntu, but a “YY.MM” formatted date. I think making that more clear would help people that are unfamiliar with versioning and development.
I would use Heroic Games Launcher personally. You can add any game you want, and before it creates the prefix for you, you have the option of running installers on the prefix first. Then you can add the game executable. If the game requires proton fixes which it very likely would, you can search the game on SteamDB to find the AppID then make sure there’s a file called steam_appid.txt next to the game executable with the game’s app ID from SteamDB. That will tell Proton to apply any fixes that it has on file automatically.
If you’re a fairly advanced user, you can also just look at what files are included on the game’s SteamDB “Depots” page. For example, GTA San Andreas looks like it requires “DirectX Jun 2010 Redist”. You can either download that from Microsoft or you can run winetricks (through Heroic, or through terminal) on the prefix to add d3dx9.
Heroic Games Launcher: https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher
Steam DB: https://steamdb.info/
Anyone coming from a development background will entirely get the idea of stable releases. 23.10 or 24.04 are just rolling releases of a stable distro. It’s the production ready version. You can choose to opt-in to the development updates at the risk that your system might be slightly more unstable, but that’s not a decision that a casual user should consider.
The version numbers on Ubuntu specifically, are just dates. 23.10 is the stable release from October, 2023. That’s all it is and there’s really no point in thinking about it deeper than that. It’s a date, not really a version number.
First of all, make sure that Steamworks Common Redistributables is installed because according to the steamdb page for GTA 5 it requires vcrun2022 and d3dx9 installed from winetricks (or protontricks) which it normally gets from the Steamworks Common Redistributables automatically.
From my admittedly very brief research, it doesn’t look like you can play GTA 5 online if you skip the launcher but if you want to just play offline you can set your Steam Launch Options by right clicking the game and going to properties. If you set it to command% -scOfflineOnly
that will skip the launcher but disable multiplayer.
You can also try setting the Steam Launch Options to PROTON_USE_WINED3D=1 %command%
which forces Proton to use the OpenGL driver rather than the Vulkan driver for D3D.
I’ve tried both pretty extensively and moonlight is so, so much better. I was really surprised, but it’s far and away better than steam link. You can stream your PC by using Sunlight - https://github.com/LizardByte/Sunshine
I just started using Proton, but I don’t think any of their apps are available for Linux natively, which is disappointing. I mostly use Proton apps inside Ferdium which I find useful for combining all of my productivity apps and Ferdium basically just keeps a website loaded, and websites are always cross platform compatible. I would love to know if there’s a timeline for Linux apps in mind.
It’s definitely an edge case by say you’re in ~/ and you run a script like ./code/script.sh then it thinks the current working direct is ~/ rather than what is probably intended which is ~/code/. If your bash script uses full paths like /home/$USER/code/ then it will still run correctly regardless of the current working directory that the scrip was run from.
Gitlab is quite good and used by a lot of open source developers.
You need to learn bash scripting. Also, there are a few default files that the .bashrc uses which can be helpful to compartmentalize the custom things you do to it so that it’s easier to undo if you screw something up. To do that, just add this to the bottom of your .bashrc
if [ -f ~/.bash_custom ]; then
. ~/.bash_custom
fi
What that will do is check if the .bash_custom file exists and then run the .bash_custom file in your home directory and apply anything in there. Also, you can call the file whatever you like, but bash does have some defaults that it will check for and run them without editing the .bashrc at all. It’s kind of hard to find a list of the the files that it automatically checks for, but I know that .bash_aliases is one of them, and I think it checks .bash_commands as well, but I’m not entirely sure. Either way, you can force it to check your custom one by using the code above.
Then you can create the file and add any custom things in there that you like. For example, I like to frequently update through the terminal but running sudo apt update && sudo apt upgrade && sudo apt autoremove && flatpak upgrade
was a bit tedious and I wanted a bit less feedback so I made a custom alias for my personal use.
alias update='echo "Updating packages..."; sudo apt update -y &> /dev/null; echo "Packages updated."; echo "Upgrading packages..."; sudo apt upgrade -y &> /dev/null; echo "Packages upgraded."; echo "Cleaning up packges..."; sudo apt autoremove -y &> /dev/null; echo "Packages cleaned up."; echo "Updating flatpaks..."; flatpak update -y &> /dev/null; echo "Flatpaks updated."'
Which hides most of the text from updating and just gives me feedback on what it’s currently doing if I don’t really care to know all of the details. So now I just run update
in the terminal and plug in my password and it updates and upgrades everything in a human readable way.
There’s a lot that can be done with bash scripting, like editing files, iterating over files and directories, setting environment variables. It’s basically a full programming language so the limits are mostly your imagination.
Do you think using a custom ssh key directory would prevent these malicious apps from working correctly or is there some environment variable that always points to the ssh key folder or I guess they could just run a search on the system for any files like *.pub. Are there any safety procedures that one can take to circumvent these kinds of attacks?
This feels like a great application of AI to root around through the code of packages in these repos and find ones that access the ssh key directory at all to be looked at more thoroughly by a human.
There is HDMI CEC which allows a single remote control to control all of your devices, so it must be possible for devices connected by HDMI to receive a signal back from the TV.
I’m curious, is there a difference in doing it like this?:
var condition = var1 && var2
for walrus in walruses {
if (condition) {
walrus.frobnicate()
} else {
walrus.transmogrify()
}
}
Doesn’t assigning the condition to a variable make it so that it’s only really evaluated once?
It’s not at all necessary, but I find it makes much easier to read code if you instead only use if statements and just return early when you’re in a function. For example, you could check isalpha(letter) == true
is true then check letter + key <= 90
do the letter += key; return letter;
then since letter + key must be > 90 if it didn’t already return a value, then you can do the while statement and return letter without needing an if statement at all. Then the isalpha(letter) == false
is also unncessary, just return letter at the end.
Like this:
char rotate(char letter, int key)
{
if (isalpha(letter)
{
if (letter + key <= 90)
{
letter += key;
return letter;
}
do the while loop here
}
return letter;
}
I’m not sure where you’re getting that idea from. Almost anything designed for Windows works flawlessly through WINE or Proton. If I do run into an issue I usually find that Windows users are also having the same problems so it’s not a Linux compatibility issue. Every once in awhile I’ll have to run winetricks or protontricks to install a dependency. Overall, Linux compatibility is pretty incredible these days, in my opinion.
lol weird! Maybe something got updated.
Can you run the game from the terminal so you can see any error messages that are popping up? To do that, exit steam and run steam steam://rungamebyid/1817230
I’m assuming you’re talking about this game which has an App ID of 1817230. If it’s a different version of that game, find it on steamdb and use the App ID from the correct game.
I think upgrading the RAM as you mentioned is going to make a big difference. While the physical RAM might be soldered to the motherboard, you could buy a fairly cheap SD card or USB and set the system up to use that as virtual memory. It won’t be as fast as actual RAM but it might help and large SD cards are honestly really cheap these days.