| Both sides previous revision Previous revision Next revision | Previous revision |
| supported_pc_hardware [2021/10/08 23:35] – cleanup, clarity, updated info about the legacy driver image no longer being a 'boot.tar' atari | supported_pc_hardware [2025/06/02 19:24] (current) – [Fix no audio on Radeon HDMI audio output] Fix for syslinux.cfg paths lbrpdx |
|---|
| If you have to choose a new GPU, recent Nvidia GTX and AMD Radeon RX cards are supported well in the main Batocera image, and usually give very good results. A combination of an Intel i5 4xxx CPU + Nvidia GT1030 GPU will support all emulators up to the PS2 for a reasonable cost. You can check out some [[:choose_a_desktop_computer#benchmarks|Batocera benchmarks on the "Choose a PC" page]]. | If you have to choose a new GPU, recent Nvidia GTX and AMD Radeon RX cards are supported well in the main Batocera image, and usually give very good results. A combination of an Intel i5 4xxx CPU + Nvidia GT1030 GPU will support all emulators up to the PS2 for a reasonable cost. You can check out some [[:choose_a_desktop_computer#benchmarks|Batocera benchmarks on the "Choose a PC" page]]. |
| |
| ===== Nvidia drivers ===== | ===== Nvidia graphics cards ===== |
| |
| === Current Nvidia drivers === | === Current Nvidia drivers === |
| |
| Batocera includes the latest official Nvidia drivers available at the time of a new release. | Batocera includes the Linux versions of the Nvidia drivers and will use them automatically. Details about which driver is being used after boot can be found in the log file at ''/userdata/system/logs/nvidia.log''. |
| |
| By default, the open-source Nouveau drivers (which are ironically more compatible than the official drivers, but aren't as performant) are used for Nvidia GPUs; the official Nvidia drivers **are not enabled by default**. To enable the official drivers instead, [[:edit_boot_partition#plugging_it_into_another_machine|plug your SD-card/USB drive into a computer]]. At the top level, find the ''batocera-boot.conf'' file and uncomment (i.e. remove the initial #) the ''nvidia-driver=true'' line. If the line is not present, add it. It should look like this: | The automatic setting can be overridden by [[:edit_boot_partition#plugging_it_into_another_machine|modifying the boot configuration file]]. At the top level, find the ''batocera-boot.conf'' file and uncomment (i.e. remove the initial #) the ''nvidia-driver=true'' line. If the line is not present, add it anywhere. ''true'' can be replaced to specify a specific version. |
| |
| <code> | <code> |
| | ## Manually override Nvidia driver selected. Leave this setting commented to have Batocera automatically select the correct driver. |
| | ## See https://wiki.batocera.org/supported_pc_hardware |
| | ## true -> Use the current production driver. |
| | ## legacy -> Use the "legacy" 470 driver (could be subject to change, though unlikely). |
| | ## legacy390 -> Use the older 390 driver. |
| | ## false -> Use the open-source Nouveau drivers. |
| nvidia-driver=true | nvidia-driver=true |
| </code> | </code> |
| |
| You can find the list of supported GPU models for the official drivers at https://www.nvidia.com/Download/driverResults.aspx/179599/en-us (version 470.63.01 embedded in Batocera **v32**). | |
| |
| <WRAP center round important> | <WRAP center round important> |
| Nvidia is... [[https://www.nvidia.com/en-us/geforce/forums/geforce-graphics-cards/5/287133/gt630-no-more-updates/|pretty bad at actually supporting the cards they say they support]]. Take this page with a grain of salt, and do your research. Discovering what 'architecture' (fermi/maxwell/kepler etc.) your card is will take you a long way in finding out whether it's actually supported or not. | Nvidia is... [[https://www.nvidia.com/en-us/geforce/forums/geforce-graphics-cards/5/287133/gt630-no-more-updates/|pretty bad at actually supporting the cards they say they support]]. Take their officially supported hardware list with a grain of salt, and do your research. Discovering what 'architecture' (Fermi/Maxwell/Kepler etc.) your card is will take you a long way in finding out whether it's actually supported or not. |
| | |
| | Laptop GPUs in particular are very confusing, using identical naming schemes for cards that are generations older in terms of architecture. Cards with weird extensions to their names like "700M" or "1050Q" are usually not comparable to their desktop counterparts, as a rule of thumb consider them one of two generations behind. |
| </WRAP> | </WRAP> |
| |
| If you edit the file under Windows, make sure you have an editor that respects Unix line terminators. <wrap em>Don't use Notepad</wrap>, use a text editor like Notepad++ or Atom, that doesn't replace the Unix line terminations (LF) with DOS/Windows line terminations (CR/LF). Wordpad has also been reported to corrupt Unix text files. | If you edit the file under Windows, make sure you have an editor that respects Unix line terminators. <wrap em>Don't use Notepad</wrap>, use a text editor like Notepad++, that doesn't replace the Unix line terminations (LF) with DOS/Windows line terminations (CR/LF). Wordpad has also been reported to corrupt Unix text files. |
| |
| You can alternatively edit this file by connecting to [[:access_the_batocera_via_ssh|Batocera through SSH]] and remounting the ''/boot'' partition on write mode [[:edit_boot_partition#editing_the_boot_partition_while_batocera_is_running|like explained here]], and edit ''/boot/batocera-boot.conf'' with Nano or Vim as text editors. | You can alternatively edit this file by connecting to [[:access_the_batocera_via_ssh|Batocera through SSH]] and remounting the ''/boot'' partition on write mode [[:edit_boot_partition#editing_the_boot_partition_while_batocera_is_running|like explained here]], and edit ''/boot/batocera-boot.conf'' with Nano or Vim as text editors. |
| |
| How can you tell if the Nvidia driver is correctly set up? Go to **SYSTEM SETTINGS** -> **INFORMATION** and see if the OpenGL version mentions **NVIDIA** in its version. If it does, you're all set. If it mentions **MESA**, that means that the Nvidia driver is not correctly activated. | <WRAP center round info> |
| | The official Nvidia drivers (495.46) included in Batocera **v33** support the Maxwell architecture and newer. This includes the GTX 9XX series and above (special exception, the 750Ti is also supported). |
| | |
| | The open-source Nouveau drivers (which are ironically more compatible than the official drivers, but aren't as performant) are the "fall-back" drivers; they should serve their purpose on those weaker and older cards not capable of running more modern systems anyway. All but the bleeding edge cards are supported by the Nouveau drivers. |
| | </WRAP> |
| | |
| | How can you tell if the Nvidia driver is correctly set up? Go to **SYSTEM SETTINGS** -> **INFORMATION** and see if the OpenGL version mentions **NVIDIA** in its version. If it does, you're all set. If it mentions **MESA**, that means that the official Nvidia driver is not in use. You can also check which version Batocera had chosen automatically by running ''/etc/init.d/S04populate start''. |
| |
| === Hybrid/Optimus Nvidia laptops === | === Hybrid/Optimus Nvidia laptops === |
| </WRAP> | </WRAP> |
| |
| For Batocera versions **v31** and newer, if you use a laptop that has both an integrated Intel and a discrete Nvidia GPU (hybrid setup or "Optimus" technology, which is very common with post-2018 laptops), you need to enable the official Nvidia drivers and then tell your laptop to actually use them with ''nvidia-prime=true'' as well. Your config should contain these two uncommented lines: | For Batocera versions **v31** and newer, if you use a laptop that has both an integrated Intel and a discrete Nvidia GPU (hybrid setup or "Optimus" technology, which is very common with post-2018 laptops), you need to tell your laptop to use the Nvidia card as a primary card with the ''nvidia-prime=true'' option. Your config should contain this uncommented line: |
| |
| nvidia-driver=true | <code> |
| nvidia-prime=true | nvidia-prime=true |
| | </code> |
| |
| <WRAP center round info> | <WRAP center round info> |
| </WRAP> | </WRAP> |
| |
| How can you tell if the Nvidia driver is correctly set up? Go to **SYSTEM SETTINGS** -> **INFORMATION** and see if the OpenGL version mentions **NVIDIA** in its version. If it does, you're all set. If it mentions **MESA**, that means that the Nvidia driver is not correctly activated. | == External HDMI ports == |
| |
| === Legacy Nvidia drivers === | If the second GPU has outputs that are not accessible by the primary GPU, you can use [[https://wiki.archlinux.org/title/PRIME#Reverse_PRIME|Reverse PRIME]] to make use of them. This will involve using the primary GPU to render the images, and then pass them off to the second GPU. |
| |
| Nvidia cards from the GT600 series or older (and soon the 700 series too) may not be supported by the current official Nvidia drivers included with Batocera. | [[:access_the_batocera_via_ssh|Using ssh]] or the terminal via the F1 option, create the following file - ''/etc/X11/xorg.conf.d/10-gpu.conf'': |
| |
| Legacy Nvidia drivers were initially dropped from Batocera a while ago (back in **5.26** initially!), but there is an unmaintained beta build which has the legacy drivers available at the bottom of the [[https://batocera.org/download|downloads page]] ([[https://mirrors.o2switch.fr/batocera/x86_64/nvidia-legacy/|direct link]]). This build is not maintained, and support is not available for it. If issues occur with this build, upgrade to the current build first and see if they continue to persist. | In this example, we use the nano command - ''nano /etc/X11/xorg.conf.d/10-gpu.conf'' |
| | |
| | Copy the code below into ''nano'' for the file you're creating. |
| | |
| | <file - 10-gpu.conf> |
| | Section "ServerLayout" |
| | Identifier "layout" |
| | Screen 0 "nouveau" |
| | Inactive "intel" |
| | EndSection |
| | |
| | Section "Device" |
| | Identifier "nouveau" |
| | Driver "nouveau" |
| | BusID "PCI:x:x:x" # Sample: "PCI:1:0:0" |
| | EndSection |
| | |
| | Section "Screen" |
| | Identifier "nouveau" |
| | Device "nouveau" |
| | EndSection |
| | |
| | Section "Device" |
| | Identifier "intel" |
| | Driver "intel" |
| | BusID "PCI:x:x:x" # Sample: "PCI:0:2:0" |
| | EndSection |
| | |
| | Section "Screen" |
| | Identifier "intel" |
| | Device "intel" |
| | EndSection |
| | </file> |
| | |
| | Hit ''[Ctrl]'' + ''[X]'' to exit and then ''Y'' to save the changes. Run ''batocera-save-overlay'' to make it permanent. |
| | |
| | --> Legacy Nvidia drivers image# |
| | |
| | This image is no longer necessary as the legacy drivers are now included in the main Batocera image by default. This information is still here for archival purposes, but may be removed in the future. |
| | |
| | Nvidia cards from the GTX 600/700 series or older may not be supported by the current official Nvidia drivers included with Batocera **v33** and below. |
| | |
| | Legacy Nvidia drivers were initially dropped from Batocera a while ago (back in **5.26** initially!), but there is an unmaintained beta build which has the legacy drivers available at the bottom of the [[https://batocera.org/download|downloads page]] ([[https://mirrors.o2switch.fr/batocera/x86_64/nvidia-legacy/|direct link]]). This build is not maintained so it may have major bugs. Support is not available for it. If issues occur with this build, upgrade to the current build first and see if they continue to persist. |
| |
| Alternatively, you could try other Batocera versions from [[:current_and_previous_releases#older_releases|5.26 and down]]. Unlike other operating systems that require the latest patches to stay secure, since Batocera [[:security|isn't designed to be a secure system]] it's perfectly fine to use an older version just for playing your retro games. | Alternatively, you could try other Batocera versions from [[:current_and_previous_releases#older_releases|5.26 and down]]. Unlike other operating systems that require the latest patches to stay secure, since Batocera [[:security|isn't designed to be a secure system]] it's perfectly fine to use an older version just for playing your retro games. |
| |
| ===== ATI/Radeon HDMI audio output ===== | <-- |
| | |
| | === Multiple Nvidia card configuration === |
| | |
| | It is possible to select which card to use when multiple Nvidia GPUs are installed to the same machine. [[https://github.com/batocera-linux/batocera.linux/issues/5513|Link to original post.]] |
| | |
| | - Create the following file in ''/userdata/system/99-nvidia.conf'': <file - 99-nvidia.conf> |
| | Section "Device" |
| | Identifier "VideocardB(lowerDVI)" |
| | Driver "nvidia" |
| | VendorName "NVIDIA Corporation" |
| | BoardName "GeForce GTX 1070" |
| | BusID "PCI:2:0:0" |
| | EndSection |
| | |
| | Section "Screen" |
| | Identifier "Screen0" |
| | Device "VideocardB(lowerDVI)" |
| | Monitor "Samsung0" |
| | DefaultDepth 24 |
| | Option "RenderAccel" "On" |
| | Option "HWcursor" "On" |
| | Option "DamageEvents" "True" |
| | SubSection "Display" |
| | Depth 24 |
| | EndSubSection |
| | EndSection |
| | </file> |
| | - Replace the information as appropriate. Usually the first card detected will be PCI:1:0:0, and the BusID for the second card detected will be PCI:2:0:0. So if 1 is being selected by default then just switch it to 2. |
| | |
| | Batocera specifically looks for the filename ''99-nvidia.conf'', so to temporarily disable this just rename it to something different like ''99-nvidia.conf.backup''. |
| | |
| | It's possible to combine this with [[:launch_a_script|scripting]] in order to enable easy card switching on the fly (no reboot is required, just restart ES). |
| | |
| | ===== ATI/Radeon graphics cards ===== |
| | |
| | <WRAP center round important> |
| | AMD GPUs have their drivers installed and activated automatically, no need for manual activation. However, you may have no HDMI audio output by default, read on if that applies to your machine. |
| | </WRAP> |
| |
| AMD GPUs have their drivers installed and activated automatically, no need for user intervention. | ==== Fix no audio on Radeon HDMI audio output ==== |
| |
| HDMI Audio is disabled by default on Radeon graphics cards due to a black screen issue on some monitors. To enable it, edit the boot configuration file on the boot partition. In Batocera: | HDMI audio is disabled by default on Radeon graphics cards due to a black screen issue on some monitors. To enable it, edit the boot configuration file on the boot partition. In Batocera: |
| * **5.25** and above, ''boot/syslinux/syslinux.cfg'' for legacy boot and ''boot/EFI/syslinux.cfg'' for EFI boot. | * From **41** onwards, ''boot/EFI/batocera/syslinux.cf'' for EFI boot, and ''boot/boot/syslinux/syslinux.cfg'' for legacy |
| | * **5.25** to **40**, ''boot/syslinux/syslinux.cfg'' for legacy boot and ''boot/EFI/syslinux.cfg'' for EFI boot. |
| * FIXME **5.24** to **5.XX**, ''boot/syslinux.cfg'' for legacy boot | * FIXME **5.24** to **5.XX**, ''boot/syslinux.cfg'' for legacy boot |
| * **5.XX** and lower, ''boot/grub.cfg'' for legacy boot and ''EFI/boot/grub.cfg'' for EFI boot. | * **5.XX** and lower, ''boot/grub.cfg'' for legacy boot and ''EFI/boot/grub.cfg'' for EFI boot. |
| } | } |
| |
| |
| ===== Intel i965 ===== | |
| |
| Although most Intel integrated graphics should work out of the box, some chips such as the one in the [[https://www.intel.com.au/content/www/au/en/products/sku/89190/intel-nuc-kit-nuc6i5syh/specifications.html|NUC6i5SYH]] Intel NUC Kit require activating the latest official i965 drivers. | |
| |
| To activate these drivers, [[:edit_boot_partition#plugging_it_into_another_machine|plug your SD-card/USB drive into a computer]]. At the top level, find the ''batocera-boot.conf'' file and uncomment (i.e. remove the initial #) the ''intel-i965-driver=true'' line. If the line is not present, add it. It should look like this: | |
| |
| <code> | |
| intel-i965-driver=true | |
| </code> | |
| |
| ===== Others ===== | ===== Others ===== |