ublue-os / bazzite

Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.
https://bazzite.gg
Apache License 2.0
3.19k stars 167 forks source link

Open for comment: DX Images (Developer Experience) #533

Open KyleGospo opened 7 months ago

KyleGospo commented 7 months ago

Similarly to Bluefin-DX, we'd like to ship DX images which come preconfigured with common game development and debugging tools. If you're a developer we'd love to hear what you might find useful in an image like Bazzite.

EyeCantCU commented 7 months ago

Suggestions:

Utilities that would likely be helpful:

Things that would be cool, but totally not necessary/probably out of scope:

badlydrawnface commented 7 months ago

That would seem interesting! Getting JetBrains IDEs installed through a copr is a bit of a hassle and there doesn't seem to be a way to make JetBrains Toolbox run on a specific Distrobox container (obviously excluding the AUR package), because of how it installs, it can only install on the host, where there won't be any (other than probably Python) SDKs installed.

EyeCantCU commented 7 months ago

That would seem interesting! Getting JetBrains IDEs installed through a copr is a bit of a hassle and there doesn't seem to be a way to make JetBrains Toolbox run on a specific Distrobox container (obviously excluding the AUR package), because of how it installs, it can only install on the host, where there won't be any (other than probably Python) SDKs installed.

The challenge here is, you can't throw all of them into one distrobox image (nor do people need all of them... usually) as the size is too big for GHCR unless you do it after the fact

One solution would be using distrobox assemble for each JetBrains IDE, keeping the environment completely separate from one another, installing everything while setting the image up on the host

Another alternative is one distrobox instance that provides everything needed by each IDE with just scripts that install whatever IDE you need

castrojo commented 7 months ago

Jetbrains has it's own "toolbox" that people have been using and so far the feedback has been positive: https://universal-blue.org/images/bluefin/developer-experience/#jetbrains

EyeCantCU commented 7 months ago

Jetbrains has it's own "toolbox" that people have been using and so far the feedback has been positive: https://universal-blue.org/images/bluefin/developer-experience/#jetbrains

Toolbox works great for that but these are all installed as AppImages that rely on the host to provide individual SDKs. Providing a path isolated from the host that's reusable anywhere could be an awesome way of managing that. Brainstorming ways of doing that

bi0shacker001 commented 7 months ago

As a reminder, distrobox has a --home flag that lets you specify an alternative home directory for the container user, which, coupled with distrobox-enter -n (containername) -- (executable in absolute location) , may solve the issue. Distrobox can export any binary a container can see.

sekalengrengginang commented 7 months ago

Integration with game engine like Unity,Godot,and maybe Unreal Vscode pre-installed will be huge plus and maybe Docker too?

dnkmmr69420 commented 7 months ago

Integration with game engine like Unity,Godot,and maybe Unreal Vscode pre-installed will be huge plus and maybe Docker too?

what advantages does docker have over podman?

badlydrawnface commented 7 months ago
  1. it requires root
  2. it has a daemon service

not quite sure if those are really "advantages"

sekalengrengginang commented 7 months ago

more compatible with stuff for example i tried to use devcontainers on bluefin image and it just PITA, meanwhile docker works ootb

hisergiorojas commented 7 months ago

I would like a distro that has preinstall the following software:

  1. Blender
  2. Godot
  3. Visual Studio Code
  4. Chrome
  5. VFX Library https://vfxplatform.com/
  6. Raven https://github.com/OpenTimelineIO/raven
noelmiller commented 7 months ago

Software I'd like to see that I haven't seen others post:

  1. Virtual Machine Manager (layered seems to be the easiest way I've gotten it installed)
  2. Podman Desktop
  3. OBS
AlexandrosMelissas commented 1 month ago

I would suggest to have all the necessary stuff that are common for the majority of developers and are commonly used (podman, vscode, configs etc). As for the rest, they can be installed seperately.

I would imagine, for example, i as an android developer, if i wanted android studio ready, maybe i could do ujust android-studio

TaylorMichaelHall commented 1 month ago

Integration with game engine like Unity,Godot,and maybe Unreal Vscode pre-installed will be huge plus and maybe Docker too?

what advantages does docker have over podman?

For me it's just a requirement for collaborating with others who all use Docker.

I would definitely appreciate an easy way to get docker up in Bazzite. It works in Bluefin out of the box, but getting docker working properly is a pain on just about every other atomic system that I've used.

bayazidbh commented 1 month ago

IMHO VMware, VirtualBox, and anything that requires kernel modules should be built in. At least the kernel module part - so that when user needs those tool, they can just be installed from a menu/command.

As long as that's done, I think everything else can just be thrown to different yafti menu/sub-categories.

wojpawlik commented 2 weeks ago

Why not start with only whatever -dx adds to Bluefin? Related: https://github.com/ublue-os/bluefin/issues/1321

EPOCHvoyager commented 2 weeks ago

Some software suggestions as of yet:

kittenvr commented 1 week ago

Nodejs

kittenvr commented 1 week ago

Java gui

p5 commented 1 week ago

There certainly needs to be a scope that needs to be referred to.

There's many suggestions of general development tools, rather than what I thought this was intended to be - a game dev image.

If we add everything from Bluefin DX, then we've just replicated Bluefin.

SNThrailkill commented 4 days ago

There certainly needs to be a scope that needs to be referred to.

There's many suggestions of general development tools, rather than what I thought this was intended to be - a game dev image.

If we add everything from Bluefin DX, then we've just replicated Bluefin.

Would that really be the case? Because Bazzite has a lot of things I wanted for Bluefin DX like OpenRazer, Emudeck, OpenTabletDriver, Sunshine, Waydroid, etc. Whereas Bluefin has things I want like Jetbrains toolbox. cockpit, Gnome VRR, VFIO, ollama, etc.

Im thinking about making my own image or configuration and I dont even know which would be the correct base because both seem to have what I want.

VeachTech commented 3 days ago

I want bluefin-dx but on bazzite. To me that would be the main base for gamedev. I wouldn't include any software that doesn't require configuration in order to fully function. At a minimum: I need devcontainers working out of the box with vs code.

kittenvr commented 3 days ago

I want java and nodejs

sekalengrengginang commented 3 days ago

I want java and nodejs

for java and nodejs you can use homebrew

kittenvr commented 2 days ago

I want java and nodejs

for java and nodejs you can use homebrew

Java isn't on homebrew

sekalengrengginang commented 2 days ago

I want java and nodejs

for java and nodejs you can use homebrew

Java isn't on homebrew

openjdk