Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrating chrome browser into Steam image to extend its usefulness #190

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

TheRainstorm
Copy link

It can be used as a simple Linux desktop environment. You can watch videos and download files through the browser. By utilizing the built-in Wine functionality of Steam, we can even download and run some Windows programs. (I chose Chrome over Firefox app image because the firefox docker image don't support HTML5 and I don't know how to fix it , and I opted for Chrome instead of Chromium due to the simpler installation process (avoid using snap)

By configuring Waybar to add custom applications, we can create a launcher similar to a desktop environment. We can open and close Steam, Kitty (terminal), and Chrome at any time. check example waybar configuration
image

Hope this pull request here can help someone like me.

@@ -76,6 +81,10 @@ RUN rm /usr/bin/zenity && ln -s /usr/bin/true /usr/bin/zenity
# refresh system font cache. For font warnings on startup see: https://github.com/ValveSoftware/steam-runtime/issues/482
RUN fc-cache -f -v

# set root password
RUN echo "root:retro" | chpasswd
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't do this, you can already open up a root shell using Docker

docker exec -u root -it <container_name> /bin/bash

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I forgot to mention this change. Initially, this pull request was mostly intended for my personal use. Since when I connect in full screen via Moonlight, I prefer to operate within the terminal inside Moonlight. Therefore, to make things easier for myself, I set a root password so I could switch to the root user.

If, in the future, there's support for keeping the container after closing an app, then the need to install applications inside the container will become more common. In that case, perhaps granting sudo privileges to the retro user would be more appropriate? (I noticed that the retro user is created in the 10-setup_user.sh script of the base image, without sudo privileges.)

@ABeltramo
Copy link
Member

First off, thanks for the PR, I'm really glad you were able to make it work so fast! 🚀

I chose Chrome over Firefox app image because the firefox docker image don't support HTML5 and I don't know how to fix it

Can you elaborate? What's the specific issue that you are facing?

@Relicjamin-jv
Copy link

If Firefox is preferred I know you can get the binary running:

wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/131.0/linux-x86_64/en-US/firefox-131.0.tar.bz2

# untar
tar -xf firefox-131.0.tar.bz2

# run Firefox
./firefox/firefox-bin

All that would be required is to sym linking the binary somewhere on PATH (like /usr/local/bin) and it should work unless I'm missing something.

@TheRainstorm
Copy link
Author

Can you elaborate? What's the specific issue that you are facing?

At first, I was unable to play videos on bilibili.com (the largest streaming website in China, similar to YouTube), with the page showing that the HTML5 player wasn't supported. However, I retested it, and found YouTube was able to play videos. After some research, I found that it could be due to certain restrictions imposed on Firefox by websites, such as business.apple.com, which also doesn't open.

image

image

@TheRainstorm
Copy link
Author

TheRainstorm commented Oct 3, 2024

It's fine to close this pull request. I'm also not sure if anyone else has the same needs as I do. Personally, having a single powerful app is useful, as I can do everything in it like in a virtual machine. However, keeping one app per container also makes a lot of sense. It helps avoid wasting storage space on parts I don’t need. :D

@ABeltramo
Copy link
Member

I wonder if the issues with playing videos that you mentioned in Firefox are solved by this PR: #192

Personally, having a single powerful app is useful, as I can do everything in it like in a virtual machine. However, keeping one app per container also makes a lot of sense. It helps avoid wasting storage space on parts I don’t need.

You've hit the nail in the head, it's a tough balance and I'm never sure where to actually draw the line. 😅
I think we should turn this into a documentation page, I see more and more people asking how to customize our images we should definitely add a guide in the docs!

If anyone wants to help to start a PR in Wolf for this I'd be very grateful, I'll keep this PR open in the meantime..

@TheRainstorm
Copy link
Author

I wonder if the issues with playing videos that you mentioned in Firefox are solved by this PR: #192

Amazing, works like a charm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants