Anonymous

Changes

From Rare Gaming Dump
m
no edit summary
Line 3: Line 3:  
Using this guide, you will be able to:
 
Using this guide, you will be able to:
   −
* Use the entire capacity of your USB drive with Linux
+
*Use the entire capacity of your USB drive with Linux
* Run a graphical window manager or desktop environment
+
*Run a graphical window manager or desktop environment
* Browse the modern web (slowly, for now) with a WebKit-based browser
+
*Browse the modern web (slowly, for now) with a WebKit-based browser
* Perform tasks such as image editing on your Wii U
+
*Perform tasks such as image editing on your Wii U
* Maintain your Wii U Void Linux system
+
*Maintain your Wii U Void Linux system
    
Note that currently (as of August 2021), Wii U Linux does not support the console's GPU and only supports 1 of its 3 CPU cores. As such, performance is very slow and some tasks such as video playback or viewing intensive websites are not currently feasible. Both of these features are in development, but since Wii U Linux is currently not well-known there is not much development effort being contributed. You can find out more about the Wii U Linux project at [https://linux-wiiu.org the official website].
 
Note that currently (as of August 2021), Wii U Linux does not support the console's GPU and only supports 1 of its 3 CPU cores. As such, performance is very slow and some tasks such as video playback or viewing intensive websites are not currently feasible. Both of these features are in development, but since Wii U Linux is currently not well-known there is not much development effort being contributed. You can find out more about the Wii U Linux project at [https://linux-wiiu.org the official website].
   −
== Initial setup ==
+
==Initial setup==
 
Flashing and configuring the SD card to boot a Linux based operating system is described in this video: [https://www.youtube.com/watch?v=D2S1MHjDCZkWii U Linux Installation Tutorial (Void Linux for Wii U)].
 
Flashing and configuring the SD card to boot a Linux based operating system is described in this video: [https://www.youtube.com/watch?v=D2S1MHjDCZkWii U Linux Installation Tutorial (Void Linux for Wii U)].
   Line 19: Line 19:     
You should then see a "#" character at the bottom of your screen. Type "bash", and press enter. Now, you can start setitng up your system.
 
You should then see a "#" character at the bottom of your screen. Type "bash", and press enter. Now, you can start setitng up your system.
== Internet connection ==  
+
==Internet connection==  
    
First, we will need to set the date. This is necessary because Wii U Linux can't currently (as of August 2021) read from the Wii U's internal clock, so it defaults to a date several decades in the past, which will cause network connections to fail.
 
First, we will need to set the date. This is necessary because Wii U Linux can't currently (as of August 2021) read from the Wii U's internal clock, so it defaults to a date several decades in the past, which will cause network connections to fail.
Line 25: Line 25:  
Run the command:
 
Run the command:
 
  <nowiki>
 
  <nowiki>
date -s YYYY-MM-DD</nowiki>
+
date -s YYYY-MM-DD</nowiki>
    
YYYY-MM-DD should be the current date. For example, if it is August 27, 2021, it would be entered as 2021-08-27.
 
YYYY-MM-DD should be the current date. For example, if it is August 27, 2021, it would be entered as 2021-08-27.
Line 34: Line 34:     
  <nowiki>
 
  <nowiki>
dhcpcd -w</nowiki>
+
dhcpcd -w</nowiki>
    
This should automatically set up your network connection. To verify that it worked, run:
 
This should automatically set up your network connection. To verify that it worked, run:
 
  <nowiki>
 
  <nowiki>
ping voidlinux.org</nowiki>
+
ping voidlinux.org</nowiki>
    
If the output of this command has lines that start with "64 bytes from", your internet connection is working. If it times out, verify that everything is set up properly and try connecting again using the same dhcpcd command. This command will run forever until you stop it manually by pressing Control+C.
 
If the output of this command has lines that start with "64 bytes from", your internet connection is working. If it times out, verify that everything is set up properly and try connecting again using the same dhcpcd command. This command will run forever until you stop it manually by pressing Control+C.
Line 45: Line 45:     
  <nowiki>
 
  <nowiki>
ln -s /etc/sv/dhcpcd /var/service</nowiki>
+
ln -s /etc/sv/dhcpcd /var/service</nowiki>
    
Once you have a working network connection, you can begin installing software.
 
Once you have a working network connection, you can begin installing software.
   −
== Getting ready to install software ==
+
==Getting ready to install software==
    
Before you can begin installing software, you will need to run a couple initial setup commands. Run these in order:
 
Before you can begin installing software, you will need to run a couple initial setup commands. Run these in order:
    
  <nowiki>
 
  <nowiki>
xbps-install -Sy</nowiki>
+
xbps-install -Sy</nowiki>
 
This will download the list of currently available software packages, and must be ran before you can do anything else since by default there is no list and all packages will fail to install.
 
This will download the list of currently available software packages, and must be ran before you can do anything else since by default there is no list and all packages will fail to install.
    
  <nowiki>
 
  <nowiki>
xbps-install -u -y xbps</nowiki>
+
xbps-install -u -y xbps</nowiki>
 
This will update the XBPS program, which is the program that handles downloading and managing software packages. This is needed since the version of XBPS included with the current Void Linux image is too old to work properly without being updated.
 
This will update the XBPS program, which is the program that handles downloading and managing software packages. This is needed since the version of XBPS included with the current Void Linux image is too old to work properly without being updated.
   Line 64: Line 64:     
  <nowiki>
 
  <nowiki>
xbps-install -S <name of package></nowiki>
+
xbps-install -S <name of package></nowiki>
 
A list of available packages can be found [https://repo.voidlinux-ppc.org/stats.html here]. In this table, if a package is marked with green under the "ppc" column (fourth from the right), it is available for the Wii U. You can use lists like [https://wiki.archlinux.org/title/List_of_applications this one] to find programs to install, although some of the package names may be different on Void.
 
A list of available packages can be found [https://repo.voidlinux-ppc.org/stats.html here]. In this table, if a package is marked with green under the "ppc" column (fourth from the right), it is available for the Wii U. You can use lists like [https://wiki.archlinux.org/title/List_of_applications this one] to find programs to install, although some of the package names may be different on Void.
    
Before you start installing software, you should proceed to the next section so that you can use the entire capacity of your USB drive. Otherwise, large software installs may fail as only a couple hundred megabytes of space is available by default.
 
Before you start installing software, you should proceed to the next section so that you can use the entire capacity of your USB drive. Otherwise, large software installs may fail as only a couple hundred megabytes of space is available by default.
   −
== Using the entire capacity of your USB drive ==
+
==Using the entire capacity of your USB drive==
    
To use the entire capacity of your USB drive, you first need to install a program called Parted. Run the following command:
 
To use the entire capacity of your USB drive, you first need to install a program called Parted. Run the following command:
 
  <nowiki>
 
  <nowiki>
xbps-install -S -y parted wget</nowiki>
+
xbps-install -S -y parted wget</nowiki>
    
The -y option automatically installs the program without requiring any extra input, and the "wget" program is added as it is needed to download a setup script.
 
The -y option automatically installs the program without requiring any extra input, and the "wget" program is added as it is needed to download a setup script.
Line 79: Line 79:  
Now, run the following:
 
Now, run the following:
 
  <nowiki>
 
  <nowiki>
wget https://raregamingdump.ca/files/resize_fs.sh</nowiki>
+
wget https://raregamingdump.ca/files/resize_fs.sh</nowiki>
    
And then:
 
And then:
    
  <nowiki>
 
  <nowiki>
chmod +x ./resize_fs.sh</nowiki>
+
chmod +x ./resize_fs.sh</nowiki>
    
  <nowiki>
 
  <nowiki>
./resize_fs.sh</nowiki>
+
./resize_fs.sh</nowiki>
    
The last command will take a few minutes to complete, and will take longer for larger drives. If it fails with an error, you may have to reflash your USB drive.
 
The last command will take a few minutes to complete, and will take longer for larger drives. If it fails with an error, you may have to reflash your USB drive.
Line 93: Line 93:  
Once it is done, you will have access to the full capacity of your USB drive.
 
Once it is done, you will have access to the full capacity of your USB drive.
   −
== Setting the timezone and synchronizing the clock ==
+
==Setting the timezone and synchronizing the clock==
    
To keep the clock up to date and accurate, first set the timezone. Get the name of your timezone by using [http://timezonepicker.com/ this site] - look at the name next to the "Time zone" text. For example, clicking on Toronto on the map will specify the "America/Toronto" timezone.
 
To keep the clock up to date and accurate, first set the timezone. Get the name of your timezone by using [http://timezonepicker.com/ this site] - look at the name next to the "Time zone" text. For example, clicking on Toronto on the map will specify the "America/Toronto" timezone.
Line 100: Line 100:     
  <nowiki>
 
  <nowiki>
echo 'TIMEZONE="Timezone1/Timezone2"' >> /etc/rc.conf</nowiki>
+
echo 'TIMEZONE="Timezone1/Timezone2"' >> /etc/rc.conf</nowiki>
    
Replace Timezone1/Timezone2 with the timezone specified by the time zone picker.
 
Replace Timezone1/Timezone2 with the timezone specified by the time zone picker.
Line 107: Line 107:     
  <nowiki>
 
  <nowiki>
xbps-install -S -y chrony</nowiki>
+
xbps-install -S -y chrony</nowiki>
    
Once it is installed, run this command to enable it:
 
Once it is installed, run this command to enable it:
 
  <nowiki>
 
  <nowiki>
ln -s /etc/sv/chronyd /var/service</nowiki>
+
ln -s /etc/sv/chronyd /var/service</nowiki>
    
Your system time should now be constantly synchronized and accurate.
 
Your system time should now be constantly synchronized and accurate.
   −
== Adding a new user ==
+
==Adding a new user==
    
By default, you are using the root account, which has full access to the system. For better security, you should create a new user account and use that instead.
 
By default, you are using the root account, which has full access to the system. For better security, you should create a new user account and use that instead.
Line 121: Line 121:  
First, run the following command and follow the instructions on the screen:
 
First, run the following command and follow the instructions on the screen:
 
  <nowiki>
 
  <nowiki>
passwd root</nowiki>
+
passwd root</nowiki>
    
This will allow you to set a new password for the root account.
 
This will allow you to set a new password for the root account.
Line 127: Line 127:  
Then, run:
 
Then, run:
 
  <nowiki>
 
  <nowiki>
useradd username</nowiki>
+
useradd username</nowiki>
    
Replace "username" with the username you want, such as your own name. The username must not have any spaces.
 
Replace "username" with the username you want, such as your own name. The username must not have any spaces.
Line 133: Line 133:  
To set the password of this new user, run:
 
To set the password of this new user, run:
 
  <nowiki>
 
  <nowiki>
passwd username</nowiki>
+
passwd username</nowiki>
    
You need to do this before you can log in as this user.
 
You need to do this before you can log in as this user.
Line 139: Line 139:  
You can now use the "exit" command (you may need to run this twice or more) to log out of the root account and log back in as your new user. To access the root account (for operations such as installing software), use the "su" command and enter the root password. You can also use the "sudo" command to run commands as root without switching to the root user; this must be set up by running "EDITOR=nano visudo" as the root user, going to the line which says "root ALL=(ALL) ALL", and writing the same line underneath it with "root" replaced by your own username. Then, press Control+X followed by Y to save the changes.
 
You can now use the "exit" command (you may need to run this twice or more) to log out of the root account and log back in as your new user. To access the root account (for operations such as installing software), use the "su" command and enter the root password. You can also use the "sudo" command to run commands as root without switching to the root user; this must be set up by running "EDITOR=nano visudo" as the root user, going to the line which says "root ALL=(ALL) ALL", and writing the same line underneath it with "root" replaced by your own username. Then, press Control+X followed by Y to save the changes.
   −
== Installing a desktop environment ==
+
==Installing a desktop environment==
 
To be able to run graphical programs such as a file manager or web browser, you will need to install a graphical environment such as a window manager or desktop environment.
 
To be able to run graphical programs such as a file manager or web browser, you will need to install a graphical environment such as a window manager or desktop environment.
   Line 145: Line 145:     
  <nowiki>
 
  <nowiki>
xbps-install -S -y xorg xterm</nowiki>
+
xbps-install -S -y xorg xterm</nowiki>
    
This will install the Xorg display server and the Xterm program, which are needed to use a graphical environment.
 
This will install the Xorg display server and the Xterm program, which are needed to use a graphical environment.
Line 151: Line 151:  
Desktop environment/window manager choices include:
 
Desktop environment/window manager choices include:
   −
* Openbox - install with the "openbox" package, start with "openbox" in xinitrc - Openbox is a fast and light window manager with a barebones set of features. It will appear to start at a blank desktop - simply right click to get access to the menu, although keep in mind that the default menu has many options which will not work unless you install their corresponding programs.
+
*Openbox - install with the "openbox" package, start with "openbox" in xinitrc - Openbox is a fast and light window manager with a barebones set of features. It will appear to start at a blank desktop - simply right click to get access to the menu, although keep in mind that the default menu has many options which will not work unless you install their corresponding programs.
* Xfce - install with the "xfce4" package, start with "startxfce4" - A full desktop environment, somewhat slower than Openbox
+
*Dwm - install with "dwm", ultra-light window manager with better performance than Openbox. It is somewhat difficult to use and recommended only for advanced users.
 +
*Xfce - install with the "xfce4" package, start with "startxfce4" - A full desktop environment, somewhat slower than Openbox
    
More choices can be found [https://wiki.archlinux.org/title/List_of_applications#Desktop_environments here]. Note that any desktop environments which depend on the "Qt" library will likely not work on the Wii U as it has issues with this library.
 
More choices can be found [https://wiki.archlinux.org/title/List_of_applications#Desktop_environments here]. Note that any desktop environments which depend on the "Qt" library will likely not work on the Wii U as it has issues with this library.
Line 158: Line 159:  
Once you have installed the package for the graphical environment that you chose, you can start it through one of two methods:
 
Once you have installed the package for the graphical environment that you chose, you can start it through one of two methods:
   −
* For Xfce (and other desktop environments which support something similar) - Run the command "startxfce4" or the corresponding command for the environment you chose.
+
*For Xfce (and other desktop environments which support something similar) - Run the command "startxfce4" or the corresponding command for the environment you chose.
   −
* For Openbox (and other environments which support something similar) - Add the line "exec openbox", or "exec (command for environment here)", to the file /etc/X11/xinit/Xinitrc. Make sure that you add this line before the line which starts with "twm &". You can also create the file /home/(username)/.xinitrc and add the "exec" line there on its own to install it for that specific user. Then, you can start it with the "startx" command.
+
*For Openbox (and other environments which support something similar) - Add the line "exec openbox", or "exec (command for environment here)", to the file /etc/X11/xinit/Xinitrc. Make sure that you add this line before the line which starts with "twm &". You can also create the file /home/(username)/.xinitrc and add the "exec" line there on its own to install it for that specific user. Then, you can start it with the "startx" command.
    
You can also install a [https://wiki.archlinux.org/title/Display_manager#List_of_display_managers display manager] and enable its service through a similar method to enabling the chronyd and dhcpcd services (for example, the LightDM service is "lightdmd"). This will give you a graphical login screen on boot.
 
You can also install a [https://wiki.archlinux.org/title/Display_manager#List_of_display_managers display manager] and enable its service through a similar method to enabling the chronyd and dhcpcd services (for example, the LightDM service is "lightdmd"). This will give you a graphical login screen on boot.
   −
== Other application suggestions (web browser, file manager, etc.) ==
+
==Other application suggestions (web browser, file manager, etc.)==
    
Here are some application notes and suggestions for the Wii U:
 
Here are some application notes and suggestions for the Wii U:
   −
* Gecko (Firefox) and Blink (Chromium)-based web browsers will not work, so you are limited to WebKit-based browsers such as Eolie (the "eolie" package). These are very slow (as with everything on Wii U Linux currently), but can browse the modern web and can handle some sites which the Wii U's browser cannot due to its outdated SSL support.
+
*Gecko (Firefox) and Blink (Chromium)-based web browsers will not work, so you are limited to WebKit-based browsers such as Eolie (the "eolie" package). These are very slow (as with everything on Wii U Linux currently), but can browse the modern web and can handle some sites which the Wii U's browser cannot due to its outdated SSL support.
   −
* As the default Xterm terminal emulator is hard to use on a large screen, an alternative terminal emulator such as xfce4-terminal is recommended.
+
*As the default Xterm terminal emulator is hard to use on a large screen, an alternative terminal emulator such as xfce4-terminal is recommended.
   −
* The GIMP image editing tool can be installed and used on the Wii U with the "gimp" package.
+
*The GIMP image editing tool can be installed and used on the Wii U with the "gimp" package.
   −
* The "spacefm" file manager is recommended.
+
*The "spacefm" file manager is recommended.
   −
* Applications which use Qt libraries often do not run on the Wii U, as they crash with an "Illegal instruction" error message. There is currently no fix for this.
+
*Applications which use Qt libraries often do not run on the Wii U, as they crash with an "Illegal instruction" error message. There is currently no fix for this.
   −
* The Wii U Linux kernel currently does not include support for USB audio devices, so you cannot get sound input or output.
+
*The Wii U Linux kernel currently does not include support for USB audio devices, so you cannot get sound input or output.
   −
* Since Wii U Linux does not yet support the console's GPU or multiple cores, performance is currently very slow and tasks such as video playback are not possible.
+
*Since Wii U Linux does not yet support the console's GPU or multiple cores, performance is currently very slow and tasks such as video playback are not possible.