Generating Logs
What are logs? Why are they so important?¶
RetroArch and its underlying libretro technology is designed to run on many different combinations of hardware, operating system, libretro core, and content. It is not possible for a volunteer-based open source project to test all possible combinations.
The answer to this dilemma involves "logs", which RetroArch and other libretro software use to record essential information about your system and its function that other users and volunteers need in order to help troubleshoot problems and improve compatibility with new systems.
Generating Logs¶
Generating Logs via Menu¶
- Go to "Settings"
- Enter "Logging"
- Activate "Logging Verbosity"
- Activate "Log to File"
- (optional) Adjust "Frontend / Core Logging Level" to get more or less detailed information
- (optional) Activate "Timestamp Log Files" if you don't want to overwrite the log at each startup
This will place the logs in the System Events Logs directory, visible in the "Directory" settings.
Generating Logs in Lakka¶
Please see the Troubleshooting Lakka doc.
Generating Logs in Linux¶
RetroArch logs¶
- Open a terminal.
- Navigate to the RetroArch folder with the
cd
command. - Start RetroArch in 'verbose' mode with this command:
retroarch -v --log-file retroarch.log
orretroarch -v >> retroarch.log 2>&1
- Once you exit RetroArch, a file called
retroarch.log
should be stored in the folder.
Graphic card logs¶
lspci -nnk | grep -A 3 VGA
will give information about your graphic card.
Audio device logs¶
aplay -L
enumerates audio devices which have been detected.
Input device logs¶
lsusb
lists all devices attached via USB
dmesg
displays all messages from the kernel ring buffer which typically is holding the messages generated by the Linux kernel from the boot process. The dmesg log lists each hardware device that the kernel detected along with information on how the device was configured by the system.
Generating Logs in Windows¶
Tip
You can hold shift
then right click
on the folder that contains retroarch.exe
Select Open PowerShell window here
.
Then jump to step 3.
- Open a console window with the
cmd
command, found either in the Start Menu or through use of the Windows "Run" menu. - Navigate to the RetroArch folder using the
cd
command. - Start RetroArch in 'verbose' mode with this command:
retroarch.exe -v --log-file retroarch.log
orretroarch.exe -v >> retroarch.log 2>&1
- Once you exit RetroArch, a file called
retroarch.log
should be stored in the folder.
Generating Logs in OS X¶
- Open a console window with the OS X "Terminal" app.
- Navigate to the RetroArch.app folder using the
cd
command. - Inside the RetroArch.app folder, navigate to the Contents/MacOS filter.
- Start RetroArch in 'verbose' mode with this command:
./RetroArch -v --log-file ~/retroarch.log
or./RetroArch -v >> ~/retroarch.log 2>&1
- Once you exit RetroArch, a file called
retroarch.log
should be stored in your home directory.
Generating Logs in Android¶
There is a range of variation in the logging systems available to Android device depending on the combination of hardware and operating system in use. There are two general approaches to generating logs in Android: tethering to a PC via a USB cable or using a logcat
app.
Generating Logs via USB Tether¶
Prerequisites: * Linux, Windows or Mac PC * USB cable for your device
Instructions:
- Install your device driver for using adb on your PC from http://developer.android.com/tools/extras/oem-usb.html
- Download the adb executable for your OS -- it can be downloaded as part of the full Android SDK, but you might also be able to find the adb executable individually.
- Connect your Android device to the PC via USB cable.
- Enable the developer options on the Android.
- Enable USB debugging on the Android.
- Open a command prompt (Windows) or terminal (Linux/OS X) and navigate to the directory where the adb executable is located using the
cd
command. On Windows: Windows Key + R > typecmd
> press Enter. On OS X: TypeTerminal
into Spotlight and open it. Alternately, on Windows: Go to the directory where you downloaded the adb executable, Shift+Right Click and selectOpen Console
(or similar) | On Linux / OS X: Right Click in the directory and selectOpen Terminal here
- Type in your console window:
adb devices
to verify your device is properly connected. - If your device is selected, type in
adb logcat
to show the logcat, aka stacktrace. - Reproduce your issue on your device.
- Paste the contents of your console window into a Github Gist to share on the forums or github.
Based on Stackexchange posts by Leandros and Nicolas Raoul.
Generating Logs via Android App¶
Gathering log files in Android requires a third-party app that can interface with the logcat
system. Many free apps are available via Android's "Play Store" system. You can still generate RetroArch logs from the menu.
Generating Logs in iOS and tvOS¶
You can generate RetroArch logs from the menu, described above. Logs by default go into the RetroArch/logs directory accessible through the Files app on iOS or the webserver on tvOS.
App Store installations can opt to send crash logs to the RetroArch developers for analysis, if desired. This can be configured through the Settings app in "Privacy & Security" under "Analytics & Improvements" by turning on "Share With App Developers".
Generating Logs with Nintendo Switch¶
You need to have your console and your PC on the same local network.
You need to have nxlink
installed on your PC to generate logs. The devkitpro environment has it, see the switchbrew wiki for instructions on how to install it.
Run the homebrew menu on your console, and press the Y button to open the netloader prompt.
Take the NRO of the core you want to launch on your PC. Open a terminal and type this command in :
Where /path/to/your/core.nro
is the path to the core you want to generate logs from, on your PC. Be careful as it will overwrite any homebrew with the same name on your SD card !
That will send the homebrew and run it on your console. Logs will be shown on the terminal you ran the command from.
If you want to redirect logs to the file libnx.logs
, use this command instead :
Generating Logs with other Nintendo Consoles¶
At the moment there are no logging docs available for other Nintendo consoles. Please feel free to post about your situation in the libretro forums.
Generating Logs with PlayStation Consoles¶
At the moment there are no logging docs available for PlayStation consoles. Please feel free to post about your situation in the libretro forums.
Generating Logs in OpenDingux (GCW-Zero and RG350)¶
At the moment there are no logging docs available for OpenDingux. Please feel free to post about your situation in the libretro forums.
Posting Logs in the Forum and Github¶
Generally, log files are lengthy which make them difficult to read when they're pasted directly into a post on the forums or github. If your log file is more than six or seven lines long, you will be asked to post a link to it instead.
One free and straightforward system for posting and sharing logs is Github Gist. You can paste the contents of a log file, or the log file itself, into the Gist website. After you log has been added to the Gist, press the Create Public Gist
button to create a shareable link.