• 3 Posts
  • 379 Comments
Joined 2 years ago
cake
Cake day: October 4th, 2023

help-circle
  • tal@lemmy.todaytoLinux Gaming@lemmy.worldHelp with Cyberpunk 2077 on Mint
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    edit-2
    7 hours ago

    As soon as it enters sleep or hibernates, it immediately turns back on.

    I don’t know about sleep, but for hibernation, do you have enough swap space to store a copy of your physical memory? If you don’t, that’s the behavior I’ve seen; there’ll be some system log message, can’t remember if kernel or userspace, about not having enough space to hibernate.

    Easy way to test if you think that might be it is to add a page file (rather than page partition, so you don’t have to repartition) to your swap space, activate it with swapon, and then try re-running a hibernation.


  • You can run an entirely-untrusted client, but that creates very substantial limitations. I’d go so far as to say that doing so rigorously makes most genres of multiplayer games impractical. Some examples:

    • If the client has no information about visibility of non-visible enemy players in a first-person shooter, it creates delay due to latency in an enemy becoming visible, collision detection issues, and so forth.

    • If all random number generation needs to happen server side, then the client not only can’t be trusted to generate any important random numbers (probably avoided today for many games) but also cannot run an RNG with the same internal state as the server (else a client could “peek ahead” to see the future). As a result, every action that involves randomness requires a server round trip and a sluggish response until a player can see the outcome.

    • On any network without guaranteed minimum bandwidth and guaranteed maximum latency (which is generally not the case for the Internet today), a client can not send packets and pretend that the network just dropped them. There, either one has to seriously restrict predictive movement or one can pull stunts like briefly disabling packet transmission and “teleporting” across dangerous areas, preventing an enemy from taking a shot at one.

    • All hidden information in a game that a client could expose to a player must be exposed to maintain a level playing field. Even stuff that isn’t even specially available to only a client. So, say players figure out that Monster X in an MMO has a respawn timer that causes it to respawn at time T, and someone can modify the client to indicate the remaining time with a timer. For a level playing field, that feature has to be built into the base client for all players, immersion-breaking or no.

    • Any large amount of state on the client probably has to also be exposed to the player, because transmitting it over the network in real time isn’t practical due to bandwidth constraints. So players have to all have minimaps with no obscured terrain, because their client has map files with the geometry. They need to be able to see at least terrain through walls, because their client has that information. Maybe you could try to hide map data in encrypted chunks the very first time through, but that’s going to lead to performance issues and also the next issue if maps are the same across multiple players (almost certainly yes):

    • Any information that another player’s client has should also be available, as players can have clients that collude. So if any other player can see an enemy player, then since their client could tell you about them, the vanilla client must have a wallhack showing any enemy visible to any other player to keep level footing.

    • Almost all simple mechanical operations (e.g. responding quickly to counter an enemy action) must be automated or removed from the game, because otherwise someone could modify their client to do this instantly in response to an enemy action and gain an edge. Dodging needs to be totally automated or gone, for example. The only player actions that can remain are those that require human-level reasoning, where the client can’t play better in some respect than the human using “bot”-like code. Relying on reflexes or having a player managing load from having to deal with many simple things at once can’t be in the game. Aimbots have to be in the base client for first-person shooters.

    For something like turn-based card games, yeah, it’s possible to create games where the client is completely nontrusted. There are no real time constraints, and you can deal with the client (or server) gaming the RNG via mental poker techniques. Keep in mind that even there, the client might be doing things like running probability calculations and telling a player the mathematically-optimal card to play in many cases. Poker would basically be reduced to trying to detect player tells, because playing poker optimally outside of that was solved by von Neumann, and the client could probably tabulate data on other players, like speed of response, to try to help a player identify tells.

    But for most real-time games, providing an experience comparable to the current one is probably going to require some level of client trust. Maybe one can achieve the lesser goal of reducing one’s trust a bit, make it harder to cheat, but a true zero-trust real-time game has to have a great many very serious limitations placed on it.


  • which developers can activate some sort of device whitelist to allow the Steam Deck with SteamOS.

    The whole “kernel anti-cheat” PC multiplayer thing is just an endless game of whack-a-mole that I don’t want to get involved with. End of the day, PC hardware is open, and that’s a big part of what’s nice about it. With open hardware, though, comes the fact that you can change things, and one thing that people love using that ability to do is to cheat. And with multiplayer games, a cheater can ruin the game for a non-cheater. Trying to figure out some way to make an open PC be locked down is hard, unreliable, and ultimately just making the thing act like a bad console. If there’s enough demand for it and money in it, a game developer can keep playing that whack-a-mole, but it’s never something that can really be permanently fixed all that well.

    Consoles are really good at blocking players from doing things that will make the playing field not level. They are in a good position to stop fiddling with memory, or modifying game binaries, or extracting information that should be hidden and showing it to the player. They can restrict people from getting a controller or a keyboard or a mouse or a fancier GPU or whatever that will give Player 1 a pay-to-win edge over Player 2. That’s a desirable characteristic if you goal is to have players playing against each other on even footing.

    I really think that the long-term, realistic route to deal with this is for PC games to shift towards single-player, or at least away from competitive multiplayer.

    It used to be that PC multiplayer games were rare. There were two major changes after this that made PC multiplayer games a lot more viable:

    • The Internet came along. Now anyone can communicate with anyone in a very wide area cheaply.

    • People moved off POTS analog modems. This not only provided a lot more bandwidth, but slashed latency — a POTS modem inserted a bit over 100 ms of latency. A tenth of a second of latency at the hardware level was a serious issue for some genres, like first-person-shooter games, so getting rid of that solved a lot of problems.

    Okay, great. That unleashed a flood of multiplayer games. And making a game multiplayer solves a lot of problems:

    • Writing good game AI that stays competitive against a human is hard. Humans are pretty good at that.

    • Humans are good at coordinating, so any cooperative games have humans doing well with humans.

    • Some people specifically want to play against other people, to spend time with them.

    The problem is that I don’t think that there is going to be any future big jump like that improving the multiplayer competitive situation. Those two big jumps are pretty much the end of the road in terms of making multiplayer significantly better. Maybe it’s possible to see some minor gains via better predictive algorithms to shave off perceived latency, though I don’t think that there is going to be game-changing stuff there. Maybe someone can improve on matchmaking. But I think that we’ve seen all the big improvements that are going to come.

    And multiplayer comes with a host of problems that are very hard to fix:

    • By-and-large, realtime multiplayer games cannot be paused. There are a few exceptions, mostly for games with a small number of players. This is a real problem if you, say, have a kid and want to play a game and in the middle of it you hear something smash in the next room and the kid start screaming. Real life is not friendly to people requiring uninterrupted blocks of time.

    • People don’t always do things that are fun for other people. Griefing, spawn-camping, cheating, whatever. Even minor stuff like breaking out of character making the game less-immersive. You can try to mitigate that with game design, but it’s always going to be an issue. Human nature doesn’t change: humans come firmly attached to human foibles.

    • Multiplayer games stop being playable at some point, when they no longer have enough players. Often before that, if they have centralized servers operated by the publisher — which is almost universally the case today — and the servers get shut down.

    • Even with modern networks, latency and flaky connectivity is a factor for real-time games. For people living in remote areas, it’s particularly annoying.

    • For multiplayer competitive games, one can only win at some given rate; for a player to win against a human, that other player will lose. I’d wager that that rate is most-likely not the optimal rate for game enjoyment. If a player isn’t competing against humans, that constraint on game designers goes away.

    On the other hand, while it is hard to make sophisticated game AI, hard to make it as good as a human…there are also no real fundamental limits there. I am confident that while we are not there today, we can make an AGI comparable to a human, and that for the simpler problem of making game AI, it’s possible to make much-less sophisticated AIs that solve many of the problems that humans do in games. That’s expensive to do on a per-game basis – game AI is hard – but my guess is that most games have a fairly-similar set of problems to solve, that it’s probably possible to abstract a lot of that, have “game AI engines” used in many games that solve a lot of those problems. We’ve done that with graphics engines and physics engines; there was a point where having the kind of graphics and physics that we do in many games was prohibitively expensive too, until we figured out how to reuse a lot of work from game to game. And improvements in that game AI is a ratchet: it’s only going to get better, whereas human nature isn’t going to change.

    I’m not saying that multiplayer games are going to vanish tomorrow. But I think that the environment that we’re going to see is going to differ from the one that we’ve seen from maybe the 1990s to the 2010s, where technological change specifically dramatically relatively improved the situation for multiplayer games — I think that there’s going to be a continued trend towards the situation relatively-favoring single-player games.


  • My issue is frequent crashing/freezing, meaning I can’t play longer than a few minutes at a time

    Could be overheating.

    I use AMD hardware.

    However, a few years back, I had a particular AMD card that, using its default onboard power profiles, tended to overheat with the default on-card power profiles in games which really exercised the thing; I understand that the vendor that made these cards had issues with insufficient thermal paste or the thermal paste detaching or something. That’s the card vendor’s fault – the card shouldn’t reach a point where it can get into trouble via overheating, but regardless, it was still a problem. Some people disassembled the thing and put more thermal paste on. I forced the thing to a more-conservative power profile, and that worked.

    I haven’t done this with Nvidia hardware, but it sounds like nvidia-smi can do this:

    https://forum.level1techs.com/t/how-to-set-nvidia-gpu-power-limit-nvidia-smi/131467

    Then to query your power limit:

    sudo nvidia-smi -q -d POWER
    

    And to set it

    sudo nvidia-smi -pl (base power limit+11)
    

    Might try restricting the power usage and see if your crashing stops.

    EDIT: Might also try turning down in-game graphical settings. That’d decrease load and maybe also avoid any potential overheating issues, though it’d be a less-reliable option than the above, as you probably don’t want to make your system freeze just by running some program that happens to throw a lot of load at your card. That also might avoid any issues that the drivers could have that the game is tickling. Worth a shot, at least from an experimentation standpoint, if you are looking for things to try.

    EDIT2: If those do successfully address your problem and it looks like it’s an overheating problem, you might also try figuring out whether you can improve the cooling situation on the hardware side, rather than sacrificing performance for stability.



  • I use org-mode, which is kind of a structured text format, like Markdown but far fancier, in emacs. Can have to-do lists, deadlines, tables, display a weekly/monthly agenda with planned items, etc. I sometimes use it as a sort of mini-spreadsheet, as it can act something like a spreadsheet, with recalculating tables. I don’t go in for the “whole life organizing in a tool” thing, so there’s a lot of functionality that I don’t use, but it’s generally a superset of what I want, so it works well. There are various other software packages that support it.

    I figured out (while using obsidian) that my brain works better when I dont have to worry about where to put things, but just tag them with topics, by relevance, e.g. So tags and the option to filter them would be nice!

    Org-mode supports tagging, though I don’t use them.

    https://orgmode.org/manual/Tags.html

    That being said, while other software packages do have varying degrees of support, and vim has some support it’s really an emacs thing at its core, so I think that it’s most interesting if you use emacs.




  • Lemmy’s Web UI does something wonky and nonstandard with Markdown backtick-surrounded monospaced text. I assume that it’s some attempt to pretty-print code or something that nobody wants. Doing the four-space indent gets monospaced text and avoids it, but then you can’t do it inline with proportional text.

    I just ignore the colorization. Hopefully someday they’ll just get rid of it.





  • Oh, yeah, $ man mount.ntfs mentions that:

      Windows hibernation and fast restarting
       On computers which  can  be  dual-booted  into  Windows  or
       Linux,  Windows  has  to  be fully shut down before booting
       into Linux, otherwise the NTFS  file  systems  on  internal
       disks may be left in an inconsistent state and changes made
       by Linux may be ignored by Windows.
    
       So,  Windows  may  not be left in hibernation when starting
       Linux, in order to  avoid  inconsistencies.  Moreover,  the
       fast  restart  feature  available on recent Windows systems
       has to be disabled. This can be achieved by issuing  as  an
       Administrator  the  Windows command which disables both hi‐
       bernation and fast restarting :
    
              powercfg /h off
    
       If either Windows is hibernated or its fast restart is  en‐
       abled,  partitions  on  internal  disks  are  forced  to be
       mounted in read-only mode.
    

    And then:

       remove_hiberfile
              When the NTFS volume  is  hibernated,  a  read-write
              mount is denied and a read-only mount is forced. One
              needs either to resume Windows and shutdown it prop‐
              erly,  or use this option which will remove the Win‐
              dows hibernation file. Please note, this means  that
              the  saved  Windows session will be completely lost.
              Use this option under your own responsibility.
    

    Good catch. If you’re right about this being the cause, then my suggestion above about mounting read-write will probably just result in another read-only mount (though I bet that mount.ntfs will print something about a read-only mount being forced in the console).

    Good odds that OP just needs to fully shut down Windows, rather than suspending it.


  • I looked for solutions and found this page, from which I understand that I need to change permissions to the mounting point, but when I do, using chown -R, I get a “Read-only filesystem” error for all files and folders.

    When you run $ mount, you probably see something like this:

    ntfs on /media/<username>/Gaming type ntfs (ro,<...>)
    

    If so, that entire filesystem is mounted read-only (hence the “ro” flag). chown (and what you probably wanted, chmod) isn’t going to affect that. It alters ownership and permissions on files and directories within a filesystem.

    I have no idea what Disks is, but I assume that it’s some kind of graphical utility.

    I’d probably try doing this, which will only affect the current mount; it won’t persistent to the next boot:

    # mount -o remount,rw /media/<username>/Gaming
    

    That’ll try and remount the thing read-write.

    If that resolves the issue, then the issue is going to indeed be that it’s mounted read-only.

    I suspect that there’s probably an option in this Disks thing to mount it read-write. I have never seen the thing, so I can’t give any advice there.

    If you want to stick it in /etc/fstab and mount it at boot, if you let me see the line you get back from mount above, maybe censoring the username, I can probably tell you what to put there.

    EDIT: It looks like the preferred NTFS driver is the FUSE ntfs-3g, not the kernel ntfs or ntfs3. According to the linked page, Debian apparently doesn’t build their kernels by default with the ntfs kernel driver anyway, so I assume that Linux Mint Debian Edition probably also does the same. So it’ll probably read something like “fuse.ntfs-3g”, not “ntfs”.



  • no matter how much you “love” your AI girlfriend she will never truly love you back because she can’t think or feel, and fundamentally isn’t real.

    On one hand, yeah, current generative AIs don’t have anything that approximates that as a mechanism. I would expect that to start being built in the future, though.

    Of course, even then, one could always assert that any feelings in any mental model, no matter how sophisticated, aren’t “real”. I think that Dijkstra had a point as to the pointlessness of our arguments about the semantics of mechanisms of the mind, that it’s more-interesting to focus on the outcomes:

    “The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.”

    Edsger Dijkstra


  • Will more VRAM solve the problem of not retaining context?

    IIRC — I ran KoboldAI with 24GB of VRAM, so wasn’t super-constrained – there are some limits on the number of tokens that can be sent as a prompt imposed by VRAM, which I did not hit. However, there are also some imposed by the software; you can only increase the number of tokens that get fed in so far, regardless of VRAM. More VRAM does let you use larger, more “knowledgeable” models, as well as putting more layers on a given GPU.

    I’m not sure whether those are purely-arbitrary, to try to keep performance reasonable, or if there are other technical issues with very large prompts.

    It definitely isn’t capable of keeping the entire previous conversation (once you get one of any length) as an input to generating a new response, though.

    EDIT: I think that last I looked at KoboldAI — I haven’t run it recently — the highest token count per prompt one could use was 2048, and this seems to mesh with that:

    https://www.reddit.com/r/KoboldAI/comments/yo31hj/can_i_get_some_clarification_on_some_things_that/

    The 2048 token limit of KoboldAI is set by pyTorch, and not system memory or vram or the model itself

    So basically, each response is being generated looking at a maximum of 2048 words for knowledge about the conversation and your characters and world. Other knowledge has to come from the model, which can be trained on a ton of — for sex chatbots — erotic text and literature, but that’s unchanging; it doesn’t bring any more knowledge as regards your particular conversation or environment or characters that you’ve created.


  • I’ve run Kobold AI on local hardware, and it has some erotic models. From my fairly quick skim of character.ai’s syntax, I think that KoboldAI has more-powerful options for creating worlds and triggers. KoboldAI can split layers across all available GPUs and your CPU, so if you’ve got the electricity and the power supply and the room cooling and are willing to blow the requisite money on multiple GPUs, you can probably make it respond about as arbitrarily-quickly as you want.

    But more-broadly, I’m not particularly impressed with what I’ve seen of sex chatbots in 2025. They have limited ability to use conversation tokens from earlier in the conversation in generating each new message, which means that as a conversation progresses, it increasingly doesn’t take into account content earlier in the conversation. It’s possible to get into loops, or forget facts about characters or the environment that were present earlier in a conversation.

    Maybe someone could make some kind of system to try to summarize and condense material from earlier in the conversation or something, but…meh.

    As generating pornography goes, I think that image generation is a lot more viable.

    EDIT:

    KoboldAI has the ability to prefix the current prompt with a given sentence if the prompt contains a prompt term that matches, which permits dumping information about a character into each prompt. For example, one could have a trigger such that “I asked Jessica to go to the store”, one could have a trigger that matches on “Jessica” and contains “Jessica is a 35-year-old policewoman”. That’d permit providing static context about the world. I think that maybe what would need to happen is to have a second automated process trying in the background to summarize and condense information from earlier in the conversation about important prompt words, and then writing new triggers attached to important prompt terms, so that each prompt is sent with a bunch of relevant information. Manually-writing static data to add context faces some fundamental limits.


  • I can’t imagine running a non-local sex chatbot unless you’ve got a private off-site server somewhere that you’re using. I mean, forget governments, the company operating the thing is going to be harvesting what it can. Do you really want to be sending a log of your sex chats to some company to make whatever money they can with the thing?

    EDIT: Well, maybe if they had some kind of subscription service, so an alternate way to make money, and a no-log, no-profile policy.