Jogando no FreeBSD!
Quem disse que FreeBSD é apenas para Servidor?
por SilCarlos
Embora o FreeBSD seja conhecido por sua estabilidade, desempenho e recursos avançados, não é a escolha mais comum para jogos de videogame. As distribuições mais populares para jogos geralmente são baseadas em GNU/Linux, como o SteamOS. No entanto, é importante notar que a maioria dos desenvolvedores de jogos foca em sistemas operacionais mais populares, como Microsoft Windows e Android, o que significa que o suporte e a disponibilidade de jogos para FreeBSD podem ser limitados.
Nem tudo está perdido, é possível executar jogos em FreeBSD usando emuladores e outras ferramentas de compatibilidade (Linux). Neste artigo veremos algumas formas de jogar no FreeBSD. Boa leitura.
Sobre o FreeBSD
O FreeBSD tem suas origens na história do sistema operacional BSD (Berkeley Software Distribution). Foi derivado do sistema Unix, desenvolvido na Universidade da Califórnia, em Berkeley, nos Estados Unidos. A Universidade da Califórnia desempenhou um papel significativo no desenvolvimento do Unix. Alguns dos principais contribuidores incluíam Bill Joy, Ken Thompson, Dennis Ritchie e outros.
Ao longo dos anos 70 e início dos anos 80, a UC Berkeley lançou uma série de versões do BSD Unix. A versão 4.2BSD foi especialmente influente. Contudo, as versões iniciais ainda continham código do Unix AT&T, e a universidade estava limitada em sua capacidade de distribuir livremente essas versões devido às restrições de licenciamento. Para contornar as restrições, em meados da década de 1980, a Universidade de Berkeley lançou uma versão chamada “BSD-Lite”, que continha apenas código original da Berkeley e não incluía o código do Unix AT&T. Esse código era mais livremente distribuível.
Em 1993, um grupo de voluntários liderados por Jordan Hubbard, David Greenman e Rod Grimes começou a trabalhar em uma versão derivada do BSD-Lite que eventualmente se tornaria o FreeBSD. A ideia era criar um sistema operacional livre e de código aberto, baseado nas fundações do BSD, mas com melhorias e atualizações significativas.
A primeira versão oficial do FreeBSD, a 1.0, foi lançada em dezembro de 1993. Desde então, o sistema operacional passou por desenvolvimento contínuo e evoluiu com contribuições da comunidade de código aberto ao longo dos anos. Uma das razões pelas quais o FreeBSD se tornou popular foi a escolha da licença BSD, que é conhecida por sua permissividade. Isso permitiu que o código fosse amplamente utilizado e incorporado em outros projetos, até mesmo comerciais.
Atualmente é amplamente utilizado em servidores, computadores pessoais (PC), computadores de placas únicas (SBC) e internet das coisas – IoT.
Também é a base para muitos sistemas populares, como:
- MidnightBSD e GhostBSD (Desktop)
- TrueNAS (NAS)
- pfSense (Firewall)
- RaspBSD (SBC)
- PlayStation e Nintendo Switch (Videogame)
Algumas características notáveis do FreeBSD:
Licença BSD: É conhecida por ser bastante permissiva. Isso permite que o código-fonte seja utilizado e distribuído livremente, inclusive em projetos comerciais.
Desenvolvimento Comunitário: É mantido por uma comunidade de voluntários. Existem várias equipes e colaboradores que contribuem para diferentes aspectos do sistema operacional.
Port System: Possui um sistema de gerenciamento de pacotes chamado “Ports” que permite os usuários instalarem e atualizarem facilmente softwares adicionais a partir do código-fonte, adaptando-os às configurações específicas do sistema.
Desenvolvimento de Redes: É frequentemente utilizado em servidores de rede e é conhecido por seu desempenho em ambientes de servidor. oferece suporte robusto para redes e possui uma pilha TCP/IP de alto desempenho.
ZFS: Inclui suporte ao sistema de arquivos ZFS (Zettabyte File System), um sistema de arquivos avançado, que oferece recursos como compactação, detecção e correção de erros, entre outros.
Jails: O FreeBSD introduziu o conceito de “jails”, que são ambientes de sistema operacional virtualizados, permitindo isolar processos e ambientes de sistema.
Segurança: Tem uma reputação de ser um sistema operacional seguro. Possui recursos avançados de segurança, como o PF (Packet Filter) para filtragem de pacotes e o sistema de auditoria para rastreamento de eventos.
Como Instalar FreeBSD com ambiente Gráfico?
Neste artigo não irei abordar a instalação do sistema operacional FreeBSD, porém, deixarei logo abaixo um video didático do RibaLinux abordando a instalação do FreeBSD com ambiente gráfico GNOME.
https://odysee.com/@Riba-Linux:5/how-to-install-freebsd-14.1-plus-gnome:d
Sobre o Gerenciamento de pacotes no FreeBSD
O FreeBSD possui dois sistemas de gerenciamento de pacotes: PKG e Ports. Ambos têm funções semelhantes, mas diferem na forma como os pacotes são gerenciados e instalados.
PKG
É um sistema de gerenciamento de pacotes binários. Ele simplifica o processo de instalação, remoção e atualização de software, fornecendo pacotes pré-compilados que podem ser instalados de forma rápida e eficiente. Os pacotes binários são compilados por mantenedores de pacotes e geralmente são mais convenientes para usuários finais.
Exemplos:
$ sudo pkg install mame
$ sudo pkg install openttd
VOCÊ SABIA!?
O OctoPkg é uma interface gráfica semelhante ao Synaptics do Debian para o gerenciador de pacotes pkg do FreeBSD. Ele permite aos usuários pesquisar, instalar, remover e atualizar pacotes pkg graficamente, além de mostrar arquivos instalados, descrição do pacote, metadados e dependências. OctoPkg é baseado em Qt e fornece uma maneira conveniente de gerenciar pacotes no FreeBSD.
PORTS
O sistema de ports é mais flexível e oferece aos usuários mais controle sobre o processo de compilação do software a partir do código-fonte. Cada port contém scripts e instruções para baixar, compilar e instalar um determinado programa. Isso permite personalizar opções de compilação e ajustar o software para atender às necessidades específicas do usuário.
Exemplos:
$ cd /usr/ports/emulators/mame && sudo make install clean
$ cd /usr/ports/games/freecol/ && sudo make install clean
VOCÊ SABIA!?
O sistema operacional MidnightBSD (derivado do FreeBSD) possui uma interface gráfica para o gerenciamento e configuração do Ports, chamado mports, que vem disponível no ambiente de trabalho GNUstep. Mports é o sistema de gerenciamento de pacotes padrão do MidnightBSD, que permite aos usuários instalar (mports install), atualizar (mports update) e remover (mports delete) software no sistema no modo gráfico.
Mais detalhes sobre mports, no link logo abaixo:
A escolha entre pkg e ports geralmente depende das preferências e requisitos do usuário. Para a maioria dos usuários, o pkg é mais conveniente, enquanto os desenvolvedores e usuários avançados podem preferir a flexibilidade oferecida pelos ports.
Neste artigo utilizarei os dois métodos de instalação de pacotes, isto é, pkg e o ports.
Como consultar a lista de pacotes do port no Freebsd?
Para consultar a lista de ports disponíveis no FreeBSD, você pode usar o comando portsnap. Este comando é utilizado para manter e atualizar uma coleção de árvores de ports em seu sistema operacional.
Aqui estão os passos básicos:
1) Certifique-se de que você tem portsnap instalado;
$ sudo pkg install portsnap
2) Baixe a coleção de árvores de ports;
$ sudo portsnap fetch
3) Extraia a coleção de árvores de ports;
$ sudo portsnap extract
4) Atualize a coleção de árvores de ports;
$ sudo portsnap update
5) Pesquise a lista de categorias e ports:
$ cd /usr/ports $ ls
A árvore de ports estará localizada no diretório /usr/ports. Você poderá explorar este diretório para encontrar as categorias e os ports disponíveis.
Você também poderá navegar para uma categoria específica e ver os ports dentro dela, por exemplo:
$ cd /usr/ports/emulators/ $ ls
Se preferir, você também pode usar a função make search dentro de um diretório específico para procurar por ports. Por exemplo:
$ cd /usr/ports $ make search mame
Lembre-se de que explorar manualmente a árvore de ports pode ser um pouco trabalhoso, e muitas vezes é mais eficiente usar ferramentas de busca online, específicas para o ports, como o FreshPorts.
Freshports oficial: https://www.freshports.org/
Jogos Livres no FreeBSD
Também chamados de “jogos de código aberto” são jogos distribuídos livremente sob uma licença de software livre: GPL, BSD, Apache ou MIT, desenvolvidos, geralmente, por grupos de pessoas ou organizações, conhecidos por Comunidades. Dentro das comunidades, muitos desenvolvedores são voluntários ou entusiastas de jogos eletrônicos.
FreeBSD é conhecido por ser uma distribuição que valoriza o software livre e de código aberto. Portanto, é natural que haja uma variedade de jogos de código aberto para o sistema.
lista de jogos livres ou código aberto para FreeBSD:
Tiro em primeira pessoa (FPS)
- AssaultCube (semelhante a Counter-Strike)
- AlienArena
- OpenArena (semelhante a Quake 3)
- Sauerbraten
- Nexuiz
- RedEclipse
- Doom-freedoom (versão melhorada de Doom)
Jogo de Tiro (shootemup)
- Battle Tanks
- XGalaga
Estrategia (Strategy)
- 0.A.D (semelhante a Age of Empires)
- Warzone2100
- MegaGlest
- FreeCiv (semelhante a Civilization)
- FreeOrion
- Pingus (semelhante a Free Lemmings)
Multijogador (Multiplayer)
- Minetest (semelhante a Minecraft)
- Hedgewars (semelhante a Worms)
- TeeWorlds
Plataforma (Platform)
- SuperTux (semelhante a Super Mario Bros)
- Frogatto
Corrida (Racing)
- SuperTuxKart (semelhante a Super Mario Kart)
- TuxRacer
- Trigger-Rally
- XRacer
Jogo de Representação (RPG)
- Flare-engine
- Wesnoth
- Adonthell
Simulador (Simulator)
- FlightGear (Aviões)
- LinCity (Cidades)
- SimuTrans (Transportes)
- OpenTTD (Transportes)
- BillardGL (Sinuca)
- FreeTennis (Tênis)
Blocos que Caem (Tetris)
- BlockOut
- Frozen-Bubble
- XBubble
- Crack-Attack
Como instalar jogos usando o gerenciador de pacotes PKG?
O gerenciador de pacotes PKG é a ferramenta padrão para gerenciar pacotes binários no FreeBSD. É usado para instalar (INSTALL), atualizar (UPDATE), listar (LIST) e remover (REMOVE) pacotes de software no sistema. O pkg simplifica o processo de gerenciamento de software, pois, não precisa compilar, permitindo que os usuários instalem e atualizem facilmente aplicativos e bibliotecas.
Exemplos:
$ sudo pkg install minetest
$ sudo pkg install snes9x-gtk
$ sudo pkg install assaultcube
e assim por diante...
Jogos através do Ports Tree
Ports são uma coleção de pacotes de software que permite compilar e instalar aplicativos na plataforma FreeBSD. Essa coleção contém informações necessárias para baixar, extrair, compilar e instalar aplicativos. É composta por mais de 38.487 portais disponíveis (até fevereiro de 2020).
Os ports são uma alternativa para instalações personalizadas e permitem que os usuários interajam diretamente no processo de compilação e configuração do aplicativo. São mais flexíveis e permitem que os usuários entendam o processo de compilação, configuração e geração de binários.
Lista de jogos Completa no Ports, link logo abaixo:
https://cgit.freebsd.org/ports/tree/games
Instalando jogos através do Ports:
1) Instale a Coleção de Ports:
Antes de compilar um aplicativo usando um port, é necessário instalar a Coleção de Ports. Se não foi instalada durante a instalação do sistema operacional FreeBSD, use o comando a seguir para baixar o snapshot comprimido mais recente da Coleção de Ports e do diretório /usr/ports:
Exemplo:
$ portsnap fetch extract
2) Compilação e Instalação:
Após a instalação da Coleção de Ports, você pode compilar e instalar o jogo desejado. Os ports permitem uma instalação mais personalizada, permitindo que os usuários interajam diretamente com o processo de compilação e configuração do jogo.
Exemplos:
$ cd /usr/ports/games/nexuiz/ && sudo make install clean
$ cd /usr/ports/games/widelands/ && sudo make install clean
$ cd /usr/ports/games/minetest/ && sudo make install clean
e assim por diante...
Fliperama no FreeBSD
Também conhecido como Arcade, é uma máquina de jogos eletrônicos ou eletromecânicos projetada para ser operada publicamente em locais como salões de jogos, shopping centers, restaurantes e outras áreas de entretenimento. Ganharam popularidade nas décadas de 1970 e 1980, durante a chamada: “era de ouro dos videogames”.
As máquinas de fliperama apresentam uma variedade de jogos, como: jogos de luta, jogos de tiro, jogos de plataforma e jogos de corrida. E funcionam inserindo moedas ou fichas para desbloquear uma sessão de jogo por tempo limitado.
MAME, além de emular jogos, também emula com precisão e fidelidade os sistemas de hardware das máquinas de fliperama originais, como: processadores, placas de vídeo, som e entradas de controle.
Instalando MAME no FreeBSD
Você não terá dificuldades para instalar o emulador no FreeBSD. Poderá instalá-lo usando gerenciador de pacotes PKG, o Ports ou usando apenas gerenciador de pacotes gráfico, OctoPKG.
Exemplos:
a) usando o gerenciador PKG
$ sudo pkg install mame
b) usando o ports tree
$ cd /usr/ports/emulators/mame/ && sudo make install clean
Apos a instalação do pacote, você precisará criar o arquivo de configuração do MAME manualmente. Esta tarefa precisa ser feita no terminal do seu ambiente gráfico.
Veja o exemplo:
Abra o terminal que acompanha o seu ambiente de trabalho e digite o seguinte comando:
cd ~/.mame && mame -cc
O comando acima não precisa estar logado como Root. Este cria o arquivo de configuração mame.ini no diretório /.mame. Nele, encontram-se os caminhos para: Roms, Cheats, Arts, Samples, Languages, Plugins, etc.
Usando Trapaças (Cheats) no MAME:
Com arquivo de configuração mame.ini criado, poderemos ativar cheats no mame. Abra o arquivo com um editor de textos de sua preferência e siga para opção: CORE MISC OPTIONS. Na linha cheat, mude o valor de 0 (zero) para 1 (um). Pronto!
Para usar cheats no MAME, é necessário baixar o arquivo cheats compactado e colocá-lo numa pasta de mesmo nome (Cheat) no diretório raiz do MAME.
https://www.mamecheat.co.uk/mame_downloads.htm
Depois, abra o emulador e com qualquer jogo rodando, pressione “Tab” e escolha a opção “Cheat”. Em seguida, selecione o cheat que deseja usar e ative-o.
Jogos Retro no FreeBSD
Também conhecidos como retrogaming, são jogos eletrônicos que foram lançados em épocas anteriores, geralmente nas décadas de 1970, 1980 e 1990. São caracterizados por seus gráficos, sons simples e jogabilidade desafiadora.
Tendem a priorizar a jogabilidade e a diversão imediata em vez de gráficos e recursos avançados. São frequentemente associados a consoles clássicos como: Atari 2600, Super Nintendo, Sega Genesis, Sega Master System, Sega Saturn, Sega Dreamcast, Sony PlayStaion One, etc.
Muitos jogos modernos também são projetados para emular o estilo e a sensação dos jogos retro. Esses jogos são conhecidos como “retro-inspired” ou “retro-style” e buscam capturar a essência dos jogos clássicos enquanto incorporam elementos modernos.
Retrogaming pode ser:
- Vintage: São os jogos originais.
- Emulado: Simula um jogo antigo em hardware moderno.
- Portado: O Jogo antigo é transportado por completo para um hardware moderno
- Homebrew: jogos novos e originais para consoles antigos.
- Remakes: jogos remasterizados ou refeitos para plataformas modernas.
Há uma variedade de emuladores retro disponíveis para jogar no FreeBSD, vejamos alguns dos melhores:
Super Nintendo (Snes9x)
a) usando o gerenciador PKG
$ pkg install snes9x-gtk
b) usando o ports tree
$ cd /usr/ports/emulators/snes9x-gtk/ && sudo make install clean
Sega Genesis/MegaDrive (DGen)
a) usando o gerenciador PKG
$ sudo pkg install dgen-sdl
b) usando o ports tree
$ cd /usr/ports/emulators/dgen-sdl/ && sudo make install clean
Nintendo 64 (mupen64plus)
a) usando o gerenciador PKG
$ sudo pkg install mupen64plus
b) usando o ports tree
$ cd /usr/ports/emulators/mupen64plus/ && sudo make install clean
Gamecube & Nintendo Wii (dolphin)
a) usando o gerenciador PKG
$ sudo pkg install dolphin-emu
b) usando o ports tree
$ cd /usr/ports/emulators/dolphin-emu/ && sudo make install clean
Sony PlayStation 2 (pcsx2)
a) usando o gerenciador PKG
$ sudo pkg install pcsx2
b) usando o ports tree
$ cd /usr/ports/emulators/pcsx2/ && sudo make install clean
Sega Dreamcast (reicast)
a) usando o gerenciador PKG
$ sudo pkg install reicast
b) usando o ports tree
$ cd /usr/ports/emulators/reicast/ && sudo make install clean
Sony PlayStation Portavel (ppsspp)
a) usando o gerenciador PKG
$ sudo pkg install ppsspp
b) usando o ports tree
$ cd /usr/ports/emulators/ppsspp/ && sudo make install clean
Jogos Proprietários no FreeBSD
São jogos desenvolvidos e lançados por empresas, estúdios ou desenvolvedores individuais que detêm os direitos exclusivos sobre eles. Essas organizações possuem os direitos de propriedade intelectual e controle total sobre o desenvolvimento, distribuição e comercialização dos jogos.
Geralmente, são desenvolvidos com o objetivo de obter lucro e são vendidos ou disponibilizados para os jogadores mediante pagamento de licenças ou chaves de ativação para serem jogados.
Jogos proprietários costumam ser lançados para plataformas específicas, como: consoles de videogame (Sony PlayStation, Microsoft Xbox, Nintendo Switch) ou sistemas operacionais proprietários: Microsoft Windows e MacOS.
Os jogadores não têm acesso ao código-fonte ou à capacidade de modificar o jogo além das opções oferecidas pelos desenvolvedores.
No FreeBSD há algumas maneiras de rodar jogos proprietários: uma usando o cliente para plataformas de jogos digitais, Steam. A outra é usando o Wine (Mizuma).
a) Steam
É uma plataforma de distribuição de jogos livres e proprietários digitais para computadores pessoais ou móveis, desenvolvida e operada pela empresa estadunidense, Valve Corporation.
A Steam foi lançada no ano de 2003, de lá para cá, se tornou uma das principais plataformas de jogos para PC, oferecendo uma ampla seleção de jogos para compra, download e jogos online.
O objetivo da Steam é fornecer aos jogadores um local centralizado para comprar, gerenciar e jogar títulos populares de grandes desenvolvedoras, jogos independentes e até mesmo jogos desenvolvidos pela própria Valve.
Deixar claro que não há um instalador oficial do Steam para Freebsd, o que vamos utilizar é uma adaptação do Steam Linux (linux-steam-utils) para FreeBSD.
Como instalar Steam no FreeBSD?
a) usando o gerenciador PKG
$ sudo pkg install linux-steam-utils
b) usando o ports tree
cd /usr/ports/games/linux-steam-utils/ && make install clean
B) Mizuma (Wine)
Mizuma é um front-end para o Wine, que é um programa de código aberto que permite executar aplicativos desenvolvidos para o Microsoft Windows em sistemas baseados em Unix, como o FreeBSD. O Mizuma facilita a execução de uma lista de aplicativos do Windows no FreeBSD, fornecendo uma interface gráfica para iniciar esses aplicativos com o Wine. Permite escolher a versão do DXVK durante a instalação do aplicativo.
Você poderá conferir mais sobre o Mizuma no link logo abaixo:
https://codeberg.org/Alexander88207/Mizutamari
Como instalar o Mizuma no FreeBSD?
a) usando o gerenciador PKG
$ sudo pkg install mizuma
b) usando o ports tree
$ cd /usr/ports/games/mizuma/ && sudo make install clean
Como usar o Mizuma para jogar no FreeBSD?
Para usar o Mizuma para jogar jogos no FreeBSD, é necessário instalar o Mizuma e o Wine no sistema operacional. Depois de instalar o Mizuma e o Wine, abra o Mizuma e selecione o jogo que deseja jogar. O Mizuma irá configurar automaticamente o Wine para executar o jogo. Se o jogo exigir configurações adicionais, o Mizuma permitirá que você as configure antes de executar o jogo.
É importante lembrar que nem todos os jogos do Windows funcionarão corretamente no FreeBSD com o Wine, então é necessário verificar a compatibilidade antes de tentar executar um jogo.
REFERÊNCIAS
https://freebsdfoundation.org/freebsd-project/what-is-freebsd/
https://www.midnightbsd.org/about/
https://www.phoronix.com/news/MidnightBSD-3.0-Coming-Soon
https://www.wikihow.com/Add-Cheats-to-MAME
https://docs.freebsd.org/pt-br/books/porters-handbook/pkg-files/
https://docs.freebsd.org/pt-br/books/handbook/ports/
https://www.redalyc.org/journal/5044/504459802011/html/
https://www.sbgames.org/sbgames2012/proceedings/papers/artedesign/AD_Full22.pdf