Giter VIP home page Giter VIP logo

chimera's Issues

Steam-buddy runs as root

Running as root should not be the only option. The least we can do is give people other options. My proposal:

  • Create an additional service file which can start steam-buddy as a regular user
  • Detect if the program is run as root or not
  • Run flatpak in user mode when not running as root
  • Start the server on a different port when not running as root
  • Store shortcut and banner file somehwere under the home directory of the user when not running as root

I'll be working on this later.

File Manager

Could you install xfm file manager in the next releases?

Fix linting errors

Currently flake8 is run every time a commit is made and it finds quite a few issues with the code. It would be good to fix the issues and when this is done make linting errors fail the tests, so we can keep the quality of the code in check more easily in the future.

PS2 libretro core segfaults

The PS2 Libretro core seems to just crash silently. In the dmesg output I saw that it segfaulted.
Does PS2 emulation work for anyone on Gamer OS yet?

[Suggestion] Add some documentation about the individual emulators

Hi, perhaps it wouldn't be a bad idea to include some minimal documentation for the different emulation cores. This could cut down on people submitting issues about for simple questions that they could look up themselves.

Or at the very least, include links to the official site for each core. This could take the guesswork out of trying to find out which core is being used for a particular emulator and people could look up stuff if they have issues or want to customize the emulator.

Add NeoGeo as a Platform

As far as I can tell, NeoGeo is supported by retroarch.
Would certainly make a nice addition.

Allthough this might be covered by including Mame as a platform (I think).

Banner not showing

It's not an issue as much as a question... What should I look for when I select a picture for a banner? Is there a guide?

Here is my context... I added many roms to my Steam buddy and all the banners, except one, are showing... I tried selecting different picture arts of different types (png, jpeg), changed the resolution to the same as other banners that works, tried redownloading them, delected the entry and created it anew, after a reboot with a new picture... Nothing works. There is just one banner in the 30+ roms that stubbornly refuses to show. So weird... Why?

Keep doing your awesome work on this GamerOS project. Imo, it's what SteamOS should have been.
#Thumbsup

Games not populating in Steam

Dude, I hate to keep doing this to you, but none of the game titles are populating in steam. I add the titles, restart steam and nothing. I even tried installing a few of the flathub programs and nothing is showing up.

Maybe a permissions issue with the steam directory?

Add Nintendo 64 as a platform

I have had difficulty with the retroarch N64 emulator regarding resolution. To get a higher resolution you need to set a specific one, but unlike other games or emulators the N64 emulator does not like it when you have a higher resolution configured than the screen allows, so say, switching between a 4k and 2k screen will cause the emulator to fail.

Add Xonotic to allowed Flathub applications

Please, consider adding Xonotic (org.xonotic.Xonotic) to allowed Flathub applications. I did not test this game under GamerOS, but I believe that it should work fine. It is based on SDL2 and has support for gamepads.

By the way, I am the Xonotic Flatpak maintainer, so feel free to let me know if you have any questions. :-)

Increase test coverage

Currently we're running into issues because we are not really testing much and end up making breaking changes without noticing. I think we should be working on improving this. I propose unit tests to be build for the following:

  • Both types of authentication.
  • Changing the settings.
  • All functions which have routes.
  • Tests for all endpoints to check if authentication is asked like expected.

I think this would be most of what would be needed.

Port Management

I have installed this through AUR and have enabled it, however, I have other services running on port 80 already. I see the services have port 8844, but when trying to access this from that port, nothing is being displayed. Is there a way to add an option to manage what port steam-buddy is on? Thanks.

Idea: Using gameros.local to browse Steam games' folders

Juste an idea... The title says it all.

I know that there's ssh but for those that would like something more user-friendly...

Ex: Just Cause 3 doesn't work with Steam Cloud. I have a backup of my saved games. Originally I tought about a share, like in Recalbox or Retropie, but then I wondered about the possibility of doing something similar with the gameros.local portal to upload my saved games in the right folder.

Could it be possible/a good idea?

Thanks!

Dreamcast emulator requires BIOS

I've been experimenting with the Dreamcast emulator. In the Docs it's not mentioned that the dreamcast emulator needs a bios, but it actually does. Refuses to start otherwise, complaining about missing bios files.

RPCS3 Support

It might be premature, but I've been working on getting RPCS3 working for PS3 support. Their project has come a long way and seems to be working a lot better now. I am working on a way to launch the emulator in headless mode and directly launch the game.

There are a few uncertainties... to include how RPCS3 inventories the games and where that is stored. If I get some answers to these questions, do you think adding support for PS3 would be possible?

Fail to save settings

When ftp is disabled and ftp password is blank, you cannot save changes to settings.

screenshot

Some N64 games are unplayable due to controller configuration

By default we configured analog sticks to also send dpad events in order to make it possible to play systems like snes or genesis with an analog stick.

However, for some N64 games this interferes with the game since these games use the dpad for in game actions other than movement.

Affected games include Rogue Squadron, GoldenEye 007, Perfect Dark, and Star Wars: Shadows of the Empire.

[Suggestion] Require authentication

Steam-buddy contains an increasing amount of features which should not be accessible to everyone on the network. A way to mitigate this would be to require users to log in first.

The easiest way we could enable logging in would be to use basic authentication, since it is supported by bottle. I found instructions on how to do that here.

For account management, we could just use the users on the system. I did find a pam library for python which would allow us to do that. Doing so would mean we require a page on which you can change a user's password, but that should be possible with the passwd command.

[Suggestion] Make steam-buddy manage Steam games

Introduction

Kind of obvious, you probably already came up with this idea. I was thinking steam-buddy could be used to install and uninstall steam games and restart steam to apply shortcuts. It could also show your library in a nice overview.

I've done a bit of research into what we'll need to be able to offer this.

Useful files

I've found that the following files contain information we'd need:

  • ~/.steam/steam/userdata/*/config/localconfig.vdf contains all the games the user owns under "Software" -> "Valve" -> "Steam" -> "Apps". It only contains the steam app id, playtime in minutes and when the game was last played.
  • ~/.steam/steam/config/loginusers.vdf contains all the users who have logged in to the system and their account name. This could be useful if we'd want to connect up with any APIs.
  • ~/.steam/registry.vdf contains all currently installed games and if they are currently updating. It will also show games as updating if they are currently being installed. It includes names, but not for everything that is installed.
  • The ~/.steam/steam/config/avatarcache directory contains the avatar of the user, which is a png file.

Missing pieces

The information found in these files is almost enough to show everything we need. The only things missing are names for games and thumbnails. Valve has an API which can gives a list of all application names, which can be found here. For the thumbnails we can probably use the thumbnails from Steam which are already being cached by steam-tweaks.

Controlling Steam

Now the final missing piece is how we could manage Steam. This can be done with by sending commands to steam from the command line as the user which is currently running steam. I found this out by looking at the steamkillall.sh script in SteamOS which makes Steam kill itself (and restart, because lightdm will restart it). We could use this as well:

#!/bin/sh

touch /tmp/hkkillfile
steam steam://hkkillall

Edit: Steam doesn't respond to this script anymore, so instead we now just use the pkill command to stop Steam.

Installing applicaitons can be done in a similar way by running steam steam://install/730 for CS:GO for instance. Uninstalling would be done with steam steam://uninstall/730. In steam big picture mode steam asks no questions when doing this, unlike in desktop mode. Applications can also be started with steam steam://run/730, but this might not be as useful. 730 can of course be replaced by any stream app id.

Closing comments

Sorry if this is a long post. We should probably discuss this before trying to implement it, but I wanted to make sure I had what I found written down somewhere we can use it.

Some questions about Emulators in Gamer OS

So far I've only been testing the PS1 module. From what I can tell it uses retroarch, specifically mednafen for the PS1 emulation.

I was wondering, is there any hidden menu inside the emulator where the user can change certain settings, e.g. enable scanlines or different video shaders. Is there a default hotkey for this?

Also, what's the best way to setup multi-disc games? How do you switch between discs when the game prompts you to insert the next disc?

Add support for protonfixes

I've noticed some games require some additional protonfixes to run perfectly. Would there be a way to easily add that? Perhaps make that controllable/configurable via steam-buddy?

For example, games such as "Tokyo Xanadu Ex+" or the "Trails in the Sky trilogy" don't play video cutscenes. The rest of the game works perfectly fine, except for the video cutscenes. From what I gather from the protondb, a supposedly simple fix is to install some additional stuff via protonfixes, like xvid and directshow filters.
I tried to install protonfixes manually on gameros, (frzr_unlock, pacman -S protonfixes,....) but I couldn't get protonfixes to work properly. Then again, I've never used protonfixes before, so maybe I'm just doing something wrong.

Add support for retroarch shaders

I've been trying to setup a crt scanline filter in some of the retroarch emulators. Unfortunately it seems the shaders seem to be missing. I've tried copying them over from a backup of a retropie install I had (which ran on the same hardware), but I haven't been able to get them to work. I'm not sure if that's due me not having the directories for the shaders configured properly, or if they need to compiled or something like that.

Anways, long story short. Support for the shaders would be nice, since that allows you to really improve the look of emulated games on modern screens.

Manjaro Install Broken

I just did a clean install of Manjaro and installed the latest version of steam-buddy. The new authenticator isn't working properly. As discussed in an earlier issue, I changed the port in the /etc/systemd/system/[email protected] from 80 to 10080 because I also have a web server running on 80 and there is a conflict. It was working on previous versions, but now the authenticator is throwing an internal 500 error after I successfully log in.

Conflict with Graphvix + vala + gnome

Error: no se pudo realizar la operación (archivos en conflicto)
steam-buddy: /usr/bin/gc
ya existe en el sistema de archivos (es parte de graphviz)
"already exists in the filesystem (part of graphviz)"
Ocurrieron errores, por lo que no se actualizaron los paquetes

Also you cannot remove graphiz as there is a conflict with vala and gnome

add ability to record gameplay

Requirements:

  • should be able to start and stop recording
  • should be able to list, play and download recorded videos
  • be able to stream to youtube or twitch

I tested a command-line recording software called byzanz that I thought could be used to implement this feature, but it was unstable and couldn't record more than a few seconds at a time before crashing.

Any other command-line screen recording software available for Linux?

Add PSP as a platform

  • PSP requires some extra files to work properly
  • Haven't been able to find a game that works yet

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.