I want to share this, even thought it might seem redundant since much of this information is already on this forum. Still, I think it can be helpful for others to have it in one place, as well as encouraging for anyone thinking of a similar setup, to have confirmed that it works.
I am happy to report that I am able to use Batocera with the GTX 750 ti graphics card.
I am using a Dell Optiplex 3020 MT that I got on ebay for around $100, which has integrated Intel HD 4600 graphics. My experience without the graphics card has been that most games are very smooth, but there are some Game Cube games that would drop to very low frame rates for certain sections. (In particular, in "Legend of Zelda: Twilight Princess", any place that has fog in the scene.)
I decided to upgrade the graphics card and so I did some research and decided on the GTX 750 ti, since it plugs right into the PCI slot without the need for external power (which the Optiplex 3020 cannot handle without special cables or a new PSU). I went with the EVGA brand of the GTX 750 ti, although there are other brands that seem like they should be fine too. This model has only one fan. I paid about 75 dollars for the graphics card on ebay, after first buying one for 60 dollars that turned out to be defective. (The seller accepted my return for the first one.)
A couple things that you need to do to make this work:
First, you need to edit this file to enable the nvidia drivers in /boot/recalbox-boot.conf
:
mount -o remount,rw /boot
nano /boot/recalbox-boot.conf
<remove the leading # from the nvidia-driver=true line>
reboot
I found this in the forums here:
https://batocera-linux.xorhub.com/forum/d/1851-batocera-linux-5-20-with-nvidia-legacy-drivers-390-xx
If you do not do this step, games will still work, but it will seem like a major downgrade in performance. After you update that file and reboot, there should be a noticeable improvement, especially in some of the more demanding GameCube games.
The next thing you will need to do is enable audio through the card (i.e. if you are using the HDMI of the GTX 750 ti, going into a television and want the audio to go through the HDMI cable too).
I actually expected this to "just work", so I was a little surprised that I needed to hunt down these steps in the forum, but I am happy to report that these steps here work (as long as you type the commands - don't copy paste, since the "-" character is not formatted correctly in this post):
https://batocera-linux.xorhub.com/forum/d/1188-no-audio-in-batocera-x86-64-with-nvidia-card-hdmi/3
Here is what I did:
First, confirm the Nvdia audio devices are there:
aplay -l
Now, make / writable:
mount -o remount,rw /
Run the mixer:
alsamixer
As long as you don't currently have the built-in audio hardware selected in Emulation Station (I've found) you should get a screen that shows your NVidia audio ports.
Now, use the left/right and comma keys to set the desired audio port to "OO". In my case, I used "S/PDIF 2" and left the others on MM. This took some process of elimination You could turn them all to "OO" to be sure. (I'm not sure if there is any reason why not...)
Now, save that config:
mkdir /var/lib/alsa
alsactl store
cp /var/lib/alsa/asound.state /recalbox/share/system/asound.state
Edit the file /etc/init.d/S99custom
to make sure that it has the following line at the end:
alsactl restore -f /recalbox/share/system/asound.state
And finally, run:
/recalbox/scripts/recalbox-save-overlay.sh
and reboot
.
Back in Batocera, you can go to Audio Settings and select (in my case "HDMI2") and might need to reboot again.