UbuntuBudgie / budgie-welcome

Welcome app for Ubuntu Budgie
GNU General Public License v2.0
47 stars 28 forks source link

add a gaming section to budgie-welcome #151

Closed fossfreedom closed 2 years ago

fossfreedom commented 6 years ago

we've discussed this a while back. I'm not a gamer here - so I would like someone to lead with the detail here.

From my view point - the steam installer in recommendations should at the very least be replaced with the excellent snap steam install due very soon from ikey.

HellBringer419 commented 5 years ago

Also, depending on the user's GPU; we can keep them updated on the latest GPU drivers for their hardware.

A nice example would be this: In the start of 2019, the PPA repo's installed Nvidia-driver-390 from the update but Nvidia-driver-410 was already out for Linux. So, in an opt-in manner, we can get the users latest drivers based on their hardware.

To be clear, I don't game on Linux yet but I do play on Windows on similar hardware(and so, I'm aware of the fact that these updates can give great benefits (performance-based or features).

HellBringer419 commented 5 years ago

Hey, @fossfreedom I found something interesting about the steam's new ACO compiler. Please read this article speaking about how this compiler is better than the previous ones. I suggest we should include them in for the game section.

Also, a little query ... are these insights really helping. That is to say, am I going in the right direction?

fossfreedom commented 5 years ago

Certainly they are very helpful - thanks.

Once we have found someone to help implement this, then we can include insights such as these.

On Sat, 27 Jul 2019 at 20:03, Uday Narayan Mukherjee < notifications@github.com> wrote:

Hey, @fossfreedom https://github.com/fossfreedom I found something interesting about the steam's new ACO compiler. Please read this article https://itsfoss.com/linux-games-performance-boost-amd-gpu/ speaking about how this compiler is better than the previous ones. I suggest we should include them in for the game section.

Also, a little query ... are these insights really helping. That is to say, am I going in the right direction?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/UbuntuBudgie/budgie-welcome/issues/151?email_source=notifications&email_token=AAHTHEBGMASZNJLEQ6V42ATQBSLWPA5CNFSM4EDVDLM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD26Q3HA#issuecomment-515706268, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHTHEH3OJFU7VYZL2DM4FLQBSLWPANCNFSM4EDVDLMQ .

bashfulrobot commented 5 years ago

I have a ton of gaming feedback I was going to implement in that other app I had been speaking to you about @fossfreedom . Fyi.

fossfreedom commented 4 years ago

Notes:

Lutris https://launchpad.net/~lutris-team/+archive/ubuntu/lutris steam snap is dead.

bashfulrobot commented 4 years ago

Yeah - it pretty much died when Ikey moved on.

HellBringer419 commented 3 years ago

Hey, @fossfreedom the Lutris project seems to be active (last commit 3hrs ago when writing this comment). How about we add a gaming section on Ubuntu Budgie Welcome Screen? This section would open (or maybe install ?) lutris app and maybe even pre-install some games by asking the community.

fossfreedom commented 3 years ago

@HellBringer419 I am more than happy for a gaming page to be added with links/install instructions etc etc - the only caveat here is that I will not do this myself since I'm not a gamer! Happy to review any pull-requests/make suggestions/guidance for anyone who wants to run with this.

HellBringer419 commented 3 years ago

Okay, I wanna add it. But I would need some help. I know the front-end well enough but my concerns are backend. Basically, if the user presses the add lutris button, I want to run add some ppa repos and run some post installation commands. Which file in the repo handles this ?

fossfreedom commented 3 years ago

https://github.com/UbuntuBudgie/budgie-welcome/blob/master/data/config/packages.json#L2

So the json section starts with the name of the page/area. The link here is for stuff relating to the default-applets page

So I imagine a new section called "gaming" would be required. Elsewhere you can see how package names and repos are handled.

Something like this is needed to handle the gaming page https://github.com/UbuntuBudgie/budgie-welcome/blob/master/budgie-welcome#L244 & https://github.com/UbuntuBudgie/budgie-welcome/blob/master/budgie-welcome#L263

The id field in HTML is key here - the python parses the ID field to understand what to process

https://github.com/UbuntuBudgie/budgie-welcome/blob/master/data/budgie-applets.html#L33

e.g. "haste-applet-remove" - so the python code looks for "-remove", "-install" at the end of the string so it knows what these are and does the appropriate button changing colours, actions etc. The "haste-applet" is parsed out of the ID field to know what to look up in the config json file I mentions at the beginning.

In essence budgie welcome is a 'game' of ensuring all strings are in a structured format to know what to-do on what html element.

HellBringer419 commented 3 years ago

Thanks a lot, mate. Am gonna start. On a side note, Lutris looks a very good choice, they have Witcher 3 (a very pouplar rpg) in their home screen.

bashfulrobot commented 3 years ago

@HellBringer419 Just adding myself to the thread in case I can answer any questions as well.

HellBringer419 commented 3 years ago

Does the latest master branch have bugs? I forked the repo, cloned it locally, and pulled till the latest commit. But when I do:

$ cd budgie-welcome
$ ./budgie-welcome -d

I get Budgie Welcome showing only the words "Main Menu" where other sections should be. Budgie Welcome as of 5 Nov, 2020

If reverting to a certain commit may solve it temporarily, I'm down. Also, should I report this somewhere else too?

Also, for further reference, here are the logs (on console):

[Debug] Running in debugging mode. 
[Welcome] Using relative path for data source. Non-production testing. 
[Welcome] Using relative path for data source. Non-production testing. 
[i18n] Locale Not Available: null (using en_US instead) 
[Welcome] Using relative path for data source. Non-production testing. 
[i18n] Locale Not Available: null (using en_US instead) 
[i18n] All translated i18n pages found. 
[i18n] res_dir:  
[i18n] Using locale for gettext: null 
[i18n] Using path for gettext: /usr/share/locale/ 
[i18n] Translation found for gettext. 
[Network Test] Establishing a connection test to "http://archive.ubuntu.com/" 
[Specs] Detecting graphics vendor...  
Using relative path for data source.                   Non-production testing.
[Welcome] Using relative path for data source. Non-production testing. 
[i18n] Locale Not Available: null (using en_US instead) 
[Specs] Detected: Intel Corporation HD Graphics 620 (rev 02) 
[Welcome] Successfully pinged: http://archive.ubuntu.com/ 
bashfulrobot commented 3 years ago

Looks like our instructions need to b made more clear.

I had the same issue until I installed sassc and then ran the compile script.

So I did:

sudo apt install gir1.2-webkit2-4.0 python3-notify2 node-uglify sassc # Added sassc here

git clone https://github.com/UbuntuBudgie/budgie-welcome.git

cd budgie-welcome

uglifyjs -o data/js/bootstrap.min.js data/js/bootstrap.js
uglifyjs -o data/js/baguetteBox.min.js data/js/baguetteBox.js
uglifyjs -o data/js/popper.min.js data/js/popper.js

./sassc-compile.sh

./budgie-welcome -d

HTH.

bashfulrobot commented 3 years ago

@fossfreedom Is there a reason the instructions in the readme are the way they are? Maybe I am missing something. 👍

HellBringer419 commented 3 years ago

Thanks @bashfulrobot; that helped.

fossfreedom commented 3 years ago

@bashfulrobot no real reason other than (like most things) ... needs a bit of finesse

bashfulrobot commented 3 years ago

@bashfulrobot no real reason other than (like most things) ... needs a bit of finesse

I went to fix it up, and looks like you did it already! 👍

HellBringer419 commented 3 years ago

UPDATE on the work:

Now, I need some suggestions to proceed further:

Also, help needed on how to do hide the remove button on the second page (if Lutris is not installed)?

bashfulrobot commented 3 years ago

First, though, I think I would add a "help" icon. and move the help specific data into its own help page. Keeps the "install" page clean and focused. And allows the install page to follow the design patterns that the other installation pages follow (or have).

This will also keep the user from "having" to read through a ton of stuff on this page. It should be (just opinion) more action-focused vs info focused.

HellBringer419 commented 3 years ago

So, something along these lines:

budgie - gaming try2

The "?" goes to Offical Lutris Website

fossfreedom commented 3 years ago

@HellBringer419 I would add a link through the install software pop-up to the new gaming page - that way we don't need to worry about the overall layout.

The install/remove hide/show is done at this line https://github.com/UbuntuBudgie/budgie-welcome/blob/d419402a31c9de3360ee01cb37653ec0d4f2b35d/budgie-welcome#L263 - you need to add the page-name into the list of pages that you see there.

I'll leave the discussion about the content of the gaming page between yourself and @bashfulrobot

HellBringer419 commented 3 years ago

I put the gaming page inside the install software drop-down budgie welcome changed page 1 layout

Tell me if you want the order to change.

Also, thanks for the hide/show of install. It worked.

fossfreedom commented 3 years ago

Guessing that the list should be javascript sorted ... translations will change the "english" order.

This is a separate future issue to be tackled I.e. not under this gaming issue.

On Sun, 8 Nov 2020, 12:51 Uday Narayan Mukherjee, notifications@github.com wrote:

I put the gaming page inside the install software drop-down [image: budgie welcome changed page 1 layout] https://user-images.githubusercontent.com/35007817/98465427-fd44a700-21ee-11eb-8783-01d94a0840e0.png

Tell me if you want the order to change.

Also, thanks for the hide/show of install. It worked.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/UbuntuBudgie/budgie-welcome/issues/151#issuecomment-723573376, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHTHED25B4XCLYTJCYUGDDSO2H6JANCNFSM4EDVDLMQ .

HellBringer419 commented 3 years ago

oh okay. Anyways I was searching for an alternative to sc-controller - A software to map keys on a controller or other forms of keyboard(s)

HellBringer419 commented 3 years ago

So, about the controllers:

Also, https://github.com/flightlessmango/MangoHud can help someone get the Xbox-Gamebar performance HUD. Should we suggest this @bashfulrobot ?

HellBringer419 commented 3 years ago

Haven't heard from you guys in a while. What am I supposed to put in the content of the gaming page?

bashfulrobot commented 3 years ago

I would simply suggest the following:

I would also look at some of the other informational pages for inspiration.

Is that what you meant? 👍

HellBringer419 commented 3 years ago

So, this: gaming content page

I added steam because it felt too empty.

fossfreedom commented 3 years ago

Would adding a link/button/something to where people can find and install games outside of lutris/steam help? https://snapcraft.io/search?category=games ... and if flatpak is installed https://flathub.org/apps/category/Game

I saw this mentioned in the posts above - https://snapcraft.io/sc-controller - useful addition?

I've seen people mention "playonlinux" - is this something useful or too complicated?

This site mentions something called gog.com & itch.io https://itsfoss.com/linux-gaming-guide/ ... again - too much detail? useful?

GameHub?

Plus browser games & terminal games - again things mentioned in that link.

Sorry for all the questions - remember I'm not a gamer!

HellBringer419 commented 3 years ago

I'll try clarifying these. GOG is a publisher and the website helps you publish games created by you. The games there are mostly paid ones. Itch.io is like a software center but for games. Most games are usually Indie (made by 2 or 3 people and not a company). GameHub is similar to Itch and so is HumbleBundle but with more diversity. HumbleBundle is included in Lutris. Next up, the sc-controller is an input mapper. So, if someone has a controller already like Xbox or PS controller, then can use that controller for input.

I would argue that we should add some controller mappers coz most games are made with controller input in mind (like having only 4 possible moves) and people like to couch-game.

The browser and Terminal games don't need additional installers and could be played on a web browser or terminal (respectively). We can perhaps suggest them when telling the user about these stores. Like, I am thinking of adding a Stores sub-section which would give the user links to these stores. Chances are most people don't know about all of them.

And it's okay to ask these. Also, I have no idea about "playonlinux". Maybe it's a hashtag!

bashfulrobot commented 3 years ago

What I might suggest is to maybe focus on the steam/lutris portion first. Get the layout, dialogue, etc firmed up. THen adding more content should be trivial. There will be needs for things like the controller maps, driver installs (maybe to support newer hardware), potentially newer kernel installs, etc.

As for PlayOnLinux... It is a specialized release of Wine targeting games. But it essentially makes Wine a little more approachable. It is quite popular. https://www.playonlinux.com/en/.

But it is one I would look at later as the user experience can get technical depending on how well the game or app is supported. I think we want to be careful about what we add and how it could impact us from a support POV. Or at least consider that aspect.

Just some thoughts.

HellBringer419 commented 3 years ago

The game clients Steam and Lutris don't have official guides on the installation of games. But I have found links from other websites. Do we add guide links then?

If not, then I guess what you're looking for is already done. Please see the screenshot 4 comments above (this) and tell if that needs something more needed. Also, just to clarify, the "?" button links to the official sites of the game client.

fossfreedom commented 3 years ago

If we can be helpful as possible with good guides on how to use then yes - links are great. The ? is there to link to where support is most appropriate for the software.

I'll leave Dustin to comment on the content. Thx for the efforts so far. Looks and sounds promising.

On Fri, 20 Nov 2020 at 13:43, Uday Narayan Mukherjee < notifications@github.com> wrote:

The game clients Steam and Lutris don't have official guides on the installation of games. But I have found links from other websites. Do we add guide links then?

If not, then I guess what you're looking for is already done. Please see the screenshot 4 comments above (this) and tell if that needs something more needed. Also, just to clarify, the "?" button links to the official sites of the game client.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/UbuntuBudgie/budgie-welcome/issues/151#issuecomment-731177465, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHTHECM6JX5IOVFR7YMWQLSQZW7HANCNFSM4EDVDLMQ .

bashfulrobot commented 3 years ago

@fossfreedom This is something I could see being in the "user guide" that @GrindamN has talked about in the past. Then it could be linked there. I feel like the first thing would be to get the guide written in Markdown - then the hosting location can be determined. That's the easier part.

@GrindamN I would like to build out that user guide using Hugo. Easy to deploy, and we can take contributions via PRs.

@HellBringer419 My feedback is that a "?" should go to a help page. EIther the above-described tutorial page or even better yet, to the software support mechanism/bug tracker. The thing we need to be careful of is that something in a gaming section is likely to be used by a non-technical user. So just dumping them into a bug tracker may not be the best user experience.

HellBringer419 commented 3 years ago

For Lutris:

For Steam: I think the official steam support should do.

GrindamN commented 3 years ago

@fossfreedom This is something I could see being in the "user guide" that @GrindamN has talked about in the past. Then it could be linked there. I feel like the first thing would be to get the guide written in Markdown - then the hosting location can be determined. That's the easier part.

@GrindamN I would like to build out that user guide using Hugo. Easy to deploy, and we can take contributions via PRs.

@HellBringer419 My feedback is that a "?" should go to a help page. EIther the above-described tutorial page or even better yet, to the software support mechanism/bug tracker. The thing we need to be careful of is that something in a gaming section is likely to be used by a non-technical user. So just dumping them into a bug tracker may not be the best user experience.

Totally fine by me.

HellBringer419 commented 3 years ago

Changed the "?" links to:

Next, for the Steam client, I've added this in data/config/packages.json:

{
  "gaming": {
   ...
    "steam": {
      "packages": ["steam-launcher"],
      "repos": {
        "all": ["deb [arch=amd64,i386] http://repo.steampowered.com/steam/ precise steam"]
      }
    }
  },
  ...
}

But I've not added any form of "linux_signing_keys.pub". The closest to a key I've found is this one from UbuntuUpdates.org. So, @fossfreedom, I need help on this (pls consider security).

Another issue I found was when I clicked install steam, it opened up in the software center but won't reflect in budgie welcome (even after steam got installed). However, If I close the program and restart it, the remove button appears.

fossfreedom commented 3 years ago

You'll need a key command line as per https://github.com/UbuntuBudgie/budgie-welcome/blob/e7db0aeb24f536371a0d2ceef7ab7c1ea1b52946/data/config/packages.json#L575

So the key-command will probably be just

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B05498B7

i.e. without the sudo

From a security point of view the user should already be prompted when asking to install steam via the addition of the external repo - so the user gets to decide whether to accept/reject the use of external repositories

Re the steam install issue - I would just add a bit of text below the install button to say "Please reboot to complete the installation"

HellBringer419 commented 3 years ago

Thanks. I did those (adding keys and adding the sub-text). Am issuing a PR for this issue but I don't think this issue should be closed yet.

HellBringer419 commented 2 years ago

Hi Team, Looking to revive this issue ... Please provide feedback on the current state of the PR. I'm aware of the merge conflict but other than that, are we going forward with this?

ilvipero commented 2 years ago

Hello @HellBringer419

Short answer: Yes, we can go forwardwith this PR!

Long answer: Yes! Thank you so much for your help on this. I just updated our discourse post and I will be sharing my thoughts there. I encourage you to do the same, and hopefully more members of our community can read and offer help and ideas. https://discourse.ubuntubudgie.org/t/community-project-ubuntu-budgie-gaming/5225/3

HellBringer419 commented 2 years ago

Resolved merge conflicts and the 'too many files' problem. Please have a look at #268 .

HellBringer419 commented 2 years ago

Hi @ilvipero,

Made the 3 section layout: gaming clients, games and gaming-tools I kept games in the middle because the tools section may have a lot more tools than the curated list of games. Here's the present look gaming 1 gaming 2

There's more fine tuning to do at my end.

ilvipero commented 2 years ago

@HellBringer419 This looks great already. It's going to be really nice for our users. I will post a quick update on our discourse. What kind of tuning or roadmap do you have for features? I am happy to include to my post. Very nice idea to add links to check Youtube videos.

Quick Note. Polychromatic should work with openrazer. those 2 are paired together. OpenRazer is the backend, Polychromatic the frontend. Install procedure is usually install openrazer first, then polychromatic. Not sure if you just want to add links or if you want to automate install. In this case either separate items for openrazer and polychromatic, or single one that installs both is fine. I need to check if users also need to do any manual steps, such as adding users to groups etc.

I have a couple of those devices so I am happy to help you test and make sure it all works fine. https://polychromatic.app/ https://openrazer.github.io/

"Polychromatic is a frontend for OpenRazer that enables Razer devices to control lighting effects and more on GNU/Linux. Download. Manage RGB lighting peripherals on GNU/Linux. Controller. Configure hardware features and create animated effects. Tray Applet."

Another one. Very low priority. Is there any easy way to easily separate each of the 3 sections? Bigger title font, or a slightly different background color or thick lines. something like that.

HellBringer419 commented 2 years ago

Hey @ilvipero I did some changes.

Please see this screenshot with these changes: Completed launch buttons

Also, need suggestions on whether it's a good idea to club them (OpenRazor and Polchromatic) because the install buttons look a bit weird. Changing the texts to matching sizes can eliminate this

And next we need to get help from the community on what games and gaming tools should be kept. And yeah guides for new beginners. I'm putting them on the '?' of the help button. If someone does find better guides (on installing/using these soft wares) please share them.

Lastly, on the changes to look and feel. The change has to be through out the welcome app or else the gaming section will look out of place. This is more of a design question so, @fossfreedom could pitch in.

HellBringer419 commented 2 years ago

Also, screenshots of the current state of the page. This is how a user would see.

install works 1

install works 2

install works 3

install works 4

ilvipero commented 2 years ago

@HellBringer419 Thank you for your great improvements.

Regarding Polychromatic and Openrazer, first I think there is a small typo mistake of OpenRazor, it should be OpenRazer https://openrazer.github.io/ Regarding putting them together, yes It makes a lot of sense, I don't know what one would do without the other, so you get my vote on that. However, if it becomes an issue, having them as separate items won't be a big deal either. Last on OpenRazer, during install process, there is a manual step I believe to add current user to a specific group to enable managing the devices. We would need to test that out if it is automated with your application. If not, there should be at least a warning.

Regarding choosing games. Once we have other things done and this version pushed out, we can certainly figure a way to create a poll and have our community vote and have some fun around it. If you have suggestions on the games to put in the poll, feel free to comment.

Thanks again for your great work, I love it!

fossfreedom commented 2 years ago

The install buttons should just state "install" .. no additional text.

For the youtube videos we should just have a hyperlink so that it opens in your default browser e.g. the link on the donate page.

https://github.com/UbuntuBudgie/budgie-welcome/blob/aaa8b1c7c0e600ada4cdbf721b547757dec3b343/data/donate.html#L46

fossfreedom commented 2 years ago

So for the sections have you any thoughts on using tabs as per the default.html page i e. Themes and layouts