How Do I Properly Setup/Install/Update Graphics Stacks With Non-official Repos?

I use radeonsi hardware in my desktop, and have a dual-graphics lapto, and I need newer graphics stack components to properly use the open-source radeon driver (radeonsi specifically benefits from llvm 3.5 pretty nicely, and my laptop needs kernel 3.16+ to render colors properly).

On Ubuntu, I accomplish this by adding oibaf’s PPA to sources, doing a dist-upgrade, and grabbing the latest daily kernel from Ubuntu’s mainline kernel PPA.

From my understanding, Pontostroy provides both a X11 and drm-next kernel repo that has the latest bleeding-edge components which look like what I need. There also seems to be a less-bleeding-edge XOrg repo that contains the latest stable versions of components, which is nice.

So basically, I’m just looking for advice on how to properly add the repos and update the currently-installed packages to the ones found in the updated repos. I “may” have it figured out already, but I guess I’m just looking for confirmation, or if there’s a better way of going about it.

Currently, I install 13.1, update it (zypper up) with stock repos, and then do the following:

zypper ar http://download.opensuse.org/repositories/home:/pontostroy:/X11/openSUSE_13.1/  pont_x11
zypper ref
zypper dup --from pont_x11
zypper ar  http://download.opensuse.org/repositories/home:/pontostroy:/drm-next/openSUSE_13.1/ kern
zypper ref
zypper dup --from kern

(on this particular post, I was told to just run zypper up for the kernel, but the latest kernel wasn’t updated in that case)

And when I plan to do a system update check, I would plan to do

zypper ref
zypper up
zypper dup --from pont_x11
zypper dup --from kern

I’m wondering if there’s a better way to do the above though. Could I just bump the pont_x11 and kern repos from 99 priority to 98, and then just run zypper dup?

You don’t need to (and should not) run “zypper dup” at all any more.
That’s only needed to switch the packages to the versions from this repo (once).

“zypper up” will not change the vendor, i.e. it will not replace a package with a version from a different repo, by default.
So if you once called that “zypper dup” lines, “zypper up” will stick to the versions from those repos (pont_x11 and kern respectively) and only update if there are newer versions in that repos.

You could of course change the priorities and use “zypper dup” (maybe you would have to change the priorities of other repos as well that you might have added), but it’s safer to rely on zypper’s “vendor stickiness”.

As a sidenote, “zypper ref” should not be necessary either.
“zypper up” will refresh the repos if necessary, as long as “auto-refresh” is activated for them. You can check that with YaST->Software Repositories or “zypper lr -d”.