You are not logged in.

#1 2015-05-30 05:45:26

Bhran
Member
From: Santiago, Chile
Registered: 2011-09-29
Posts: 52
Website

Issue with Retroarch with X and xf86-video-ati

After going over all the threads about problems with these three, I figured I need to tell you my problem and see if someone here can guide in me on my way to solve it.

I installed xf86-video-ati for my Radeon 9200 graphic card (it's an old computer), direct rendering and KMS are working fine. I have a 1080p TV connected via VGA cable to the card. My lspci:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV280 [Radeon 9200 PRO] (rev 01)

For the following tests, I used Retroarch with the Snes9x Next module.
Outside X (using KMS), the fps counter shows ~60.0 fps, the game screen is on the center, fullscreen, the speed is normal.

Of course, I don't aim to use the KMS mode. I want to run it on X because I want to use EmulationStation. Inside X, if I run the game "windowed" I get buttery smooth 60 fps at any window size, it doesn't matter if it's a third of my screen or it's 1080 pixels high, the problem is when I press the F key in retroarch to go fullscreen: the game instantly starts running on 30 fps and slow as hell.

I've tried the following things:
- changed the video drivers and the video context drivers on RA.
- setting video windowed fullscreen (enabled by default, disabled it, enabled it again).
- disabled the composition extension in Xorg.
- changed the vsync settings on RA.
- tried to disable vsync on Xorg (using .drirc and xorg.conf.d).

my Xorg log even says that vsync is not active for my screen mode:

[   868.048] (II) RADEON(0): Modeline "1920x1080"x0.0  138.50  1920 1968 2000 2080  1080 1083 1088 1111 +hsync -vsync (66.6 kHz eP)

I don't know what else to do, please help.

Last edited by Bhran (2015-05-30 05:48:16)

Offline

#2 2015-05-30 11:22:42

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,845

Re: Issue with Retroarch with X and xf86-video-ati

sounds like it may have to do with (lack of) HW scaling .

What is the native resolution of your screen ?
can you figure out what resolution retroarch fullscreen mode uses ?

If you run windowed and maximize the window to take up as much of the screen as possible, does it still run smooth ?

Edit :
are you running retroarch-git from aur or another version ?

Last edited by Lone_Wolf (2015-05-30 11:25:51)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2015-05-30 19:52:51

Bhran
Member
From: Santiago, Chile
Registered: 2011-09-29
Posts: 52
Website

Re: Issue with Retroarch with X and xf86-video-ati

Lone_Wolf wrote:

sounds like it may have to do with (lack of) HW scaling .

What is the native resolution of your screen ?

It's 1920x1080@60

Lone_Wolf wrote:

can you figure out what resolution retroarch fullscreen mode uses ?

my retroarch.cfg is set to video_fullscreen_x = 0 and video_fullscreen_y = 0, so it's using the desktop's resolution.

Lone_Wolf wrote:

If you run windowed and maximize the window to take up as much of the screen as possible, does it still run smooth ?

when I run on a window, maximized to the screen's height, I get smooth 60 fps. The problem is just in fullscreen.

Lone_Wolf wrote:

Edit :
are you running retroarch-git from aur or another version ?

I'm running retroarch-git, the version is 8330.2787345-1.

What is HW scaling?

Offline

#4 2015-05-31 13:11:36

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 14,845

Re: Issue with Retroarch with X and xf86-video-ati

The CRT screens used before LCD came along supported multiple resolutions.
If a program ran in 640x480 , the screen was switched to that resoution.
In case another program wanted 800x600, the crt just switched to that res.
The videocard only had to convert the data it got from the application into an analog VGA signal to make things work.

LCD screens however only support 1 fixed resolution, usually called "native resolution" .
If you had a 1024x768 LCD screen , it could not display a 800x600 application full screen.
To work around this, scaling was used.

With scaling the 800x600 data was converted to a 1024x768 picture.
Originally this was done using Software Scaling and the CPU took care of the conversion. This slowed down things  a lot.
Later scaling was done on the videocard and this became known as Hardware Scaling.

Basically console apps use the fixed resoution of the console they were intended for.
For fullscreen display they need to be converted to the native resolution of your screen.
Given the age of your videocard, it's possible it doesn't support hardware scaling.

Do you have nvidia-cg-toolkit Installed (it DOES work on amd cards) ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#5 2015-05-31 21:41:20

Procyon
Member
Registered: 2008-05-07
Posts: 1,819

Re: Issue with Retroarch with X and xf86-video-ati

Retroarch does something weird for me too when I use its fullscreen mode. So when I want to play fullscreen I just use i3's Mod+f (maximize) instead of Retroarch's fullscreen mode.

Offline

Board footer

Powered by FluxBB